diff --git a/Gruntfile.js b/Gruntfile.js index 6dcbdf8c3..67011eff9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -199,8 +199,9 @@ module.exports = function(grunt) { banner: '"use strict";\n\n', process: function(src, filepath) { return "/**\n * @copyright " + filepath.replace(/^\./, "http://pcjs.org") + " (C) Jeff Parsons 2012-2016\n */\n\n" + - src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1') - .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') + src.replace(/(^|\n)[ \t]*(['"])use strict\2;?/g, '') + .replace(/^(import|export)[ \t]+[^\n]*\n/gm, '') + .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') .replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*if\s*\(typeof\s+module\s*!==\s*(['"])undefined\1\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*[A-Za-z_][A-Za-z0-9_.]*\.assert\([^\n]*\);[^\n]*/g, ''); @@ -214,8 +215,9 @@ module.exports = function(grunt) { banner: '"use strict";\n\n', process: function(src, filepath) { return "/**\n * @copyright " + filepath.replace(/^\./, "http://pcjs.org") + " (C) Jeff Parsons 2012-2016\n */\n\n" + - src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1') - .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') + src.replace(/(^|\n)[ \t]*(['"])use strict\2;?/g, '') + .replace(/^(import|export)[ \t]+[^\n]*\n/gm, '') + .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') .replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*if\s*\(typeof\s+module\s*!==\s*(['"])undefined\1\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*[A-Za-z_][A-Za-z0-9_.]*\.assert\([^\n]*\);[^\n]*/g, ''); @@ -229,8 +231,9 @@ module.exports = function(grunt) { banner: '"use strict";\n\n', process: function(src, filepath) { return "/**\n * @copyright " + filepath.replace(/^\./, "http://pcjs.org") + " (C) Jeff Parsons 2012-2016\n */\n\n" + - src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1') - .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') + src.replace(/(^|\n)[ \t]*(['"])use strict\2;?/g, '') + .replace(/^(import|export)[ \t]+[^\n]*\n/gm, '') + .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') .replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*if\s*\(typeof\s+module\s*!==\s*(['"])undefined\1\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*[A-Za-z_][A-Za-z0-9_.]*\.assert\([^\n]*\);[^\n]*/g, ''); @@ -244,8 +247,9 @@ module.exports = function(grunt) { banner: '"use strict";\n\n', process: function(src, filepath) { return "/**\n * @copyright " + filepath.replace(/^\./, "http://pcjs.org") + " (C) Jeff Parsons 2012-2016\n */\n\n" + - src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1') - .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') + src.replace(/(^|\n)[ \t]*(['"])use strict\2;?/g, '') + .replace(/^(import|export)[ \t]+[^\n]*\n/gm, '') + .replace(/\/\*\*\s*\*\s*@fileoverview[\s\S]*?\*\/\s*/g, '') .replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*if\s*\(typeof\s+module\s*!==\s*(['"])undefined\1\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '') .replace(/[ \t]*[A-Za-z_][A-Za-z0-9_.]*\.assert\([^\n]*\);[^\n]*/g, ''); diff --git a/apps/pcx86/1981/visicalc/manifest.xml b/apps/pcx86/1981/visicalc/manifest.xml index 4b38eb31c..4e24a427b 100644 --- a/apps/pcx86/1981/visicalc/manifest.xml +++ b/apps/pcx86/1981/visicalc/manifest.xml @@ -1,5 +1,5 @@ - + VisiCalc diff --git a/apps/pcx86/1982/esuite/manifest.xml b/apps/pcx86/1982/esuite/manifest.xml index 3e8229fcd..eaefa5d41 100644 --- a/apps/pcx86/1982/esuite/manifest.xml +++ b/apps/pcx86/1982/esuite/manifest.xml @@ -1,5 +1,5 @@ - + Executive Suite diff --git a/apps/pcx86/1985/rogue/manifest.xml b/apps/pcx86/1985/rogue/manifest.xml index 9d02bcffc..bb78bf168 100644 --- a/apps/pcx86/1985/rogue/manifest.xml +++ b/apps/pcx86/1985/rogue/manifest.xml @@ -1,5 +1,5 @@ - + Rogue diff --git a/apps/pcx86/1987/thinktank/manifest.xml b/apps/pcx86/1987/thinktank/manifest.xml index 951d00196..1153aeb19 100644 --- a/apps/pcx86/1987/thinktank/manifest.xml +++ b/apps/pcx86/1987/thinktank/manifest.xml @@ -1,5 +1,5 @@ - + ThinkTank 2.41NP diff --git a/apps/pcx86/1988/moria/manifest.xml b/apps/pcx86/1988/moria/manifest.xml index 7fb80042e..68ec3fc42 100644 --- a/apps/pcx86/1988/moria/manifest.xml +++ b/apps/pcx86/1988/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 4.872 diff --git a/apps/pcx86/1992/moria/manifest.xml b/apps/pcx86/1992/moria/manifest.xml index 0664d912b..d104f8fd7 100644 --- a/apps/pcx86/1992/moria/manifest.xml +++ b/apps/pcx86/1992/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 5.5 diff --git a/devices/c1p/machine/32kb/machine.xml b/devices/c1p/machine/32kb/machine.xml index 7250ee38f..17286cf80 100644 --- a/devices/c1p/machine/32kb/machine.xml +++ b/devices/c1p/machine/32kb/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (32Kb) with Disk Support diff --git a/devices/c1p/machine/8kb/all/debugger/machine.xml b/devices/c1p/machine/8kb/all/debugger/machine.xml index ff97e69ee..44b7bc242 100644 --- a/devices/c1p/machine/8kb/all/debugger/machine.xml +++ b/devices/c1p/machine/8kb/all/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb, Additional Software) diff --git a/devices/c1p/machine/8kb/all/machine.xml b/devices/c1p/machine/8kb/all/machine.xml index de7f73c61..cd1dee184 100644 --- a/devices/c1p/machine/8kb/all/machine.xml +++ b/devices/c1p/machine/8kb/all/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb, Additional Software) diff --git a/devices/c1p/machine/8kb/array/machine.xml b/devices/c1p/machine/8kb/array/machine.xml index 7cbe52efb..1748082e7 100644 --- a/devices/c1p/machine/8kb/array/machine.xml +++ b/devices/c1p/machine/8kb/array/machine.xml @@ -1,5 +1,5 @@ - + Challenger 1P (8Kb) "Server Array" diff --git a/devices/c1p/machine/8kb/large/debugger/machine.xml b/devices/c1p/machine/8kb/large/debugger/machine.xml index 9ad7ef75d..bd6adc29d 100644 --- a/devices/c1p/machine/8kb/large/debugger/machine.xml +++ b/devices/c1p/machine/8kb/large/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb) with Debugger diff --git a/devices/c1p/machine/8kb/large/machine.xml b/devices/c1p/machine/8kb/large/machine.xml index f31f315d7..8698977a1 100644 --- a/devices/c1p/machine/8kb/large/machine.xml +++ b/devices/c1p/machine/8kb/large/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (circa 1978) diff --git a/devices/c1p/machine/8kb/small/machine.xml b/devices/c1p/machine/8kb/small/machine.xml index 41332c559..c4bcdf728 100644 --- a/devices/c1p/machine/8kb/small/machine.xml +++ b/devices/c1p/machine/8kb/small/machine.xml @@ -1,5 +1,5 @@ - + diff --git a/devices/pc8080/machine/exerciser/machine-8080ex1.xml b/devices/pc8080/machine/exerciser/machine-8080ex1.xml index 8f3259372..2ead7f1e4 100644 --- a/devices/pc8080/machine/exerciser/machine-8080ex1.xml +++ b/devices/pc8080/machine/exerciser/machine-8080ex1.xml @@ -1,5 +1,5 @@ - + 8080 Exerciser Test Machine diff --git a/devices/pc8080/machine/exerciser/machine-8080pre.xml b/devices/pc8080/machine/exerciser/machine-8080pre.xml index eaa98f61f..70d358e99 100644 --- a/devices/pc8080/machine/exerciser/machine-8080pre.xml +++ b/devices/pc8080/machine/exerciser/machine-8080pre.xml @@ -1,5 +1,5 @@ - + 8080 Exerciser Preliminary Test Machine diff --git a/devices/pc8080/machine/exerciser/machine-cputest.xml b/devices/pc8080/machine/exerciser/machine-cputest.xml index 073430c8d..718b1a9d7 100644 --- a/devices/pc8080/machine/exerciser/machine-cputest.xml +++ b/devices/pc8080/machine/exerciser/machine-cputest.xml @@ -1,5 +1,5 @@ - + 8080 CPUTEST Machine diff --git a/devices/pc8080/machine/exerciser/machine-test.xml b/devices/pc8080/machine/exerciser/machine-test.xml index ab23a9139..d10edf071 100644 --- a/devices/pc8080/machine/exerciser/machine-test.xml +++ b/devices/pc8080/machine/exerciser/machine-test.xml @@ -1,5 +1,5 @@ - + 8080 "Kelly Smith" Test Machine diff --git a/devices/pc8080/machine/exerciser/machine.xml b/devices/pc8080/machine/exerciser/machine.xml index 8f3259372..2ead7f1e4 100644 --- a/devices/pc8080/machine/exerciser/machine.xml +++ b/devices/pc8080/machine/exerciser/machine.xml @@ -1,5 +1,5 @@ - + 8080 Exerciser Test Machine diff --git a/devices/pc8080/machine/invaders/debugger/machine.xml b/devices/pc8080/machine/invaders/debugger/machine.xml index a7c0e5deb..2332eb5b2 100644 --- a/devices/pc8080/machine/invaders/debugger/machine.xml +++ b/devices/pc8080/machine/invaders/debugger/machine.xml @@ -1,5 +1,5 @@ - + Space Invaders diff --git a/devices/pc8080/machine/invaders/machine.xml b/devices/pc8080/machine/invaders/machine.xml index 379fe0666..f7f785631 100644 --- a/devices/pc8080/machine/invaders/machine.xml +++ b/devices/pc8080/machine/invaders/machine.xml @@ -1,5 +1,5 @@ - + Space Invaders diff --git a/devices/pc8080/machine/vt100/debugger/machine-right.xml b/devices/pc8080/machine/vt100/debugger/machine-right.xml index d2bc63e0e..19c0e9d00 100644 --- a/devices/pc8080/machine/vt100/debugger/machine-right.xml +++ b/devices/pc8080/machine/vt100/debugger/machine-right.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/debugger/machine.xml b/devices/pc8080/machine/vt100/debugger/machine.xml index b25186022..e1e96a382 100644 --- a/devices/pc8080/machine/vt100/debugger/machine.xml +++ b/devices/pc8080/machine/vt100/debugger/machine.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/machine-right.xml b/devices/pc8080/machine/vt100/machine-right.xml index 32ed64716..ee3ec0c72 100644 --- a/devices/pc8080/machine/vt100/machine-right.xml +++ b/devices/pc8080/machine/vt100/machine-right.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/machine.xml b/devices/pc8080/machine/vt100/machine.xml index fabc8ac80..e739a909e 100644 --- a/devices/pc8080/machine/vt100/machine.xml +++ b/devices/pc8080/machine/vt100/machine.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml b/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml index 7f5a0a4c1..b71eb4e68 100644 --- a/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 384K diff --git a/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml b/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml index 8e8a496f7..345053b4c 100644 --- a/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml +++ b/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml b/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml index d751d11d7..1b07d630d 100644 --- a/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml +++ b/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml b/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml index c208680d2..895f87339 100644 --- a/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pcx86/machine/5150/dual/64kb/machine.xml b/devices/pcx86/machine/5150/dual/64kb/machine.xml index c4b64fc9a..be36b0ed0 100644 --- a/devices/pcx86/machine/5150/dual/64kb/machine.xml +++ b/devices/pcx86/machine/5150/dual/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Dual Displays diff --git a/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml b/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml index 69617435b..1e1ae98ce 100644 --- a/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml +++ b/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pcx86/machine/5150/mda/64kb/machine.xml b/devices/pcx86/machine/5150/mda/64kb/machine.xml index d551dd703..19202f719 100644 --- a/devices/pcx86/machine/5150/mda/64kb/machine.xml +++ b/devices/pcx86/machine/5150/mda/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml b/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml index b52f5a221..1829e1bcf 100644 --- a/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), MDA, 64K diff --git a/devices/pcx86/machine/5160/cga/256kb/array/machine.xml b/devices/pcx86/machine/5160/cga/256kb/array/machine.xml index d3dba0c89..dcd1540a7 100644 --- a/devices/pcx86/machine/5160/cga/256kb/array/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/256kb/demo/debugger/machine.xml b/devices/pcx86/machine/5160/cga/256kb/demo/debugger/machine.xml index 3b1960799..1892f78df 100644 --- a/devices/pcx86/machine/5160/cga/256kb/demo/debugger/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/demo/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/256kb/demo/machine.xml b/devices/pcx86/machine/5160/cga/256kb/demo/machine.xml index 4db3a5794..04b0f69ce 100644 --- a/devices/pcx86/machine/5160/cga/256kb/demo/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/demo/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml index 67ab6e614..dac2bd31f 100644 --- a/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/256kb/win101/debugger/machine.xml b/devices/pcx86/machine/5160/cga/256kb/win101/debugger/machine.xml index 15df0b15b..acbfb3487 100644 --- a/devices/pcx86/machine/5160/cga/256kb/win101/debugger/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/win101/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows 1.01 diff --git a/devices/pcx86/machine/5160/cga/256kb/win101/machine.xml b/devices/pcx86/machine/5160/cga/256kb/win101/machine.xml index 012b5875a..8671ca881 100644 --- a/devices/pcx86/machine/5160/cga/256kb/win101/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/win101/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows 1.01 diff --git a/devices/pcx86/machine/5160/cga/256kb/win101/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/256kb/win101/softkbd/machine.xml index 2002f8efe..b93ef6169 100644 --- a/devices/pcx86/machine/5160/cga/256kb/win101/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, Windows 1.01 diff --git a/devices/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml index 657611768..363f25b9f 100644 --- a/devices/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 512K, WIN101 diff --git a/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml index 0dd0bf109..ce9c753b3 100644 --- a/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/640kb/machine.xml b/devices/pcx86/machine/5160/cga/640kb/machine.xml index 02e797a97..0e8c70dc4 100644 --- a/devices/pcx86/machine/5160/cga/640kb/machine.xml +++ b/devices/pcx86/machine/5160/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml index cd4017861..641341d70 100644 --- a/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/ega/256kb/debugger/machine.xml b/devices/pcx86/machine/5160/ega/256kb/debugger/machine.xml index 9bda0f8c9..3d1b40f28 100644 --- a/devices/pcx86/machine/5160/ega/256kb/debugger/machine.xml +++ b/devices/pcx86/machine/5160/ega/256kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk diff --git a/devices/pcx86/machine/5160/ega/256kb/machine.xml b/devices/pcx86/machine/5160/ega/256kb/machine.xml index b4756270e..7e9e46b86 100644 --- a/devices/pcx86/machine/5160/ega/256kb/machine.xml +++ b/devices/pcx86/machine/5160/ega/256kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk diff --git a/devices/pcx86/machine/5160/ega/640kb/array/machine.xml b/devices/pcx86/machine/5160/ega/640kb/array/machine.xml index 8bad8e059..b277612bf 100644 --- a/devices/pcx86/machine/5160/ega/640kb/array/machine.xml +++ b/devices/pcx86/machine/5160/ega/640kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk diff --git a/devices/pcx86/machine/5160/ega/640kb/debugger/machine.xml b/devices/pcx86/machine/5160/ega/640kb/debugger/machine.xml index 284c99685..b7abbd73f 100644 --- a/devices/pcx86/machine/5160/ega/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/5160/ega/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk diff --git a/devices/pcx86/machine/5160/ega/640kb/machine.xml b/devices/pcx86/machine/5160/ega/640kb/machine.xml index 8a0e13927..5a9054482 100644 --- a/devices/pcx86/machine/5160/ega/640kb/machine.xml +++ b/devices/pcx86/machine/5160/ega/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk diff --git a/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml b/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml index 223b4d1e9..ef210543a 100644 --- a/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml +++ b/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/mda/256kb/fake188/debugger/machine.xml b/devices/pcx86/machine/5160/mda/256kb/fake188/debugger/machine.xml index 3f32b2cd3..a6e433871 100644 --- a/devices/pcx86/machine/5160/mda/256kb/fake188/debugger/machine.xml +++ b/devices/pcx86/machine/5160/mda/256kb/fake188/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/mda/256kb/fake188/machine.xml b/devices/pcx86/machine/5160/mda/256kb/fake188/machine.xml index 85def1992..3f1397a5d 100644 --- a/devices/pcx86/machine/5160/mda/256kb/fake188/machine.xml +++ b/devices/pcx86/machine/5160/mda/256kb/fake188/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/mda/256kb/machine.xml b/devices/pcx86/machine/5160/mda/256kb/machine.xml index 8f27a9e7c..52eaf8d51 100644 --- a/devices/pcx86/machine/5160/mda/256kb/machine.xml +++ b/devices/pcx86/machine/5160/mda/256kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml b/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml index 6763e05ed..898da88c0 100644 --- a/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive diff --git a/devices/pcx86/machine/5170/cga/640kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/cga/640kb/rev3/debugger/machine.xml index f5bbee2f5..ced5ae2bf 100644 --- a/devices/pcx86/machine/5170/cga/640kb/rev3/debugger/machine.xml +++ b/devices/pcx86/machine/5170/cga/640kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display diff --git a/devices/pcx86/machine/5170/cga/640kb/rev3/machine.xml b/devices/pcx86/machine/5170/cga/640kb/rev3/machine.xml index d18ce2972..c1157a866 100644 --- a/devices/pcx86/machine/5170/cga/640kb/rev3/machine.xml +++ b/devices/pcx86/machine/5170/cga/640kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display diff --git a/devices/pcx86/machine/5170/ega/1152kb/rev1/debugger/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev1/debugger/machine.xml index 969677d12..04f8ff54f 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev1/debugger/machine.xml +++ b/devices/pcx86/machine/5170/ega/1152kb/rev1/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/1152kb/rev1/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev1/machine.xml index fbaa3a1e7..752e4b659 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev1/machine.xml +++ b/devices/pcx86/machine/5170/ega/1152kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml index 1f5998dfb..3ac231e47 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml +++ b/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml index 9434f5182..2cf3dd8e5 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml +++ b/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/1152kb/rev3/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev3/machine.xml index d878fb601..704452328 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev3/machine.xml +++ b/devices/pcx86/machine/5170/ega/1152kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml b/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml index 627b225da..cbde869f8 100644 --- a/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml +++ b/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/machine.xml index 77781dd6a..f874c70ec 100644 --- a/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/machine.xml +++ b/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/2048kb/rev3/machine.xml b/devices/pcx86/machine/5170/ega/2048kb/rev3/machine.xml index 14e37f3ea..b4e90995d 100644 --- a/devices/pcx86/machine/5170/ega/2048kb/rev3/machine.xml +++ b/devices/pcx86/machine/5170/ega/2048kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml b/devices/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml index 59df615d2..a06a26173 100644 --- a/devices/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml +++ b/devices/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640Kb RAM diff --git a/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml b/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml index c218b8617..7cb885081 100644 --- a/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml +++ b/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640Kb RAM diff --git a/devices/pcx86/machine/5170/mda/640kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/mda/640kb/rev3/debugger/machine.xml index 58e7b1e12..2b028ebad 100644 --- a/devices/pcx86/machine/5170/mda/640kb/rev3/debugger/machine.xml +++ b/devices/pcx86/machine/5170/mda/640kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display diff --git a/devices/pcx86/machine/5170/mda/640kb/rev3/machine.xml b/devices/pcx86/machine/5170/mda/640kb/rev3/machine.xml index 8b2f359f3..3fc501124 100644 --- a/devices/pcx86/machine/5170/mda/640kb/rev3/machine.xml +++ b/devices/pcx86/machine/5170/mda/640kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display diff --git a/devices/pcx86/machine/5170/vga/2048kb/debugger/machine.xml b/devices/pcx86/machine/5170/vga/2048kb/debugger/machine.xml index 3bf352b4f..6d9398b52 100644 --- a/devices/pcx86/machine/5170/vga/2048kb/debugger/machine.xml +++ b/devices/pcx86/machine/5170/vga/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display diff --git a/devices/pcx86/machine/5170/vga/2048kb/machine.xml b/devices/pcx86/machine/5170/vga/2048kb/machine.xml index fe4e25d88..689593134 100644 --- a/devices/pcx86/machine/5170/vga/2048kb/machine.xml +++ b/devices/pcx86/machine/5170/vga/2048kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display diff --git a/devices/pcx86/machine/5170/vga/4096kb/debugger/machine.xml b/devices/pcx86/machine/5170/vga/4096kb/debugger/machine.xml index df59b67bc..cb07a7042 100644 --- a/devices/pcx86/machine/5170/vga/4096kb/debugger/machine.xml +++ b/devices/pcx86/machine/5170/vga/4096kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 4Mb, 20Mb Hard Disk) with VGA Display diff --git a/devices/pcx86/machine/5170/vga/4096kb/machine.xml b/devices/pcx86/machine/5170/vga/4096kb/machine.xml index d6a013235..0e4b53b23 100644 --- a/devices/pcx86/machine/5170/vga/4096kb/machine.xml +++ b/devices/pcx86/machine/5170/vga/4096kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), VGA, 4Mb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml index f3c15fbce..b6dd138be 100644 --- a/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + AT&T Personal Computer 6300 with Color Display diff --git a/devices/pcx86/machine/att/6300/cga/640kb/machine.xml b/devices/pcx86/machine/att/6300/cga/640kb/machine.xml index 50905a156..4915f09ab 100644 --- a/devices/pcx86/machine/att/6300/cga/640kb/machine.xml +++ b/devices/pcx86/machine/att/6300/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + AT&T Personal Computer 6300 with Color Display diff --git a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml index 0f4b83fff..62f789cd3 100644 --- a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + Columbia Data Products MPC 1600 with Color Display diff --git a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml index 620a44d1e..a88e47860 100644 --- a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml +++ b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + Columbia Data Products MPC 1600 with Color Display diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml index 85b8e5a2d..d4a4e79e3 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml index b2b7ea40a..ce8e305c5 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml index f11d50be2..a4f6c4755 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml index 56dac06e7..14aa583ea 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml b/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml index 1bf97d8d0..4bf5d1b57 100644 --- a/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk diff --git a/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml index ef8097448..7af8da98f 100644 --- a/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk diff --git a/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml index 6206440af..013c109b2 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/machine.xml index 0f91888d7..7cff10e44 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml index 97830a291..822299906 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/machine.xml index 195b1052b..46a0025bb 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pcx86/machine/custom/machine.xml b/devices/pcx86/machine/custom/machine.xml index 928543ab7..aa703c991 100644 --- a/devices/pcx86/machine/custom/machine.xml +++ b/devices/pcx86/machine/custom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml index 5b3a4480f..a47b3ef86 100644 --- a/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zenith Z-150 with Color Display diff --git a/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml b/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml index 74a6c1dc2..00be32685 100644 --- a/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml +++ b/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + Zenith Z-150 with Color Display diff --git a/devices/pdp11/machine/1120/basic/debugger/machine.xml b/devices/pdp11/machine/1120/basic/debugger/machine.xml index 4f0620f16..7d6e49838 100644 --- a/devices/pdp11/machine/1120/basic/debugger/machine.xml +++ b/devices/pdp11/machine/1120/basic/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, PDP-11 BASIC, Debugger diff --git a/devices/pdp11/machine/1120/basic/machine.xml b/devices/pdp11/machine/1120/basic/machine.xml index 890a4c066..807fd7681 100644 --- a/devices/pdp11/machine/1120/basic/machine.xml +++ b/devices/pdp11/machine/1120/basic/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, PDP-11 BASIC diff --git a/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml b/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml index bb03932f9..e82a1463a 100644 --- a/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml +++ b/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, Bootstrap Loader, Debugger diff --git a/devices/pdp11/machine/1120/bootstrap/machine.xml b/devices/pdp11/machine/1120/bootstrap/machine.xml index a0b6bba0f..3f7b96b75 100644 --- a/devices/pdp11/machine/1120/bootstrap/machine.xml +++ b/devices/pdp11/machine/1120/bootstrap/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, Bootstrap Loader diff --git a/devices/pdp11/machine/1120/monitor/debugger/machine.xml b/devices/pdp11/machine/1120/monitor/debugger/machine.xml index dc92fee52..a8ded8c19 100644 --- a/devices/pdp11/machine/1120/monitor/debugger/machine.xml +++ b/devices/pdp11/machine/1120/monitor/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 Boot Monitor with 56Kb and Debugger diff --git a/devices/pdp11/machine/1120/monitor/machine.xml b/devices/pdp11/machine/1120/monitor/machine.xml index 6fe6545a6..e86f941ba 100644 --- a/devices/pdp11/machine/1120/monitor/machine.xml +++ b/devices/pdp11/machine/1120/monitor/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 Boot Monitor with 56Kb diff --git a/devices/pdp11/machine/1120/panel/debugger/machine.xml b/devices/pdp11/machine/1120/panel/debugger/machine.xml index 8fd5bfe38..a9d330291 100644 --- a/devices/pdp11/machine/1120/panel/debugger/machine.xml +++ b/devices/pdp11/machine/1120/panel/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 with Front Panel and Debugger diff --git a/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml b/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml index 036445fe6..f742d75a6 100644 --- a/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml +++ b/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 with Front Panel and TEST 14 diff --git a/devices/pdp11/machine/1120/panel/machine.xml b/devices/pdp11/machine/1120/panel/machine.xml index 0b749024e..61374af8a 100644 --- a/devices/pdp11/machine/1120/panel/machine.xml +++ b/devices/pdp11/machine/1120/panel/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 with Front Panel diff --git a/devices/pdp11/machine/1145/panel/debugger/machine.xml b/devices/pdp11/machine/1145/panel/debugger/machine.xml index b5c96fbd5..1637c41c0 100644 --- a/devices/pdp11/machine/1145/panel/debugger/machine.xml +++ b/devices/pdp11/machine/1145/panel/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb, Front Panel and Debugger diff --git a/devices/pdp11/machine/1145/panel/machine.xml b/devices/pdp11/machine/1145/panel/machine.xml index 50b2f964c..e4232fafe 100644 --- a/devices/pdp11/machine/1145/panel/machine.xml +++ b/devices/pdp11/machine/1145/panel/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml b/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml index 8b109e3bc..f22361b83 100644 --- a/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml +++ b/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1145/vt100/debugger/machine.xml b/devices/pdp11/machine/1145/vt100/debugger/machine.xml index 46d58900e..e7339cee2 100644 --- a/devices/pdp11/machine/1145/vt100/debugger/machine.xml +++ b/devices/pdp11/machine/1145/vt100/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1145/vt100/machine-left.xml b/devices/pdp11/machine/1145/vt100/machine-left.xml index 9ffc1ddb4..373c01407 100644 --- a/devices/pdp11/machine/1145/vt100/machine-left.xml +++ b/devices/pdp11/machine/1145/vt100/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1145/vt100/machine.xml b/devices/pdp11/machine/1145/vt100/machine.xml index 5478b3e8c..758b4bf20 100644 --- a/devices/pdp11/machine/1145/vt100/machine.xml +++ b/devices/pdp11/machine/1145/vt100/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1170/4mb/debugger/machine.xml b/devices/pdp11/machine/1170/4mb/debugger/machine.xml index 8a283b87a..12c8bef99 100644 --- a/devices/pdp11/machine/1170/4mb/debugger/machine.xml +++ b/devices/pdp11/machine/1170/4mb/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 4Mb, Front Panel and Debugger diff --git a/devices/pdp11/machine/1170/4mb/machine.xml b/devices/pdp11/machine/1170/4mb/machine.xml index 0d9d62f5b..ea6e429ad 100644 --- a/devices/pdp11/machine/1170/4mb/machine.xml +++ b/devices/pdp11/machine/1170/4mb/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 4Mb and Front Panel diff --git a/devices/pdp11/machine/1170/monitor/debugger/machine.xml b/devices/pdp11/machine/1170/monitor/debugger/machine.xml index 8a4785e5c..4d75f2e58 100644 --- a/devices/pdp11/machine/1170/monitor/debugger/machine.xml +++ b/devices/pdp11/machine/1170/monitor/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Boot Monitor, and Debugger diff --git a/devices/pdp11/machine/1170/monitor/machine.xml b/devices/pdp11/machine/1170/monitor/machine.xml index b41479c2e..b4cdb3fd8 100644 --- a/devices/pdp11/machine/1170/monitor/machine.xml +++ b/devices/pdp11/machine/1170/monitor/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Boot Monitor diff --git a/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml b/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml index bf131951f..80259b38b 100644 --- a/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml +++ b/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb running CPU Exerciser diff --git a/devices/pdp11/machine/1170/panel/debugger/machine.xml b/devices/pdp11/machine/1170/panel/debugger/machine.xml index 4b1efc213..f9e0a42f2 100644 --- a/devices/pdp11/machine/1170/panel/debugger/machine.xml +++ b/devices/pdp11/machine/1170/panel/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel and Debugger diff --git a/devices/pdp11/machine/1170/panel/machine.xml b/devices/pdp11/machine/1170/panel/machine.xml index 3565b9d7e..02f909add 100644 --- a/devices/pdp11/machine/1170/panel/machine.xml +++ b/devices/pdp11/machine/1170/panel/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml b/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml index a67db54d7..b3f7bfa67 100644 --- a/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml +++ b/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1170/vt100/debugger/machine.xml b/devices/pdp11/machine/1170/vt100/debugger/machine.xml index e2141d134..d31e338d1 100644 --- a/devices/pdp11/machine/1170/vt100/debugger/machine.xml +++ b/devices/pdp11/machine/1170/vt100/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1170/vt100/machine-left.xml b/devices/pdp11/machine/1170/vt100/machine-left.xml index b09126d50..4014ed661 100644 --- a/devices/pdp11/machine/1170/vt100/machine-left.xml +++ b/devices/pdp11/machine/1170/vt100/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1170/vt100/machine.xml b/devices/pdp11/machine/1170/vt100/machine.xml index ac0db2c18..145a18b70 100644 --- a/devices/pdp11/machine/1170/vt100/machine.xml +++ b/devices/pdp11/machine/1170/vt100/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Front Panel diff --git a/disks/pcx86/apps/ibm/topview/1.01/manifest.xml b/disks/pcx86/apps/ibm/topview/1.01/manifest.xml index 3da1eac3b..68ee24ebe 100644 --- a/disks/pcx86/apps/ibm/topview/1.01/manifest.xml +++ b/disks/pcx86/apps/ibm/topview/1.01/manifest.xml @@ -1,5 +1,5 @@ - + TopView 1.01 diff --git a/disks/pcx86/apps/lotus/123/1.0a/manifest.xml b/disks/pcx86/apps/lotus/123/1.0a/manifest.xml index a2d530d35..232953f46 100644 --- a/disks/pcx86/apps/lotus/123/1.0a/manifest.xml +++ b/disks/pcx86/apps/lotus/123/1.0a/manifest.xml @@ -1,5 +1,5 @@ - + 1-2-3 1.0a diff --git a/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml b/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml index 08f18f3c9..8bc0477e3 100644 --- a/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml +++ b/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml @@ -1,5 +1,5 @@ - + WordStar 3.30 diff --git a/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml b/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml index 3877f2031..94db30ca5 100644 --- a/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml +++ b/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml @@ -1,5 +1,5 @@ - + WordStar 4.00 diff --git a/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml b/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml index 651eee772..d20d1f097 100644 --- a/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml +++ b/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Chart 2.02 diff --git a/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml b/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml index c345227ae..33a13b469 100644 --- a/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml +++ b/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml @@ -1,5 +1,5 @@ - + Word for Windows 2.0c diff --git a/disks/pcx86/apps/microsoft/word/3.0/manifest.xml b/disks/pcx86/apps/microsoft/word/3.0/manifest.xml index 490ab60b9..2415e002d 100644 --- a/disks/pcx86/apps/microsoft/word/3.0/manifest.xml +++ b/disks/pcx86/apps/microsoft/word/3.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.0 diff --git a/disks/pcx86/apps/microsoft/word/3.1/manifest.xml b/disks/pcx86/apps/microsoft/word/3.1/manifest.xml index b11a1d1c2..4911ad432 100644 --- a/disks/pcx86/apps/microsoft/word/3.1/manifest.xml +++ b/disks/pcx86/apps/microsoft/word/3.1/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.1 diff --git a/disks/pcx86/apps/microsoft/word/5.0/manifest.xml b/disks/pcx86/apps/microsoft/word/5.0/manifest.xml index 37dace54d..ab5b4f9a3 100644 --- a/disks/pcx86/apps/microsoft/word/5.0/manifest.xml +++ b/disks/pcx86/apps/microsoft/word/5.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 5.0 diff --git a/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml b/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml index 67488417d..c60033a4b 100644 --- a/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml +++ b/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml @@ -1,5 +1,5 @@ - + Omniview 386 4.30 diff --git a/disks/pcx86/cpm/1.1b/machine.xml b/disks/pcx86/cpm/1.1b/machine.xml index e9a0f72df..4333ded96 100644 --- a/disks/pcx86/cpm/1.1b/machine.xml +++ b/disks/pcx86/cpm/1.1b/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running CP/M-86 diff --git a/disks/pcx86/cpm/1.1b/manifest.xml b/disks/pcx86/cpm/1.1b/manifest.xml index d0a2547e3..79d86ba96 100644 --- a/disks/pcx86/cpm/1.1b/manifest.xml +++ b/disks/pcx86/cpm/1.1b/manifest.xml @@ -1,5 +1,5 @@ - + CP/M-86 1.1B diff --git a/disks/pcx86/diags/ibm/manifest.xml b/disks/pcx86/diags/ibm/manifest.xml index 8870fd9a5..329f6cd90 100644 --- a/disks/pcx86/diags/ibm/manifest.xml +++ b/disks/pcx86/diags/ibm/manifest.xml @@ -1,5 +1,5 @@ - + IBM PC Diagnostics Diagnostics diff --git a/disks/pcx86/dos/compaq/1.11/manifest.xml b/disks/pcx86/dos/compaq/1.11/manifest.xml index e5231e21a..efc3ae664 100644 --- a/disks/pcx86/dos/compaq/1.11/manifest.xml +++ b/disks/pcx86/dos/compaq/1.11/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 1.11 diff --git a/disks/pcx86/dos/compaq/1.12/manifest.xml b/disks/pcx86/dos/compaq/1.12/manifest.xml index 5394a505e..5ab84cbb7 100644 --- a/disks/pcx86/dos/compaq/1.12/manifest.xml +++ b/disks/pcx86/dos/compaq/1.12/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 1.12 diff --git a/disks/pcx86/dos/compaq/2.12/manifest.xml b/disks/pcx86/dos/compaq/2.12/manifest.xml index 1bb96be3f..2b31af02e 100644 --- a/disks/pcx86/dos/compaq/2.12/manifest.xml +++ b/disks/pcx86/dos/compaq/2.12/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 2.12 diff --git a/disks/pcx86/dos/compaq/3.00/manifest.xml b/disks/pcx86/dos/compaq/3.00/manifest.xml index 294bba380..344009505 100644 --- a/disks/pcx86/dos/compaq/3.00/manifest.xml +++ b/disks/pcx86/dos/compaq/3.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.00 diff --git a/disks/pcx86/dos/compaq/3.10/manifest.xml b/disks/pcx86/dos/compaq/3.10/manifest.xml index bcc1c9927..9181c0e3c 100644 --- a/disks/pcx86/dos/compaq/3.10/manifest.xml +++ b/disks/pcx86/dos/compaq/3.10/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.10 diff --git a/disks/pcx86/dos/compaq/3.31/manifest.xml b/disks/pcx86/dos/compaq/3.31/manifest.xml index 8cf717a03..c9f8b44a5 100644 --- a/disks/pcx86/dos/compaq/3.31/manifest.xml +++ b/disks/pcx86/dos/compaq/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pcx86/dos/ibm/1.00/manifest.xml b/disks/pcx86/dos/ibm/1.00/manifest.xml index 3efa4bc73..5b5c2c4c4 100644 --- a/disks/pcx86/dos/ibm/1.00/manifest.xml +++ b/disks/pcx86/dos/ibm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.00 diff --git a/disks/pcx86/dos/ibm/1.10/manifest.xml b/disks/pcx86/dos/ibm/1.10/manifest.xml index 480c95003..1b2aa563e 100644 --- a/disks/pcx86/dos/ibm/1.10/manifest.xml +++ b/disks/pcx86/dos/ibm/1.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.10 diff --git a/disks/pcx86/dos/ibm/2.00/manifest.xml b/disks/pcx86/dos/ibm/2.00/manifest.xml index 372fa28be..b4d4c759e 100644 --- a/disks/pcx86/dos/ibm/2.00/manifest.xml +++ b/disks/pcx86/dos/ibm/2.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.00 diff --git a/disks/pcx86/dos/ibm/2.10/manifest.xml b/disks/pcx86/dos/ibm/2.10/manifest.xml index 7794e3c42..7c6a40a91 100644 --- a/disks/pcx86/dos/ibm/2.10/manifest.xml +++ b/disks/pcx86/dos/ibm/2.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.10 diff --git a/disks/pcx86/dos/ibm/3.00/manifest.xml b/disks/pcx86/dos/ibm/3.00/manifest.xml index 9eb9cf498..b12a210db 100644 --- a/disks/pcx86/dos/ibm/3.00/manifest.xml +++ b/disks/pcx86/dos/ibm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.00 diff --git a/disks/pcx86/dos/ibm/3.10/manifest.xml b/disks/pcx86/dos/ibm/3.10/manifest.xml index 67a3e6b1b..fd38a31ce 100644 --- a/disks/pcx86/dos/ibm/3.10/manifest.xml +++ b/disks/pcx86/dos/ibm/3.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.10 diff --git a/disks/pcx86/dos/ibm/3.20/manifest.xml b/disks/pcx86/dos/ibm/3.20/manifest.xml index 8fbe9d0b2..c3812d571 100644 --- a/disks/pcx86/dos/ibm/3.20/manifest.xml +++ b/disks/pcx86/dos/ibm/3.20/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.20 diff --git a/disks/pcx86/dos/ibm/3.30/manifest.xml b/disks/pcx86/dos/ibm/3.30/manifest.xml index 3778ab6f3..04f7d2ec8 100644 --- a/disks/pcx86/dos/ibm/3.30/manifest.xml +++ b/disks/pcx86/dos/ibm/3.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.30 diff --git a/disks/pcx86/dos/ibm/4.00/manifest.xml b/disks/pcx86/dos/ibm/4.00/manifest.xml index 7ffb9d40b..d2a5c4842 100644 --- a/disks/pcx86/dos/ibm/4.00/manifest.xml +++ b/disks/pcx86/dos/ibm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 4.00 diff --git a/disks/pcx86/dos/ibm/5.00/manifest.xml b/disks/pcx86/dos/ibm/5.00/manifest.xml index 6a72c16e2..84b7a102b 100644 --- a/disks/pcx86/dos/ibm/5.00/manifest.xml +++ b/disks/pcx86/dos/ibm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 5.00 diff --git a/disks/pcx86/dos/ibm/6.10/manifest.xml b/disks/pcx86/dos/ibm/6.10/manifest.xml index 9e803b2ad..202bf89f4 100644 --- a/disks/pcx86/dos/ibm/6.10/manifest.xml +++ b/disks/pcx86/dos/ibm/6.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.10 diff --git a/disks/pcx86/dos/ibm/6.30/manifest.xml b/disks/pcx86/dos/ibm/6.30/manifest.xml index 2eff3d98b..bdb471388 100644 --- a/disks/pcx86/dos/ibm/6.30/manifest.xml +++ b/disks/pcx86/dos/ibm/6.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.30 diff --git a/disks/pcx86/dos/ibm/7.00/manifest.xml b/disks/pcx86/dos/ibm/7.00/manifest.xml index 81b880e75..d424b1712 100644 --- a/disks/pcx86/dos/ibm/7.00/manifest.xml +++ b/disks/pcx86/dos/ibm/7.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 7.00 diff --git a/disks/pcx86/dos/microsoft/3.20/manifest.xml b/disks/pcx86/dos/microsoft/3.20/manifest.xml index b2c3fc769..60b8a7c57 100644 --- a/disks/pcx86/dos/microsoft/3.20/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.20 diff --git a/disks/pcx86/dos/microsoft/3.21/manifest.xml b/disks/pcx86/dos/microsoft/3.21/manifest.xml index 85ce309c6..40d1e591b 100644 --- a/disks/pcx86/dos/microsoft/3.21/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.21/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.21 diff --git a/disks/pcx86/dos/microsoft/3.30/manifest.xml b/disks/pcx86/dos/microsoft/3.30/manifest.xml index 23b19aa26..22e772351 100644 --- a/disks/pcx86/dos/microsoft/3.30/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.30/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.30 diff --git a/disks/pcx86/dos/microsoft/3.31/manifest.xml b/disks/pcx86/dos/microsoft/3.31/manifest.xml index c1bfaac27..444e87005 100644 --- a/disks/pcx86/dos/microsoft/3.31/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pcx86/dos/microsoft/4.00/manifest.xml b/disks/pcx86/dos/microsoft/4.00/manifest.xml index a429dfcd5..058a705f4 100644 --- a/disks/pcx86/dos/microsoft/4.00/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.00 diff --git a/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml b/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml index a7d23f068..2edadcc1e 100644 --- a/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pcx86/dos/microsoft/4.01/manifest.xml b/disks/pcx86/dos/microsoft/4.01/manifest.xml index dcd8c77b3..0da3b429e 100644 --- a/disks/pcx86/dos/microsoft/4.01/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.01/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pcx86/dos/microsoft/4.0M/manifest.xml b/disks/pcx86/dos/microsoft/4.0M/manifest.xml index 49f8b886a..750944d98 100644 --- a/disks/pcx86/dos/microsoft/4.0M/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.0M/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.0M diff --git a/disks/pcx86/dos/microsoft/5.00/manifest.xml b/disks/pcx86/dos/microsoft/5.00/manifest.xml index 818e88de3..d43244170 100644 --- a/disks/pcx86/dos/microsoft/5.00/manifest.xml +++ b/disks/pcx86/dos/microsoft/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 5.00 diff --git a/disks/pcx86/dos/microsoft/6.00/manifest.xml b/disks/pcx86/dos/microsoft/6.00/manifest.xml index 1aec5cb3b..ad85110c0 100644 --- a/disks/pcx86/dos/microsoft/6.00/manifest.xml +++ b/disks/pcx86/dos/microsoft/6.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.00 diff --git a/disks/pcx86/dos/microsoft/6.20/manifest.xml b/disks/pcx86/dos/microsoft/6.20/manifest.xml index 3ef42efcc..45bc92f02 100644 --- a/disks/pcx86/dos/microsoft/6.20/manifest.xml +++ b/disks/pcx86/dos/microsoft/6.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.20 diff --git a/disks/pcx86/dos/microsoft/6.22/manifest.xml b/disks/pcx86/dos/microsoft/6.22/manifest.xml index 7ab04ba06..1e8663d77 100644 --- a/disks/pcx86/dos/microsoft/6.22/manifest.xml +++ b/disks/pcx86/dos/microsoft/6.22/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.22 diff --git a/disks/pcx86/empty/manifest.xml b/disks/pcx86/empty/manifest.xml index 01483c939..2674141c8 100644 --- a/disks/pcx86/empty/manifest.xml +++ b/disks/pcx86/empty/manifest.xml @@ -1,5 +1,5 @@ - + Empty Diskettes diff --git a/disks/pcx86/games/id/wolf3d/manifest.xml b/disks/pcx86/games/id/wolf3d/manifest.xml index da62fb53d..4f74535d8 100644 --- a/disks/pcx86/games/id/wolf3d/manifest.xml +++ b/disks/pcx86/games/id/wolf3d/manifest.xml @@ -1,5 +1,5 @@ - + Wolfenstein 3D diff --git a/disks/pcx86/games/infocom/hhiker/manifest.xml b/disks/pcx86/games/infocom/hhiker/manifest.xml index 5f2563491..506745aa4 100644 --- a/disks/pcx86/games/infocom/hhiker/manifest.xml +++ b/disks/pcx86/games/infocom/hhiker/manifest.xml @@ -1,5 +1,5 @@ - + The Hitchhiker's Guide to the Galaxy diff --git a/disks/pcx86/games/infocom/machine.xml b/disks/pcx86/games/infocom/machine.xml index 2c36ee182..2c9a1dbed 100644 --- a/disks/pcx86/games/infocom/machine.xml +++ b/disks/pcx86/games/infocom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 (CGA, 64K) diff --git a/disks/pcx86/games/infocom/planet/manifest.xml b/disks/pcx86/games/infocom/planet/manifest.xml index 88333da99..8c834bcfe 100644 --- a/disks/pcx86/games/infocom/planet/manifest.xml +++ b/disks/pcx86/games/infocom/planet/manifest.xml @@ -1,5 +1,5 @@ - + Planetfall diff --git a/disks/pcx86/games/infocom/zork1/debugger/machine.xml b/disks/pcx86/games/infocom/zork1/debugger/machine.xml index de9f239a9..c908def65 100644 --- a/disks/pcx86/games/infocom/zork1/debugger/machine.xml +++ b/disks/pcx86/games/infocom/zork1/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zork I (IBM PC Model 5150) diff --git a/disks/pcx86/games/infocom/zork1/manifest.xml b/disks/pcx86/games/infocom/zork1/manifest.xml index 72694475f..7541455cc 100644 --- a/disks/pcx86/games/infocom/zork1/manifest.xml +++ b/disks/pcx86/games/infocom/zork1/manifest.xml @@ -1,5 +1,5 @@ - + Zork I diff --git a/disks/pcx86/games/infocom/zork2/manifest.xml b/disks/pcx86/games/infocom/zork2/manifest.xml index 400c29b59..e7768f5f2 100644 --- a/disks/pcx86/games/infocom/zork2/manifest.xml +++ b/disks/pcx86/games/infocom/zork2/manifest.xml @@ -1,5 +1,5 @@ - + Zork II diff --git a/disks/pcx86/games/infocom/zork3/manifest.xml b/disks/pcx86/games/infocom/zork3/manifest.xml index 8e1fa4f25..915d0067a 100644 --- a/disks/pcx86/games/infocom/zork3/manifest.xml +++ b/disks/pcx86/games/infocom/zork3/manifest.xml @@ -1,5 +1,5 @@ - + Zork III diff --git a/disks/pcx86/games/microsoft/adventure/machine.xml b/disks/pcx86/games/microsoft/adventure/machine.xml index 12a02e2a3..8672320e9 100644 --- a/disks/pcx86/games/microsoft/adventure/machine.xml +++ b/disks/pcx86/games/microsoft/adventure/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running Microsoft Adventure diff --git a/disks/pcx86/games/microsoft/adventure/manifest.xml b/disks/pcx86/games/microsoft/adventure/manifest.xml index ae3b66fd0..87e725a85 100644 --- a/disks/pcx86/games/microsoft/adventure/manifest.xml +++ b/disks/pcx86/games/microsoft/adventure/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Adventure 1.00 diff --git a/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml b/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml index f79fccaaf..a7b9dbe60 100644 --- a/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml +++ b/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml b/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml index 7c6125a8f..56f4fdb2e 100644 --- a/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml +++ b/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pcx86/minix/1.1/manifest.xml b/disks/pcx86/minix/1.1/manifest.xml index 53bce7587..6018ac69d 100644 --- a/disks/pcx86/minix/1.1/manifest.xml +++ b/disks/pcx86/minix/1.1/manifest.xml @@ -1,5 +1,5 @@ - + MINIX 1.1 diff --git a/disks/pcx86/os2/ibm/1.0/manifest.xml b/disks/pcx86/os2/ibm/1.0/manifest.xml index 991d46bec..bc6d3cc8b 100644 --- a/disks/pcx86/os2/ibm/1.0/manifest.xml +++ b/disks/pcx86/os2/ibm/1.0/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.0 diff --git a/disks/pcx86/os2/ibm/1.1/manifest.xml b/disks/pcx86/os2/ibm/1.1/manifest.xml index 1d06a9e61..1b8941c8e 100644 --- a/disks/pcx86/os2/ibm/1.1/manifest.xml +++ b/disks/pcx86/os2/ibm/1.1/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.1 diff --git a/disks/pcx86/os2/ibm/1.3/manifest.xml b/disks/pcx86/os2/ibm/1.3/manifest.xml index ca6cb7bfb..b681cba51 100644 --- a/disks/pcx86/os2/ibm/1.3/manifest.xml +++ b/disks/pcx86/os2/ibm/1.3/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.3 diff --git a/disks/pcx86/os2/microsoft/1.0/manifest.xml b/disks/pcx86/os2/microsoft/1.0/manifest.xml index bff2c7b74..2a61c256c 100644 --- a/disks/pcx86/os2/microsoft/1.0/manifest.xml +++ b/disks/pcx86/os2/microsoft/1.0/manifest.xml @@ -1,5 +1,5 @@ - + MS OS/2 1.0 diff --git a/disks/pcx86/os2/misc/manifest.xml b/disks/pcx86/os2/misc/manifest.xml index 2dd9c1e76..7c10133c9 100644 --- a/disks/pcx86/os2/misc/manifest.xml +++ b/disks/pcx86/os2/misc/manifest.xml @@ -1,5 +1,5 @@ - + OS/2 Prototype Disks diff --git a/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml b/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml index 580435f0f..49721f92e 100644 --- a/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml +++ b/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml @@ -1,5 +1,5 @@ - + Borland Turbo Pascal diff --git a/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml b/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml index 6db6740d0..880a5e820 100644 --- a/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml +++ b/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml @@ -1,5 +1,5 @@ - + Borland Turbo Pascal diff --git a/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml b/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml index 4c7fe6060..7abb98597 100644 --- a/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml +++ b/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml @@ -1,5 +1,5 @@ - + IBM BASIC Compiler 1.00 diff --git a/disks/pcx86/tools/microsoft/basic/manifest.xml b/disks/pcx86/tools/microsoft/basic/manifest.xml index 250f36f4e..9e4d6f043 100644 --- a/disks/pcx86/tools/microsoft/basic/manifest.xml +++ b/disks/pcx86/tools/microsoft/basic/manifest.xml @@ -1,5 +1,5 @@ - + MS BASIC diff --git a/disks/pcx86/tools/microsoft/c/2.03/manifest.xml b/disks/pcx86/tools/microsoft/c/2.03/manifest.xml index b3c60b268..e7d97f791 100644 --- a/disks/pcx86/tools/microsoft/c/2.03/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 2.03 diff --git a/disks/pcx86/tools/microsoft/c/3.00/manifest.xml b/disks/pcx86/tools/microsoft/c/3.00/manifest.xml index 570e952fa..ac74e1fea 100644 --- a/disks/pcx86/tools/microsoft/c/3.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 3.00 diff --git a/disks/pcx86/tools/microsoft/c/4.00/manifest.xml b/disks/pcx86/tools/microsoft/c/4.00/manifest.xml index 68786ab71..6cf376ad3 100644 --- a/disks/pcx86/tools/microsoft/c/4.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 4.00 diff --git a/disks/pcx86/tools/microsoft/c/5.00/manifest.xml b/disks/pcx86/tools/microsoft/c/5.00/manifest.xml index 52d25c0b1..c3089dced 100644 --- a/disks/pcx86/tools/microsoft/c/5.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/5.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.00 diff --git a/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml b/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml index 38c552a05..5dfed9d6c 100644 --- a/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.10-OS2 diff --git a/disks/pcx86/tools/microsoft/c/5.10/manifest.xml b/disks/pcx86/tools/microsoft/c/5.10/manifest.xml index e830e52e1..42fe3a245 100644 --- a/disks/pcx86/tools/microsoft/c/5.10/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/5.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.10 diff --git a/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml index a9b534b76..abd329421 100644 --- a/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 1.00 diff --git a/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml index 69cbeca8e..3a115bea6 100644 --- a/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 3.00 diff --git a/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml b/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml index 7b05aae70..187440a68 100644 --- a/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 3.01 diff --git a/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml index fbe8a2e91..81a32b9fd 100644 --- a/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 4.00 diff --git a/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml index b80870988..83d3e89ef 100644 --- a/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 5.00 diff --git a/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml b/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml index c1215bdcf..434a64322 100644 --- a/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 5.10 diff --git a/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml index 255287eb8..68c511048 100644 --- a/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 6.00 diff --git a/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml b/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml index 46cfc53cc..fececb3e2 100644 --- a/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 6.11 diff --git a/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml b/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml index 4958fa57d..dd2daacc0 100644 --- a/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS Mouse 5.00 diff --git a/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml b/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml index 6e56419b9..d1650b7e6 100644 --- a/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml +++ b/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml @@ -1,5 +1,5 @@ - + MS OS/2 SDK 1.02 diff --git a/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml index 8a1773309..0d777a731 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.01 diff --git a/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml index 1b7a9d934..0a0d82645 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.03 diff --git a/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml index e1a4bc474..ecf9ad26f 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.04 os2museum.com diff --git a/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml index fd4655339..3acbd2252 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 2.03 os2museum.com diff --git a/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml index da37f995a..dd6d2ed21 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 3.00 diff --git a/disks/pcx86/tools/misc/manifest.xml b/disks/pcx86/tools/misc/manifest.xml index 0822c74e1..017c80fe9 100644 --- a/disks/pcx86/tools/misc/manifest.xml +++ b/disks/pcx86/tools/misc/manifest.xml @@ -1,5 +1,5 @@ - + Enhanced DEBUG PC DOS Retro: Enhanced DEBUG for PC DOS and MS-DOS diff --git a/disks/pcx86/unix/ibm/pcix/1.0/manifest.xml b/disks/pcx86/unix/ibm/pcix/1.0/manifest.xml index e51635b8c..7dfc22dab 100644 --- a/disks/pcx86/unix/ibm/pcix/1.0/manifest.xml +++ b/disks/pcx86/unix/ibm/pcix/1.0/manifest.xml @@ -1,5 +1,5 @@ - + PC/IX 1.0 diff --git a/disks/pcx86/unix/microport/system-v/2.3/manifest.xml b/disks/pcx86/unix/microport/system-v/2.3/manifest.xml index 0484a0f39..005c345e5 100644 --- a/disks/pcx86/unix/microport/system-v/2.3/manifest.xml +++ b/disks/pcx86/unix/microport/system-v/2.3/manifest.xml @@ -1,5 +1,5 @@ - + Microport's AT&T UNIX System V-AT 2.3 (5¨) diff --git a/disks/pcx86/unix/sco/xenix/8086/2.1.3/manifest.xml b/disks/pcx86/unix/sco/xenix/8086/2.1.3/manifest.xml index 4193930f0..f238b091e 100644 --- a/disks/pcx86/unix/sco/xenix/8086/2.1.3/manifest.xml +++ b/disks/pcx86/unix/sco/xenix/8086/2.1.3/manifest.xml @@ -1,5 +1,5 @@ - + SCO Xenix 8086 Operating System v2.1.3 diff --git a/disks/pcx86/windows/1.00/manifest.xml b/disks/pcx86/windows/1.00/manifest.xml index a331db64d..6181ee45b 100644 --- a/disks/pcx86/windows/1.00/manifest.xml +++ b/disks/pcx86/windows/1.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.00 diff --git a/disks/pcx86/windows/1.01/manifest.xml b/disks/pcx86/windows/1.01/manifest.xml index 0fea55918..2838de221 100644 --- a/disks/pcx86/windows/1.01/manifest.xml +++ b/disks/pcx86/windows/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.01 diff --git a/disks/pcx86/windows/1.02/manifest.xml b/disks/pcx86/windows/1.02/manifest.xml index 1a4c086a5..301597e7e 100644 --- a/disks/pcx86/windows/1.02/manifest.xml +++ b/disks/pcx86/windows/1.02/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.02 diff --git a/disks/pcx86/windows/1.03/manifest.xml b/disks/pcx86/windows/1.03/manifest.xml index 7e68bda8f..8d799da14 100644 --- a/disks/pcx86/windows/1.03/manifest.xml +++ b/disks/pcx86/windows/1.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03 diff --git a/disks/pcx86/windows/1.03a/manifest.xml b/disks/pcx86/windows/1.03a/manifest.xml index fa0e711d9..9c6af5fec 100644 --- a/disks/pcx86/windows/1.03a/manifest.xml +++ b/disks/pcx86/windows/1.03a/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03a diff --git a/disks/pcx86/windows/1.03b/manifest.xml b/disks/pcx86/windows/1.03b/manifest.xml index ff76cbff8..2a8728086 100644 --- a/disks/pcx86/windows/1.03b/manifest.xml +++ b/disks/pcx86/windows/1.03b/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03b diff --git a/disks/pcx86/windows/1.04/manifest.xml b/disks/pcx86/windows/1.04/manifest.xml index bc20902c4..2ef49940f 100644 --- a/disks/pcx86/windows/1.04/manifest.xml +++ b/disks/pcx86/windows/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.04 os2museum.com diff --git a/disks/pcx86/windows/2.03/manifest.xml b/disks/pcx86/windows/2.03/manifest.xml index b80336fc5..69c3431e7 100644 --- a/disks/pcx86/windows/2.03/manifest.xml +++ b/disks/pcx86/windows/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.03 diff --git a/disks/pcx86/windows/2.0x/manifest.xml b/disks/pcx86/windows/2.0x/manifest.xml index d8abfa55c..7032f7b2a 100644 --- a/disks/pcx86/windows/2.0x/manifest.xml +++ b/disks/pcx86/windows/2.0x/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows/386 2.0x diff --git a/disks/pcx86/windows/2.10/manifest.xml b/disks/pcx86/windows/2.10/manifest.xml index e15c9a53b..6496aac2c 100644 --- a/disks/pcx86/windows/2.10/manifest.xml +++ b/disks/pcx86/windows/2.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows/386 2.10 diff --git a/disks/pcx86/windows/2.11/manifest.xml b/disks/pcx86/windows/2.11/manifest.xml index 8897d0bf8..58d85c2ec 100644 --- a/disks/pcx86/windows/2.11/manifest.xml +++ b/disks/pcx86/windows/2.11/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.11 diff --git a/disks/pcx86/windows/3.00/720K/manifest.xml b/disks/pcx86/windows/3.00/720K/manifest.xml index 359e666e5..74ba590b1 100644 --- a/disks/pcx86/windows/3.00/720K/manifest.xml +++ b/disks/pcx86/windows/3.00/720K/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.00 diff --git a/disks/pcx86/windows/3.00/manifest.xml b/disks/pcx86/windows/3.00/manifest.xml index 6070181c6..3b89289ac 100644 --- a/disks/pcx86/windows/3.00/manifest.xml +++ b/disks/pcx86/windows/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.00 diff --git a/disks/pcx86/windows/3.10/manifest.xml b/disks/pcx86/windows/3.10/manifest.xml index d47fd7d34..417db34ff 100644 --- a/disks/pcx86/windows/3.10/manifest.xml +++ b/disks/pcx86/windows/3.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.10 diff --git a/disks/pcx86/windows/3.11/manifest.xml b/disks/pcx86/windows/3.11/manifest.xml index 14df26278..8963b4de5 100644 --- a/disks/pcx86/windows/3.11/manifest.xml +++ b/disks/pcx86/windows/3.11/manifest.xml @@ -1,5 +1,5 @@ - + Windows for Workgroups 3.11 diff --git a/disks/pcx86/windows/win95/4.00.499/manifest.xml b/disks/pcx86/windows/win95/4.00.499/manifest.xml index 79f33a608..d52df976f 100644 --- a/disks/pcx86/windows/win95/4.00.499/manifest.xml +++ b/disks/pcx86/windows/win95/4.00.499/manifest.xml @@ -1,5 +1,5 @@ - + Windows 95 (Build 499) diff --git a/disks/pcx86/windows/win95/4.00.950/manifest.xml b/disks/pcx86/windows/win95/4.00.950/manifest.xml index 54ad18598..f38a429a9 100644 --- a/disks/pcx86/windows/win95/4.00.950/manifest.xml +++ b/disks/pcx86/windows/win95/4.00.950/manifest.xml @@ -1,5 +1,5 @@ - + Windows 95 (RTM) 4.00.950 diff --git a/disks/pcx86/windows/wincomm/manifest.xml b/disks/pcx86/windows/wincomm/manifest.xml index 3f3631e87..a0cc922ef 100644 --- a/disks/pcx86/windows/wincomm/manifest.xml +++ b/disks/pcx86/windows/wincomm/manifest.xml @@ -1,5 +1,5 @@ - + Windows COMM Driver (Source) diff --git a/docs/pcx86/examples/components.xsl b/docs/pcx86/examples/components.xsl index fec4607ed..ddd97a477 100644 --- a/docs/pcx86/examples/components.xsl +++ b/docs/pcx86/examples/components.xsl @@ -14,11 +14,11 @@ pcjs pcx86 PCx86 - 1.30.6 + 1.31.0 www.pcjs.org - + diff --git a/docs/pcx86/examples/pcx86-dbg.js b/docs/pcx86/examples/pcx86-dbg.js index af4365819..b6fdcab10 100644 --- a/docs/pcx86/examples/pcx86-dbg.js +++ b/docs/pcx86/examples/pcx86-dbg.js @@ -828,28 +828,28 @@ g[0]){Or(a,g[1],!0);break}Pr(a,g);break;case "m":if("mouse"==g[0]){var ui=g[1],v null;else if("off"==Ma)vc=!1,Ma=null;else{"keys"==Ma&&(Ma="key");"kbd"==Ma&&(Ma="keyboard");for(uc in Eb)if(Ma==uc){rd=Eb[uc];vc=!!(a.wc&rd);break}if(!rd){a.O("unknown message category: "+Ma);break a}}rd&&("on"==g[2]?(a.wc|=rd,vc=!0):"off"==g[2]&&(a.wc&=~rd,vc=!1))}var ts=0,af="";for(uc in Eb)if(!Ma||Ma==uc){var us=!!(a.wc&Eb[uc]);if(null===vc||vc==us)af&&(af+=","),++ts%10||(af+="\n\t"),"key"==uc&&(uc="keys"),af+=uc}void 0===Ma&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off"); a.O((null!==vc?vc?"messages on: ":"messages off: ":"message categories:\n\t")+(af||"none"));Bq(a)}break;case "o":var vi=g[1],vs=g[2];if(vi&&"?"!=vi){var wi=uq(a,vi,"port #"),xi=uq(a,vs);void 0!==wi&&void 0!==xi&&(zc(a.ga,wi,1,xi),a.O(v(wi)+": "+u(xi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Qr(a,b.substr(5));break}var Wn="pr"==g[0]?1:0,de=1+Wn;if(a.U)a.O("step in progress"); else{var wg,Xn=!1,kb=zq(a,M(a.F),a.F.wa.Z);do switch(wg=!1,a.Qa(kb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:ir(a,kb,1);wg=!0;break;case 204:case 206:a.U=de;ir(a,kb,1);break;case 205:case 224:case 225:case 226:a.U=de;ir(a,kb,kb.Rb?4:2);break;case 232:a.U=de;ir(a,kb,kb.Rb?5:3);break;case 154:a.U=de;ir(a,kb,kb.Rb?7:5);break;case 255:var Yn=a.tb(kb)&14591;if(4351==Yn||6399==Yn)a.U=de,Br(a,kb);break;case 243:case 242:ir(a,kb,1);Xn=wg=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Xn&& -(a.U=de,ir(a,kb,1))}while(wg);a.U?(a.Rd(a.B,kb,!0),a.Ne()||(a.X&&a.X.wd(),a.U=0)):Sr(a,Wn?"tr":"t")}break;case "r":if("reset"==b){a.X&&a.X.reset();break}tr(a,g);break;case "t":Sr(a,g[0],g[1]);break;case "u":ur(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Nr(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.30.6 ("+a.F.ja+",RELEASE,NOPREFETCH"+(Ab?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Ca());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var bf;void 0!==g[3]&&(bf=+g[3]);switch(g[2]){case "int":a.F.Y.jf= +(a.U=de,ir(a,kb,1))}while(wg);a.U?(a.Rd(a.B,kb,!0),a.Ne()||(a.X&&a.X.wd(),a.U=0)):Sr(a,Wn?"tr":"t")}break;case "r":if("reset"==b){a.X&&a.X.reset();break}tr(a,g);break;case "t":Sr(a,g[0],g[1]);break;case "u":ur(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Nr(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.31.0 ("+a.F.ja+",RELEASE,NOPREFETCH"+(Ab?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Ca());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var bf;void 0!==g[3]&&(bf=+g[3]);switch(g[2]){case "int":a.F.Y.jf= bf;break;case "start":a.F.Y.Nf=bf;break;case "stop":a.F.Y.lf=bf;break;default:a.O("unknown cs option");break a}void 0!==bf&&$c(a.F);a.O("checksums "+(a.F.la.Xe?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(dd(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.He.toFixed(2)+"Mhz")+" ("+a.F.Y.Wd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"), a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Qr(a,b.substr(1));break}var yi="commands:",zi;for(zi in Gq)yi+="\n"+pa(zi,7)+Gq[zi];ag(a)||(yi+="\nnote: frequency/history disabled if no exec breakpoints");a.O(yi);break;default:a.O("unknown command: "+b),d=!1}}}catch(Zn){a.O("debugger error: "+(Zn.stack||Zn.message)),d=!1}return d}function Dq(a,b,c){b=a.Ng(b,c);for(var d in b)if(!Ar(a,b[+d]))return!1;return!0} Xa(function(){for(var a=tb(document,"pcx86","debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bWr){if(d.load(this.aa)){this.X=new qf(this,"1.30.6","failsafe");this.X.load()&&(bs(this,d),a=2,cs(this.X));this.X.set("timestamp",ua());ds(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=as(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): +function $r(a,b){var c=new qf(a,"1.31.0","validate");if(c.load()&&as(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}} +l.dg=function(a){void 0===a&&(a=this.A||(this.aa?1:Wr));if(!this.N){this.N++;var b=!1,c=!1;this.ka=!1;var d=this.ea||new qf(this,"1.31.0");if(-1==a)b=!0;else if(a>Wr){if(d.load(this.aa)){this.X=new qf(this,"1.31.0","failsafe");this.X.load()&&(bs(this,d),a=2,cs(this.X));this.X.set("timestamp",ua());ds(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=as(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): ("error"==f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ia("user",""),this.B=null)):this.O(f+": "+g),cs(d),d.load()?(c=as(d),e=!0):c=!1))}e&&$r(this,c?d:null)}else 2==a&&d.clear()}else $r(this);delete this.aa;delete this.ea}e=nb(this.id);for(f=0;fa[1];a=a[2];this.va=!0;this.la.ic=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(es(this,this.F,b,c,a),this.F.Cf());this.ka&&(bs(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function bs(a,b){if(Ea("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ie();b=b.toString();var d={app:"PCx86",ver:"1.30.6"};d.url=a.ua;d.user=c;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Tr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new qf(a,"1.30.6"),g=new qf(a,"1.30.6","validate"),h=ua();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.6");f.set("url",window?window.location.href:null);f.set("browser",Ca());a.F&&a.F.gc&&(c&&a.F.Wb(),d=a.F.gc(b,c),"object"===typeof d&&f.set(a.F.id,d),c&&(a.F.la.ic=!1,!1===d&&(e=null)));for(var h=nb(a.id),k=0;k>>b.La;d=d+e-1>>>b.La;c.ih=0;for(c.Td=0;f<=d;)e=b.sa[f],c.ih+=e.size,e.size&&(c.Yg.push(wa(Nb,f,0,0,e.type)),c.Td++),f++;a.A=c;a.ya=a.A.Td*a.ga.Sb/691200;d=0;a.A.fj=0;a.A.Bf||(a.A.Bf=[]);e=-1;b=0;for(var g=-1,c=0;c>1),g=f.y+(f.A>>1),h=f.A,f.bd).*?(<\/xsl:variable>)/,"$1pcx86$2") function ws(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);ws(a,b,c)}})}else c(a,null)} function xs(a,b,c,d){function e(a){if(void 0===h){var b=g&&tb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--is||Za(!0));k=!1}var g,h,k=!0;is++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));n.appendChild(t)}c|| -(c="/versions/pcx86/1.30.6/components.xsl");m=function(d,h){h?js(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--is||Za(!0)):f("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),--is||Za(!0)):f("invalid machine element: "+ +(c="/versions/pcx86/1.31.0/components.xsl");m=function(d,h){h?js(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--is||Za(!0)):f("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),--is||Za(!0)):f("invalid machine element: "+ a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?js(b,a,d,!0,e,m):ks(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}function ys(a,b,c,d){Za(!1);return xs(a,b,c,d)}window.embedPC=ys;window.embedPCx86=ys;window.enableEvents=Za;window.sendEvent=$a; function zs(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){As(b,d)}):As(null,d)}else w("Error ("+c+") requesting "+a)} function As(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, "©"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
\n')+"...\n",a=a+(''; diff --git a/modules/pdp11/lib/bus.js b/modules/pdp11/lib/bus.js index e2d1ceab4..fa7e590e0 100644 --- a/modules/pdp11/lib/bus.js +++ b/modules/pdp11/lib/bus.js @@ -32,129 +32,1105 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var usr = require("../../shared/lib/usrlib"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var MemoryPDP11 = require("./memory"); - var MessagesPDP11 = require("./messages"); -} +import Str from "../../shared/es6/strlib"; +import Usr from "../../shared/es6/usrlib"; +import Component from "../../shared/es6/component"; +import State from "../../shared/es6/state"; +import MemoryPDP11 from "./memory"; +import MessagesPDP11 from "./messages"; + +/* + * Data types used by scanMemory() + */ /** - * BusPDP11(parmsBus, cpu, dbg) + * This defines the BlockInfo bit fields used by scanMemory() when it creates the aBlocks array. * - * The BusPDP11 component manages physical memory and I/O address spaces. - * - * The BusPDP11 component has no UI elements, so it does not require an init() handler, - * but it still inherits from the Component class and must be allocated like any - * other device component. It's currently allocated by the Computer's init() handler, - * which then calls the initBus() method of all the other components. - * - * For memory beyond the simple needs of the ROM and RAM components (ie, memory-mapped - * devices), the address space must still be allocated through the BusPDP11 component via - * addMemory(). If the component needs something more than simple read/write storage, - * it must provide a custom controller. - * - * @constructor - * @extends Component - * @param {Object} parmsBus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg + * @typedef {{ + * num: BitField, + * count: BitField, + * btmod: BitField, + * type: BitField + * }} BlockInfoPDP11 */ -function BusPDP11(parmsBus, cpu, dbg) -{ - Component.call(this, "Bus", parmsBus, BusPDP11, MessagesPDP11.BUS); +var BlockInfoPDP11 = Usr.defineBitFields({num:20, count:8, btmod:1, type:3}); - this.cpu = cpu; - this.dbg = dbg; +/** + * BusInfoPDP11 object definition (returned by scanMemory()) + * + * cbTotal: total bytes allocated + * cBlocks: total Memory blocks allocated + * aBlocks: array of allocated Memory block numbers + * + * @typedef {{ + * cbTotal: number, + * cBlocks: number, + * aBlocks: Array. + * }} BusInfoPDP11 + */ +var BusInfoPDP11; - /* - * Supported values for nBusWidth are 16 (default), 18, and 22. This represents the maximum size - * of the bus for the life of the machine, regardless what memory management mode the CPU has enabled. +class BusPDP11 extends Component { + /** + * BusPDP11(parmsBus, cpu, dbg) + * + * The BusPDP11 component manages physical memory and I/O address spaces. + * + * The BusPDP11 component has no UI elements, so it does not require an init() handler, + * but it still inherits from the Component class and must be allocated like any + * other device component. It's currently allocated by the Computer's init() handler, + * which then calls the initBus() method of all the other components. + * + * For memory beyond the simple needs of the ROM and RAM components (ie, memory-mapped + * devices), the address space must still be allocated through the BusPDP11 component via + * addMemory(). If the component needs something more than simple read/write storage, + * it must provide a custom controller. + * + * @param {Object} parmsBus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg */ - this.nBusWidth = parmsBus['busWidth'] || 16; + constructor(parmsBus, cpu, dbg) + { + super("Bus", parmsBus, BusPDP11, MessagesPDP11.BUS); - /* - * Compute all BusPDP11 memory block parameters now, based on the width of the bus. + this.cpu = cpu; + this.dbg = dbg; + + /* + * Supported values for nBusWidth are 16 (default), 18, and 22. This represents the maximum size + * of the bus for the life of the machine, regardless what memory management mode the CPU has enabled. + */ + this.nBusWidth = parmsBus['busWidth'] || 16; + + /* + * Compute all BusPDP11 memory block parameters now, based on the width of the bus. + * + * Note that all PCjs machines divide their address space into blocks, using a block size appropriate for + * the machine's bus width. This allows us to efficiently allocate the entire address space, by reusing blocks + * as appropriate, and to define to different address behaviors on a block-granular level. + * + * For PDPjs machines, the ideal block size is 8Kb (IOPAGE_LENGTH), the size of the IOPAGE on all PDP-11 machines; + * as a result, our IOController functions assume that all incoming offsets are within a single 8Kb block. + */ + this.addrTotal = 1 << this.nBusWidth; + this.nBusMask = (this.addrTotal - 1); + this.nBlockSize = BusPDP11.IOPAGE_LENGTH; + this.nBlockShift = Math.log2(this.nBlockSize); // ES6 ALERT (alternatively: Math.log(this.nBlockSize) / Math.LN2) + this.nBlockLen = this.nBlockSize >> 2; + this.nBlockLimit = this.nBlockSize - 1; + this.nBlockTotal = (this.addrTotal / this.nBlockSize) | 0; + this.nBlockMask = this.nBlockTotal - 1; + this.assert(this.nBlockMask <= BlockInfoPDP11.num.mask); + + /* + * aIOHandlers is an array (ie, a hash) of I/O notification handlers, indexed by address, where each + * entry contains an array: + * + * [0]: readByte(addr) + * [1]: writeByte(b, addr) + * [2]: readWord(addr) + * [3]: writeWord(w, addr) + * + * Each of these 4-element arrays are similar to the memory access arrays assigned to entire Memory + * blocks, but these handlers generally target a specific address (or handful of addresses), while + * Memory access handlers must service the entire block; see the setAccess() function in the Memory + * component for details. + * + * Finally, for debugging purposes, if an I/O address has a symbolic name and message category, + * they will be saved here: + * + * [4]: symbolic name of I/O address + * [5]: message category + * + * UPDATE: The Debugger wants to piggy-back on these arrays to indicate addresses for which it wants + * notification. In those cases, the following additional element will be set: + * + * [6]: true to break on I/O, false to ignore I/O + * + * The false case is important if fIOBreakAll is set, because it allows the Debugger to selectively + * ignore specific addresses. + */ + this.aIOHandlers = []; + this.fIOBreakAll = false; + this.nDisableFaults = 0; + this.fFault = false; + + /* + * Array of RESET notification handlers registered by Device components. + */ + this.afnReset = []; + + /* + * Before we can add any memory blocks that declare our component as a custom memory controller, + * we must initialize the array that the getControllerAccess() method supplies to the Memory component. + */ + this.afnIOPage = [ + BusPDP11.IOController.readByte, + BusPDP11.IOController.writeByte, + BusPDP11.IOController.readWord, + BusPDP11.IOController.writeWord + ]; + + /* + * Define all the properties to be initialized by initMemory() + */ + this.aBusBlocks = this.aMemBlocks = []; + this.iBlockIOPageBus = this.iBlockIOPageMem = 0; + this.addrIOPage = this.nIOPageRange = this.nMemMask = 0; + + /* + * We're ready to allocate empty Memory blocks to span the entire physical address space, including the + * initial location of the IOPAGE. + */ + this.initMemory(); + + this.setReady(); + } + + /** + * initMemory() * - * Note that all PCjs machines divide their address space into blocks, using a block size appropriate for - * the machine's bus width. This allows us to efficiently allocate the entire address space, by reusing blocks - * as appropriate, and to define to different address behaviors on a block-granular level. + * Allocate enough (empty) Memory blocks to span the entire physical address space. * - * For PDPjs machines, the ideal block size is 8Kb (IOPAGE_LENGTH), the size of the IOPAGE on all PDP-11 machines; - * as a result, our IOController functions assume that all incoming offsets are within a single 8Kb block. + * Note that we now maintain two parallel arrays of these Memory blocks: aBusBlocks is for use by + * devices (or any component using the "direct" interfaces), while aMemBlocks is for use by the CPU. + * + * Whereas the Bus memory map is fixed at init time, the CPU's memory map will vary depending on MMU + * settings. The CPU will call setIOPageRange() as needed to update the range of addressible memory, + * which in turn will determine where the IOPAGE can be accessed. + * + * @this {BusPDP11} */ - this.addrTotal = 1 << this.nBusWidth; - this.nBusMask = (this.addrTotal - 1); - this.nBlockSize = BusPDP11.IOPAGE_LENGTH; - this.nBlockShift = Math.log2(this.nBlockSize); // ES6 ALERT (alternatively: Math.log(this.nBlockSize) / Math.LN2) - this.nBlockLen = this.nBlockSize >> 2; - this.nBlockLimit = this.nBlockSize - 1; - this.nBlockTotal = (this.addrTotal / this.nBlockSize) | 0; - this.nBlockMask = this.nBlockTotal - 1; - this.assert(this.nBlockMask <= BusPDP11.BlockInfo.num.mask); + initMemory() + { + var block = new MemoryPDP11(this); + block.copyBreakpoints(this.dbg); - /* - * aIOHandlers is an array (ie, a hash) of I/O notification handlers, indexed by address, where each - * entry contains an array: + this.aBusBlocks = new Array(this.nBlockTotal); + this.aMemBlocks = new Array(this.nBlockTotal); + for (var iBlock = 0; iBlock < this.nBlockTotal; iBlock++) { + this.aBusBlocks[iBlock] = this.aMemBlocks[iBlock] = block; + } + /* + * NOTE: Don't confuse the Bus addrIOPage with the CPU's addrIOPage; ours is fixed, + * based on the machine's Bus width, whereas the CPU's varies according to the MMU setting. + */ + this.addrIOPage = this.addrTotal - BusPDP11.IOPAGE_LENGTH; + this.addMemory(this.addrIOPage, BusPDP11.IOPAGE_LENGTH, MemoryPDP11.TYPE.CONTROLLER, this); + + this.iBlockIOPageBus = (this.addrIOPage & this.nBusMask) >>> this.nBlockShift; + this.iBlockIOPageMem = this.iBlockIOPageBus; + + this.nIOPageRange = 0; + this.nMemMask = this.nBusMask; + } + + /** + * setIOPageRange(nRange) * - * [0]: readByte(addr) - * [1]: writeByte(b, addr) - * [2]: readWord(addr) - * [3]: writeWord(w, addr) + * This function is responsible for syncing the CPU memory map (aMemBlocks) with the Bus memory map (aBusBlocks) + * and then updating the location of the IOPAGE within the CPU's memory map. The location of the IOPAGE is always + * fixed at the top of the Bus address space, but it moves (logically) within the CPU's address space according + * to the CPU's current MMU settings, which nRange is a reflection of. * - * Each of these 4-element arrays are similar to the memory access arrays assigned to entire Memory - * blocks, but these handlers generally target a specific address (or handful of addresses), while - * Memory access handlers must service the entire block; see the setAccess() function in the Memory - * component for details. - * - * Finally, for debugging purposes, if an I/O address has a symbolic name and message category, - * they will be saved here: - * - * [4]: symbolic name of I/O address - * [5]: message category - * - * UPDATE: The Debugger wants to piggy-back on these arrays to indicate addresses for which it wants - * notification. In those cases, the following additional element will be set: - * - * [6]: true to break on I/O, false to ignore I/O - * - * The false case is important if fIOBreakAll is set, because it allows the Debugger to selectively - * ignore specific addresses. + * @this {BusPDP11} + * @param {number} nRange (16, 18 or 22; 0 removes the IOPAGE altogether) */ - this.aIOHandlers = []; - this.fIOBreakAll = false; - this.nDisableFaults = 0; - this.fFault = false; + setIOPageRange(nRange) + { + if (nRange != this.nIOPageRange) { + for (var iBlock = 0; iBlock < this.nBlockTotal; iBlock++) { + this.aMemBlocks[iBlock] = this.aBusBlocks[iBlock]; + } + this.nIOPageRange = 0; + this.nMemMask = this.nBusMask; + if (nRange) { + this.nIOPageRange = nRange; + var addr = (1 << nRange); + this.nMemMask = (addr - 1); + addr -= BusPDP11.IOPAGE_LENGTH; + this.iBlockIOPageMem = (addr & this.nMemMask) >>> this.nBlockShift; + this.aMemBlocks[this.iBlockIOPageMem] = this.aBusBlocks[this.iBlockIOPageBus]; + } + } + } - /* - * Array of RESET notification handlers registered by Device components. + /** + * getControllerBuffer(addr) + * + * Our Bus component also acts as custom memory controller for the IOPAGE, so it must also provide this function. + * + * @this {BusPDP11} + * @param {number} addr + * @return {Array} containing the buffer (and the offset within that buffer that corresponds to the requested block) */ - this.afnReset = []; + getControllerBuffer(addr) + { + /* + * No buffer is required for the IOPAGE; all accesses go to registered I/O handlers or to fault(). + */ + return [null, 0]; + } - /* - * Before we can add any memory blocks that declare our component as a custom memory controller, - * we must initialize the array that the getControllerAccess() method supplies to the Memory component. + /** + * getControllerAccess() + * + * Our Bus component also acts as custom memory controller for the IOPAGE, so it must also provide this function. + * + * @this {BusPDP11} + * @return {Array.} */ - this.afnIOPage = [ - BusPDP11.IOController.readByte, - BusPDP11.IOController.writeByte, - BusPDP11.IOController.readWord, - BusPDP11.IOController.writeWord - ]; + getControllerAccess() + { + return this.afnIOPage; + } - /* - * We're ready to allocate empty Memory blocks to span the entire physical address space, including the - * initial location of the IOPAGE. + /** + * getWidth() + * + * @this {BusPDP11} + * @return {number} */ - this.initMemory(); + getWidth() + { + return this.nBusWidth; + } - this.setReady(); + /** + * reset() + * + * Call all registered reset() handlers. + * + * @this {BusPDP11} + */ + reset() + { + for (var i = 0; i < this.afnReset.length; i++) { + this.afnReset[i](); + } + this.setIOPageRange(16); + } + + /** + * powerUp(data, fRepower) + * + * We don't need a powerDown() handler, because for largely historical reasons, our state is saved by saveMemory(), + * which called by the CPU. + * + * However, we do need a powerUp() handler, because on resumable machines, the Computer's onReset() function calls + * everyone's powerUp() handler rather than their reset() handler. + * + * TODO: Perhaps Computer should be smarter: if there's no powerUp() handler, then fallback to the reset() handler. + * In that case, however, we'd either need to remove the powerUp() stub in Component, or detect the existence of the stub. + * + * @this {BusPDP11} + * @param {Object|null} data (always null because we supply no powerDown() handler) + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (!fRepower) this.reset(); + return true; + } + + /** + * addMemory(addr, size, type, controller) + * + * Adds new Memory blocks to the specified address range. Any Memory blocks previously + * added to that range must first be removed via removeMemory(); otherwise, you'll get + * an allocation conflict error. This helps prevent address calculation errors, redundant + * allocations, etc. + * + * We've relaxed some of the original requirements (ie, that addresses must start at a + * block-granular address, or that sizes must be equal to exactly one or more blocks), + * because machines with large block sizes can make it impossible to load certain ROMs at + * their required addresses. Every allocation still allocates a whole number of blocks. + * + * Even so, BusPDP11 memory management does NOT provide a general-purpose heap. Most memory + * allocations occur during machine initialization and never change. In particular, there + * is NO support for removing partial-block allocations. + * + * Each Memory block keeps track of a start address (addr) and length (used), indicating + * the used space within the block; any free space that precedes or follows that used space + * can be allocated later, by simply extending the beginning or ending of the previously used + * space. However, any holes that might have existed between the original allocation and an + * extension are subsumed by the extension. + * + * @this {BusPDP11} + * @param {number} addr is the starting physical address of the request + * @param {number} size of the request, in bytes + * @param {number} type is one of the MemoryPDP11.TYPE constants + * @param {Object} [controller] is an optional memory controller component + * @return {boolean} true if successful, false if not + */ + addMemory(addr, size, type, controller) + { + var addrNext = addr; + var sizeLeft = size; + var iBlock = addrNext >>> this.nBlockShift; + + while (sizeLeft > 0 && iBlock < this.aBusBlocks.length) { + + var block = this.aBusBlocks[iBlock]; + var addrBlock = iBlock * this.nBlockSize; + var sizeBlock = this.nBlockSize - (addrNext - addrBlock); + if (sizeBlock > sizeLeft) sizeBlock = sizeLeft; + + /* + * addMemory() will now happily replace an existing block when a memory controller is specified; + * this is a work-around to make life easier for setIOPageRange(), which otherwise would have to call + * removeMemory() first, which would just waste time and memory allocating more (empty) blocks. + */ + if (!controller && block && block.size) { + if (block.type == type /* && block.controller == controller */) { + /* + * Where there is already a similar block with a non-zero size, we allow the allocation only if: + * + * 1) addrNext + sizeLeft <= block.addr (the request precedes the used portion of the current block), or + * 2) addrNext >= block.addr + block.used (the request follows the used portion of the current block) + */ + if (addrNext + sizeLeft <= block.addr) { + block.used += (block.addr - addrNext); + block.addr = addrNext; + return true; + } + if (addrNext >= block.addr + block.used) { + var sizeAvail = block.size - (addrNext - addrBlock); + if (sizeAvail > sizeLeft) sizeAvail = sizeLeft; + block.used = addrNext - block.addr + sizeAvail; + addrNext = addrBlock + this.nBlockSize; + sizeLeft -= sizeAvail; + iBlock++; + continue; + } + } + return this.reportError(BusPDP11.ERROR.RANGE_INUSE, addrNext, sizeLeft); + } + + var blockNew = new MemoryPDP11(this, addrNext, sizeBlock, this.nBlockSize, type, controller); + blockNew.copyBreakpoints(this.dbg, block); + this.aBusBlocks[iBlock++] = blockNew; + + addrNext = addrBlock + this.nBlockSize; + sizeLeft -= sizeBlock; + } + + if (sizeLeft <= 0) { + this.status((size >> 10) + "Kb " + MemoryPDP11.TYPE_NAMES[type] + " at " + Str.toOct(addr)); + return true; + } + + return this.reportError(BusPDP11.ERROR.RANGE_INVALID, addr, size); + } + + /** + * cleanMemory(addr, size) + * + * @this {BusPDP11} + * @param {number} addr + * @param {number} size + * @return {boolean} true if all blocks were clean, false if dirty; all blocks are cleaned in the process + */ + cleanMemory(addr, size) + { + var fClean = true; + var iBlock = addr >>> this.nBlockShift; + while (size > 0 && iBlock < this.aBusBlocks.length) { + if (this.aBusBlocks[iBlock].fDirty) { + this.aBusBlocks[iBlock].fDirty = fClean = false; + this.aBusBlocks[iBlock].fDirtyEver = true; + } + size -= this.nBlockSize; + iBlock++; + } + return fClean; + } + + /** + * zeroMemory(addr, size, pattern) + * + * @this {BusPDP11} + * @param {number} addr + * @param {number} size + * @param {number} [pattern] + */ + zeroMemory(addr, size, pattern) + { + var off = addr & this.nBlockLimit; + var iBlock = addr >>> this.nBlockShift; + while (size > 0 && iBlock < this.aBusBlocks.length) { + this.aBusBlocks[iBlock].zero(off, size, pattern); + size -= this.nBlockSize; + iBlock++; + off = 0; + } + } + + /** + * scanMemory(info, addr, size) + * + * Returns a BusInfoPDP11 object for the specified address range. + * + * @this {BusPDP11} + * @param {BusInfoPDP11} [info] previous BusInfoPDP11, if any + * @param {number} [addr] starting address of range (0 if none provided) + * @param {number} [size] size of range, in bytes (up to end of address space if none provided) + * @return {BusInfoPDP11} updated info (or new info if no previous info provided) + */ + scanMemory(info, addr, size) + { + if (addr == null) addr = 0; + if (size == null) size = (this.addrTotal - addr) | 0; + if (info == null) info = {cbTotal: 0, cBlocks: 0, aBlocks: []}; + + var iBlock = addr >>> this.nBlockShift; + var iBlockMax = ((addr + size - 1) >>> this.nBlockShift); + + info.cbTotal = 0; + info.cBlocks = 0; + while (iBlock <= iBlockMax) { + var block = this.aBusBlocks[iBlock]; + info.cbTotal += block.size; + if (block.size) { + info.aBlocks.push(Usr.initBitFields(BlockInfoPDP11, iBlock, 0, 0, block.type)); + info.cBlocks++ + } + iBlock++; + } + return info; + } + + /** + * removeMemory(addr, size) + * + * Replaces every block in the specified address range with empty Memory blocks that ignore all reads/writes. + * + * TODO: Update the removeMemory() interface to reflect the relaxed requirements of the addMemory() interface. + * + * @this {BusPDP11} + * @param {number} addr + * @param {number} size + * @return {boolean} true if successful, false if not + */ + removeMemory(addr, size) + { + if (!(addr & this.nBlockLimit) && size && !(size & this.nBlockLimit)) { + var iBlock = addr >>> this.nBlockShift; + while (size > 0) { + var blockOld = this.aBusBlocks[iBlock]; + var blockNew = new MemoryPDP11(this, addr); + blockNew.copyBreakpoints(this.dbg, blockOld); + this.aBusBlocks[iBlock++] = blockNew; + addr = iBlock * this.nBlockSize; + size -= this.nBlockSize; + } + return true; + } + return this.reportError(BusPDP11.ERROR.RANGE_INVALID, addr, size); + } + + /** + * getMemoryBlocks(addr, size) + * + * @this {BusPDP11} + * @param {number} addr is the starting physical address + * @param {number} size of the request, in bytes + * @return {Array} of Memory blocks + */ + getMemoryBlocks(addr, size) + { + var aBlocks = []; + var iBlock = addr >>> this.nBlockShift; + while (size > 0 && iBlock < this.aBusBlocks.length) { + aBlocks.push(this.aBusBlocks[iBlock++]); + size -= this.nBlockSize; + } + return aBlocks; + } + + /** + * setMemoryAccess(addr, size, afn, fQuiet) + * + * Updates the access functions in every block of the specified address range. Since the only components + * that should be dynamically modifying the memory access functions are those that use addMemory() with a custom + * memory controller, we require that the block(s) being updated do in fact have a controller. + * + * @this {BusPDP11} + * @param {number} addr + * @param {number} size + * @param {Array.} [afn] + * @param {boolean} [fQuiet] (true if any error should be quietly logged) + * @return {boolean} true if successful, false if not + */ + setMemoryAccess(addr, size, afn, fQuiet) + { + if (!(addr & this.nBlockLimit) && size && !(size & this.nBlockLimit)) { + var iBlock = addr >>> this.nBlockShift; + while (size > 0) { + var block = this.aBusBlocks[iBlock]; + if (!block.controller) { + return this.reportError(BusPDP11.ERROR.NO_CONTROLLER, addr, size, fQuiet); + } + block.setAccess(afn, true); + size -= this.nBlockSize; + iBlock++; + } + return true; + } + return this.reportError(BusPDP11.ERROR.RANGE_INVALID, addr, size); + } + + /** + * setMemoryBlocks(addr, size, aBlocks, type) + * + * If no type is specified, then specified address range uses all the provided blocks as-is; + * this form of setMemoryBlocks() is used for complete physical aliases. + * + * Otherwise, new blocks are allocated with the specified type; the underlying memory from the + * provided blocks is still used, but the new blocks may have different access to that memory. + * + * @this {BusPDP11} + * @param {number} addr is the starting physical address + * @param {number} size of the request, in bytes + * @param {Array} aBlocks as returned by getMemoryBlocks() + * @param {number} [type] is one of the MemoryPDP11.TYPE constants + */ + setMemoryBlocks(addr, size, aBlocks, type) + { + var i = 0; + var iBlock = addr >>> this.nBlockShift; + while (size > 0 && iBlock < this.aBusBlocks.length) { + var block = aBlocks[i++]; + this.assert(block); + if (!block) break; + if (type !== undefined) { + var blockNew = new MemoryPDP11(this, addr); + blockNew.clone(block, type, this.dbg); + block = blockNew; + } + this.aBusBlocks[iBlock++] = block; + size -= this.nBlockSize; + } + } + + /** + * getByte(addr) + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @return {number} byte (8-bit) value at that address + */ + getByte(addr) + { + return this.aMemBlocks[(addr & this.nMemMask) >>> this.nBlockShift].readByte(addr & this.nBlockLimit, addr); + } + + /** + * getWord(addr) + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @return {number} word (16-bit) value at that address + */ + getWord(addr) + { + var off = addr & this.nBlockLimit; + var iBlock = (addr & this.nMemMask) >>> this.nBlockShift; + if (!PDP11.WORDBUS && off == this.nBlockLimit) { + return this.aMemBlocks[iBlock++].readByte(off, addr) | (this.aMemBlocks[iBlock & this.nBlockMask].readByte(0, addr + 1) << 8); + } + return this.aMemBlocks[iBlock].readWord(off, addr); + } + + /** + * setByte(addr, b) + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @param {number} b is the byte (8-bit) value to write + */ + setByte(addr, b) + { + this.assert(!(b & ~0xff)); + this.aMemBlocks[(addr & this.nMemMask) >>> this.nBlockShift].writeByte(addr & this.nBlockLimit, b, addr); + } + + /** + * setWord(addr, w) + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @param {number} w is the word (16-bit) value to write + */ + setWord(addr, w) + { + var off = addr & this.nBlockLimit; + var iBlock = (addr & this.nMemMask) >>> this.nBlockShift; + if (!PDP11.WORDBUS && off == this.nBlockLimit) { + this.aMemBlocks[iBlock++].writeByte(off, w & 0xff, addr); + this.aMemBlocks[iBlock & this.nBlockMask].writeByte(0, (w >> 8) & 0xff, addr + 1); + return; + } + this.aMemBlocks[iBlock].writeWord(off, w, addr); + } + + /** + * getBlockDirect(addr) + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @return {MemoryPDP11} + */ + getBlockDirect(addr) + { + return this.aBusBlocks[(addr & this.nBusMask) >>> this.nBlockShift]; + } + + /** + * getByteDirect(addr) + * + * This is used for device I/O and Debugger physical memory requests, not the CPU. + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @return {number} byte (8-bit) value at that address + */ + getByteDirect(addr) + { + this.fFault = false; + this.nDisableFaults++; + var b = this.getBlockDirect(addr).readByteDirect(addr & this.nBlockLimit, addr); + this.nDisableFaults--; + return b; + } + + /** + * getWordDirect(addr) + * + * This is used for device I/O and Debugger physical memory requests, not the CPU. + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @return {number} word (16-bit) value at that address + */ + getWordDirect(addr) + { + var w; + this.fFault = false; + this.nDisableFaults++; + var off = addr & this.nBlockLimit; + var block = this.getBlockDirect(addr); + if (!PDP11.WORDBUS && off == this.nBlockLimit) { + w = block.readByteDirect(off, addr) | (this.getBlockDirect(addr + 1).readByteDirect(0, addr + 1) << 8); + } else { + w = block.readWordDirect(off, addr); + } + this.nDisableFaults--; + return w; + } + + /** + * setByteDirect(addr, b) + * + * This is used for device I/O and Debugger physical memory requests, not the CPU. + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @param {number} b is the byte (8-bit) value to write (we truncate it to 8 bits to be safe) + */ + setByteDirect(addr, b) + { + this.fFault = false; + this.nDisableFaults++; + this.getBlockDirect(addr).writeByteDirect(addr & this.nBlockLimit, b & 0xff, addr); + this.nDisableFaults--; + } + + /** + * setWordDirect(addr, w) + * + * This is used for device I/O and Debugger physical memory requests, not the CPU. + * + * @this {BusPDP11} + * @param {number} addr is a physical address + * @param {number} w is the word (16-bit) value to write (we truncate it to 16 bits to be safe) + */ + setWordDirect(addr, w) + { + this.fFault = false; + this.nDisableFaults++; + var off = addr & this.nBlockLimit; + var block = this.getBlockDirect(addr); + if (!PDP11.WORDBUS && off == this.nBlockLimit) { + block.writeByteDirect(off, w & 0xff, addr); + this.getBlockDirect(addr + 1).writeByteDirect(0, (w >> 8) & 0xff, addr + 1); + } else { + block.writeWordDirect(off, w & 0xffff, addr); + } + this.nDisableFaults--; + } + + /** + * addMemBreak(addr, fWrite) + * + * @this {BusPDP11} + * @param {number} addr + * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint + */ + addMemBreak(addr, fWrite) + { + if (DEBUGGER) { + var iBlock = addr >>> this.nBlockShift; + this.aBusBlocks[iBlock].addBreakpoint(addr & this.nBlockLimit, fWrite); + } + } + + /** + * removeMemBreak(addr, fWrite) + * + * @this {BusPDP11} + * @param {number} addr + * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint + */ + removeMemBreak(addr, fWrite) + { + if (DEBUGGER) { + var iBlock = addr >>> this.nBlockShift; + this.aBusBlocks[iBlock].removeBreakpoint(addr & this.nBlockLimit, fWrite); + } + } + + /** + * saveMemory(fAll) + * + * The only memory blocks we save are those marked as dirty, but most likely all of RAM will have been marked dirty, + * and even if our dirty-memory flags were as smart as our dirty-sector flags (ie, were set only when a write changed + * what was already there), it's unlikely that would reduce the number of RAM blocks we must save/restore. At least + * all the ROM blocks should be clean (except in the unlikely event that the Debugger was used to modify them). + * + * All dirty blocks will be stored in a single array, as pairs of block numbers and data arrays, like so: + * + * [iBlock0, [dw0, dw1, ...], iBlock1, [dw0, dw1, ...], ...] + * + * In a normal 4Kb block, there will be 1K DWORD values in the data array. Remember that each DWORD is a signed 32-bit + * integer (because they are formed using bit-wise operator rather than floating-point math operators), so don't be + * surprised to see negative numbers in the data. + * + * The above example assumes "uncompressed" data arrays. If we choose to use "compressed" data arrays, the data arrays + * will look like: + * + * [count0, dw0, count1, dw1, ...] + * + * where each count indicates how many times the following DWORD value occurs. A data array length less than 1K indicates + * that it's compressed, since we'll only store them in compressed form if they actually shrank, and we'll use State + * helper methods compress() and decompress() to create and expand the compressed data arrays. + * + * @this {BusPDP11} + * @param {boolean} [fAll] (true to save all non-ROM memory blocks, regardless of their dirty flags) + * @return {Array} a + */ + saveMemory(fAll) + { + var i = 0; + var a = []; + + for (var iBlock = 0; iBlock < this.nBlockTotal; iBlock++) { + var block = this.aBusBlocks[iBlock]; + /* + * We have to check both fDirty and fDirtyEver, because we may have called cleanMemory() on some of + * the memory blocks (eg, video memory), and while cleanMemory() will clear a dirty block's fDirty flag, + * it also sets the dirty block's fDirtyEver flag, which is left set for the lifetime of the machine. + */ + if (fAll && block.type != MemoryPDP11.TYPE.ROM || block.fDirty || block.fDirtyEver) { + a[i++] = iBlock; + a[i++] = State.compress(block.save()); + } + } + + return a; + } + + /** + * restoreMemory(a) + * + * This restores the contents of all Memory blocks; called by CPUState.restore(). + * + * In theory, we ONLY have to save/restore block contents. Other block attributes, + * like the type, the memory controller (if any), and the active memory access functions, + * should already be restored, since every component (re)allocates all the memory blocks + * it was using when it's restored. And since the CPU is guaranteed to be the last + * component to be restored, all those blocks (and their attributes) should be in place now. + * + * See saveMemory() for more information on how the memory block contents are saved. + * + * @this {BusPDP11} + * @param {Array} a + * @return {boolean} true if successful, false if not + */ + restoreMemory(a) + { + var i; + for (i = 0; i < a.length - 1; i += 2) { + var iBlock = a[i]; + var adw = a[i+1]; + if (adw && adw.length < this.nBlockLen) { + adw = State.decompress(adw, this.nBlockLen); + } + var block = this.aBusBlocks[iBlock]; + if (!block || !block.restore(adw)) { + /* + * Either the block to restore hasn't been allocated, indicating a change in the machine + * configuration since it was last saved (the most likely explanation) or there's some internal + * inconsistency (eg, the block size is wrong). + */ + Component.error("Unable to restore memory block " + iBlock); + return false; + } + } + return true; + } + + /** + * getMemoryLimit(type) + * + * @this {BusPDP11} + * @param {number} type is one of the MemoryPDP11.TYPE constants + * @return {number} (the limiting address of the specified memory type, zero if none) + */ + getMemoryLimit(type) + { + var addr = 0; + for (var iBlock = 0; iBlock < this.aBusBlocks.length; iBlock++) { + var block = this.aBusBlocks[iBlock]; + if (block.type == type) { + addr = block.addr + block.used; + } + } + return addr; + } + + /** + * addIOHandlers(start, end, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, message, sName) + * + * Add I/O notification handlers to the master list (aIOHandlers). The start and end addresses are typically + * relative to the starting IOPAGE address, but they can also be absolute; we simply mask all addresses with + * IOPAGE_MASK. + * + * CAVEATS: If a conflict is reported, a partial set of handlers may still have been added. There is no mechanism + * for removing handlers, since this is considered an initialization function. And finally, when a range of addresses + * is used, each successive address is advanced by 2, so if you really want to add a handler for a "+1" (usually odd) + * address, then you must add it individually. Failure to do is not necessarily fatal, because the IOController's + * fallback behavior for an odd address is to call the byte handler for the preceding even address, but the byte + * handler must be prepared for that (the handlers installed by ROM component's addROM() function are a good example). + * + * @this {BusPDP11} + * @param {number} start address + * @param {number} end address + * @param {function(number)|null|undefined} fnReadByte + * @param {function(number,number)|null|undefined} fnWriteByte + * @param {function(number)|null|undefined} fnReadWord + * @param {function(number,number)|null|undefined} fnWriteWord + * @param {number} [message] + * @param {string} [sName] + * @return {boolean} (true if entire range successfully registered, false if any conflicts) + */ + addIOHandlers(start, end, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, message, sName) + { + var index = (start == end? -1 : 0); + for (var addr = start; addr <= end; addr += 2) { + var off = addr & BusPDP11.IOPAGE_MASK; + if (this.aIOHandlers[off] !== undefined) { + Component.warning("I/O address already registered: " + Str.toHexLong(addr)); + return false; + } + var s = sName || "unknown"; + if (s && index >= 0) s += index++; + this.aIOHandlers[off] = [fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, s, message || MessagesPDP11.BUS, false]; + if (MAXDEBUG) this.log("addIOHandlers(" + Str.toHexLong(addr) + ")"); + } + return true; + } + + /** + * addIOTable(component, table, offReg) + * + * Add I/O notification handlers from the specified table (a batch version of addIOHandlers). + * + * @this {BusPDP11} + * @param {Component} component + * @param {Object} table + * @param {number} [offReg] (optional offset to add to all register addresses) + * @return {boolean} (true if entire range successfully registered, false if any conflicts) + */ + addIOTable(component, table, offReg) + { + for (var reg in table) { + var addr = +reg + (offReg || 0); + var afn = table[reg]; + + /* + * Don't install (ie, ignore) handlers for I/O addresses that are defined with a model number + * that is "greater than" than the current model. + */ + if (afn[6] && afn[6] > this.cpu.model) continue; + + var fnReadByte = afn[0]? afn[0].bind(component) : null; + var fnWriteByte = afn[1]? afn[1].bind(component) : null; + var fnReadWord = afn[2]? afn[2].bind(component) : null; + var fnWriteWord = afn[3]? afn[3].bind(component) : null; + + /* + * As discussed in the IOController comments above, when handlers are being registered for these + * BYTE-granular UNIBUS addresses, we must install custom fallback handlers for all BYTE accesses. + */ + if (addr >= PDP11.UNIBUS.R0SET0 && addr <= PDP11.UNIBUS.R6USER) { + if (!fnReadByte && fnReadWord) { + fnReadByte = function readByteIORegister(readWord) { + return function(addr) { + return readWord(addr) & 0xff; + }.bind(component); + }(fnReadWord); + } + if (!fnWriteByte && fnWriteWord) { + fnWriteByte = function writeByteIORegister(writeWord) { + return function(data, addr) { + return writeWord(data, addr); + }.bind(component); + }(fnWriteWord); + } + } + + var sReg = afn[4]; + var nRegs = afn[5] || 1; + + for (var iReg = 0; iReg < nRegs; iReg++, addr += 2) { + if (sReg && nRegs > 1) sReg = afn[4] + iReg; + if (!this.addIOHandlers(addr, addr, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, afn[7] || component.bitsMessage, sReg || component.idComponent)) { + return false; + } + } + } + return true; + } + + /** + * getAddrInfo(addr) + * + * Determine if the physical address is a known IOPAGE address, and return information about it (ie, the name). + * + * @this {BusPDP11} + * @param {number} addr (physical) + * @return {string|null} + */ + getAddrInfo(addr) + { + var sName = null; + if (addr >= this.addrIOPage) { + var off = addr & BusPDP11.IOPAGE_MASK; + var afn = this.aIOHandlers[off]; + if (afn) sName = afn[BusPDP11.IOHANDLER.REG_NAME]; + } + return sName; + } + + /** + * getAddrByName(sName) + * + * Determine if the specified name has a corresponding physical address. + * + * @this {BusPDP11} + * @param {string} sName + * @return {number|null} + */ + getAddrByName(sName) + { + sName = sName.toUpperCase(); + for (var i in this.aIOHandlers) { + var off = +i; + var afn = this.aIOHandlers[off]; + if (afn[BusPDP11.IOHANDLER.REG_NAME] == sName) { + return this.addrIOPage + off; + } + } + return null; + } + + /** + * addResetHandler(fnReset) + * + * @this {BusPDP11} + * @param {function()} fnReset + */ + addResetHandler(fnReset) + { + this.afnReset.push(fnReset); + } + + /** + * fault(addr, err, access) + * + * Bus interface for signaling alignment errors, invalid memory, etc. + * + * @this {BusPDP11} + * @param {number} addr + * @param {number} [err] + * @param {number} [access] (for diagnostic purposes only) + */ + fault(addr, err, access) + { + this.fFault = true; + if (!this.nDisableFaults) { + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.FAULT)) { + this.dbg.printMessage("memory fault (" + access + ") on " + this.dbg.toStrBase(addr), true, true); + } + if (err) this.cpu.regErr |= err; + this.cpu.trap(PDP11.TRAP.BUS, 0, addr); + } + } + + /** + * checkFault() + * + * This also serves as a clearFault() function. + * + * @this {BusPDP11} + * @return {boolean} + */ + checkFault() + { + var f = this.fFault; + this.fFault = false; + return f; + } + + /** + * reportError(errNum, addr, size, fQuiet) + * + * @this {BusPDP11} + * @param {number} errNum + * @param {number} addr + * @param {number} size + * @param {boolean} [fQuiet] (true if any error should be quietly logged) + * @return {boolean} false + */ + reportError(errNum, addr, size, fQuiet) + { + var sError = "Memory block error (" + errNum + ": " + Str.toHex(addr) + "," + Str.toHex(size) + ")"; + if (fQuiet) { + if (this.dbg) { + this.dbg.message(sError); + } else { + this.log(sError); + } + } else { + Component.error(sError); + } + return false; + } } -Component.subclass(BusPDP11); - BusPDP11.IOPAGE_16BIT = 0xE000; /*000160000*/ // eg, PDP-11/20 BusPDP11.IOPAGE_18BIT = 0x3E000; /*000760000*/ // eg, PDP-11/45 BusPDP11.IOPAGE_22BIT = 0x3FE000; /*017760000*/ // eg, PDP-11/70 @@ -221,7 +1197,6 @@ BusPDP11.IOHANDLER = { * verified, so let's wait until that's done before we start optimizing this code. */ BusPDP11.IOController = { - /** * readByte(off, addr) * @@ -444,980 +1419,4 @@ BusPDP11.IOController = { } }; -/** - * initMemory() - * - * Allocate enough (empty) Memory blocks to span the entire physical address space. - * - * Note that we now maintain two parallel arrays of these Memory blocks: aBusBlocks is for use by - * devices (or any component using the "direct" interfaces), while aMemBlocks is for use by the CPU. - * - * Whereas the Bus memory map is fixed at init time, the CPU's memory map will vary depending on MMU - * settings. The CPU will call setIOPageRange() as needed to update the range of addressible memory, - * which in turn will determine where the IOPAGE can be accessed. - * - * @this {BusPDP11} - */ -BusPDP11.prototype.initMemory = function() -{ - var block = new MemoryPDP11(this); - block.copyBreakpoints(this.dbg); - - this.aBusBlocks = new Array(this.nBlockTotal); - this.aMemBlocks = new Array(this.nBlockTotal); - for (var iBlock = 0; iBlock < this.nBlockTotal; iBlock++) { - this.aBusBlocks[iBlock] = this.aMemBlocks[iBlock] = block; - } - /* - * NOTE: Don't confuse the Bus addrIOPage with the CPU's addrIOPage; ours is fixed, - * based on the machine's Bus width, whereas the CPU's varies according to the MMU setting. - */ - this.addrIOPage = this.addrTotal - BusPDP11.IOPAGE_LENGTH; - this.addMemory(this.addrIOPage, BusPDP11.IOPAGE_LENGTH, MemoryPDP11.TYPE.CONTROLLER, this); - - this.iBlockIOPageBus = (this.addrIOPage & this.nBusMask) >>> this.nBlockShift; - this.iBlockIOPageMem = this.iBlockIOPageBus; - - this.nIOPageRange = 0; - this.nMemMask = this.nBusMask; -}; - -/** - * setIOPageRange(nRange) - * - * We can define the IOPAGE address range with a single number, because the size of the IOPAGE is fixed at 8Kb. - * The bottom of the range is (2 ^ nRange) - IOPAGE_LENGTH, and the top is (2 ^ nRange) - 1. - * - * @this {BusPDP11} - * @param {number} nRange (16, 18 or 22; 0 removes the IOPAGE altogether) - */ -BusPDP11.prototype.setIOPageRange = function(nRange) -{ - if (nRange != this.nIOPageRange) { - for (var iBlock = 0; iBlock < this.nBlockTotal; iBlock++) { - this.aMemBlocks[iBlock] = this.aBusBlocks[iBlock]; - } - this.nIOPageRange = 0; - this.nMemMask = this.nBusMask; - if (nRange) { - this.nIOPageRange = nRange; - var addr = (1 << nRange); - this.nMemMask = (addr - 1); - addr -= BusPDP11.IOPAGE_LENGTH; - this.iBlockIOPageMem = (addr & this.nMemMask) >>> this.nBlockShift; - this.aMemBlocks[this.iBlockIOPageMem] = this.aBusBlocks[this.iBlockIOPageBus]; - } - } -}; - -/** - * getControllerBuffer(addr) - * - * Our Bus component also acts as custom memory controller for the IOPAGE, so it must also provide this function. - * - * @this {BusPDP11} - * @param {number} addr - * @return {Array} containing the buffer (and the offset within that buffer that corresponds to the requested block) - */ -BusPDP11.prototype.getControllerBuffer = function(addr) -{ - /* - * No buffer is required for the IOPAGE; all accesses go to registered I/O handlers or to fault(). - */ - return [null, 0]; -}; - -/** - * getControllerAccess() - * - * Our Bus component also acts as custom memory controller for the IOPAGE, so it must also provide this function. - * - * @this {BusPDP11} - * @return {Array.} - */ -BusPDP11.prototype.getControllerAccess = function() -{ - return this.afnIOPage; -}; - -/** - * getWidth() - * - * @this {BusPDP11} - * @return {number} - */ -BusPDP11.prototype.getWidth = function() -{ - return this.nBusWidth; -}; - -/** - * reset() - * - * Call all registered reset() handlers. - * - * @this {BusPDP11} - */ -BusPDP11.prototype.reset = function() -{ - for (var i = 0; i < this.afnReset.length; i++) { - this.afnReset[i](); - } - this.setIOPageRange(16); -}; - -/** - * powerUp(data, fRepower) - * - * We don't need a powerDown() handler, because for largely historical reasons, our state is saved by saveMemory(), - * which called by the CPU. - * - * However, we do need a powerUp() handler, because on resumable machines, the Computer's onReset() function calls - * everyone's powerUp() handler rather than their reset() handler. - * - * TODO: Perhaps Computer should be smarter: if there's no powerUp() handler, then fallback to the reset() handler. - * In that case, however, we'd either need to remove the powerUp() stub in Component, or detect the existence of the stub. - * - * @this {BusPDP11} - * @param {Object|null} data (always null because we supply no powerDown() handler) - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -BusPDP11.prototype.powerUp = function(data, fRepower) -{ - if (!fRepower) this.reset(); - return true; -}; - -/** - * addMemory(addr, size, type, controller) - * - * Adds new Memory blocks to the specified address range. Any Memory blocks previously - * added to that range must first be removed via removeMemory(); otherwise, you'll get - * an allocation conflict error. This helps prevent address calculation errors, redundant - * allocations, etc. - * - * We've relaxed some of the original requirements (ie, that addresses must start at a - * block-granular address, or that sizes must be equal to exactly one or more blocks), - * because machines with large block sizes can make it impossible to load certain ROMs at - * their required addresses. Every allocation still allocates a whole number of blocks. - * - * Even so, BusPDP11 memory management does NOT provide a general-purpose heap. Most memory - * allocations occur during machine initialization and never change. In particular, there - * is NO support for removing partial-block allocations. - * - * Each Memory block keeps track of a start address (addr) and length (used), indicating - * the used space within the block; any free space that precedes or follows that used space - * can be allocated later, by simply extending the beginning or ending of the previously used - * space. However, any holes that might have existed between the original allocation and an - * extension are subsumed by the extension. - * - * @this {BusPDP11} - * @param {number} addr is the starting physical address of the request - * @param {number} size of the request, in bytes - * @param {number} type is one of the MemoryPDP11.TYPE constants - * @param {Object} [controller] is an optional memory controller component - * @return {boolean} true if successful, false if not - */ -BusPDP11.prototype.addMemory = function(addr, size, type, controller) -{ - var addrNext = addr; - var sizeLeft = size; - var iBlock = addrNext >>> this.nBlockShift; - - while (sizeLeft > 0 && iBlock < this.aBusBlocks.length) { - - var block = this.aBusBlocks[iBlock]; - var addrBlock = iBlock * this.nBlockSize; - var sizeBlock = this.nBlockSize - (addrNext - addrBlock); - if (sizeBlock > sizeLeft) sizeBlock = sizeLeft; - - /* - * addMemory() will now happily replace an existing block when a memory controller is specified; - * this is a work-around to make life easier for setIOPageRange(), which otherwise would have to call - * removeMemory() first, which would just waste time and memory allocating more (empty) blocks. - */ - if (!controller && block && block.size) { - if (block.type == type /* && block.controller == controller */) { - /* - * Where there is already a similar block with a non-zero size, we allow the allocation only if: - * - * 1) addrNext + sizeLeft <= block.addr (the request precedes the used portion of the current block), or - * 2) addrNext >= block.addr + block.used (the request follows the used portion of the current block) - */ - if (addrNext + sizeLeft <= block.addr) { - block.used += (block.addr - addrNext); - block.addr = addrNext; - return true; - } - if (addrNext >= block.addr + block.used) { - var sizeAvail = block.size - (addrNext - addrBlock); - if (sizeAvail > sizeLeft) sizeAvail = sizeLeft; - block.used = addrNext - block.addr + sizeAvail; - addrNext = addrBlock + this.nBlockSize; - sizeLeft -= sizeAvail; - iBlock++; - continue; - } - } - return this.reportError(BusPDP11.ERROR.RANGE_INUSE, addrNext, sizeLeft); - } - - var blockNew = new MemoryPDP11(this, addrNext, sizeBlock, this.nBlockSize, type, controller); - blockNew.copyBreakpoints(this.dbg, block); - this.aBusBlocks[iBlock++] = blockNew; - - addrNext = addrBlock + this.nBlockSize; - sizeLeft -= sizeBlock; - } - - if (sizeLeft <= 0) { - this.status((size >> 10) + "Kb " + MemoryPDP11.TYPE_NAMES[type] + " at " + str.toOct(addr)); - return true; - } - - return this.reportError(BusPDP11.ERROR.RANGE_INVALID, addr, size); -}; - -/** - * cleanMemory(addr, size) - * - * @this {BusPDP11} - * @param {number} addr - * @param {number} size - * @return {boolean} true if all blocks were clean, false if dirty; all blocks are cleaned in the process - */ -BusPDP11.prototype.cleanMemory = function(addr, size) -{ - var fClean = true; - var iBlock = addr >>> this.nBlockShift; - while (size > 0 && iBlock < this.aBusBlocks.length) { - if (this.aBusBlocks[iBlock].fDirty) { - this.aBusBlocks[iBlock].fDirty = fClean = false; - this.aBusBlocks[iBlock].fDirtyEver = true; - } - size -= this.nBlockSize; - iBlock++; - } - return fClean; -}; - -/** - * zeroMemory(addr, size, pattern) - * - * @this {BusPDP11} - * @param {number} addr - * @param {number} size - * @param {number} [pattern] - */ -BusPDP11.prototype.zeroMemory = function(addr, size, pattern) -{ - var off = addr & this.nBlockLimit; - var iBlock = addr >>> this.nBlockShift; - while (size > 0 && iBlock < this.aBusBlocks.length) { - this.aBusBlocks[iBlock].zero(off, size, pattern); - size -= this.nBlockSize; - iBlock++; - off = 0; - } -}; - -/* - * Data types used by scanMemory() - */ - -/** - * @typedef {number} BlockInfo - */ -var BlockInfo; - -/** - * This defines the BlockInfo bit fields used by scanMemory() when it creates the aBlocks array. - * - * @typedef {{ - * num: BitField, - * count: BitField, - * btmod: BitField, - * type: BitField - * }} - */ -BusPDP11.BlockInfo = usr.defineBitFields({num:20, count:8, btmod:1, type:3}); - -/** - * BusInfoPDP11 object definition (returned by scanMemory()) - * - * cbTotal: total bytes allocated - * cBlocks: total Memory blocks allocated - * aBlocks: array of allocated Memory block numbers - * - * @typedef {{ - * cbTotal: number, - * cBlocks: number, - * aBlocks: Array. - * }} BusInfoPDP11 - */ -var BusInfoPDP11; - -/** - * scanMemory(info, addr, size) - * - * Returns a BusInfoPDP11 object for the specified address range. - * - * @this {BusPDP11} - * @param {BusInfoPDP11} [info] previous BusInfoPDP11, if any - * @param {number} [addr] starting address of range (0 if none provided) - * @param {number} [size] size of range, in bytes (up to end of address space if none provided) - * @return {BusInfoPDP11} updated info (or new info if no previous info provided) - */ -BusPDP11.prototype.scanMemory = function(info, addr, size) -{ - if (addr == null) addr = 0; - if (size == null) size = (this.addrTotal - addr) | 0; - if (info == null) info = {cbTotal: 0, cBlocks: 0, aBlocks: []}; - - var iBlock = addr >>> this.nBlockShift; - var iBlockMax = ((addr + size - 1) >>> this.nBlockShift); - - info.cbTotal = 0; - info.cBlocks = 0; - while (iBlock <= iBlockMax) { - var block = this.aBusBlocks[iBlock]; - info.cbTotal += block.size; - if (block.size) { - info.aBlocks.push(usr.initBitFields(BusPDP11.BlockInfo, iBlock, 0, 0, block.type)); - info.cBlocks++ - } - iBlock++; - } - return info; -}; - -/** - * removeMemory(addr, size) - * - * Replaces every block in the specified address range with empty Memory blocks that ignore all reads/writes. - * - * TODO: Update the removeMemory() interface to reflect the relaxed requirements of the addMemory() interface. - * - * @this {BusPDP11} - * @param {number} addr - * @param {number} size - * @return {boolean} true if successful, false if not - */ -BusPDP11.prototype.removeMemory = function(addr, size) -{ - if (!(addr & this.nBlockLimit) && size && !(size & this.nBlockLimit)) { - var iBlock = addr >>> this.nBlockShift; - while (size > 0) { - var blockOld = this.aBusBlocks[iBlock]; - var blockNew = new MemoryPDP11(this, addr); - blockNew.copyBreakpoints(this.dbg, blockOld); - this.aBusBlocks[iBlock++] = blockNew; - addr = iBlock * this.nBlockSize; - size -= this.nBlockSize; - } - return true; - } - return this.reportError(BusPDP11.ERROR.RANGE_INVALID, addr, size); -}; - -/** - * getMemoryBlocks(addr, size) - * - * @this {BusPDP11} - * @param {number} addr is the starting physical address - * @param {number} size of the request, in bytes - * @return {Array} of Memory blocks - */ -BusPDP11.prototype.getMemoryBlocks = function(addr, size) -{ - var aBlocks = []; - var iBlock = addr >>> this.nBlockShift; - while (size > 0 && iBlock < this.aBusBlocks.length) { - aBlocks.push(this.aBusBlocks[iBlock++]); - size -= this.nBlockSize; - } - return aBlocks; -}; - -/** - * setMemoryAccess(addr, size, afn, fQuiet) - * - * Updates the access functions in every block of the specified address range. Since the only components - * that should be dynamically modifying the memory access functions are those that use addMemory() with a custom - * memory controller, we require that the block(s) being updated do in fact have a controller. - * - * @this {BusPDP11} - * @param {number} addr - * @param {number} size - * @param {Array.} [afn] - * @param {boolean} [fQuiet] (true if any error should be quietly logged) - * @return {boolean} true if successful, false if not - */ -BusPDP11.prototype.setMemoryAccess = function(addr, size, afn, fQuiet) -{ - if (!(addr & this.nBlockLimit) && size && !(size & this.nBlockLimit)) { - var iBlock = addr >>> this.nBlockShift; - while (size > 0) { - var block = this.aBusBlocks[iBlock]; - if (!block.controller) { - return this.reportError(BusPDP11.ERROR.NO_CONTROLLER, addr, size, fQuiet); - } - block.setAccess(afn, true); - size -= this.nBlockSize; - iBlock++; - } - return true; - } - return this.reportError(BusPDP11.ERROR.RANGE_INVALID, addr, size); -}; - -/** - * setMemoryBlocks(addr, size, aBlocks, type) - * - * If no type is specified, then specified address range uses all the provided blocks as-is; - * this form of setMemoryBlocks() is used for complete physical aliases. - * - * Otherwise, new blocks are allocated with the specified type; the underlying memory from the - * provided blocks is still used, but the new blocks may have different access to that memory. - * - * @this {BusPDP11} - * @param {number} addr is the starting physical address - * @param {number} size of the request, in bytes - * @param {Array} aBlocks as returned by getMemoryBlocks() - * @param {number} [type] is one of the MemoryPDP11.TYPE constants - */ -BusPDP11.prototype.setMemoryBlocks = function(addr, size, aBlocks, type) -{ - var i = 0; - var iBlock = addr >>> this.nBlockShift; - while (size > 0 && iBlock < this.aBusBlocks.length) { - var block = aBlocks[i++]; - this.assert(block); - if (!block) break; - if (type !== undefined) { - var blockNew = new MemoryPDP11(this, addr); - blockNew.clone(block, type, this.dbg); - block = blockNew; - } - this.aBusBlocks[iBlock++] = block; - size -= this.nBlockSize; - } -}; - -/** - * getByte(addr) - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @return {number} byte (8-bit) value at that address - */ -BusPDP11.prototype.getByte = function(addr) -{ - return this.aMemBlocks[(addr & this.nMemMask) >>> this.nBlockShift].readByte(addr & this.nBlockLimit, addr); -}; - -/** - * getWord(addr) - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @return {number} word (16-bit) value at that address - */ -BusPDP11.prototype.getWord = function(addr) -{ - var off = addr & this.nBlockLimit; - var iBlock = (addr & this.nMemMask) >>> this.nBlockShift; - if (!PDP11.WORDBUS && off == this.nBlockLimit) { - return this.aMemBlocks[iBlock++].readByte(off, addr) | (this.aMemBlocks[iBlock & this.nBlockMask].readByte(0, addr + 1) << 8); - } - return this.aMemBlocks[iBlock].readWord(off, addr); -}; - -/** - * setByte(addr, b) - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @param {number} b is the byte (8-bit) value to write - */ -BusPDP11.prototype.setByte = function(addr, b) -{ - this.assert(!(b & ~0xff)); - this.aMemBlocks[(addr & this.nMemMask) >>> this.nBlockShift].writeByte(addr & this.nBlockLimit, b, addr); -}; - -/** - * setWord(addr, w) - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @param {number} w is the word (16-bit) value to write - */ -BusPDP11.prototype.setWord = function(addr, w) -{ - var off = addr & this.nBlockLimit; - var iBlock = (addr & this.nMemMask) >>> this.nBlockShift; - if (!PDP11.WORDBUS && off == this.nBlockLimit) { - this.aMemBlocks[iBlock++].writeByte(off, w & 0xff, addr); - this.aMemBlocks[iBlock & this.nBlockMask].writeByte(0, (w >> 8) & 0xff, addr + 1); - return; - } - this.aMemBlocks[iBlock].writeWord(off, w, addr); -}; - -/** - * getBlockDirect(addr) - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @return {MemoryPDP11} - */ -BusPDP11.prototype.getBlockDirect = function(addr) -{ - return this.aBusBlocks[(addr & this.nBusMask) >>> this.nBlockShift]; -}; - -/** - * getByteDirect(addr) - * - * This is used for device I/O and Debugger physical memory requests, not the CPU. - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @return {number} byte (8-bit) value at that address - */ -BusPDP11.prototype.getByteDirect = function(addr) -{ - this.fFault = false; - this.nDisableFaults++; - var b = this.getBlockDirect(addr).readByteDirect(addr & this.nBlockLimit, addr); - this.nDisableFaults--; - return b; -}; - -/** - * getWordDirect(addr) - * - * This is used for device I/O and Debugger physical memory requests, not the CPU. - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @return {number} word (16-bit) value at that address - */ -BusPDP11.prototype.getWordDirect = function(addr) -{ - var w; - this.fFault = false; - this.nDisableFaults++; - var off = addr & this.nBlockLimit; - var block = this.getBlockDirect(addr); - if (!PDP11.WORDBUS && off == this.nBlockLimit) { - w = block.readByteDirect(off, addr) | (this.getBlockDirect(addr + 1).readByteDirect(0, addr + 1) << 8); - } else { - w = block.readWordDirect(off, addr); - } - this.nDisableFaults--; - return w; -}; - -/** - * setByteDirect(addr, b) - * - * This is used for device I/O and Debugger physical memory requests, not the CPU. - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @param {number} b is the byte (8-bit) value to write (we truncate it to 8 bits to be safe) - */ -BusPDP11.prototype.setByteDirect = function(addr, b) -{ - this.fFault = false; - this.nDisableFaults++; - this.getBlockDirect(addr).writeByteDirect(addr & this.nBlockLimit, b & 0xff, addr); - this.nDisableFaults--; -}; - -/** - * setWordDirect(addr, w) - * - * This is used for device I/O and Debugger physical memory requests, not the CPU. - * - * @this {BusPDP11} - * @param {number} addr is a physical address - * @param {number} w is the word (16-bit) value to write (we truncate it to 16 bits to be safe) - */ -BusPDP11.prototype.setWordDirect = function(addr, w) -{ - this.fFault = false; - this.nDisableFaults++; - var off = addr & this.nBlockLimit; - var block = this.getBlockDirect(addr); - if (!PDP11.WORDBUS && off == this.nBlockLimit) { - block.writeByteDirect(off, w & 0xff, addr); - this.getBlockDirect(addr + 1).writeByteDirect(0, (w >> 8) & 0xff, addr + 1); - } else { - block.writeWordDirect(off, w & 0xffff, addr); - } - this.nDisableFaults--; -}; - -/** - * addMemBreak(addr, fWrite) - * - * @this {BusPDP11} - * @param {number} addr - * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint - */ -BusPDP11.prototype.addMemBreak = function(addr, fWrite) -{ - if (DEBUGGER) { - var iBlock = addr >>> this.nBlockShift; - this.aBusBlocks[iBlock].addBreakpoint(addr & this.nBlockLimit, fWrite); - } -}; - -/** - * removeMemBreak(addr, fWrite) - * - * @this {BusPDP11} - * @param {number} addr - * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint - */ -BusPDP11.prototype.removeMemBreak = function(addr, fWrite) -{ - if (DEBUGGER) { - var iBlock = addr >>> this.nBlockShift; - this.aBusBlocks[iBlock].removeBreakpoint(addr & this.nBlockLimit, fWrite); - } -}; - -/** - * saveMemory(fAll) - * - * The only memory blocks we save are those marked as dirty, but most likely all of RAM will have been marked dirty, - * and even if our dirty-memory flags were as smart as our dirty-sector flags (ie, were set only when a write changed - * what was already there), it's unlikely that would reduce the number of RAM blocks we must save/restore. At least - * all the ROM blocks should be clean (except in the unlikely event that the Debugger was used to modify them). - * - * All dirty blocks will be stored in a single array, as pairs of block numbers and data arrays, like so: - * - * [iBlock0, [dw0, dw1, ...], iBlock1, [dw0, dw1, ...], ...] - * - * In a normal 4Kb block, there will be 1K DWORD values in the data array. Remember that each DWORD is a signed 32-bit - * integer (because they are formed using bit-wise operator rather than floating-point math operators), so don't be - * surprised to see negative numbers in the data. - * - * The above example assumes "uncompressed" data arrays. If we choose to use "compressed" data arrays, the data arrays - * will look like: - * - * [count0, dw0, count1, dw1, ...] - * - * where each count indicates how many times the following DWORD value occurs. A data array length less than 1K indicates - * that it's compressed, since we'll only store them in compressed form if they actually shrank, and we'll use State - * helper methods compress() and decompress() to create and expand the compressed data arrays. - * - * @this {BusPDP11} - * @param {boolean} [fAll] (true to save all non-ROM memory blocks, regardless of their dirty flags) - * @return {Array} a - */ -BusPDP11.prototype.saveMemory = function(fAll) -{ - var i = 0; - var a = []; - - for (var iBlock = 0; iBlock < this.nBlockTotal; iBlock++) { - var block = this.aBusBlocks[iBlock]; - /* - * We have to check both fDirty and fDirtyEver, because we may have called cleanMemory() on some of - * the memory blocks (eg, video memory), and while cleanMemory() will clear a dirty block's fDirty flag, - * it also sets the dirty block's fDirtyEver flag, which is left set for the lifetime of the machine. - */ - if (fAll && block.type != MemoryPDP11.TYPE.ROM || block.fDirty || block.fDirtyEver) { - a[i++] = iBlock; - a[i++] = State.compress(block.save()); - } - } - - return a; -}; - -/** - * restoreMemory(a) - * - * This restores the contents of all Memory blocks; called by CPUState.restore(). - * - * In theory, we ONLY have to save/restore block contents. Other block attributes, - * like the type, the memory controller (if any), and the active memory access functions, - * should already be restored, since every component (re)allocates all the memory blocks - * it was using when it's restored. And since the CPU is guaranteed to be the last - * component to be restored, all those blocks (and their attributes) should be in place now. - * - * See saveMemory() for more information on how the memory block contents are saved. - * - * @this {BusPDP11} - * @param {Array} a - * @return {boolean} true if successful, false if not - */ -BusPDP11.prototype.restoreMemory = function(a) -{ - var i; - for (i = 0; i < a.length - 1; i += 2) { - var iBlock = a[i]; - var adw = a[i+1]; - if (adw && adw.length < this.nBlockLen) { - adw = State.decompress(adw, this.nBlockLen); - } - var block = this.aBusBlocks[iBlock]; - if (!block || !block.restore(adw)) { - /* - * Either the block to restore hasn't been allocated, indicating a change in the machine - * configuration since it was last saved (the most likely explanation) or there's some internal - * inconsistency (eg, the block size is wrong). - */ - Component.error("Unable to restore memory block " + iBlock); - return false; - } - } - return true; -}; - -/** - * getMemoryLimit(type) - * - * @this {BusPDP11} - * @param {number} type is one of the MemoryPDP11.TYPE constants - * @return {number} (the limiting address of the specified memory type, zero if none) - */ -BusPDP11.prototype.getMemoryLimit = function(type) -{ - var addr = 0; - for (var iBlock = 0; iBlock < this.aBusBlocks.length; iBlock++) { - var block = this.aBusBlocks[iBlock]; - if (block.type == type) { - addr = block.addr + block.used; - } - } - return addr; -}; - -/** - * addIOHandlers(start, end, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, message, sName) - * - * Add I/O notification handlers to the master list (aIOHandlers). The start and end addresses are typically - * relative to the starting IOPAGE address, but they can also be absolute; we simply mask all addresses with - * IOPAGE_MASK. - * - * CAVEATS: If a conflict is reported, a partial set of handlers may still have been added. There is no mechanism - * for removing handlers, since this is considered an initialization function. And finally, when a range of addresses - * is used, each successive address is advanced by 2, so if you really want to add a handler for a "+1" (usually odd) - * address, then you must add it individually. Failure to do is not necessarily fatal, because the IOController's - * fallback behavior for an odd address is to call the byte handler for the preceding even address, but the byte - * handler must be prepared for that (the handlers installed by ROM component's addROM() function are a good example). - * - * @this {BusPDP11} - * @param {number} start address - * @param {number} end address - * @param {function(number)|null|undefined} fnReadByte - * @param {function(number,number)|null|undefined} fnWriteByte - * @param {function(number)|null|undefined} fnReadWord - * @param {function(number,number)|null|undefined} fnWriteWord - * @param {number} [message] - * @param {string} [sName] - * @return {boolean} (true if entire range successfully registered, false if any conflicts) - */ -BusPDP11.prototype.addIOHandlers = function(start, end, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, message, sName) -{ - var index = (start == end? -1 : 0); - for (var addr = start; addr <= end; addr += 2) { - var off = addr & BusPDP11.IOPAGE_MASK; - if (this.aIOHandlers[off] !== undefined) { - Component.warning("I/O address already registered: " + str.toHexLong(addr)); - return false; - } - var s = sName || "unknown"; - if (s && index >= 0) s += index++; - this.aIOHandlers[off] = [fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, s, message || MessagesPDP11.BUS, false]; - if (MAXDEBUG) this.log("addIOHandlers(" + str.toHexLong(addr) + ")"); - } - return true; -}; - -/** - * addIOTable(component, table, offReg) - * - * Add I/O notification handlers from the specified table (a batch version of addIOHandlers). - * - * @this {BusPDP11} - * @param {Component} component - * @param {Object} table - * @param {number} [offReg] (optional offset to add to all register addresses) - * @return {boolean} (true if entire range successfully registered, false if any conflicts) - */ -BusPDP11.prototype.addIOTable = function(component, table, offReg) -{ - for (var reg in table) { - var addr = +reg + (offReg || 0); - var afn = table[reg]; - - /* - * Don't install (ie, ignore) handlers for I/O addresses that are defined with a model number - * that is "greater than" than the current model. - */ - if (afn[6] && afn[6] > this.cpu.model) continue; - - var fnReadByte = afn[0]? afn[0].bind(component) : null; - var fnWriteByte = afn[1]? afn[1].bind(component) : null; - var fnReadWord = afn[2]? afn[2].bind(component) : null; - var fnWriteWord = afn[3]? afn[3].bind(component) : null; - - /* - * As discussed in the IOController comments above, when handlers are being registered for these - * BYTE-granular UNIBUS addresses, we must install custom fallback handlers for all BYTE accesses. - */ - if (addr >= PDP11.UNIBUS.R0SET0 && addr <= PDP11.UNIBUS.R6USER) { - if (!fnReadByte && fnReadWord) { - fnReadByte = function readByteIORegister(readWord) { - return function(addr) { - return readWord(addr) & 0xff; - }.bind(component); - }(fnReadWord); - } - if (!fnWriteByte && fnWriteWord) { - fnWriteByte = function writeByteIORegister(writeWord) { - return function(data, addr) { - return writeWord(data, addr); - }.bind(component); - }(fnWriteWord); - } - } - - var sReg = afn[4]; - var nRegs = afn[5] || 1; - - for (var iReg = 0; iReg < nRegs; iReg++, addr += 2) { - if (sReg && nRegs > 1) sReg = afn[4] + iReg; - if (!this.addIOHandlers(addr, addr, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, afn[7] || component.bitsMessage, sReg || component.idComponent)) { - return false; - } - } - } - return true; -}; - -/** - * getAddrInfo(addr) - * - * Determine if the physical address is a known IOPAGE address, and return information about it (ie, the name). - * - * @this {BusPDP11} - * @param {number} addr (physical) - * @return {string|null} - */ -BusPDP11.prototype.getAddrInfo = function(addr) -{ - var sName = null; - if (addr >= this.addrIOPage) { - var off = addr & BusPDP11.IOPAGE_MASK; - var afn = this.aIOHandlers[off]; - if (afn) sName = afn[BusPDP11.IOHANDLER.REG_NAME]; - } - return sName; -}; - -/** - * getAddrByName(sName) - * - * Determine if the specified name has a corresponding physical address. - * - * @this {BusPDP11} - * @param {string} sName - * @return {number|null} - */ -BusPDP11.prototype.getAddrByName = function(sName) -{ - sName = sName.toUpperCase(); - for (var i in this.aIOHandlers) { - var off = +i; - var afn = this.aIOHandlers[off]; - if (afn[BusPDP11.IOHANDLER.REG_NAME] == sName) { - return this.addrIOPage + off; - } - } - return null; -}; - -/** - * addResetHandler(fnReset) - * - * @this {BusPDP11} - * @param {function()} fnReset - */ -BusPDP11.prototype.addResetHandler = function(fnReset) -{ - this.afnReset.push(fnReset); -}; - -/** - * fault(addr, err, access) - * - * Bus interface for signaling alignment errors, invalid memory, etc. - * - * @this {BusPDP11} - * @param {number} addr - * @param {number} [err] - * @param {number} [access] (for diagnostic purposes only) - */ -BusPDP11.prototype.fault = function(addr, err, access) -{ - this.fFault = true; - if (!this.nDisableFaults) { - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.FAULT)) { - this.dbg.printMessage("memory fault (" + access + ") on " + this.dbg.toStrBase(addr), true, true); - } - if (err) this.cpu.regErr |= err; - this.cpu.trap(PDP11.TRAP.BUS, 0, addr); - } -}; - -/** - * checkFault() - * - * This also serves as a clearFault() function. - * - * @this {BusPDP11} - * @return {boolean} - */ -BusPDP11.prototype.checkFault = function() -{ - var f = this.fFault; - this.fFault = false; - return f; -}; - -/** - * reportError(errNum, addr, size, fQuiet) - * - * @this {BusPDP11} - * @param {number} errNum - * @param {number} addr - * @param {number} size - * @param {boolean} [fQuiet] (true if any error should be quietly logged) - * @return {boolean} false - */ -BusPDP11.prototype.reportError = function(errNum, addr, size, fQuiet) -{ - var sError = "Memory block error (" + errNum + ": " + str.toHex(addr) + "," + str.toHex(size) + ")"; - if (fQuiet) { - if (this.dbg) { - this.dbg.message(sError); - } else { - this.log(sError); - } - } else { - Component.error(sError); - } - return false; -}; - -if (NODE) module.exports = BusPDP11; +export default BusPDP11; diff --git a/modules/pdp11/lib/computer.js b/modules/pdp11/lib/computer.js index 8f32226d5..6638ac148 100644 --- a/modules/pdp11/lib/computer.js +++ b/modules/pdp11/lib/computer.js @@ -32,246 +32,1569 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var usr = require("../../shared/lib/usrlib"); - var web = require("../../shared/lib/weblib"); - var UserAPI = require("../../shared/lib/userapi"); - var ReportAPI = require("../../shared/lib/reportapi"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var BusPDP11 = require("./bus"); - var MessagesPDP11 = require("./messages"); -} +import Str from "../../shared/es6/strlib"; +import Usr from "../../shared/es6/usrlib"; +import Web from "../../shared/es6/weblib"; +import UserAPI from "../../shared/es6/userapi"; +import ReportAPI from "../../shared/es6/reportapi"; +import Component from "../../shared/es6/component"; +import State from "../../shared/es6/state"; +import PDP11 from "./defines"; +import BusPDP11 from "./bus"; +import MessagesPDP11 from "./messages"; -/** - * ComputerPDP11(parmsComputer, parmsMachine, fSuspended) - * - * @constructor - * @extends Component - * @param {Object} parmsComputer - * @param {Object} [parmsMachine] - * @param {boolean} [fSuspended] - * - * The ComputerPDP11 component has no required (parmsComputer) properties, but it does - * support the following: - * - * autoPower: true to automatically power the computer (default), false to wait; - * false is honored only if a "power" button binding exists. - * - * busWidth: number of memory address lines (address bits) on the computer's "bus"; - * 20 is the minimum (and the default), which implies 8086/8088 real-mode addressing, - * while 24 is required for 80286 protected-mode addressing. This value is passed - * directly through to the Bus component; see that component for more details. - * - * resume: one of the ComputerPDP11.RESUME constants, which are as follows: - * '0' if resume disabled (default) - * '1' if enabled without prompting - * '2' if enabled with prompting - * '3' if enabled with prompting and auto-delete - * or a string containing the path of a predefined JSON-encoded state - * - * state: the path to JSON-encoded state file (see details regarding 'state' below) - * - * The parmsMachine object, if provided, may contain any of: - * - * autoMount: if set, this should override any 'autoMount' property in the FDC's - * parmsFDC object. - * - * autoPower: if set, this should override any 'autoPower' property in the ComputerPDP11's - * parmsComputer object. - * - * messages: if set, this should override any 'messages' property in the Debugger's - * parmsDbg object. - * - * state: if set, this should override any 'state' property in the ComputerPDP11's - * parmsComputer object. - * - * url: the location of the machine XML file - * - * If a predefined state is supplied AND it's successfully loaded, then resume behavior - * defaults to '1' (ie, resume enabled without prompting). - * - * This component insures that all components are ready before "powering" them. - * - * Different components become ready at different times, and initialization order (ie, - * the order the scripts are combined on the page) only partially determines readiness. - * This is because components like ROM and Video must finish loading their resource files - * before they are ready. Other components become ready after we call their initBus() - * function, because they have a Bus or CPU dependency, such as access to memory management - * functions. And other components, like CPU and Panel, are ready as soon as their - * constructor finishes. - * - * Once a component has indicated it's ready, we call its powerUp() notification - * function (if it has one--it's optional). We call the CPU's powerUp() function last, - * so that the CPU is assured that all other components are ready and "powered". - */ -function ComputerPDP11(parmsComputer, parmsMachine, fSuspended) { - - Component.call(this, "Computer", parmsComputer, ComputerPDP11, MessagesPDP11.COMPUTER); - - this.flags.powered = false; - - this.setMachineParms(parmsMachine); - - this.fAutoPower = this.getMachineParm('autoPower', parmsComputer); - - /* - * nPowerChange is 0 while the power state is stable, 1 while power is transitioning - * to "on", and -1 while power is transitioning to "off". - */ - this.nPowerChange = 0; - - /* - * TODO: Deprecate 'buswidth' (it should have always used camelCase) - */ - this.nBusWidth = parmsComputer['busWidth'] || parmsComputer['buswidth']; - - this.resume = ComputerPDP11.RESUME_NONE; - this.sStateData = null; - this.fStateData = false; // remembers if sStateData was loaded - this.fServerState = false; - - this.url = this.getMachineParm('url') || ""; - - /* - * Generate a random number x (where 0 <= x < 1), add 0.1 so that it's guaranteed to be - * non-zero, convert to base 36, and chop off the leading digit and "decimal" point. - */ - this.sMachineID = (Math.random() + 0.1).toString(36).substr(2,12); - this.sUserID = this.queryUserID(); - - /* - * Find the appropriate CPU (and Debugger and Control Panel, if any) +class ComputerPDP11 extends Component { + /** + * ComputerPDP11(parmsComputer, parmsMachine, fSuspended) * - * CLOSURE COMPILER TIP: To override the type of a right-hand expression (as we need to do here, - * where we know getComponentByType() will only return an CPUState object or null), wrap the expression - * in parentheses. I never knew this until I stumbled across it in "Closure: The Definitive Guide". + * The ComputerPDP11 component has no required (parmsComputer) properties, but it does + * support the following: + * +z * autoPower: true to automatically power the computer (default), false to wait; + * false is honored only if a "power" button binding exists. + * + * busWidth: number of memory address lines (address bits) on the computer's "bus"; + * 20 is the minimum (and the default), which implies 8086/8088 real-mode addressing, + * while 24 is required for 80286 protected-mode addressing. This value is passed + * directly through to the Bus component; see that component for more details. + * + * resume: one of the ComputerPDP11.RESUME constants, which are as follows: + * '0' if resume disabled (default) + * '1' if enabled without prompting + * '2' if enabled with prompting + * '3' if enabled with prompting and auto-delete + * or a string containing the path of a predefined JSON-encoded state + * + * state: the path to JSON-encoded state file (see details regarding 'state' below) + * + * The parmsMachine object, if provided, may contain any of: + * + * autoMount: if set, this should override any 'autoMount' property in the FDC's + * parmsFDC object. + * + * autoPower: if set, this should override any 'autoPower' property in the ComputerPDP11's + * parmsComputer object. + * + * messages: if set, this should override any 'messages' property in the Debugger's + * parmsDbg object. + * + * state: if set, this should override any 'state' property in the ComputerPDP11's + * parmsComputer object. + * + * url: the location of the machine XML file + * + * If a predefined state is supplied AND it's successfully loaded, then resume behavior + * defaults to '1' (ie, resume enabled without prompting). + * + * This component insures that all components are ready before "powering" them. + * + * Different components become ready at different times, and initialization order (ie, + * the order the scripts are combined on the page) only partially determines readiness. + * This is because components like ROM and Video must finish loading their resource files + * before they are ready. Other components become ready after we call their initBus() + * function, because they have a Bus or CPU dependency, such as access to memory management + * functions. And other components, like CPU and Panel, are ready as soon as their + * constructor finishes. + * + * Once a component has indicated it's ready, we call its powerUp() notification + * function (if it has one--it's optional). We call the CPU's powerUp() function last, + * so that the CPU is assured that all other components are ready and "powered". + * + * @param {Object} parmsComputer + * @param {Object} [parmsMachine] + * @param {boolean} [fSuspended] */ - this.cpu = /** @type {CPUStatePDP11} */ (Component.getComponentByType("CPU", this.id)); - if (!this.cpu) { - Component.error("Unable to find CPU component"); - return; - } - this.dbg = /** @type {DebuggerPDP11} */ (Component.getComponentByType("Debugger", this.id)); + constructor(parmsComputer, parmsMachine, fSuspended) + { + super("Computer", parmsComputer, ComputerPDP11, MessagesPDP11.COMPUTER); - /* - * Initialize the Bus component - */ - this.bus = new BusPDP11({'id': this.idMachine + '.bus', 'busWidth': this.nBusWidth}, this.cpu, this.dbg); + this.flags.powered = false; - /* - * Iterate through all the components and connect them to the Control Panel, if any - */ - var iComponent, component; - var aComponents = Component.getComponents(this.id); - this.panel = /** @type {PanelPDP11} */ (Component.getComponentByType("Panel", this.id)); + this.parmsMachine = null; + this.setMachineParms(parmsMachine); - if (this.panel && this.panel.controlPrint) { + this.fAutoPower = this.getMachineParm('autoPower', parmsComputer); + + /* + * nPowerChange is 0 while the power state is stable, 1 while power is transitioning + * to "on", and -1 while power is transitioning to "off". + */ + this.nPowerChange = 0; + + /* + * TODO: Deprecate 'buswidth' (it should have always used camelCase) + */ + this.nBusWidth = parmsComputer['busWidth'] || parmsComputer['buswidth']; + + this.resume = ComputerPDP11.RESUME_NONE; + this.sStateData = null; + this.fStateData = false; // remembers if sStateData was loaded + this.fServerState = false; + this.fInitialized = this.fReload = this.fRestoreError = false; + this.stateFailSafe = null; + + this.url = this.getMachineParm('url') || ""; + + /* + * Generate a random number x (where 0 <= x < 1), add 0.1 so that it's guaranteed to be + * non-zero, convert to base 36, and chop off the leading digit and "decimal" point. + */ + this.sMachineID = (Math.random() + 0.1).toString(36).substr(2,12); + this.sUserID = this.queryUserID(); + + /* + * Find the appropriate CPU (and Debugger and Control Panel, if any) + * + * CLOSURE COMPILER TIP: To override the type of a right-hand expression (as we need to do here, + * where we know getComponentByType() will only return an CPUState object or null), wrap the expression + * in parentheses. I never knew this until I stumbled across it in "Closure: The Definitive Guide". + */ + this.cpu = /** @type {CPUStatePDP11} */ (Component.getComponentByType("CPU", this.id)); + if (!this.cpu) { + Component.error("Unable to find CPU component"); + return; + } + this.dbg = /** @type {DebuggerPDP11} */ (Component.getComponentByType("Debugger", this.id)); + + /* + * Initialize the Bus component + */ + this.bus = new BusPDP11({'id': this.idMachine + '.bus', 'busWidth': this.nBusWidth}, this.cpu, this.dbg); + + /* + * Iterate through all the components and connect them to the Control Panel, if any + */ + var iComponent, component; + var aComponents = Component.getComponents(this.id); + this.panel = /** @type {PanelPDP11} */ (Component.getComponentByType("Panel", this.id)); + + if (this.panel && this.panel.controlPrint) { + for (iComponent = 0; iComponent < aComponents.length; iComponent++) { + component = aComponents[iComponent]; + /* + * I can think of many "cleaner" ways for the Control Panel component to pass its + * notice(), println(), etc, overrides on to all the other components, but it's just + * too darn convenient to slam those overrides into the components directly. + */ + component.notice = this.panel.notice; + component.println = this.panel.println; + component.controlPrint = this.panel.controlPrint; + } + } + + this.println(PDP11.APPNAME + " v" + PDP11.APPVERSION + "\n" + COPYRIGHT + "\n" + LICENSE); + + this.println("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis "); + + if (DEBUG && this.messageEnabled()) this.printMessage("TYPEDARRAYS: " + TYPEDARRAYS); + + /* + * Iterate through all the components again and call their initBus() handler, if any + */ for (iComponent = 0; iComponent < aComponents.length; iComponent++) { component = aComponents[iComponent]; + if (component.initBus) component.initBus(this, this.bus, this.cpu, this.dbg); + } + + var sStatePath = null; + var sResume = parmsComputer['resume']; + if (sResume !== undefined) { /* - * I can think of many "cleaner" ways for the Control Panel component to pass its - * notice(), println(), etc, overrides on to all the other components, but it's just - * too darn convenient to slam those overrides into the components directly. + * DEPRECATE: This goofiness is a holdover from when the 'resume' property was a string (either a + * single-digit string or a path); now it's always a number, so it never has a 'length' property and + * the call to parseInt() is unnecessary. */ - component.notice = this.panel.notice; - component.println = this.panel.println; - component.controlPrint = this.panel.controlPrint; - } - } - - this.println(PDP11.APPNAME + " v" + PDP11.APPVERSION + "\n" + COPYRIGHT + "\n" + LICENSE); - - this.println("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis "); - - if (DEBUG && this.messageEnabled()) this.printMessage("TYPEDARRAYS: " + TYPEDARRAYS); - - /* - * Iterate through all the components again and call their initBus() handler, if any - */ - for (iComponent = 0; iComponent < aComponents.length; iComponent++) { - component = aComponents[iComponent]; - if (component.initBus) component.initBus(this, this.bus, this.cpu, this.dbg); - } - - var sStatePath = null; - var sResume = parmsComputer['resume']; - if (sResume !== undefined) { - /* - * DEPRECATE: This goofiness is a holdover from when the 'resume' property was a string (either a - * single-digit string or a path); now it's always a number, so it never has a 'length' property and - * the call to parseInt() is unnecessary. - */ - if (sResume.length > 1) { - sStatePath = this.sResumePath = sResume; - } else { - this.resume = parseInt(sResume, 10); - } - } - - /* - * The Computer 'state' property allows a state file to be specified independent of the 'resume' feature; - * previously, you could only use 'resume' to load a state file -- which we still support, but loading a state - * file that way prevents the machine's state from being saved, since we always resume from the 'resume' file. - * - * The other wrinkle is on the restore side: we need to IGNORE the 'state' property if a saved state now exists. - * So we have to peek at localStorage, and unfortunately, the only way to "peek" is to actually load the data, - * but we're not ready to use it yet, so powerUp() has been changed to use any existing stateComputer that we've - * already loaded. - * - * However, there's now a wrinkle to the wrinkle: if a 'state' parameter has been passed via the URL, then that - * OVERRIDES everything; it overrides any 'state' Computer parameter AND it disables resume of any saved state in - * localStorage (in other words, it prevents fAllowResume from being true, and forcing resume off). - */ - var fAllowResume; - var sState = this.getMachineParm('state') || (fAllowResume = true) && parmsComputer['state']; - - if (sState) { - sStatePath = this.sStatePath = sState; - if (!fAllowResume) { - this.fServerState = true; - this.resume = ComputerPDP11.RESUME_NONE; - } - if (this.resume) { - this.stateComputer = new State(this, PDP11.APPVERSION); - if (this.stateComputer.load()) { - sStatePath = null; + if (sResume.length > 1) { + sStatePath = this.sResumePath = sResume; } else { - delete this.stateComputer; + this.resume = parseInt(sResume, 10); + } + } + + /* + * The Computer 'state' property allows a state file to be specified independent of the 'resume' feature; + * previously, you could only use 'resume' to load a state file -- which we still support, but loading a state + * file that way prevents the machine's state from being saved, since we always resume from the 'resume' file. + * + * The other wrinkle is on the restore side: we need to IGNORE the 'state' property if a saved state now exists. + * So we have to peek at localStorage, and unfortunately, the only way to "peek" is to actually load the data, + * but we're not ready to use it yet, so powerUp() has been changed to use any existing stateComputer that we've + * already loaded. + * + * However, there's now a wrinkle to the wrinkle: if a 'state' parameter has been passed via the URL, then that + * OVERRIDES everything; it overrides any 'state' Computer parameter AND it disables resume of any saved state in + * localStorage (in other words, it prevents fAllowResume from being true, and forcing resume off). + */ + var fAllowResume; + var sState = this.getMachineParm('state') || (fAllowResume = true) && parmsComputer['state']; + + if (sState) { + sStatePath = this.sStatePath = sState; + if (!fAllowResume) { + this.fServerState = true; + this.resume = ComputerPDP11.RESUME_NONE; + } + if (this.resume) { + this.stateComputer = new State(this, PDP11.APPVERSION); + if (this.stateComputer.load()) { + sStatePath = null; + } else { + delete this.stateComputer; + } + } + } + + /* + * If sStatePath is set, we must use it. But if there's no sStatePath AND resume is set, + * then we have the option of resuming from a server-side state, assuming a valid USERID. + */ + if (!sStatePath && this.resume) { + sStatePath = this.getServerStatePath(); + if (sStatePath) this.fServerState = true; + } + + if (!sStatePath) { + this.setReady(); + } else { + var cmp = this; + Web.getResource(sStatePath, null, true, function doneStateLoad(sURL, sResource, nErrorCode) { + cmp.finishStateLoad(sURL, sResource, nErrorCode); + }); + } + + if (!this.bindings["power"]) this.fAutoPower = true; + + /* + * Power on the computer, giving every component the opportunity to reset or restore itself. + */ + if (!fSuspended && this.fAutoPower) this.wait(this.powerOn); + } + + /** + * getMachineID() + * + * @return {string} + */ + getMachineID() + { + return this.sMachineID; + } + + /** + * setMachineParms(parmsMachine) + * + * If no explicit machine parms were provided, then we check for 'parms' in the bundled resources (if any). + * + * @param {Object} [parmsMachine] + */ + setMachineParms(parmsMachine) + { + if (!parmsMachine) { + var sParms; + if (typeof resources == 'object' && (sParms = resources['parms'])) { + try { + parmsMachine = /** @type {Object} */ (eval("(" + sParms + ")")); + } catch(e) { + Component.error(e.message + " (" + sParms + ")"); + } + } + } + this.parmsMachine = parmsMachine; + } + + /** + * getMachineParm(sParm, parmsComponent) + * + * If the machine parameter doesn't exist, we check for a matching component parameter (if parmsComponent is provided), + * and failing that, we check the bundled resources (if any). + * + * At the moment, the only bundled resource request we expect to encounter is 'state'; if it exists, then we return + * 'state' back to the caller (ie, the name of the resource), so that the caller will then attempt to load the 'state' + * resource to obtain the actual state. + * + * @param {string} sParm + * @param {Object} [parmsComponent] + * @return {string|undefined} + */ + getMachineParm(sParm, parmsComponent) + { + /* + * When checking parmsURL, the check is allowed be a bit looser, because URL parameters are + * user-supplied, whereas most other parameters are developer-supplied. Granted, a developer + * may also be sloppy and neglect to use correct case (eg, 'automount' instead of 'autoMount'), + * but there are limits to my paranoia. + */ + var sParmLC = sParm.toLowerCase(); + var value = Component.parmsURL[sParm] || Component.parmsURL[sParmLC]; + + if (value === undefined && this.parmsMachine) { + value = this.parmsMachine[sParm]; + } + if (value === undefined && parmsComponent) { + value = parmsComponent[sParm]; + } + if (value === undefined && typeof resources == 'object' && resources[sParm]) { + value = sParm; + } + return value; + } + + /** + * saveMachineParms() + * + * @return {string|null} + */ + saveMachineParms() + { + return this.parmsMachine? JSON.stringify(this.parmsMachine) : null; + } + + /** + * getUserID() + * + * @return {string} + */ + getUserID() + { + return this.sUserID || ""; + } + + /** + * finishStateLoad(sURL, sStateData, nErrorCode) + * + * @this {ComputerPDP11} + * @param {string} sURL + * @param {string} sStateData + * @param {number} nErrorCode + */ + finishStateLoad(sURL, sStateData, nErrorCode) + { + if (!nErrorCode) { + this.sStateData = sStateData; + this.fStateData = true; + if (DEBUG && this.messageEnabled()) { + this.printMessage("loaded state file " + sURL.replace(this.sUserID || "xxx", "xxx")); + } + } else { + this.sResumePath = null; + this.fServerState = false; + this.notice('Unable to load machine state from server (error ' + nErrorCode + (sStateData? ': ' + Str.trim(sStateData) : '') + ')'); + } + this.setReady(); + } + + /** + * wait(fn, parms) + * + * wait() waits until every component is ready (including ourselves, the last component we check), then calls the + * specified Computer method. + * + * TODO: The Closure Compiler makes it difficult for us to define a function type for "fn" that works in all cases; + * sometimes we want to pass a function that takes only a "number", and other times we want to pass a function that + * takes only an "Array" (the type will mirror that of the "parms" parameter). However, the Closure Compiler insists + * that both functions must be declared as accepting both types of parameters. So once again, we must use an untyped + * function declaration, instead of something stricter like: + * + * param {function(this:Computer, (number|Array|undefined)): undefined} fn + * + * @this {ComputerPDP11} + * @param {function(...)} fn + * @param {number|Array} [parms] optional parameters + */ + wait(fn, parms) + { + var computer = this; + var aComponents = Component.getComponents(this.id); + for (var iComponent = 0; iComponent <= aComponents.length; iComponent++) { + var component = (iComponent < aComponents.length ? aComponents[iComponent] : this); + if (!component.isReady()) { + component.isReady(function onComponentReady() { + computer.wait(fn, parms); + }); + return; + } + } + if (DEBUG && this.messageEnabled()) this.printMessage("ComputerPDP11.wait(ready)"); + fn.call(this, parms); + } + + /** + * validateState(stateComputer) + * + * NOTE: We clear() stateValidate only when there's no stateComputer. + * + * @this {ComputerPDP11} + * @param {State|null} [stateComputer] + * @return {boolean} true if state passes validation, false if not + */ + validateState(stateComputer) + { + var fValid = true; + var stateValidate = new State(this, PDP11.APPVERSION, ComputerPDP11.STATE_VALIDATE); + if (stateValidate.load() && stateValidate.parse()) { + var sTimestampValidate = stateValidate.get(ComputerPDP11.STATE_TIMESTAMP); + var sTimestampComputer = stateComputer? stateComputer.get(ComputerPDP11.STATE_TIMESTAMP) : "unknown"; + if (sTimestampValidate != sTimestampComputer) { + this.notice("Machine state may be out-of-date\n(" + sTimestampValidate + " vs. " + sTimestampComputer + ")\nCheck your browser's local storage limits"); + fValid = false; + if (!stateComputer) stateValidate.clear(); + } else { + if (DEBUG && this.messageEnabled()) { + this.printMessage("Last state: " + sTimestampComputer + " (validate: " + sTimestampValidate + ")"); + } + } + } + return fValid; + } + + /** + * powerOn(resume) + * + * Power every component "up", applying any previously available state information. + * + * @this {ComputerPDP11} + * @param {number} [resume] is a valid RESUME value; default is this.resume + */ + powerOn(resume) + { + if (resume === undefined) { + resume = this.resume || (this.sStateData? ComputerPDP11.RESUME_AUTO : ComputerPDP11.RESUME_NONE); + } + + if (DEBUG && this.messageEnabled()) { + this.printMessage("ComputerPDP11.powerOn(" + (resume == ComputerPDP11.RESUME_REPOWER ? "repower" : (resume ? "resume" : "")) + ")"); + } + + if (this.nPowerChange) { + return; + } + this.nPowerChange++; + + var fRepower = false; + var fRestore = false; + this.fRestoreError = false; + var stateComputer = this.stateComputer || new State(this, PDP11.APPVERSION); + + if (resume == ComputerPDP11.RESUME_REPOWER) { + fRepower = true; + } + else if (resume > ComputerPDP11.RESUME_NONE) { + if (stateComputer.load(this.sStateData)) { + /* + * Since we're resuming something (either a predefined state or a state from localStorage), let's + * create a "failsafe" checkpoint in localStorage, and destroy it at the end of a successful powerOn(). + * Which means, of course, that if a previous "failsafe" checkpoint already exists, something bad + * may have happened the last time around. + */ + this.stateFailSafe = new State(this, PDP11.APPVERSION, ComputerPDP11.STATE_FAILSAFE); + if (this.stateFailSafe.load()) { + this.powerReport(stateComputer); + /* + * We already know resume is something other than RESUME_NONE, so we'll go ahead and bump it + * all the way to RESUME_PROMPT, so that the user will be prompted, and if the user declines to + * restore, the state will be removed. + */ + resume = ComputerPDP11.RESUME_PROMPT; + /* + * To ensure that the set() below succeeds, we need to call unload(), otherwise it may fail + * with a "read only" error (eg, "TypeError: Cannot assign to read only property 'timestamp'"). + */ + this.stateFailSafe.unload(); + } + + this.stateFailSafe.set(ComputerPDP11.STATE_TIMESTAMP, Usr.getTimestamp()); + this.stateFailSafe.store(); + + var fValidate = this.resume && !this.fServerState; + if (resume == ComputerPDP11.RESUME_AUTO || Web.confirmUser("Click OK to restore the previous " + PDP11.APPNAME + " machine state, or CANCEL to reset the machine.")) { + fRestore = stateComputer.parse(); + if (fRestore) { + var sCode = /** @type {string} */ (stateComputer.get(UserAPI.RES.CODE)); + var sData = /** @type {string} */ (stateComputer.get(UserAPI.RES.DATA)); + if (sCode) { + if (sCode == UserAPI.CODE.OK) { + stateComputer.load(sData); + } else { + /* + * A missing (or not yet created) state file is no cause for alarm, but other errors might be + */ + if (sCode == UserAPI.CODE.FAIL && sData != UserAPI.FAIL.NOSTATE) { + this.notice("Error: " + sData); + if (sData == UserAPI.FAIL.VERIFY) this.resetUserID(); + } else { + this.println(sCode + ": " + sData); + } + /* + * Try falling back to the state that we should have saved in localStorage, as a backup to the + * server-side state. + */ + stateComputer.unload(); // discard the invalid server-side state first + if (stateComputer.load()) { + fRestore = stateComputer.parse(); + fValidate = true; + } else { + fRestore = false; // hmmm, there was nothing in localStorage either + } + } + } + } + /* + * If the load/parse was successful, and it was from localStorage (not sStateData), + * then we should to try verify that localStorage snapshot is current. One reason it may + * NOT be current is if localStorage was full and we got a quota error during the last + * powerOff(). + */ + if (fValidate) this.validateState(fRestore? stateComputer : null); + } else { + /* + * RESUME_PROMPT indicates we should delete the state if they clicked Cancel to confirm() above. + */ + if (resume == ComputerPDP11.RESUME_PROMPT) stateComputer.clear(); + } + } else { + /* + * If there's no state, then there should also be no validation timestamp; if there is, then once again, + * we're probably dealing with a quota error. + */ + this.validateState(); + } + delete this.sStateData; + delete this.stateComputer; + } + + /* + * Start powering all components, including any data they may need to restore their state; + * we restore power to the CPU last. + */ + var aComponents = Component.getComponents(this.id); + for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { + var component = aComponents[iComponent]; + if (component !== this && component != this.cpu) { + fRestore = this.powerRestore(component, stateComputer, fRepower, fRestore); + } + } + + /* + * Assuming this is not a repower, we must perform another wait, because some components may + * have marked themselves as "not ready" again (eg, the FDC component, if the restore forced it + * to mount one or more additional disk images). + */ + var aParms = [stateComputer, resume, fRestore]; + + if (resume != ComputerPDP11.RESUME_REPOWER) { + this.wait(this.donePowerOn, aParms); + return; + } + this.donePowerOn(aParms); + } + + /** + * powerRestore(component, stateComputer, fRepower, fRestore) + * + * @this {ComputerPDP11} + * @param {Component} component + * @param {State} stateComputer + * @param {boolean} fRepower + * @param {boolean} fRestore + * @return {boolean} true if restore should continue, false if not + */ + powerRestore(component, stateComputer, fRepower, fRestore) + { + if (!component.flags.powered) { + + component.flags.powered = true; + + if (component.powerUp) { + + var data = null; + if (fRestore) { + data = stateComputer.get(component.id); + if (!data) { + /* + * This is a hack that makes it possible for a machine whose ID has been + * supplemented with a suffix (a single letter or digit) to find object IDs + * in states created from a machine without the suffix. + * + * For example, if a state file was created from a machine with ID "ibm5160" + * but the current machine is "ibm5160a", this attempts a second lookup with + * "ibm5160", enabling us to find objects that match the original machine ID + * (eg, "ibm5160.romEGA"). + */ + data = stateComputer.get(component.id.replace(/[a-z0-9]\./i, '.')); + } + } + + /* + * State.get() will return whatever was originally passed to State.set() (eg, an + * Object or a string), but components are supposed to store only Objects, so if a + * string comes back, something went wrong. By explicitly eliminating "string" data, + * the Closure Compiler stops complaining that we might be passing strings to our + * powerUp() functions (even though we know we're not). + * + * TODO: Determine if there's some way to coerce the Closure Compiler into treating + * data as Object or null, without having to include this runtime check. An assert + * would be a good idea, but this is overkill. + */ + if (typeof data === "string") data = null; + + /* + * If computer is null, this is simply a repower notification, which most components + * don't do anything with. Exceptions include: CPU (since it may be halted) and Video + * (since its screen may be "turned off"). + */ + if (!component.powerUp(data, fRepower) && data) { + + Component.error("Unable to restore state for " + component.type); + /* + * If this is a resume error for a machine that also has a predefined state + * AND we're not restoring from that state, then throw away the current state, + * prevent any new state from being created, and then force a reload, which will + * hopefully restore us to the functioning predefined state. + * + * TODO: Considering doing this in ALL cases, not just in situations where a + * 'state' exists but we're not actually resuming from it. + */ + if (this.sStatePath && !this.fStateData) { + stateComputer.clear(); + this.resume = ComputerPDP11.RESUME_NONE; + Web.reloadPage(); + } else { + /* + * In all other cases, we set fRestoreError, which should trigger a call to + * powerReport() and then delete the offending state. + */ + this.fRestoreError = true; + } + /* + * Any failure triggers an automatic to call powerUp() again, without any state, + * in the hopes that the component can recover by performing a reset. + */ + component.powerUp(null); + /* + * We also disable the rest of the restore operation, because it's not clear + * the remaining state information can be trusted; the machine is already in an + * inconsistent state, so we're not likely to make things worse, and the only + * alternative (starting over and performing a state-less reset) isn't likely to make + * the user any happier. But, we'll see... we need some experience with the code. + */ + fRestore = false; + } + } + + if (!fRepower && component.comment) { + var asComments = component.comment.split("|"); + for (var i = 0; i < asComments.length; i++) { + component.status(asComments[i]); + } + } + } + return fRestore; + } + + /** + * donePowerOn(aParms) + * + * This is nothing more than a continuation of powerOn(), giving us the option of calling wait() one more time. + * + * @this {ComputerPDP11} + * @param {Array} aParms containing [stateComputer, resume, fRestore] + */ + donePowerOn(aParms) + { + var stateComputer = aParms[0]; + var fRepower = (aParms[1] < 0); + var fRestore = aParms[2]; + + if (DEBUG && this.flags.powered && this.messageEnabled()) { + this.printMessage("ComputerPDP11.donePowerOn(): redundant"); + } + + this.fInitialized = true; + this.flags.powered = true; + var controlPower = this.bindings["power"]; + if (controlPower) controlPower.textContent = "Shutdown"; + + /* + * Once we get to this point, we're guaranteed that all components are ready, so it's safe to power the CPU; + * the CPU should begin executing immediately, unless a debugger is attached. + */ + if (this.cpu) { + /* + * TODO: Do we not care about the return value here? (ie, is checking fRestoreError sufficient)? + */ + this.powerRestore(this.cpu, stateComputer, fRepower, fRestore); + this.updateDisplays(); + this.cpu.autoStart(); + } + + /* + * If the state was bad, offer to report it and then delete it. Deleting may be moot, since invariably a new + * state will be created on powerOff() before the next powerOn(), but it seems like good paranoia all the same. + */ + if (this.fRestoreError) { + this.powerReport(stateComputer); + stateComputer.clear(); + } + + if (!fRepower && this.stateFailSafe) { + this.stateFailSafe.clear(); + delete this.stateFailSafe; + } + + this.nPowerChange = 0; + } + + /** + * checkPower() + * + * @this {ComputerPDP11} + * @return {boolean} true if the computer is fully powered, false otherwise + */ + checkPower() + { + if (this.flags.powered) return true; + + var component = null, iComponent; + var aComponents = Component.getComponents(this.id); + for (iComponent = 0; iComponent < aComponents.length; iComponent++) { + component = aComponents[iComponent]; + if (component !== this && !component.flags.ready) break; + } + if (iComponent == aComponents.length) { + for (iComponent = 0; iComponent < aComponents.length; iComponent++) { + component = aComponents[iComponent]; + if (component !== this && !component.flags.powered) break; + } + } + if (iComponent == aComponents.length) component = this; + var s = "The " + component.type + " component (" + component.id + ") is not " + (!component.flags.ready? "ready yet" + (component.fnReady? " (waiting for notification)" : "") : "powered yet") + "."; + Web.alertUser(s); + return false; + } + + /** + * powerReport(stateComputer) + * + * @this {ComputerPDP11} + * @param {State} stateComputer + */ + powerReport(stateComputer) + { + if (Web.confirmUser("There may be a problem with your " + PDP11.APPNAME + " machine.\n\nTo help us diagnose it, click OK to send this " + PDP11.APPNAME + " machine state to http://" + SITEHOST + ".")) { + Web.sendReport(PDP11.APPNAME, PDP11.APPVERSION, this.url, this.getUserID(), ReportAPI.TYPE.BUG, stateComputer.toString()); + } + } + + /** + * powerOff(fSave, fShutdown) + * + * Power every component "down" and optionally save the machine state. + * + * There's one scenario that powerOff() isn't currently able to deal with very effectively: what to do when + * the user switches away while it's still being restored, causing Disk getResource() calls to fail. The + * Disk component calls notify() when that happens -- see Disk.mount() -- but the FDC and HDC controllers don't + * notify *us* of those problems, so Computer assumes that the restore was completely successful, when in fact + * it was only partially successful. + * + * Then we immediately arrive here to perform a save, following that incomplete restore. It would be wrong to + * deal with that incomplete restore by setting fRestoreError, because we don't want to trigger a powerReport() + * and the deletion of the previous state, because the state itself was presumably OK. Unfortunately, the new + * state we now save will no longer include manually mounted disk images whose remounts were interrupted, so future + * restores won't remount them either. + * + * We could perhaps solve this by having the Disk component notify us in those situations, set a new flag + * (fRestoreIncomplete?), and set fSave to false if that's ever set. Be careful though: when fSave is false, + * that means MORE than not saving; it also means deleting any previous state, which is NOT what you'd want to + * do in a "fRestoreIncomplete" situation. Also, we have to worry about Disk operations that fail for other reasons, + * making sure those failures don't interfere with the save process in the same way. + * + * As it stands, the worst that happens is any manually mounted disk images might have to be manually remounted, + * which doesn't seem like a huge problem. + * + * @this {ComputerPDP11} + * @param {boolean} [fSave] is true to request a saved state + * @param {boolean} [fShutdown] is true if the machine is being shut down + * @return {string|null} string representing the saved state (or null if error) + */ + powerOff(fSave, fShutdown) + { + var data; + var sState = "none"; + + if (DEBUG && this.messageEnabled()) { + this.printMessage("ComputerPDP11.powerOff(" + (fSave ? "save" : "nosave") + (fShutdown ? ",shutdown" : "") + ")"); + } + + if (this.nPowerChange) { + return null; + } + this.nPowerChange--; + + var stateComputer = new State(this, PDP11.APPVERSION); + var stateValidate = new State(this, PDP11.APPVERSION, ComputerPDP11.STATE_VALIDATE); + + var sTimestamp = Usr.getTimestamp(); + stateValidate.set(ComputerPDP11.STATE_TIMESTAMP, sTimestamp); + stateComputer.set(ComputerPDP11.STATE_TIMESTAMP, sTimestamp); + stateComputer.set(ComputerPDP11.STATE_VERSION, APPVERSION); + stateComputer.set(ComputerPDP11.STATE_HOSTURL, Web.getHostURL()); + stateComputer.set(ComputerPDP11.STATE_BROWSER, Web.getUserAgent()); + + /* + * Always power the CPU "down" first, just to help insure it doesn't ask other components to do anything + * after they're no longer ready. + */ + if (this.cpu && this.cpu.powerDown) { + if (fShutdown) this.cpu.stopCPU(); + data = this.cpu.powerDown(fSave, fShutdown); + if (typeof data === "object") stateComputer.set(this.cpu.id, data); + if (fShutdown) { + this.cpu.flags.powered = false; + if (data === false) sState = null; + } + } + + var aComponents = Component.getComponents(this.id); + for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { + var component = aComponents[iComponent]; + if (component.flags.powered) { + if (component.powerDown) { + data = component.powerDown(fSave, fShutdown); + if (typeof data === "object") stateComputer.set(component.id, data); + } + if (fShutdown) { + component.flags.powered = false; + if (data === false) sState = null; + } + } + } + + if (sState) { + if (fShutdown) { + var fClear = false; + var fClearAll = false; + if (fSave) { + if (this.sUserID) { + this.saveServerState(this.sUserID, stateComputer.toString()); + } + if (!stateValidate.store() || !stateComputer.store()) { + sState = null; + /* + * New behavior as of v1.13.2: if it appears that localStorage is full, we blow it ALL away. + * Dedicated server-side storage is the only way we'll ever be able to reliably preserve a + * particular machine's state. Historically, attempting to limp along with whatever localStorage + * is left just generates the same useless and annoying warnings over and over. + */ + fClear = fClearAll = true; + } + } + else { + /* + * I used to ALWAYS clear (ie, delete) any associated computer state, but now I do this only if the + * current machine is "resumable", because there are situations where I have two configurations + * for the same machine -- one resumable and one not -- and I don't want the latter throwing away the + * state of the former. + * + * So this code is here now strictly for callers to delete the state of a "resumable" machine, not as + * some paranoid clean-up operation. + * + * An undocumented feature of this operation is that if your configuration uses the special 'resume="3"' + * value, and you click the "Reset" button, and then you click OK to reset the everything, this will + * actually reset EVERYTHING (ie, all localStorage for ALL configs will be reclaimed). + */ + if (this.resume) { + fClear = true; + fClearAll = (this.resume == ComputerPDP11.RESUME_DELETE); + } + } + if (fClear) { + stateComputer.clear(fClearAll); + } + } else { + sState = stateComputer.toString(); + } + } + + if (fShutdown) { + this.flags.powered = false; + var controlPower = this.bindings["power"]; + if (controlPower) controlPower.textContent = "Power"; + } + + this.nPowerChange = 0; + + return sState; + } + + /** + * reset() + * + * Notify all (other) components with a reset() method that the Computer is being reset. + * + * NOTE: We'd like to reset the Bus first (due to the importance of the A20 line), but since we + * allocated the Bus object ourselves, after all the other components were allocated, it ends + * up near the end of Component's list of components. Hence the special case for this.bus below. + * + * Ditto for the CPU, in part because if the Front Panel resets before the CPU, it will end up + * snapping/displaying the PC as of the last instruction executed, before the CPU resets the PC, + * causing the Front Panel to display a stale address when we call updateDisplays() at the end. + * + * @this {ComputerPDP11} + */ + reset() + { + if (this.bus && this.bus.reset) { + this.printMessage("Resetting " + this.bus.type); + this.bus.reset(); + } + if (this.cpu && this.cpu.reset) { + this.printMessage("Resetting " + this.cpu.type); + this.cpu.reset(); + } + var aComponents = Component.getComponents(this.id); + for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { + var component = aComponents[iComponent]; + if (component !== this && component !== this.bus && component !== this.cpu && component.reset) { + this.printMessage("Resetting " + component.type); + component.reset(); + } + } + this.updateDisplays(-1); + } + + /** + * start(ms, nCycles) + * + * Notify all (other) components with a start() method that the CPU has started. + * + * Note that we're called by startCPU(), which is why we exclude the CPU component, + * as well as ourselves. + * + * @this {ComputerPDP11} + * @param {number} ms + * @param {number} nCycles + */ + start(ms, nCycles) + { + var aComponents = Component.getComponents(this.id); + for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { + var component = aComponents[iComponent]; + if (component.type == "CPU" || component === this) continue; + if (component.start) { + component.start(ms, nCycles); + } + } + this.updateDisplays(-1); + } + + /** + * stop(ms, nCycles) + * + * Notify all (other) components with a stop() method that the CPU has stopped. + * + * Note that we're called by stopCPU(), which is why we exclude the CPU component, + * as well as ourselves. + * + * @this {ComputerPDP11} + * @param {number} ms + * @param {number} nCycles + */ + stop(ms, nCycles) + { + var aComponents = Component.getComponents(this.id); + for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { + var component = aComponents[iComponent]; + if (component.type == "CPU" || component === this) continue; + if (component.stop) { + component.stop(ms, nCycles); + } + } + this.updateDisplays(-1); + } + + /** + * updateDisplays(nUpdate) + * + * TODO: Notify all components with an updateDisplay() method that the computer's state has changed (not + * just the hard-coded ones below). + * + * If any DOM controls were bound to the CPU, then we need to call its updateDisplay() handler; if there are no + * such bindings, then cpu.updateDisplay() does nothing. + * + * Similarly, if there's a Panel, then we need to call its updateDisplay() handler, in case it created its own canvas + * and implemented its own register display (eg, dumpRegisters()); if not, then panel.updateDisplay() also does nothing. + * + * In practice, there will *either* be a Panel with a custom canvas *or* a set of DOM controls bound to the CPU *or* + * neither. In theory, there could be BOTH, but that would be unusual. + * + * TODO: Consider alternate approaches to these largely register-oriented display updates. Ordinarily, we like to + * separate logic from presentation, and currently the CPUState contains both, since it's the component that intimately + * knows the names, number, sizes, etc, of all the active registers. The Panel component is the logical candidate, + * but Panel is an optional component; it's often the case that only machines that include the Debugger also include + * Panel. + * + * @this {ComputerPDP11} + * @param {number} [nUpdate] (1 for periodic, -1 for forced, 0 or undefined otherwise) + */ + updateDisplays(nUpdate) + { + /* + * nUpdate is generally set to -1 whenever the CPU is transitioning to/from a running state, in which case + * cpu.updateDisplay() will definitely want to hide/show register contents; however, at other times, when the + * CPU is running, constantly updating the DOM controls too frequently can adversely impact overall performance. + * + * nUpdate will also be -1 whenever the Debugger has modified the state of the machine, implying that we're + * not sure what, if anything, actually changed. + */ + if (this.cpu) this.cpu.updateDisplay(nUpdate || 0); + if (this.panel) this.panel.updateDisplay(nUpdate || 0); + } + + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {ComputerPDP11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "reset") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + var computer = this; + + switch (sBinding) { + case "power": + this.bindings[sBinding] = control; + control.onclick = function onClickPower() { + computer.onPower(); + }; + return true; + + case "reset": + this.bindings[sBinding] = control; + control.onclick = function onClickReset() { + computer.onReset(); + }; + return true; + + /* + * Technically, this binding should now be called "saveState", to clearly distinguish it from + * the "Save Machine" control that's normally bound to the savePC() function in save.js. Saving + * an entire machine includes everything needed to start/restore the machine; eg, the machine + * XML configuration file(s) *and* the JSON-encoded machine state. + */ + case "save": + /* + * Since this feature depends on the server supporting the PCjs User API (see userapi.js), + * and since pcjs.org is no longer running a Node web server, we disable the feature for that + * particular host. + */ + if (Str.endsWith(Web.getHost(), "pcjs.org")) { + if (DEBUG) this.log("Remote user API not available"); + /* + * We could also simply hide the control; eg: + * + * control.style.display = "none"; + * + * but removing the control altogether seems better. + */ + control.parentNode.removeChild(/** @type {Node} */ (control)); + return false; + } + this.bindings[sBinding] = control; + control.onclick = function onClickSave() { + var sUserID = computer.queryUserID(true); + if (sUserID) { + /* + * I modified the test to include a check for sStatePath so that I could save new states + * for machines with existing states; otherwise, I'd have no (easy) way of capturing and + * updating their state. Making the machine (even temporarily) resumable would have been + * one work-around, but it's not appropriate for some machines, as their state is simply + * too large (for localStorage anyway, which is the default storage solution). + */ + var fSave = !!(computer.resume && !computer.sResumePath || computer.sStatePath); + var sState = computer.powerOff(fSave); + if (fSave) { + computer.saveServerState(sUserID, sState); + } else { + computer.notice("Resume disabled, machine state not saved"); + } + } + /* + * This seemed like a handy alternative, but it turned out to be a no-go, at least for large states: + * + * var sState = computer.powerOff(true); + * if (sState) { + * sState = "data:text/json;charset=utf-8," + encodeURIComponent(sState); + * window.open(sState); + * } + * + * Perhaps if I embedded the data in a link on the current page instead; eg: + * + * $('Download').appendTo('#container'); + */ + }; + return true; + + default: + break; + } + return false; + } + + /** + * resetUserID() + */ + resetUserID() + { + Web.setLocalStorageItem(ComputerPDP11.STATE_USERID, ""); + this.sUserID = null; + } + + /** + * queryUserID(fPrompt) + * + * @param {boolean} [fPrompt] + * @returns {string|null|undefined} + */ + queryUserID(fPrompt) + { + var sUserID = this.sUserID; + if (!sUserID) { + sUserID = Web.getLocalStorageItem(ComputerPDP11.STATE_USERID); + if (sUserID !== undefined) { + if (!sUserID && fPrompt) { + /* + * NOTE: Warning the user here that "Save" operations are not currently supported by pcjs.org is + * merely a precaution, because ordinarily, setBinding() should have already determined if we are + * running from pcjs.org and disabled any "Save" button. + */ + sUserID = Web.promptUser("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below."); + if (sUserID) { + sUserID = this.verifyUserID(sUserID); + if (!sUserID) this.notice("The user ID is invalid."); + } + } + } else if (fPrompt) { + this.notice("Browser local storage is not available"); + } + } + return sUserID; + } + + /** + * verifyUserID(sUserID) + * + * @this {ComputerPDP11} + * @param {string} sUserID + * @return {string} validated user ID, or null if error + */ + verifyUserID(sUserID) + { + this.sUserID = null; + var fMessages = DEBUG && this.messageEnabled(); + if (fMessages) this.printMessage("verifyUserID(" + sUserID + ")"); + var sRequest = Web.getHost() + UserAPI.ENDPOINT + '?' + UserAPI.QUERY.REQ + '=' + UserAPI.REQ.VERIFY + '&' + UserAPI.QUERY.USER + '=' + sUserID; + var response = Web.getResource(sRequest); + var nErrorCode = response[0]; + var sResponse = response[1]; + if (!nErrorCode && sResponse) { + try { + response = eval("(" + sResponse + ")"); + if (response.code && response.code == UserAPI.CODE.OK) { + Web.setLocalStorageItem(ComputerPDP11.STATE_USERID, response.data); + if (fMessages) this.printMessage(ComputerPDP11.STATE_USERID + " updated: " + response.data); + this.sUserID = response.data; + } else { + if (fMessages) this.printMessage(response.code + ": " + response.data); + } + } catch (e) { + Component.error(e.message + " (" + sResponse + ")"); + } + } else { + if (fMessages) this.printMessage("invalid response (error " + nErrorCode + ")"); + } + return this.sUserID; + } + + /** + * getServerStatePath() + * + * @this {ComputerPDP11} + * @return {string|null} sStatePath (null if no localStorage or no USERID stored in localStorage) + */ + getServerStatePath() + { + var sStatePath = null; + if (this.sUserID) { + if (DEBUG && this.messageEnabled()) { + this.printMessage(ComputerPDP11.STATE_USERID + " for load: " + this.sUserID); + } + sStatePath = Web.getHost() + UserAPI.ENDPOINT + '?' + UserAPI.QUERY.REQ + '=' + UserAPI.REQ.LOAD + '&' + UserAPI.QUERY.USER + '=' + this.sUserID + '&' + UserAPI.QUERY.STATE + '=' + State.key(this, PDP11.APPVERSION); + } else { + if (DEBUG && this.messageEnabled()) { + this.printMessage(ComputerPDP11.STATE_USERID + " unavailable"); + } + } + return sStatePath; + } + + /** + * saveServerState(sUserID, sState) + * + * @param {string} sUserID + * @param {string|null} sState + */ + saveServerState(sUserID, sState) + { + /* + * We must pass fSync == true, because (as I understand it) browsers will blow off any async + * requests when a page is being closed. Since our request is synchronous, storeServerState() + * should also return a result, but there's not much we can do with it, since browsers ALSO + * tend to blow off alerts() and the like when closing down. + */ + if (sState) { + if (DEBUG && this.messageEnabled()) { + this.printMessage("size of server state: " + sState.length + " bytes"); + } + var response = this.storeServerState(sUserID, sState, true); + if (response && response[UserAPI.RES.CODE] == UserAPI.CODE.OK) { + this.notice("Machine state saved to server"); + } else if (sState) { + var sError = (response && response[UserAPI.RES.DATA]) || UserAPI.FAIL.BADSTORE; + if (response[UserAPI.RES.CODE] == UserAPI.CODE.FAIL) { + sError = "Error: " + sError; + } else { + sError = "Error " + response[UserAPI.RES.CODE] + ": " + sError; + } + this.notice(sError); + this.resetUserID(); + } + } else { + if (DEBUG && this.messageEnabled()) { + this.printMessage("no state to store"); } } } - /* - * If sStatePath is set, we must use it. But if there's no sStatePath AND resume is set, - * then we have the option of resuming from a server-side state, assuming a valid USERID. + /** + * storeServerState(sUserID, sState, fSync) + * + * @this {ComputerPDP11} + * @param {string} sUserID + * @param {string} sState + * @param {boolean} [fSync] is true if we're powering down and should perform a synchronous request (default is async) + * @return {*} server response if fSync is true and a response was received; otherwise null */ - if (!sStatePath && this.resume) { - sStatePath = this.getServerStatePath(); - if (sStatePath) this.fServerState = true; + storeServerState(sUserID, sState, fSync) + { + if (DEBUG && this.messageEnabled()) { + this.printMessage(ComputerPDP11.STATE_USERID + " for store: " + sUserID); + } + /* + * TODO: Determine whether or not any browsers cancel our request if we're called during a browser "shutdown" event, + * and whether or not it matters if we do an async request (currently, we're not, to try to ensure the request goes through). + */ + var dataPost = {}; + dataPost[UserAPI.QUERY.REQ] = UserAPI.REQ.STORE; + dataPost[UserAPI.QUERY.USER] = sUserID; + dataPost[UserAPI.QUERY.STATE] = State.key(this, PDP11.APPVERSION); + dataPost[UserAPI.QUERY.DATA] = sState; + var sRequest = Web.getHost() + UserAPI.ENDPOINT; + if (!fSync) { + Web.getResource(sRequest, dataPost, true); + } else { + var response = Web.getResource(sRequest, dataPost); + var sResponse = response[0]; + if (response[1]) { + if (sResponse) { + var i = sResponse.indexOf('\n'); + if (i > 0) sResponse = sResponse.substr(0, i); + if (!sResponse.indexOf("Error: ")) sResponse = sResponse.substr(7); + } + sResponse = '{"' + UserAPI.RES.CODE + '":' + response[1] + ',"' + UserAPI.RES.DATA + '":"' + sResponse + '"}'; + } + if (DEBUG && this.messageEnabled()) this.printMessage(sResponse); + return JSON.parse(sResponse); + } + return null; } - if (!sStatePath) { - this.setReady(); - } else { - var cmp = this; - web.getResource(sStatePath, null, true, function(sURL, sResource, nErrorCode) { - cmp.doneLoad(sURL, sResource, nErrorCode); - }); + /** + * onPower() + * + * This handles UI requests to toggle the computer's power (eg, see the "power" button binding). + * + * @this {ComputerPDP11} + */ + onPower() + { + if (!this.nPowerChange) { + if (!this.flags.powered) { + this.wait(this.powerOn); + } else { + this.powerOff(false, true); + } + } } - if (!this.bindings["power"]) this.fAutoPower = true; - - /* - * Power on the computer, giving every component the opportunity to reset or restore itself. + /** + * onReset() + * + * This handles UI requests to reset the computer's state (eg, see the "reset" button binding). + * + * @this {ComputerPDP11} */ - if (!fSuspended && this.fAutoPower) this.wait(this.powerOn); + onReset() + { + /* + * I'm going to start with the presumption that it makes little sense for an "unpowered" computer to be "reset"; + * ditto if the power state is currently being changed. + */ + if (!this.flags.powered || this.nPowerChange) return; + + /* + * If this is a "resumable" machine (and it's not using a predefined state), then we overload the reset + * operation to offer an explicit "save or discard" option first. This is currently the only UI we offer to + * discard a machine's state, including any disk changes. The traditional "reset" operation is still available + * for non-resumable machines. + * + * TODO: Break this behavior out into a separate "discard" operation, in case the designer of the machine really + * wants to clutter the UI with confusing options. ;-) + */ + if (this.resume && !this.sResumePath) { + /* + * I used to bypass the prompt if this.resume == ComputerPDP11.RESUME_AUTO, setting fSave to true automatically, + * but that gives the user no means of resetting a resumable machine that contains errors in its resume state. + */ + var fSave = (/* this.resume == ComputerPDP11.RESUME_AUTO || */ Web.confirmUser("Click OK to save changes to this " + PDP11.APPNAME + " machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.")); + this.powerOff(fSave, true); + /* + * Forcing the page to reload is an expedient option, but ugly. It's preferable to call powerOn() + * and rely on all the components to reset themselves to their default state. The components with + * the greatest burden here are FDC and HDC, which must rely on the fReload flag to determine whether + * or not to unload/reload all their original auto-mounted disk images. + * + * However, if we started with a predefined state (ie, sStatePath is set), we take this shortcut, because + * we don't (yet) have code in place to gracefully reload the initial state (requires calling getResource() + * again); alternatively, we could avoid throwing that state away, but it seems better to save the memory. + * + * TODO: Make this more graceful, so that we can stop using the reloadPage() sledgehammer. + */ + if (!fSave && this.sStatePath) { + Web.reloadPage(); + return; + } + if (!fSave) this.fReload = true; + this.powerOn(ComputerPDP11.RESUME_NONE); + this.fReload = false; + } else { + this.reset(); + if (this.cpu) this.cpu.autoStart(); + } + } + + /** + * getMachineComponent(sType, componentPrev) + * + * @this {ComputerPDP11} + * @param {string} sType + * @param {Component|null} [componentPrev] of previously returned component, if any + * @return {Component|null} + */ + getMachineComponent(sType, componentPrev) + { + var componentLast = componentPrev; + var aComponents = Component.getComponents(this.id); + for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { + var component = aComponents[iComponent]; + if (componentPrev) { + if (componentPrev == component) componentPrev = null; + continue; + } + if (component.type == sType) return component; + } + if (!componentLast) Component.log("Machine component type '" + sType + "' not found", "warning"); + return null; + } + + /** + * setFocus(fScroll) + * + * NOTE: When soft keyboard buttons call us to return focus to the machine (and away from the button), + * the browser's default behavior is to scroll the element into view, which can be annoying, especially on iOS, + * where the display is more constrained, so we no longer do it by default (fScroll must be true). + * + * @this {ComputerPDP11} + * @param {boolean} [fScroll] (true if you really want the control scrolled into view) + */ + setFocus(fScroll) + { + if (this.controlPrint) { + /* + * This seems to be recommended work-around to prevent the browser from scrolling the focused element + * into view. The CPU is not a visual component, so when the CPU wants to set focus, the primary intent + * is to ensure that keyboard input is fielded properly. + */ + var x = 0, y = 0; + if (!fScroll && window) { + x = window.scrollX; + y = window.scrollY; + } + + this.controlPrint.focus(); + + if (!fScroll && window) { + window.scrollTo(x, y); + } + } + } + + /** + * ComputerPDP11.init() + * + * For every machine represented by an HTML element of class "pdp11-machine", this function + * locates the HTML element of class "computer", extracting the JSON-encoded parameters for the + * Computer constructor from the element's "data-value" attribute, invoking the constructor to + * create a Computer component, and then binding any associated HTML controls to the new component. + */ + static init() + { + /* + * In non-COMPILED builds, embedMachine() may have set XMLVERSION. + */ + if (!COMPILED && XMLVERSION) PDP11.APPVERSION = XMLVERSION; + + var aeMachines = Component.getElementsByClass(document, PDP11.APPCLASS + "-machine"); + + for (var iMachine = 0; iMachine < aeMachines.length; iMachine++) { + + var eMachine = aeMachines[iMachine]; + var parmsMachine = Component.getComponentParms(eMachine); + + var aeComputers = Component.getElementsByClass(eMachine, PDP11.APPCLASS, "computer"); + + for (var iComputer = 0; iComputer < aeComputers.length; iComputer++) { + + var eComputer = aeComputers[iComputer]; + var parmsComputer = Component.getComponentParms(eComputer); + + /* + * We set fSuspended in the Computer constructor because we want to "power up" the + * computer ourselves, after any/all bindings are in place. + */ + var computer = new ComputerPDP11(parmsComputer, parmsMachine, true); + + if (DEBUG && computer.messageEnabled()) { + computer.printMessage("onInit(" + computer.flags.powered + ")"); + } + + /* + * Bind any "power", "reset" and "save" buttons. An "erase" button was also considered, + * but "reset" now provides a way to force the machine to start from scratch again, so "erase" + * may be redundant now. + */ + Component.bindComponentControls(computer, eComputer, PDP11.APPCLASS); + + /* + * Power on the computer, giving every component the opportunity to reset or restore itself. + */ + if (computer.fAutoPower) computer.wait(computer.powerOn); + } + } + } + + /** + * ComputerPDP11.show() + * + * When exit() is using an "onbeforeunload" handler, this "onpageshow" handler allows us to repower everything, + * without either resetting or restoring. We call powerOn() with a special resume value (RESUME_REPOWER) if the + * computer is already marked as "ready", meaning the browser didn't change anything. This "repower" process + * should be very quick, essentially just marking all components as powered again (so that, for example, the Video + * component will start drawing again) and firing the CPU up again. + */ + static show() + { + var aeComputers = Component.getElementsByClass(document, PDP11.APPCLASS, "computer"); + for (var iComputer = 0; iComputer < aeComputers.length; iComputer++) { + var eComputer = aeComputers[iComputer]; + var parmsComputer = Component.getComponentParms(eComputer); + var computer = /** @type {ComputerPDP11} */ (Component.getComponentByType("Computer", parmsComputer['id'])); + if (computer) { + + if (DEBUG && computer.messageEnabled()) { + computer.printMessage("onShow(" + computer.fInitialized + "," + computer.flags.powered + ")"); + } + + /* + * Note that the FIRST 'onpageshow' event, and therefore the first show() callback, occurs + * AFTER the the initial 'onload' event, and at that point in time, fInitialized will not be set yet. + * So, practically speaking, the first show() callback isn't all that useful. + */ + if (computer.fInitialized && !computer.flags.powered) { + /** + * Repower the computer, notifying every component to continue running as-is. + */ + computer.powerOn(ComputerPDP11.RESUME_REPOWER); + } + } + } + } + + /** + * ComputerPDP11.exit() + * + * The Computer is currently the only component that uses an "exit" handler, which Web.onExit() defines as + * either an "unload" or "onbeforeunload" handler. This gives us the opportunity to save the machine state, + * using our powerOff() function, before the page goes away. + * + * It's worth noting that "onbeforeunload" offers one nice feature when used instead of "onload": the entire + * page (and therefore this entire application) is retained in its current state by the browser (well, some + * browsers), so that if you go to a new URL, either by entering a new URL in the same window/tab, or by pressing + * the FORWARD button, and then you press the BACK button, the page is immediately restored to its previous state. + * + * In fact, that's how some browsers operate whether you have an "onbeforeunload" handler or not; in other words, + * an "onbeforeunload" handler doesn't change the page retention behavior of the browser. By contrast, the mere + * presence of an "onunload" handler generally causes a browser to throw the page away once the handler returns. + * + * However, in order to safely use "onbeforeunload", we must add yet another handler ("onpageshow") to repower + * everything, without either resetting or restoring. Hence, the ComputerPDP11.show() function, which calls powerOn() + * with a special resume value (RESUME_REPOWER) if the computer is already marked as "ready", meaning the browser + * didn't change anything. This "repower" process should be very quick, essentially just marking all components as + * powered again (so that, for example, the Video component will start drawing again) and firing the CPU up again. + * + * Reportedly, some browsers (eg, Opera) don't support "onbeforeunload", in which case Component will have to use + * "unload" instead. But even when the page must be rebuilt from scratch, the combination of browser cache and + * localStorage means the simulation should be restored and become operational almost immediately. + */ + static exit() + { + var aeComputers = Component.getElementsByClass(document, PDP11.APPCLASS, "computer"); + for (var iComputer = 0; iComputer < aeComputers.length; iComputer++) { + var eComputer = aeComputers[iComputer]; + var parmsComputer = Component.getComponentParms(eComputer); + var computer = /** @type {ComputerPDP11} */ (Component.getComponentByType("Computer", parmsComputer['id'])); + if (computer) { + + if (DEBUG && computer.messageEnabled()) { + computer.printMessage("onExit(" + computer.flags.powered + ")"); + } + + if (computer.flags.powered) { + /** + * Power off the computer, giving every component an opportunity to save its state, + * but only if 'resume' has been set AND there is no valid resume path (because if a valid resume + * path exists, we'll always load our state from there, and not from whatever we save here). + */ + computer.powerOff(!!(computer.resume && !computer.sResumePath), true); + } + } + } + } } -Component.subclass(ComputerPDP11); - ComputerPDP11.STATE_FAILSAFE = "failsafe"; ComputerPDP11.STATE_VALIDATE = "validate"; ComputerPDP11.STATE_TIMESTAMP = "timestamp"; @@ -291,1335 +1614,11 @@ ComputerPDP11.RESUME_AUTO = 1; // automatically save/restore state ComputerPDP11.RESUME_PROMPT = 2; // automatically save but conditionally restore (WARNING: if restore is declined, any state is discarded) ComputerPDP11.RESUME_DELETE = 3; // same as RESUME_PROMPT but discards ALL machines states whenever ANY machine restore is declined (undocumented) -/** - * getMachineID() - * - * @return {string} - */ -ComputerPDP11.prototype.getMachineID = function() -{ - return this.sMachineID; -}; - -/** - * setMachineParms(parmsMachine) - * - * If no explicit machine parms were provided, then we check for 'parms' in the bundled resources (if any). - * - * @param {Object} [parmsMachine] - */ -ComputerPDP11.prototype.setMachineParms = function(parmsMachine) -{ - if (!parmsMachine) { - var sParms; - if (typeof resources == 'object' && (sParms = resources['parms'])) { - try { - parmsMachine = /** @type {Object} */ (eval("(" + sParms + ")")); - } catch(e) { - Component.error(e.message + " (" + sParms + ")"); - } - } - } - this.parmsMachine = parmsMachine; -}; - -/** - * getMachineParm(sParm, parmsComponent) - * - * If the machine parameter doesn't exist, we check for a matching component parameter (if parmsComponent is provided), - * and failing that, we check the bundled resources (if any). - * - * At the moment, the only bundled resource request we expect to encounter is 'state'; if it exists, then we return - * 'state' back to the caller (ie, the name of the resource), so that the caller will then attempt to load the 'state' - * resource to obtain the actual state. - * - * @param {string} sParm - * @param {Object} [parmsComponent] - * @return {string|undefined} - */ -ComputerPDP11.prototype.getMachineParm = function(sParm, parmsComponent) -{ - /* - * When checking parmsURL, the check is allowed be a bit looser, because URL parameters are - * user-supplied, whereas most other parameters are developer-supplied. Granted, a developer - * may also be sloppy and neglect to use correct case (eg, 'automount' instead of 'autoMount'), - * but there are limits to my paranoia. - */ - var sParmLC = sParm.toLowerCase(); - var value = Component.parmsURL[sParm] || Component.parmsURL[sParmLC]; - - if (value === undefined && this.parmsMachine) { - value = this.parmsMachine[sParm]; - } - if (value === undefined && parmsComponent) { - value = parmsComponent[sParm]; - } - if (value === undefined && typeof resources == 'object' && resources[sParm]) { - value = sParm; - } - return value; -}; - -/** - * saveMachineParms() - * - * @return {string|null} - */ -ComputerPDP11.prototype.saveMachineParms = function() -{ - return this.parmsMachine? JSON.stringify(this.parmsMachine) : null; -}; - -/** - * getUserID() - * - * @return {string} - */ -ComputerPDP11.prototype.getUserID = function() -{ - return this.sUserID || ""; -}; - -/** - * doneLoad(sURL, sStateData, nErrorCode) - * - * @this {ComputerPDP11} - * @param {string} sURL - * @param {string} sStateData - * @param {number} nErrorCode - */ -ComputerPDP11.prototype.doneLoad = function(sURL, sStateData, nErrorCode) -{ - if (!nErrorCode) { - this.sStateData = sStateData; - this.fStateData = true; - if (DEBUG && this.messageEnabled()) { - this.printMessage("loaded state file " + sURL.replace(this.sUserID || "xxx", "xxx")); - } - } else { - this.sResumePath = null; - this.fServerState = false; - this.notice('Unable to load machine state from server (error ' + nErrorCode + (sStateData? ': ' + str.trim(sStateData) : '') + ')'); - } - this.setReady(); -}; - -/** - * wait(fn, parms) - * - * wait() waits until every component is ready (including ourselves, the last component we check), then calls the - * specified Computer method. - * - * TODO: The Closure Compiler makes it difficult for us to define a function type for "fn" that works in all cases; - * sometimes we want to pass a function that takes only a "number", and other times we want to pass a function that - * takes only an "Array" (the type will mirror that of the "parms" parameter). However, the Closure Compiler insists - * that both functions must be declared as accepting both types of parameters. So once again, we must use an untyped - * function declaration, instead of something stricter like: - * - * param {function(this:Computer, (number|Array|undefined)): undefined} fn - * - * @this {ComputerPDP11} - * @param {function(...)} fn - * @param {number|Array} [parms] optional parameters - */ -ComputerPDP11.prototype.wait = function(fn, parms) -{ - var computer = this; - var aComponents = Component.getComponents(this.id); - for (var iComponent = 0; iComponent <= aComponents.length; iComponent++) { - var component = (iComponent < aComponents.length ? aComponents[iComponent] : this); - if (!component.isReady()) { - component.isReady(function onComponentReady() { - computer.wait(fn, parms); - }); - return; - } - } - if (DEBUG && this.messageEnabled()) this.printMessage("ComputerPDP11.wait(ready)"); - fn.call(this, parms); -}; - -/** - * validateState(stateComputer) - * - * NOTE: We clear() stateValidate only when there's no stateComputer. - * - * @this {ComputerPDP11} - * @param {State|null} [stateComputer] - * @return {boolean} true if state passes validation, false if not - */ -ComputerPDP11.prototype.validateState = function(stateComputer) -{ - var fValid = true; - var stateValidate = new State(this, PDP11.APPVERSION, ComputerPDP11.STATE_VALIDATE); - if (stateValidate.load() && stateValidate.parse()) { - var sTimestampValidate = stateValidate.get(ComputerPDP11.STATE_TIMESTAMP); - var sTimestampComputer = stateComputer? stateComputer.get(ComputerPDP11.STATE_TIMESTAMP) : "unknown"; - if (sTimestampValidate != sTimestampComputer) { - this.notice("Machine state may be out-of-date\n(" + sTimestampValidate + " vs. " + sTimestampComputer + ")\nCheck your browser's local storage limits"); - fValid = false; - if (!stateComputer) stateValidate.clear(); - } else { - if (DEBUG && this.messageEnabled()) { - this.printMessage("Last state: " + sTimestampComputer + " (validate: " + sTimestampValidate + ")"); - } - } - } - return fValid; -}; - -/** - * powerOn(resume) - * - * Power every component "up", applying any previously available state information. - * - * @this {ComputerPDP11} - * @param {number} [resume] is a valid RESUME value; default is this.resume - */ -ComputerPDP11.prototype.powerOn = function(resume) -{ - if (resume === undefined) { - resume = this.resume || (this.sStateData? ComputerPDP11.RESUME_AUTO : ComputerPDP11.RESUME_NONE); - } - - if (DEBUG && this.messageEnabled()) { - this.printMessage("ComputerPDP11.powerOn(" + (resume == ComputerPDP11.RESUME_REPOWER ? "repower" : (resume ? "resume" : "")) + ")"); - } - - if (this.nPowerChange) { - return; - } - this.nPowerChange++; - - var fRepower = false; - var fRestore = false; - this.fRestoreError = false; - var stateComputer = this.stateComputer || new State(this, PDP11.APPVERSION); - - if (resume == ComputerPDP11.RESUME_REPOWER) { - fRepower = true; - } - else if (resume > ComputerPDP11.RESUME_NONE) { - if (stateComputer.load(this.sStateData)) { - /* - * Since we're resuming something (either a predefined state or a state from localStorage), let's - * create a "failsafe" checkpoint in localStorage, and destroy it at the end of a successful powerOn(). - * Which means, of course, that if a previous "failsafe" checkpoint already exists, something bad - * may have happened the last time around. - */ - this.stateFailSafe = new State(this, PDP11.APPVERSION, ComputerPDP11.STATE_FAILSAFE); - if (this.stateFailSafe.load()) { - this.powerReport(stateComputer); - /* - * We already know resume is something other than RESUME_NONE, so we'll go ahead and bump it - * all the way to RESUME_PROMPT, so that the user will be prompted, and if the user declines to - * restore, the state will be removed. - */ - resume = ComputerPDP11.RESUME_PROMPT; - /* - * To ensure that the set() below succeeds, we need to call unload(), otherwise it may fail - * with a "read only" error (eg, "TypeError: Cannot assign to read only property 'timestamp'"). - */ - this.stateFailSafe.unload(); - } - - this.stateFailSafe.set(ComputerPDP11.STATE_TIMESTAMP, usr.getTimestamp()); - this.stateFailSafe.store(); - - var fValidate = this.resume && !this.fServerState; - if (resume == ComputerPDP11.RESUME_AUTO || web.confirmUser("Click OK to restore the previous " + PDP11.APPNAME + " machine state, or CANCEL to reset the machine.")) { - fRestore = stateComputer.parse(); - if (fRestore) { - var sCode = stateComputer.get(UserAPI.RES.CODE); - var sData = stateComputer.get(UserAPI.RES.DATA); - if (sCode) { - if (sCode == UserAPI.CODE.OK) { - stateComputer.load(sData); - } else { - /* - * A missing (or not yet created) state file is no cause for alarm, but other errors might be - */ - if (sCode == UserAPI.CODE.FAIL && sData != UserAPI.FAIL.NOSTATE) { - this.notice("Error: " + sData); - if (sData == UserAPI.FAIL.VERIFY) this.resetUserID(); - } else { - this.println(sCode + ": " + sData); - } - /* - * Try falling back to the state that we should have saved in localStorage, as a backup to the - * server-side state. - */ - stateComputer.unload(); // discard the invalid server-side state first - if (stateComputer.load()) { - fRestore = stateComputer.parse(); - fValidate = true; - } else { - fRestore = false; // hmmm, there was nothing in localStorage either - } - } - } - } - /* - * If the load/parse was successful, and it was from localStorage (not sStateData), - * then we should to try verify that localStorage snapshot is current. One reason it may - * NOT be current is if localStorage was full and we got a quota error during the last - * powerOff(). - */ - if (fValidate) this.validateState(fRestore? stateComputer : null); - } else { - /* - * RESUME_PROMPT indicates we should delete the state if they clicked Cancel to confirm() above. - */ - if (resume == ComputerPDP11.RESUME_PROMPT) stateComputer.clear(); - } - } else { - /* - * If there's no state, then there should also be no validation timestamp; if there is, then once again, - * we're probably dealing with a quota error. - */ - this.validateState(); - } - delete this.sStateData; - delete this.stateComputer; - } - - /* - * Start powering all components, including any data they may need to restore their state; - * we restore power to the CPU last. - */ - var aComponents = Component.getComponents(this.id); - for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { - var component = aComponents[iComponent]; - if (component !== this && component != this.cpu) { - fRestore = this.powerRestore(component, stateComputer, fRepower, fRestore); - } - } - - /* - * Assuming this is not a repower, we must perform another wait, because some components may - * have marked themselves as "not ready" again (eg, the FDC component, if the restore forced it - * to mount one or more additional disk images). - */ - var aParms = [stateComputer, resume, fRestore]; - - if (resume != ComputerPDP11.RESUME_REPOWER) { - this.wait(this.donePowerOn, aParms); - return; - } - this.donePowerOn(aParms); -}; - -/** - * powerRestore(component, stateComputer, fRepower, fRestore) - * - * @this {ComputerPDP11} - * @param {Component} component - * @param {State} stateComputer - * @param {boolean} fRepower - * @param {boolean} fRestore - * @return {boolean} true if restore should continue, false if not - */ -ComputerPDP11.prototype.powerRestore = function(component, stateComputer, fRepower, fRestore) -{ - if (!component.flags.powered) { - - component.flags.powered = true; - - if (component.powerUp) { - - var data = null; - if (fRestore) { - data = stateComputer.get(component.id); - if (!data) { - /* - * This is a hack that makes it possible for a machine whose ID has been - * supplemented with a suffix (a single letter or digit) to find object IDs - * in states created from a machine without the suffix. - * - * For example, if a state file was created from a machine with ID "ibm5160" - * but the current machine is "ibm5160a", this attempts a second lookup with - * "ibm5160", enabling us to find objects that match the original machine ID - * (eg, "ibm5160.romEGA"). - */ - data = stateComputer.get(component.id.replace(/[a-z0-9]\./i, '.')); - } - } - - /* - * State.get() will return whatever was originally passed to State.set() (eg, an - * Object or a string), but components are supposed to store only Objects, so if a - * string comes back, something went wrong. By explicitly eliminating "string" data, - * the Closure Compiler stops complaining that we might be passing strings to our - * powerUp() functions (even though we know we're not). - * - * TODO: Determine if there's some way to coerce the Closure Compiler into treating - * data as Object or null, without having to include this runtime check. An assert - * would be a good idea, but this is overkill. - */ - if (typeof data === "string") data = null; - - /* - * If computer is null, this is simply a repower notification, which most components - * don't do anything with. Exceptions include: CPU (since it may be halted) and Video - * (since its screen may be "turned off"). - */ - if (!component.powerUp(data, fRepower) && data) { - - Component.error("Unable to restore state for " + component.type); - /* - * If this is a resume error for a machine that also has a predefined state - * AND we're not restoring from that state, then throw away the current state, - * prevent any new state from being created, and then force a reload, which will - * hopefully restore us to the functioning predefined state. - * - * TODO: Considering doing this in ALL cases, not just in situations where a - * 'state' exists but we're not actually resuming from it. - */ - if (this.sStatePath && !this.fStateData) { - stateComputer.clear(); - this.resume = ComputerPDP11.RESUME_NONE; - web.reloadPage(); - } else { - /* - * In all other cases, we set fRestoreError, which should trigger a call to - * powerReport() and then delete the offending state. - */ - this.fRestoreError = true; - } - /* - * Any failure triggers an automatic to call powerUp() again, without any state, - * in the hopes that the component can recover by performing a reset. - */ - component.powerUp(null); - /* - * We also disable the rest of the restore operation, because it's not clear - * the remaining state information can be trusted; the machine is already in an - * inconsistent state, so we're not likely to make things worse, and the only - * alternative (starting over and performing a state-less reset) isn't likely to make - * the user any happier. But, we'll see... we need some experience with the code. - */ - fRestore = false; - } - } - - if (!fRepower && component.comment) { - var asComments = component.comment.split("|"); - for (var i = 0; i < asComments.length; i++) { - component.status(asComments[i]); - } - } - } - return fRestore; -}; - -/** - * donePowerOn(aParms) - * - * This is nothing more than a continuation of powerOn(), giving us the option of calling wait() one more time. - * - * @this {ComputerPDP11} - * @param {Array} aParms containing [stateComputer, resume, fRestore] - */ -ComputerPDP11.prototype.donePowerOn = function(aParms) -{ - var stateComputer = aParms[0]; - var fRepower = (aParms[1] < 0); - var fRestore = aParms[2]; - - if (DEBUG && this.flags.powered && this.messageEnabled()) { - this.printMessage("ComputerPDP11.donePowerOn(): redundant"); - } - - this.fInitialized = true; - this.flags.powered = true; - var controlPower = this.bindings["power"]; - if (controlPower) controlPower.textContent = "Shutdown"; - - /* - * Once we get to this point, we're guaranteed that all components are ready, so it's safe to power the CPU; - * the CPU should begin executing immediately, unless a debugger is attached. - */ - if (this.cpu) { - /* - * TODO: Do we not care about the return value here? (ie, is checking fRestoreError sufficient)? - */ - this.powerRestore(this.cpu, stateComputer, fRepower, fRestore); - this.updateDisplays(); - this.cpu.autoStart(); - } - - /* - * If the state was bad, offer to report it and then delete it. Deleting may be moot, since invariably a new - * state will be created on powerOff() before the next powerOn(), but it seems like good paranoia all the same. - */ - if (this.fRestoreError) { - this.powerReport(stateComputer); - stateComputer.clear(); - } - - if (!fRepower && this.stateFailSafe) { - this.stateFailSafe.clear(); - delete this.stateFailSafe; - } - - this.nPowerChange = 0; -}; - -/** - * checkPower() - * - * @this {ComputerPDP11} - * @return {boolean} true if the computer is fully powered, false otherwise - */ -ComputerPDP11.prototype.checkPower = function() -{ - if (this.flags.powered) return true; - - var component = null, iComponent; - var aComponents = Component.getComponents(this.id); - for (iComponent = 0; iComponent < aComponents.length; iComponent++) { - component = aComponents[iComponent]; - if (component !== this && !component.flags.ready) break; - } - if (iComponent == aComponents.length) { - for (iComponent = 0; iComponent < aComponents.length; iComponent++) { - component = aComponents[iComponent]; - if (component !== this && !component.flags.powered) break; - } - } - if (iComponent == aComponents.length) component = this; - var s = "The " + component.type + " component (" + component.id + ") is not " + (!component.flags.ready? "ready yet" + (component.fnReady? " (waiting for notification)" : "") : "powered yet") + "."; - web.alertUser(s); - return false; -}; - -/** - * powerReport(stateComputer) - * - * @this {ComputerPDP11} - * @param {State} stateComputer - */ -ComputerPDP11.prototype.powerReport = function(stateComputer) -{ - if (web.confirmUser("There may be a problem with your " + PDP11.APPNAME + " machine.\n\nTo help us diagnose it, click OK to send this " + PDP11.APPNAME + " machine state to http://" + SITEHOST + ".")) { - web.sendReport(PDP11.APPNAME, PDP11.APPVERSION, this.url, this.getUserID(), ReportAPI.TYPE.BUG, stateComputer.toString()); - } -}; - -/** - * powerOff(fSave, fShutdown) - * - * Power every component "down" and optionally save the machine state. - * - * There's one scenario that powerOff() isn't currently able to deal with very effectively: what to do when - * the user switches away while it's still being restored, causing Disk getResource() calls to fail. The - * Disk component calls notify() when that happens -- see Disk.mount() -- but the FDC and HDC controllers don't - * notify *us* of those problems, so Computer assumes that the restore was completely successful, when in fact - * it was only partially successful. - * - * Then we immediately arrive here to perform a save, following that incomplete restore. It would be wrong to - * deal with that incomplete restore by setting fRestoreError, because we don't want to trigger a powerReport() - * and the deletion of the previous state, because the state itself was presumably OK. Unfortunately, the new - * state we now save will no longer include manually mounted disk images whose remounts were interrupted, so future - * restores won't remount them either. - * - * We could perhaps solve this by having the Disk component notify us in those situations, set a new flag - * (fRestoreIncomplete?), and set fSave to false if that's ever set. Be careful though: when fSave is false, - * that means MORE than not saving; it also means deleting any previous state, which is NOT what you'd want to - * do in a "fRestoreIncomplete" situation. Also, we have to worry about Disk operations that fail for other reasons, - * making sure those failures don't interfere with the save process in the same way. - * - * As it stands, the worst that happens is any manually mounted disk images might have to be manually remounted, - * which doesn't seem like a huge problem. - * - * @this {ComputerPDP11} - * @param {boolean} [fSave] is true to request a saved state - * @param {boolean} [fShutdown] is true if the machine is being shut down - * @return {string|null} string representing the saved state (or null if error) - */ -ComputerPDP11.prototype.powerOff = function(fSave, fShutdown) -{ - var data; - var sState = "none"; - - if (DEBUG && this.messageEnabled()) { - this.printMessage("ComputerPDP11.powerOff(" + (fSave ? "save" : "nosave") + (fShutdown ? ",shutdown" : "") + ")"); - } - - if (this.nPowerChange) { - return null; - } - this.nPowerChange--; - - var stateComputer = new State(this, PDP11.APPVERSION); - var stateValidate = new State(this, PDP11.APPVERSION, ComputerPDP11.STATE_VALIDATE); - - var sTimestamp = usr.getTimestamp(); - stateValidate.set(ComputerPDP11.STATE_TIMESTAMP, sTimestamp); - stateComputer.set(ComputerPDP11.STATE_TIMESTAMP, sTimestamp); - stateComputer.set(ComputerPDP11.STATE_VERSION, APPVERSION); - stateComputer.set(ComputerPDP11.STATE_HOSTURL, web.getHostURL()); - stateComputer.set(ComputerPDP11.STATE_BROWSER, web.getUserAgent()); - - /* - * Always power the CPU "down" first, just to help insure it doesn't ask other components to do anything - * after they're no longer ready. - */ - if (this.cpu && this.cpu.powerDown) { - if (fShutdown) this.cpu.stopCPU(); - data = this.cpu.powerDown(fSave, fShutdown); - if (typeof data === "object") stateComputer.set(this.cpu.id, data); - if (fShutdown) { - this.cpu.flags.powered = false; - if (data === false) sState = null; - } - } - - var aComponents = Component.getComponents(this.id); - for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { - var component = aComponents[iComponent]; - if (component.flags.powered) { - if (component.powerDown) { - data = component.powerDown(fSave, fShutdown); - if (typeof data === "object") stateComputer.set(component.id, data); - } - if (fShutdown) { - component.flags.powered = false; - if (data === false) sState = null; - } - } - } - - if (sState) { - if (fShutdown) { - var fClear = false; - var fClearAll = false; - if (fSave) { - if (this.sUserID) { - this.saveServerState(this.sUserID, stateComputer.toString()); - } - if (!stateValidate.store() || !stateComputer.store()) { - sState = null; - /* - * New behavior as of v1.13.2: if it appears that localStorage is full, we blow it ALL away. - * Dedicated server-side storage is the only way we'll ever be able to reliably preserve a - * particular machine's state. Historically, attempting to limp along with whatever localStorage - * is left just generates the same useless and annoying warnings over and over. - */ - fClear = fClearAll = true; - } - } - else { - /* - * I used to ALWAYS clear (ie, delete) any associated computer state, but now I do this only if the - * current machine is "resumable", because there are situations where I have two configurations - * for the same machine -- one resumable and one not -- and I don't want the latter throwing away the - * state of the former. - * - * So this code is here now strictly for callers to delete the state of a "resumable" machine, not as - * some paranoid clean-up operation. - * - * An undocumented feature of this operation is that if your configuration uses the special 'resume="3"' - * value, and you click the "Reset" button, and then you click OK to reset the everything, this will - * actually reset EVERYTHING (ie, all localStorage for ALL configs will be reclaimed). - */ - if (this.resume) { - fClear = true; - fClearAll = (this.resume == ComputerPDP11.RESUME_DELETE); - } - } - if (fClear) { - stateComputer.clear(fClearAll); - } - } else { - sState = stateComputer.toString(); - } - } - - if (fShutdown) { - this.flags.powered = false; - var controlPower = this.bindings["power"]; - if (controlPower) controlPower.textContent = "Power"; - } - - this.nPowerChange = 0; - - return sState; -}; - -/** - * reset() - * - * Notify all (other) components with a reset() method that the Computer is being reset. - * - * NOTE: We'd like to reset the Bus first (due to the importance of the A20 line), but since we - * allocated the Bus object ourselves, after all the other components were allocated, it ends - * up near the end of Component's list of components. Hence the special case for this.bus below. - * - * Ditto for the CPU, in part because if the Front Panel resets before the CPU, it will end up - * snapping/displaying the PC as of the last instruction executed, before the CPU resets the PC, - * causing the Front Panel to display a stale address when we call updateDisplays() at the end. - * - * @this {ComputerPDP11} - */ -ComputerPDP11.prototype.reset = function() -{ - if (this.bus && this.bus.reset) { - this.printMessage("Resetting " + this.bus.type); - this.bus.reset(); - } - if (this.cpu && this.cpu.reset) { - this.printMessage("Resetting " + this.cpu.type); - this.cpu.reset(); - } - var aComponents = Component.getComponents(this.id); - for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { - var component = aComponents[iComponent]; - if (component !== this && component !== this.bus && component !== this.cpu && component.reset) { - this.printMessage("Resetting " + component.type); - component.reset(); - } - } - this.updateDisplays(-1); -}; - -/** - * start(ms, nCycles) - * - * Notify all (other) components with a start() method that the CPU has started. - * - * Note that we're called by startCPU(), which is why we exclude the CPU component, - * as well as ourselves. - * - * @this {ComputerPDP11} - * @param {number} ms - * @param {number} nCycles - */ -ComputerPDP11.prototype.start = function(ms, nCycles) -{ - var aComponents = Component.getComponents(this.id); - for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { - var component = aComponents[iComponent]; - if (component.type == "CPU" || component === this) continue; - if (component.start) { - component.start(ms, nCycles); - } - } - this.updateDisplays(-1); -}; - -/** - * stop(ms, nCycles) - * - * Notify all (other) components with a stop() method that the CPU has stopped. - * - * Note that we're called by stopCPU(), which is why we exclude the CPU component, - * as well as ourselves. - * - * @this {ComputerPDP11} - * @param {number} ms - * @param {number} nCycles - */ -ComputerPDP11.prototype.stop = function(ms, nCycles) -{ - var aComponents = Component.getComponents(this.id); - for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { - var component = aComponents[iComponent]; - if (component.type == "CPU" || component === this) continue; - if (component.stop) { - component.stop(ms, nCycles); - } - } - this.updateDisplays(-1); -}; - -/** - * updateDisplays(nUpdate) - * - * TODO: Notify all components with an updateDisplay() method that the computer's state has changed (not - * just the hard-coded ones below). - * - * If any DOM controls were bound to the CPU, then we need to call its updateDisplay() handler; if there are no - * such bindings, then cpu.updateDisplay() does nothing. - * - * Similarly, if there's a Panel, then we need to call its updateDisplay() handler, in case it created its own canvas - * and implemented its own register display (eg, dumpRegisters()); if not, then panel.updateDisplay() also does nothing. - * - * In practice, there will *either* be a Panel with a custom canvas *or* a set of DOM controls bound to the CPU *or* - * neither. In theory, there could be BOTH, but that would be unusual. - * - * TODO: Consider alternate approaches to these largely register-oriented display updates. Ordinarily, we like to - * separate logic from presentation, and currently the CPUState contains both, since it's the component that intimately - * knows the names, number, sizes, etc, of all the active registers. The Panel component is the logical candidate, - * but Panel is an optional component; it's often the case that only machines that include the Debugger also include - * Panel. - * - * @this {ComputerPDP11} - * @param {number} [nUpdate] (1 for periodic, -1 for forced, 0 or undefined otherwise) - */ -ComputerPDP11.prototype.updateDisplays = function(nUpdate) -{ - /* - * nUpdate is generally set to -1 whenever the CPU is transitioning to/from a running state, in which case - * cpu.updateDisplay() will definitely want to hide/show register contents; however, at other times, when the - * CPU is running, constantly updating the DOM controls too frequently can adversely impact overall performance. - * - * nUpdate will also be -1 whenever the Debugger has modified the state of the machine, implying that we're - * not sure what, if anything, actually changed. - */ - if (this.cpu) this.cpu.updateDisplay(nUpdate || 0); - if (this.panel) this.panel.updateDisplay(nUpdate || 0); -}; - -/** - * setBinding(sType, sBinding, control, sValue) - * - * @this {ComputerPDP11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "reset") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ -ComputerPDP11.prototype.setBinding = function(sType, sBinding, control, sValue) -{ - var computer = this; - - switch (sBinding) { - case "power": - this.bindings[sBinding] = control; - control.onclick = function onClickPower() { - computer.onPower(); - }; - return true; - - case "reset": - this.bindings[sBinding] = control; - control.onclick = function onClickReset() { - computer.onReset(); - }; - return true; - - /* - * Technically, this binding should now be called "saveState", to clearly distinguish it from - * the "Save Machine" control that's normally bound to the savePC() function in save.js. Saving - * an entire machine includes everything needed to start/restore the machine; eg, the machine - * XML configuration file(s) *and* the JSON-encoded machine state. - */ - case "save": - /* - * Since this feature depends on the server supporting the PCjs User API (see userapi.js), - * and since pcjs.org is no longer running a Node web server, we disable the feature for that - * particular host. - */ - if (str.endsWith(web.getHost(), "pcjs.org")) { - if (DEBUG) this.log("Remote user API not available"); - /* - * We could also simply hide the control; eg: - * - * control.style.display = "none"; - * - * but removing the control altogether seems better. - */ - control.parentNode.removeChild(/** @type {Node} */ (control)); - return false; - } - this.bindings[sBinding] = control; - control.onclick = function onClickSave() { - var sUserID = computer.queryUserID(true); - if (sUserID) { - /* - * I modified the test to include a check for sStatePath so that I could save new states - * for machines with existing states; otherwise, I'd have no (easy) way of capturing and - * updating their state. Making the machine (even temporarily) resumable would have been - * one work-around, but it's not appropriate for some machines, as their state is simply - * too large (for localStorage anyway, which is the default storage solution). - */ - var fSave = !!(computer.resume && !computer.sResumePath || computer.sStatePath); - var sState = computer.powerOff(fSave); - if (fSave) { - computer.saveServerState(sUserID, sState); - } else { - computer.notice("Resume disabled, machine state not saved"); - } - } - /* - * This seemed like a handy alternative, but it turned out to be a no-go, at least for large states: - * - * var sState = computer.powerOff(true); - * if (sState) { - * sState = "data:text/json;charset=utf-8," + encodeURIComponent(sState); - * window.open(sState); - * } - * - * Perhaps if I embedded the data in a link on the current page instead; eg: - * - * $('Download').appendTo('#container'); - */ - }; - return true; - - default: - break; - } - return false; -}; - -/** - * resetUserID() - */ -ComputerPDP11.prototype.resetUserID = function() -{ - web.setLocalStorageItem(ComputerPDP11.STATE_USERID, ""); - this.sUserID = null; -}; - -/** - * queryUserID(fPrompt) - * - * @param {boolean} [fPrompt] - * @returns {string|null|undefined} - */ -ComputerPDP11.prototype.queryUserID = function(fPrompt) -{ - var sUserID = this.sUserID; - if (!sUserID) { - sUserID = web.getLocalStorageItem(ComputerPDP11.STATE_USERID); - if (sUserID !== undefined) { - if (!sUserID && fPrompt) { - /* - * NOTE: Warning the user here that "Save" operations are not currently supported by pcjs.org is - * merely a precaution, because ordinarily, setBinding() should have already determined if we are - * running from pcjs.org and disabled any "Save" button. - */ - sUserID = web.promptUser("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below."); - if (sUserID) { - sUserID = this.verifyUserID(sUserID); - if (!sUserID) this.notice("The user ID is invalid."); - } - } - } else if (fPrompt) { - this.notice("Browser local storage is not available"); - } - } - return sUserID; -}; - -/** - * verifyUserID(sUserID) - * - * @this {ComputerPDP11} - * @param {string} sUserID - * @return {string} validated user ID, or null if error - */ -ComputerPDP11.prototype.verifyUserID = function(sUserID) -{ - this.sUserID = null; - var fMessages = DEBUG && this.messageEnabled(); - if (fMessages) this.printMessage("verifyUserID(" + sUserID + ")"); - var sRequest = web.getHost() + UserAPI.ENDPOINT + '?' + UserAPI.QUERY.REQ + '=' + UserAPI.REQ.VERIFY + '&' + UserAPI.QUERY.USER + '=' + sUserID; - var response = web.getResource(sRequest); - var nErrorCode = response[0]; - var sResponse = response[1]; - if (!nErrorCode && sResponse) { - try { - response = eval("(" + sResponse + ")"); - if (response.code && response.code == UserAPI.CODE.OK) { - web.setLocalStorageItem(ComputerPDP11.STATE_USERID, response.data); - if (fMessages) this.printMessage(ComputerPDP11.STATE_USERID + " updated: " + response.data); - this.sUserID = response.data; - } else { - if (fMessages) this.printMessage(response.code + ": " + response.data); - } - } catch (e) { - Component.error(e.message + " (" + sResponse + ")"); - } - } else { - if (fMessages) this.printMessage("invalid response (error " + nErrorCode + ")"); - } - return this.sUserID; -}; - -/** - * getServerStatePath() - * - * @this {ComputerPDP11} - * @return {string|null} sStatePath (null if no localStorage or no USERID stored in localStorage) - */ -ComputerPDP11.prototype.getServerStatePath = function() -{ - var sStatePath = null; - if (this.sUserID) { - if (DEBUG && this.messageEnabled()) { - this.printMessage(ComputerPDP11.STATE_USERID + " for load: " + this.sUserID); - } - sStatePath = web.getHost() + UserAPI.ENDPOINT + '?' + UserAPI.QUERY.REQ + '=' + UserAPI.REQ.LOAD + '&' + UserAPI.QUERY.USER + '=' + this.sUserID + '&' + UserAPI.QUERY.STATE + '=' + State.key(this, PDP11.APPVERSION); - } else { - if (DEBUG && this.messageEnabled()) { - this.printMessage(ComputerPDP11.STATE_USERID + " unavailable"); - } - } - return sStatePath; -}; - -/** - * saveServerState(sUserID, sState) - * - * @param {string} sUserID - * @param {string|null} sState - */ -ComputerPDP11.prototype.saveServerState = function(sUserID, sState) -{ - /* - * We must pass fSync == true, because (as I understand it) browsers will blow off any async - * requests when a page is being closed. Since our request is synchronous, storeServerState() - * should also return a result, but there's not much we can do with it, since browsers ALSO - * tend to blow off alerts() and the like when closing down. - */ - if (sState) { - if (DEBUG && this.messageEnabled()) { - this.printMessage("size of server state: " + sState.length + " bytes"); - } - var response = this.storeServerState(sUserID, sState, true); - if (response && response[UserAPI.RES.CODE] == UserAPI.CODE.OK) { - this.notice("Machine state saved to server"); - } else if (sState) { - var sError = (response && response[UserAPI.RES.DATA]) || UserAPI.FAIL.BADSTORE; - if (response[UserAPI.RES.CODE] == UserAPI.CODE.FAIL) { - sError = "Error: " + sError; - } else { - sError = "Error " + response[UserAPI.RES.CODE] + ": " + sError; - } - this.notice(sError); - this.resetUserID(); - } - } else { - if (DEBUG && this.messageEnabled()) { - this.printMessage("no state to store"); - } - } -}; - -/** - * storeServerState(sUserID, sState, fSync) - * - * @this {ComputerPDP11} - * @param {string} sUserID - * @param {string} sState - * @param {boolean} [fSync] is true if we're powering down and should perform a synchronous request (default is async) - * @return {*} server response if fSync is true and a response was received; otherwise null - */ -ComputerPDP11.prototype.storeServerState = function(sUserID, sState, fSync) -{ - if (DEBUG && this.messageEnabled()) { - this.printMessage(ComputerPDP11.STATE_USERID + " for store: " + sUserID); - } - /* - * TODO: Determine whether or not any browsers cancel our request if we're called during a browser "shutdown" event, - * and whether or not it matters if we do an async request (currently, we're not, to try to ensure the request goes through). - */ - var dataPost = {}; - dataPost[UserAPI.QUERY.REQ] = UserAPI.REQ.STORE; - dataPost[UserAPI.QUERY.USER] = sUserID; - dataPost[UserAPI.QUERY.STATE] = State.key(this, PDP11.APPVERSION); - dataPost[UserAPI.QUERY.DATA] = sState; - var sRequest = web.getHost() + UserAPI.ENDPOINT; - if (!fSync) { - web.getResource(sRequest, dataPost, true); - } else { - var response = web.getResource(sRequest, dataPost); - var sResponse = response[0]; - if (response[1]) { - if (sResponse) { - var i = sResponse.indexOf('\n'); - if (i > 0) sResponse = sResponse.substr(0, i); - if (!sResponse.indexOf("Error: ")) sResponse = sResponse.substr(7); - } - sResponse = '{"' + UserAPI.RES.CODE + '":' + response[1] + ',"' + UserAPI.RES.DATA + '":"' + sResponse + '"}'; - } - if (DEBUG && this.messageEnabled()) this.printMessage(sResponse); - return JSON.parse(sResponse); - } - return null; -}; - -/** - * onPower() - * - * This handles UI requests to toggle the computer's power (eg, see the "power" button binding). - * - * @this {ComputerPDP11} - */ -ComputerPDP11.prototype.onPower = function() -{ - if (!this.nPowerChange) { - if (!this.flags.powered) { - this.wait(this.powerOn); - } else { - this.powerOff(false, true); - } - } -}; - -/** - * onReset() - * - * This handles UI requests to reset the computer's state (eg, see the "reset" button binding). - * - * @this {ComputerPDP11} - */ -ComputerPDP11.prototype.onReset = function() -{ - /* - * I'm going to start with the presumption that it makes little sense for an "unpowered" computer to be "reset"; - * ditto if the power state is currently being changed. - */ - if (!this.flags.powered || this.nPowerChange) return; - - /* - * If this is a "resumable" machine (and it's not using a predefined state), then we overload the reset - * operation to offer an explicit "save or discard" option first. This is currently the only UI we offer to - * discard a machine's state, including any disk changes. The traditional "reset" operation is still available - * for non-resumable machines. - * - * TODO: Break this behavior out into a separate "discard" operation, in case the designer of the machine really - * wants to clutter the UI with confusing options. ;-) - */ - if (this.resume && !this.sResumePath) { - /* - * I used to bypass the prompt if this.resume == ComputerPDP11.RESUME_AUTO, setting fSave to true automatically, - * but that gives the user no means of resetting a resumable machine that contains errors in its resume state. - */ - var fSave = (/* this.resume == ComputerPDP11.RESUME_AUTO || */ web.confirmUser("Click OK to save changes to this " + PDP11.APPNAME + " machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.")); - this.powerOff(fSave, true); - /* - * Forcing the page to reload is an expedient option, but ugly. It's preferable to call powerOn() - * and rely on all the components to reset themselves to their default state. The components with - * the greatest burden here are FDC and HDC, which must rely on the fReload flag to determine whether - * or not to unload/reload all their original auto-mounted disk images. - * - * However, if we started with a predefined state (ie, sStatePath is set), we take this shortcut, because - * we don't (yet) have code in place to gracefully reload the initial state (requires calling getResource() - * again); alternatively, we could avoid throwing that state away, but it seems better to save the memory. - * - * TODO: Make this more graceful, so that we can stop using the reloadPage() sledgehammer. - */ - if (!fSave && this.sStatePath) { - web.reloadPage(); - return; - } - if (!fSave) this.fReload = true; - this.powerOn(ComputerPDP11.RESUME_NONE); - this.fReload = false; - } else { - this.reset(); - if (this.cpu) this.cpu.autoStart(); - } -}; - -/** - * getMachineComponent(sType, componentPrev) - * - * @this {ComputerPDP11} - * @param {string} sType - * @param {Component|null} [componentPrev] of previously returned component, if any - * @return {Component|null} - */ -ComputerPDP11.prototype.getMachineComponent = function(sType, componentPrev) -{ - var componentLast = componentPrev; - var aComponents = Component.getComponents(this.id); - for (var iComponent = 0; iComponent < aComponents.length; iComponent++) { - var component = aComponents[iComponent]; - if (componentPrev) { - if (componentPrev == component) componentPrev = null; - continue; - } - if (component.type == sType) return component; - } - if (!componentLast) Component.log("Machine component type '" + sType + "' not found", "warning"); - return null; -}; - -/** - * setFocus(fScroll) - * - * NOTE: When soft keyboard buttons call us to return focus to the machine (and away from the button), - * the browser's default behavior is to scroll the element into view, which can be annoying, especially on iOS, - * where the display is more constrained, so we no longer do it by default (fScroll must be true). - * - * @this {ComputerPDP11} - * @param {boolean} [fScroll] (true if you really want the control scrolled into view) - */ -ComputerPDP11.prototype.setFocus = function(fScroll) -{ - if (this.controlPrint) { - /* - * This seems to be recommended work-around to prevent the browser from scrolling the focused element - * into view. The CPU is not a visual component, so when the CPU wants to set focus, the primary intent - * is to ensure that keyboard input is fielded properly. - */ - var x = 0, y = 0; - if (!fScroll && window) { - x = window.scrollX; - y = window.scrollY; - } - - this.controlPrint.focus(); - - if (!fScroll && window) { - window.scrollTo(x, y); - } - } -}; - -/** - * ComputerPDP11.init() - * - * For every machine represented by an HTML element of class "pdp11-machine", this function - * locates the HTML element of class "computer", extracting the JSON-encoded parameters for the - * Computer constructor from the element's "data-value" attribute, invoking the constructor to - * create a Computer component, and then binding any associated HTML controls to the new component. - */ -ComputerPDP11.init = function() -{ - /* - * In non-COMPILED builds, embedMachine() may have set XMLVERSION. - */ - if (!COMPILED && XMLVERSION) PDP11.APPVERSION = XMLVERSION; - - var aeMachines = Component.getElementsByClass(document, PDP11.APPCLASS + "-machine"); - - for (var iMachine = 0; iMachine < aeMachines.length; iMachine++) { - - var eMachine = aeMachines[iMachine]; - var parmsMachine = Component.getComponentParms(eMachine); - - var aeComputers = Component.getElementsByClass(eMachine, PDP11.APPCLASS, "computer"); - - for (var iComputer = 0; iComputer < aeComputers.length; iComputer++) { - - var eComputer = aeComputers[iComputer]; - var parmsComputer = Component.getComponentParms(eComputer); - - /* - * We set fSuspended in the Computer constructor because we want to "power up" the - * computer ourselves, after any/all bindings are in place. - */ - var computer = new ComputerPDP11(parmsComputer, parmsMachine, true); - - if (DEBUG && computer.messageEnabled()) { - computer.printMessage("onInit(" + computer.flags.powered + ")"); - } - - /* - * Bind any "power", "reset" and "save" buttons. An "erase" button was also considered, - * but "reset" now provides a way to force the machine to start from scratch again, so "erase" - * may be redundant now. - */ - Component.bindComponentControls(computer, eComputer, PDP11.APPCLASS); - - /* - * Power on the computer, giving every component the opportunity to reset or restore itself. - */ - if (computer.fAutoPower) computer.wait(computer.powerOn); - } - } -}; - -/** - * ComputerPDP11.show() - * - * When exit() is using an "onbeforeunload" handler, this "onpageshow" handler allows us to repower everything, - * without either resetting or restoring. We call powerOn() with a special resume value (RESUME_REPOWER) if the - * computer is already marked as "ready", meaning the browser didn't change anything. This "repower" process - * should be very quick, essentially just marking all components as powered again (so that, for example, the Video - * component will start drawing again) and firing the CPU up again. - */ -ComputerPDP11.show = function() -{ - var aeComputers = Component.getElementsByClass(document, PDP11.APPCLASS, "computer"); - for (var iComputer = 0; iComputer < aeComputers.length; iComputer++) { - var eComputer = aeComputers[iComputer]; - var parmsComputer = Component.getComponentParms(eComputer); - var computer = /** @type {ComputerPDP11} */ (Component.getComponentByType("Computer", parmsComputer['id'])); - if (computer) { - - if (DEBUG && computer.messageEnabled()) { - computer.printMessage("onShow(" + computer.fInitialized + "," + computer.flags.powered + ")"); - } - - /* - * Note that the FIRST 'onpageshow' event, and therefore the first show() callback, occurs - * AFTER the the initial 'onload' event, and at that point in time, fInitialized will not be set yet. - * So, practically speaking, the first show() callback isn't all that useful. - */ - if (computer.fInitialized && !computer.flags.powered) { - /** - * Repower the computer, notifying every component to continue running as-is. - */ - computer.powerOn(ComputerPDP11.RESUME_REPOWER); - } - } - } -}; - -/** - * ComputerPDP11.exit() - * - * The Computer is currently the only component that uses an "exit" handler, which web.onExit() defines as - * either an "unload" or "onbeforeunload" handler. This gives us the opportunity to save the machine state, - * using our powerOff() function, before the page goes away. - * - * It's worth noting that "onbeforeunload" offers one nice feature when used instead of "onload": the entire - * page (and therefore this entire application) is retained in its current state by the browser (well, some - * browsers), so that if you go to a new URL, either by entering a new URL in the same window/tab, or by pressing - * the FORWARD button, and then you press the BACK button, the page is immediately restored to its previous state. - * - * In fact, that's how some browsers operate whether you have an "onbeforeunload" handler or not; in other words, - * an "onbeforeunload" handler doesn't change the page retention behavior of the browser. By contrast, the mere - * presence of an "onunload" handler generally causes a browser to throw the page away once the handler returns. - * - * However, in order to safely use "onbeforeunload", we must add yet another handler ("onpageshow") to repower - * everything, without either resetting or restoring. Hence, the ComputerPDP11.show() function, which calls powerOn() - * with a special resume value (RESUME_REPOWER) if the computer is already marked as "ready", meaning the browser - * didn't change anything. This "repower" process should be very quick, essentially just marking all components as - * powered again (so that, for example, the Video component will start drawing again) and firing the CPU up again. - * - * Reportedly, some browsers (eg, Opera) don't support "onbeforeunload", in which case Component will have to use - * "unload" instead. But even when the page must be rebuilt from scratch, the combination of browser cache and - * localStorage means the simulation should be restored and become operational almost immediately. - */ -ComputerPDP11.exit = function() -{ - var aeComputers = Component.getElementsByClass(document, PDP11.APPCLASS, "computer"); - for (var iComputer = 0; iComputer < aeComputers.length; iComputer++) { - var eComputer = aeComputers[iComputer]; - var parmsComputer = Component.getComponentParms(eComputer); - var computer = /** @type {ComputerPDP11} */ (Component.getComponentByType("Computer", parmsComputer['id'])); - if (computer) { - - if (DEBUG && computer.messageEnabled()) { - computer.printMessage("onExit(" + computer.flags.powered + ")"); - } - - if (computer.flags.powered) { - /** - * Power off the computer, giving every component an opportunity to save its state, - * but only if 'resume' has been set AND there is no valid resume path (because if a valid resume - * path exists, we'll always load our state from there, and not from whatever we save here). - */ - computer.powerOff(!!(computer.resume && !computer.sResumePath), true); - } - } - } -}; - /* * Initialize every Computer on the page. */ -web.onInit(ComputerPDP11.init); -web.onShow(ComputerPDP11.show); -web.onExit(ComputerPDP11.exit); +Web.onInit(ComputerPDP11.init); +Web.onShow(ComputerPDP11.show); +Web.onExit(ComputerPDP11.exit); -if (NODE) module.exports = ComputerPDP11; +export default ComputerPDP11; diff --git a/modules/pdp11/lib/cpu.js b/modules/pdp11/lib/cpu.js index ce2caff56..4e372670f 100644 --- a/modules/pdp11/lib/cpu.js +++ b/modules/pdp11/lib/cpu.js @@ -32,12 +32,10 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var usr = require("../../shared/lib/usrlib"); - var Component = require("../../shared/lib/component"); - var MessagesPDP11 = require("./messages"); -} +import Str from "../../shared/es6/strlib"; +import Usr from "../../shared/es6/usrlib"; +import Component from "../../shared/es6/component"; +import MessagesPDP11 from "./messages"; /* * A word (or more) about PDP-11 speeds: @@ -64,97 +62,1170 @@ if (NODE) { * we'll need to keep an eye out for exceptions. */ -/** - * CPUPDP11(parmsCPU, nCyclesDefault) - * - * The CPUPDP11 class supports the following (parmsCPU) properties: - * - * cycles: the machine's base cycles per second; the CPUStatePDP11 constructor - * will provide us with a default (based on the CPU model) to use as a fallback. - * - * multiplier: base cycle multiplier; default is 1. - * - * autoStart: true to automatically start, false to not, or null if "it depends"; - * null is the default, which means do not autostart UNLESS there is no Debugger - * and no "Run" button (ie, no way to manually start the machine). - * - * csStart: the number of cycles that runCPU() must wait before generating - * checksum records; -1 if disabled. checksum records are a diagnostic aid - * used to help compare one CPU run to another. - * - * csInterval: the number of cycles that runCPU() must execute before generating - * a checksum record; -1 if disabled. - * - * csStop: the number of cycles to stop generating checksum records. - * - * This component is primarily responsible for interfacing the CPU with the outside - * world (eg, Panel and Debugger components), and managing overall CPU operation. - * - * It is extended by the CPUStatePDP11 component, where the simulation control logic resides. - * - * @constructor - * @extends Component - * @param {Object} parmsCPU - * @param {number} nCyclesDefault - */ -function CPUPDP11(parmsCPU, nCyclesDefault) -{ - Component.call(this, "CPU", parmsCPU, CPUPDP11, MessagesPDP11.CPU); - - var nCycles = parmsCPU['cycles'] || nCyclesDefault; - - var nMultiplier = parmsCPU['multiplier'] || 1; - - this.nDisplayCount = 0; - this.nDisplayLimit = 30; - this.nCyclesPerSecond = nCycles; - - /* - * nCyclesMultiplier replaces the old "speed" variable (0, 1, 2) and eliminates the need for - * the constants (SPEED_SLOW, SPEED_FAST and SPEED_MAX). The UI simply doubles the multiplier - * until we've exceeded the host's speed limit and then starts the multiplier over at 1. - */ - this.nCyclesMultiplier = nMultiplier; - this.mhzDefault = Math.round(this.nCyclesPerSecond / 10000) / 100; - /* - * TODO: Take care of this with an initial setSpeed() call instead? - */ - this.mhzTarget = this.mhzDefault * this.nCyclesMultiplier; - - /* - * We add a number of flags to the set initialized by Component - */ - this.flags.running = false; - this.flags.starting = false; - this.flags.autoStart = parmsCPU['autoStart']; - - /* - * Get checksum parameters, if any. runCPU() behavior is not affected until fChecksum - * is true, which won't happen until resetChecksum() is called with nCyclesChecksumInterval - * ("csInterval") set to a positive value. +class CPUPDP11 extends Component { + /** + * CPUPDP11(parmsCPU, nCyclesDefault) * - * As above, any of these parameters can also be set with the Debugger's execution options - * command ("x"); for example, "x cs int 5000" will set nCyclesChecksumInterval to 5000 - * and call resetChecksum(). + * The CPUPDP11 class supports the following (parmsCPU) properties: + * + * cycles: the machine's base cycles per second; the CPUStatePDP11 constructor + * will provide us with a default (based on the CPU model) to use as a fallback. + * + * multiplier: base cycle multiplier; default is 1. + * + * autoStart: true to automatically start, false to not, or null if "it depends"; + * null is the default, which means do not autostart UNLESS there is no Debugger + * and no "Run" button (ie, no way to manually start the machine). + * + * csStart: the number of cycles that runCPU() must wait before generating + * checksum records; -1 if disabled. checksum records are a diagnostic aid + * used to help compare one CPU run to another. + * + * csInterval: the number of cycles that runCPU() must execute before generating + * a checksum record; -1 if disabled. + * + * csStop: the number of cycles to stop generating checksum records. + * + * This component is primarily responsible for interfacing the CPU with the outside + * world (eg, Panel and Debugger components), and managing overall CPU operation. + * + * It is extended by the CPUStatePDP11 component, where the simulation control logic resides. + * + * @param {Object} parmsCPU + * @param {number} nCyclesDefault */ - this.flags.checksum = false; - this.nChecksum = this.nCyclesChecksumNext = 0; - this.nCyclesChecksumStart = parmsCPU["csStart"]; - this.nCyclesChecksumInterval = parmsCPU["csInterval"]; - this.nCyclesChecksumStop = parmsCPU["csStop"]; + constructor(parmsCPU, nCyclesDefault) + { + super("CPU", parmsCPU, CPUPDP11, MessagesPDP11.CPU); - /* - * Array of countdown timers managed by addTimer() and setTimer(). + var nCycles = parmsCPU['cycles'] || nCyclesDefault; + + var nMultiplier = parmsCPU['multiplier'] || 1; + + this.nDisplayCount = 0; + this.nDisplayLimit = 30; + this.nCyclesPerSecond = nCycles; + + /* + * nCyclesMultiplier replaces the old "speed" variable (0, 1, 2) and eliminates the need for + * the constants (SPEED_SLOW, SPEED_FAST and SPEED_MAX). The UI simply doubles the multiplier + * until we've exceeded the host's speed limit and then starts the multiplier over at 1. + */ + this.nCyclesMultiplier = nMultiplier; + this.mhzDefault = Math.round(this.nCyclesPerSecond / 10000) / 100; + this.mhzTarget = this.mhzDefault * this.nCyclesMultiplier; + this.msPerYield = this.nCyclesPerYield = this.nCyclesNextYield = this.nCyclesRecalc = 0; + + /* + * We add a number of flags to the set initialized by Component + */ + this.flags.running = false; + this.flags.starting = false; + this.flags.autoStart = parmsCPU['autoStart']; + + /* + * Get checksum parameters, if any. runCPU() behavior is not affected until fChecksum + * is true, which won't happen until resetChecksum() is called with nCyclesChecksumInterval + * ("csInterval") set to a positive value. + * + * As above, any of these parameters can also be set with the Debugger's execution options + * command ("x"); for example, "x cs int 5000" will set nCyclesChecksumInterval to 5000 + * and call resetChecksum(). + */ + this.flags.checksum = false; + this.nChecksum = this.nCyclesChecksumNext = 0; + this.nCyclesChecksumStart = parmsCPU["csStart"]; + this.nCyclesChecksumInterval = parmsCPU["csInterval"]; + this.nCyclesChecksumStop = parmsCPU["csStop"]; + + /* + * Array of countdown timers managed by addTimer() and setTimer(). + */ + this.aTimers = []; + + this.onRunTimeout = this.runCPU.bind(this); // function onRunTimeout() { cpu.runCPU(); }; + + /* + * Define the rest of the properties used by the class + */ + this.mhz = 0; + this.nYieldsSinceStatusUpdate = 0; + this.msStartRun = this.msStartThisRun = this.msEndThisRun = this.nCyclesThisRun = 0; + this.nTotalCycles = this.nRunCycles = this.nBurstCycles = this.nStepCycles = this.nSnapCycles = 0; + this.panel = null; + + this.setReady(); + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {CPUPDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUPDP11} cpu + * @param {DebuggerPDP11} dbg */ - this.aTimers = []; + initBus(cmp, bus, cpu, dbg) + { + this.cmp = cmp; + this.bus = bus; + this.dbg = dbg; + this.panel = cmp.panel; + for (var i = 0; i < CPUPDP11.BUTTONS.length; i++) { + var control = this.bindings[CPUPDP11.BUTTONS[i]]; + if (control) this.cmp.setBinding(null, CPUPDP11.BUTTONS[i], control); + } + this.setReady(); + } - this.onRunTimeout = this.runCPU.bind(this); // function onRunTimeout() { cpu.runCPU(); }; + /** + * reset() + * + * Stub for reset notification (overridden by the CPUStatePDP11 component). + * + * @this {CPUPDP11} + */ + reset() + { + } - this.setReady(); + /** + * save() + * + * Stub for save support (overridden by the CPUStatePDP11 component). + * + * @this {CPUPDP11} + * @return {Object|null} + */ + save() + { + return null; + } + + /** + * restore(data) + * + * Stub for restore support (overridden by the CPUStatePDP11 component). + * + * @this {CPUPDP11} + * @param {Object} data + * @return {boolean} true if restore successful, false if not + */ + restore(data) + { + return false; + } + + /** + * powerUp(data, fRepower) + * + * @this {CPUPDP11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + /* + * We've already saved the parmsCPU 'autoStart' setting, but there may be a machine (or URL) override. + */ + var sAutoStart = this.cmp.getMachineParm('autoStart'); + if (sAutoStart != null) { + this.flags.autoStart = (sAutoStart == "true"? true : (sAutoStart == "false"? false : !!sAutoStart)); + } + else if (this.flags.autoStart == null) { + /* + * If there's no explicit parmsCPU setting either, then we will autoStart if there's no Debugger and + * no "Run" button. + */ + this.flags.autoStart = ((!DEBUGGER || !this.dbg) && this.bindings["run"] === undefined); + } + + if (!fRepower) { + if (!data || !this.restore) { + this.reset(); + } else { + this.resetCycles(); + if (!this.restore(data)) return false; + this.resetChecksum(); + } + /* + * Give the Debugger a chance to do/print something once we've powered up. + */ + if (DEBUGGER && this.dbg) { + this.dbg.init(this.flags.autoStart); + } else { + /* + * The Computer (this.cmp) knows if there's a Control Panel (this.cmp.panel), and the Control Panel + * knows if there's a "print" control (this.cmp.panel.controlPrint), and if there IS a "print" control + * but no debugger, the machine is probably misconfigured (most likely, the page simply neglected to + * load the Debugger component). + * + * However, we don't actually need to check all that; it's always safe use println(), regardless whether + * a Control Panel with a "print" control is present or not. + */ + this.println("No debugger detected"); + } + if (!this.flags.autoStart) { + this.println("CPU will not be auto-started, click Run to start"); + } + } + /* + * The Computer component (which is responsible for all powerDown and powerUp notifications) + * is now responsible for managing a component's fPowered flag, not us. + * + * this.flags.powered = true; + */ + return true; + } + + /** + * powerDown(fSave, fShutdown) + * + * @this {CPUPDP11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure + */ + powerDown(fSave, fShutdown) + { + /* + * The Computer component (which is responsible for all powerDown and powerUp notifications) + * is now responsible for managing a component's fPowered flag, not us. + * + * this.flags.powered = false; + */ + return fSave? this.save() : true; + } + + /** + * autoStart() + * + * @this {CPUPDP11} + * @return {boolean} true if started, false if not + */ + autoStart() + { + if (this.flags.running) { + return true; + } + if (this.flags.autoStart) { + /* + * We used to also set fUpdateFocus when calling startCPU(), on the assumption that in the "auto-starting" + * context, a machine without focus is like a day without sunshine, but in reality, focus should only be + * forced when the user takes some other machine-related action. + */ + this.startCPU(); + return true; + } + return false; + } + + /** + * isPowered() + * + * @this {CPUPDP11} + * @return {boolean} + */ + isPowered() + { + if (!this.flags.powered) { + this.println(this.toString() + " not powered"); + return false; + } + return true; + } + + /** + * isRunning() + * + * @this {CPUPDP11} + * @return {boolean} + */ + isRunning() + { + return this.flags.running; + } + + /** + * getChecksum() + * + * This will be implemented by the CPUStatePDP11 component. + * + * @this {CPUPDP11} + * @return {number} a 32-bit summation of key elements of the current CPU state (used by the CPU checksum code) + */ + getChecksum() + { + return 0; + } + + /** + * resetChecksum() + * + * If checksum generation is enabled (fChecksum is true), this resets the running 32-bit checksum and the + * cycle counter that will trigger the next displayChecksum(); called by resetCycles(), which is called whenever + * the CPU is reset or restored. + * + * @this {CPUPDP11} + * @return {boolean} true if checksum generation enabled, false if not + */ + resetChecksum() + { + if (this.nCyclesChecksumStart === undefined) this.nCyclesChecksumStart = 0; + if (this.nCyclesChecksumInterval === undefined) this.nCyclesChecksumInterval = -1; + if (this.nCyclesChecksumStop === undefined) this.nCyclesChecksumStop = -1; + this.flags.checksum = (this.nCyclesChecksumStart >= 0 && this.nCyclesChecksumInterval > 0); + if (this.flags.checksum) { + this.nChecksum = 0; + this.nCyclesChecksumNext = this.nCyclesChecksumStart - this.nTotalCycles; + /* + * this.nCyclesChecksumNext = this.nCyclesChecksumStart + this.nCyclesChecksumInterval - + * (this.nTotalCycles % this.nCyclesChecksumInterval); + */ + return true; + } + return false; + } + + /** + * updateChecksum(nCycles) + * + * When checksum generation is enabled (fChecksum is true), runCPU() asks stepCPU() to execute a minimum + * number of cycles (1), effectively limiting execution to a single instruction, and then we're called with + * the exact number cycles that were actually executed. This should give us instruction-granular checksums + * at precise intervals that are 100% repeatable. + * + * @this {CPUPDP11} + * @param {number} nCycles + */ + updateChecksum(nCycles) + { + if (this.flags.checksum) { + /* + * Get a 32-bit summation of the current CPU state and add it to our running 32-bit checksum + */ + var fDisplay = false; + this.nChecksum = (this.nChecksum + this.getChecksum())|0; + this.nCyclesChecksumNext -= nCycles; + if (this.nCyclesChecksumNext <= 0) { + this.nCyclesChecksumNext += this.nCyclesChecksumInterval; + fDisplay = true; + } + if (this.nCyclesChecksumStop >= 0) { + if (this.nCyclesChecksumStop <= this.getCycles()) { + this.nCyclesChecksumInterval = this.nCyclesChecksumStop = -1; + this.resetChecksum(); + this.stopCPU(); + fDisplay = true; + } + } + if (fDisplay) this.displayChecksum(); + } + } + + /** + * displayChecksum() + * + * When checksum generation is enabled (fChecksum is true), this is called to provide a crude log of all + * checksums generated at the specified cycle intervals, as specified by the "csStart" and "csInterval" parmsCPU + * properties). + * + * @this {CPUPDP11} + */ + displayChecksum() + { + this.println(this.getCycles() + " cycles: " + "checksum=" + Str.toHex(this.nChecksum)); + } + + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {CPUPDP11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "run") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + var cpu = this; + + switch (sBinding) { + case "power": + case "reset": + /* + * The "power" and "reset" buttons are functions of the entire computer, not just the CPU, + * but it's not always convenient to stick a power button in the Computer component definition, + * so we record those bindings here and pass them on to the Computer component in initBus(). + */ + this.bindings[sBinding] = control; + return true; + + case "run": + this.bindings[sBinding] = control; + control.onclick = function onClickRun() { + if (!cpu.cmp || !cpu.cmp.checkPower()) return; + /* + * We no longer pass true to these startCPU()/stopCPU() calls, on the theory that if the "run" + * control is visible, then the computer is probably sufficiently visible as well; the problem + * with setting fUpdateFocus to true is that it can jerk the web page around in annoying ways. + */ + if (!cpu.flags.running) + cpu.startCPU(); + else + cpu.stopCPU(); + }; + return true; + + case "speed": + this.bindings[sBinding] = control; + return true; + + case "setSpeed": + this.bindings[sBinding] = control; + control.onclick = function onClickSetSpeed() { + cpu.setSpeed(cpu.nCyclesMultiplier << 1, true); + }; + control.textContent = this.getSpeedTarget(); + return true; + + default: + break; + } + return false; + } + + /** + * updateDisplays(nUpdate) + * + * Simpler wrapper around the Computer's updateDisplays() method. + * + * @this {CPUPDP11} + * @param {number} [nUpdate] (1 for periodic, -1 for forced, 0 or undefined otherwise) + */ + updateDisplays(nUpdate) + { + if (this.cmp) this.cmp.updateDisplays(nUpdate); + } + + /** + * updateDisplay(nUpdate) + * + * Some of the CPU bindings provide feedback and therefore need to be updated periodically. + * However, this should be called via the Computer's updateDisplays() interface, not directly. + * + * @this {CPUPDP11} + * @param {number} [nUpdate] (1 for periodic, -1 for forced, 0 otherwise) + */ + updateDisplay(nUpdate) + { + var controlSpeed = this.bindings["speed"]; + if (controlSpeed) { + if (nUpdate <= 0 || (this.nDisplayCount += nUpdate) >= this.nDisplayLimit) { + controlSpeed.textContent = this.getSpeedCurrent(); + this.nDisplayCount = 0; + } + } + } + + /** + * addCycles(nCycles, fEndStep) + * + * @this {CPUPDP11} + * @param {number} nCycles + * @param {boolean} [fEndStep] + */ + addCycles(nCycles, fEndStep) + { + this.nTotalCycles += nCycles; + if (fEndStep) { + this.nBurstCycles = this.nStepCycles = this.nSnapCycles = 0; + } + } + + /** + * calcCycles(fRecalc) + * + * Calculate the number of cycles to process for each "burst" of CPU activity. The size of a burst + * is driven by YIELDS_PER_SECOND (eg, 30). + * + * At the end of each burst, we subtract burst cycles from the yield cycle "threshold" counter. + * Whenever the "next yield" cycle counter goes to (or below) zero, we compare elapsed time to the time + * we expected the virtual hardware to take (eg, 1000ms/50 or 20ms), and if we still have time remaining, + * we sleep the remaining time (or 0ms if there's no remaining time), and then restart runCPU(). + * + * @this {CPUPDP11} + * @param {boolean} [fRecalc] is true if the caller wants to recalculate thresholds based on the most recent + * speed calculation (see calcSpeed). + */ + calcCycles(fRecalc) + { + /* + * Calculate "per" yield values. + */ + var vMultiplier = 1; + if (fRecalc) { + if (this.nCyclesMultiplier > 1 && this.mhz) { + vMultiplier = (this.mhz / this.mhzDefault); + } + } + + this.msPerYield = Math.round(1000 / CPUPDP11.YIELDS_PER_SECOND); + this.nCyclesPerYield = Math.floor(this.nCyclesPerSecond / CPUPDP11.YIELDS_PER_SECOND * vMultiplier); + + /* + * And initialize "next" yield values to the "per" values. + */ + if (!fRecalc) this.nCyclesNextYield = this.nCyclesPerYield; + this.nCyclesRecalc = 0; + } + + /** + * getCycles(fScaled) + * + * getCycles() returns the number of cycles executed so far. Note that we can be called after + * runCPU() OR during runCPU(), perhaps from a handler triggered during the current run's stepCPU(), + * so nRunCycles must always be adjusted by number of cycles stepCPU() was asked to run (nBurstCycles), + * less the number of cycles it has yet to run (nStepCycles). + * + * nRunCycles is zeroed whenever the CPU is halted or the CPU speed is changed, which is why we also + * have nTotalCycles, which accumulates all nRunCycles before we zero it. However, nRunCycles and + * nTotalCycles eventually get reset by calcSpeed(), to avoid overflow, so components that rely on + * getCycles() returning steadily increasing values should also be prepared for a reset at any time. + * + * @this {CPUPDP11} + * @param {boolean} [fScaled] is true if the caller wants a cycle count relative to a multiplier of 1 + * @return {number} + */ + getCycles(fScaled) + { + var nCycles = this.nTotalCycles + this.nRunCycles + this.nBurstCycles - this.nStepCycles; + if (fScaled && this.nCyclesMultiplier > 1 && this.mhz > this.mhzDefault) { + /* + * We could scale the current cycle count by the current effective speed (this.mhz); eg: + * + * nCycles = Math.round(nCycles / (this.mhz / this.mhzDefault)); + * + * but that speed will fluctuate somewhat: large fluctuations at first, but increasingly smaller + * fluctuations after each burst of instructions that runCPU() executes. + * + * Alternatively, we can scale the cycle count by the multiplier, which is good in that the + * multiplier doesn't vary once the user changes it, but a potential downside is that the + * multiplier might be set too high, resulting in a target speed that's higher than the effective + * speed is able to reach. + * + * Also, if multipliers were always limited to a power-of-two, then this could be calculated + * with a simple shift. However, only the "setSpeed" UI binding limits it that way; the Debugger + * interface allows any value, as does the CPU "multiplier" parmsCPU property (from the machine's + * XML file). + */ + nCycles = Math.round(nCycles / this.nCyclesMultiplier); + } + return nCycles; + } + + /** + * getCyclesPerSecond() + * + * This returns the CPU's "base" speed (ie, the original cycles per second defined for the machine) + * + * @this {CPUPDP11} + * @return {number} + */ + getCyclesPerSecond() + { + return this.nCyclesPerSecond; + } + + /** + * resetCycles() + * + * Resets speed and cycle information as part of any reset() or restore(); this typically occurs during powerUp(). + * It's important that this be called BEFORE the actual restore() call, because restore() may want to call setSpeed(), + * which in turn assumes that all the cycle counts have been initialized to sensible values. + * + * @this {CPUPDP11} + */ + resetCycles() + { + this.mhz = 0; + this.nYieldsSinceStatusUpdate = 0; + this.nTotalCycles = this.nRunCycles = this.nBurstCycles = this.nStepCycles = this.nSnapCycles = 0; + this.resetChecksum(); + this.setSpeed(1); + } + + /** + * getSpeed() + * + * @this {CPUPDP11} + * @return {number} the current speed multiplier + */ + getSpeed() + { + return this.nCyclesMultiplier; + } + + /** + * getSpeedCurrent() + * + * @this {CPUPDP11} + * @return {string} the current speed, in mhz, as a string formatted to two decimal places + */ + getSpeedCurrent() + { + /* + * TODO: Has toFixed() been "fixed" in all browsers (eg, IE) to return a rounded value now? + */ + return ((this.flags.running)? (this.mhz.toFixed(2) + "Mhz") : "Stopped"); + } + + /** + * getSpeedTarget() + * + * @this {CPUPDP11} + * @return {string} the target speed, in mhz, as a string formatted to two decimal places + */ + getSpeedTarget() + { + /* + * TODO: Has toFixed() been "fixed" in all browsers (eg, IE) to return a rounded value now? + */ + return this.mhzTarget.toFixed(2) + "Mhz"; + } + + /** + * setSpeed(nMultiplier, fUpdateFocus) + * + * NOTE: This used to return the target speed, in mhz, but no callers appear to care at this point. + * + * @desc Whenever the speed is changed, the running cycle count and corresponding start time must be reset, + * so that the next effective speed calculation obtains sensible results. In fact, when runCPU() initially calls + * setSpeed() with no parameters, that's all this function does (it doesn't change the current speed setting). + * + * @this {CPUPDP11} + * @param {number} [nMultiplier] is the new proposed multiplier (reverts to 1 if the target was too high) + * @param {boolean} [fUpdateFocus] is true to update Computer focus + * @return {boolean} true if successful, false if not + */ + setSpeed(nMultiplier, fUpdateFocus) + { + var fSuccess = false; + if (nMultiplier !== undefined) { + /* + * If we haven't reached 80% (0.8) of the current target speed, revert to a multiplier of one (1). + */ + if (this.mhz / this.mhzTarget < 0.8) { + nMultiplier = 1; + } else { + fSuccess = true; + } + this.nCyclesMultiplier = nMultiplier; + var mhz = this.mhzDefault * this.nCyclesMultiplier; + if (this.mhzTarget != mhz) { + this.mhzTarget = mhz; + var sSpeed = this.getSpeedTarget(); + var controlSpeed = this.bindings["setSpeed"]; + if (controlSpeed) controlSpeed.textContent = sSpeed; + this.println("target speed: " + sSpeed); + } + if (fUpdateFocus && this.cmp) this.cmp.setFocus(); + } + this.addCycles(this.nRunCycles); + this.nRunCycles = 0; + this.msStartRun = Usr.getTime(); + this.msEndThisRun = 0; + this.calcCycles(); + return fSuccess; + } + + /** + * calcSpeed(nCycles, msElapsed) + * + * @this {CPUPDP11} + * @param {number} nCycles + * @param {number} msElapsed + */ + calcSpeed(nCycles, msElapsed) + { + if (msElapsed) { + this.mhz = Math.round(nCycles / (msElapsed * 10)) / 100; + if (msElapsed >= 86400000) { + this.nTotalCycles = 0; + this.setSpeed(); // reset all counters once per day so that we never have to worry about overflow + } + } + } + + /** + * calcStartTime() + * + * @this {CPUPDP11} + */ + calcStartTime() + { + if (this.nCyclesRecalc >= this.nCyclesPerSecond) { + this.calcCycles(true); + } + this.nCyclesThisRun = 0; + this.msStartThisRun = Usr.getTime(); + + /* + * Try to detect situations where the browser may have throttled us, such as when the user switches + * to a different tab; in those situations, Chrome and Safari may restrict setTimeout() callbacks + * to roughly one per second. + * + * Another scenario: the user resizes the browser window. setTimeout() callbacks are not throttled, + * but there can still be enough of a lag between the callbacks that CPU speed will be noticeably + * erratic if we don't compensate for it here. + * + * We can detect throttling/lagging by verifying that msEndThisRun (which was set at the end of the + * previous run and includes any requested sleep time) is comparable to the current msStartThisRun; + * if the delta is significant, we compensate by bumping msStartRun forward by that delta. + * + * This shouldn't be triggered when the Debugger halts the CPU, because setSpeed() -- which is called + * whenever the CPU starts running again -- zeroes msEndThisRun. + * + * This also won't do anything about other internal delays; for example, Debugger message() calls. + * By the time the message() function has called yieldCPU(), the cost of the message has already been + * incurred, so it will be end up being charged against the instruction(s) that triggered it. + * + * TODO: Consider calling yieldCPU() sooner from message(), so that it can arrange for the msEndThisRun + * "snapshot" to occur sooner; it's unclear, however, whether that will really improve the CPU's ability + * to hit its target speed, since you would expect any instruction that displays a message to be an + * EXTREMELY slow instruction. + */ + if (this.msEndThisRun) { + var msDelta = this.msStartThisRun - this.msEndThisRun; + if (msDelta > this.msPerYield) { + if (MAXDEBUG) this.println("large time delay: " + msDelta + "ms"); + this.msStartRun += msDelta; + /* + * Bumping msStartRun forward should NEVER cause it to exceed msStartThisRun; however, just + * in case, I make absolutely sure it cannot happen, since doing so could result in negative + * speed calculations. + */ + this.assert(this.msStartRun <= this.msStartThisRun); + if (this.msStartRun > this.msStartThisRun) { + this.msStartRun = this.msStartThisRun; + } + } + } + } + + /** + * calcRemainingTime() + * + * @this {CPUPDP11} + * @return {number} + */ + calcRemainingTime() + { + this.msEndThisRun = Usr.getTime(); + + var msYield = this.msPerYield; + if (this.nCyclesThisRun) { + /* + * Normally, we would assume we executed a full quota of work over msPerYield, but since the CPU + * now has the option of calling yieldCPU(), that might not be true. If nCyclesThisRun is correct, then + * the ratio of nCyclesThisRun/nCyclesPerYield should represent the percentage of work we performed, + * and so applying that percentage to msPerYield should give us a better estimate of work vs. time. + */ + msYield = Math.round(msYield * this.nCyclesThisRun / this.nCyclesPerYield); + } + + var msElapsedThisRun = this.msEndThisRun - this.msStartThisRun; + var msRemainsThisRun = msYield - msElapsedThisRun; + + /* + * We could pass only "this run" results to calcSpeed(): + * + * nCycles = this.nCyclesThisRun; + * msElapsed = msElapsedThisRun; + * + * but it seems preferable to use longer time periods and hopefully get a more accurate speed. + * + * Also, if msRemainsThisRun >= 0 && this.nCyclesMultiplier == 1, we could pass these results instead: + * + * nCycles = this.nCyclesThisRun; + * msElapsed = this.msPerYield; + * + * to insure that we display a smooth, constant N Mhz. But for now, I prefer seeing any fluctuations. + */ + var nCycles = this.nRunCycles; + var msElapsed = this.msEndThisRun - this.msStartRun; + + if (MAXDEBUG && msRemainsThisRun < 0 && this.nCyclesMultiplier > 1) { + this.println("warning: updates @" + msElapsedThisRun + "ms (prefer " + Math.round(msYield) + "ms)"); + } + + this.calcSpeed(nCycles, msElapsed); + + if (msRemainsThisRun < 0 || this.mhz < this.mhzTarget) { + /* + * Try "throwing out" the effects of large anomalies, by moving the overall run start time up; + * ordinarily, this should only happen when the someone is using an external Debugger or some other + * tool or feature that is interfering with our overall execution. + */ + if (msRemainsThisRun < -1000) { + this.msStartRun -= msRemainsThisRun; + } + /* + * If the last burst took MORE time than we allotted (ie, it's taking more than 1 second to simulate + * nCyclesPerSecond), all we can do is yield for as little time as possible (ie, 0ms) and hope that the + * simulation is at least usable. + */ + msRemainsThisRun = 0; + } + + /* + * Last but not least, update nCyclesRecalc, so that when runCPU() starts up again and calls calcStartTime(), + * it'll be ready to decide if calcCycles() should be called again. + */ + this.nCyclesRecalc += this.nCyclesThisRun; + + if (DEBUG && this.messageEnabled(MessagesPDP11.LOG) && msRemainsThisRun) { + this.log("calcRemainingTime: " + msRemainsThisRun + "ms to sleep after " + this.msEndThisRun + "ms"); + } + + this.msEndThisRun += msRemainsThisRun; + return msRemainsThisRun; + } + + /** + * addTimer(callBack) + * + * Components that want to have timers that periodically fire after some number of milliseconds call + * addTimer() to create the timer, and then setTimer() every time they want to arm it. There is currently + * no removeTimer() because these are generally used for the entire lifetime of a component. + * + * Internally, each timer entry is a preallocated Array with two entries: a cycle countdown in element [0] + * and a callback function in element [1]. A timer is initially dormant; dormant timers have a countdown + * value of -1 (although any negative number will suffice) and active timers have a non-negative value. + * + * Why not use JavaScript's setTimeout() instead? Good question. For a good answer, see setTimer() below. + * + * TODO: Consider making the addTimer() and setTimer() interfaces more like the addIRQ() and setIRQ() + * interfaces (which return the underlying object instead of an array index) and maintaining a separate list + * of active timers, in order of highest to lowest cycle countdown values, as this could speed up + * getBurstCycles() and updateTimers() functions ever so slightly. + * + * @this {CPUPDP11} + * @param {function()} callBack + * @return {number} timer index + */ + addTimer(callBack) + { + var iTimer = this.aTimers.length; + this.aTimers.push([-1, callBack]); + return iTimer; + } + + /** + * setTimer(iTimer, ms, fReset) + * + * Using the timer index from a previous addTimer() call, this sets that timer to fire after the + * specified number of milliseconds. + * + * This is preferred over JavaScript's setTimeout(), because all our timers are effectively paused when + * the CPU is paused (eg, when the Debugger halts execution). Moreover, setTimeout() handlers only run after + * runCPU() yields, which is far too granular for some components (eg, when the SerialPort tries to simulate + * interrupts at 9600 baud). + * + * Ideally, the only function that would use setTimeout() is runCPU(), while the rest of the components + * use setTimer(); however, due to legacy code (ie, code that predates these functions) and/or laziness, + * that may not be the case. + * + * @this {CPUPDP11} + * @param {number} iTimer + * @param {number} ms (converted into a cycle countdown internally) + * @param {boolean} [fReset] (true if the timer should be reset even if already armed) + * @return {number} (number of cycles used to arm timer, or -1 if error) + */ + setTimer(iTimer, ms, fReset) + { + var nCycles = -1; + if (iTimer >= 0 && iTimer < this.aTimers.length) { + if (fReset || this.aTimers[iTimer][0] < 0) { + nCycles = this.getMSCycles(ms); + /* + * We must now confront the following problem: if the CPU is currently executing a burst of cycles, + * the number of cycles it has executed in that burst so far must NOT be charged against the cycle + * timeout we're about to set. The simplest way to resolve that is to immediately call endBurst() + * and bias the cycle timeout by the number of cycles that the burst executed. + */ + if (this.flags.running) { + nCycles += this.endBurst(); + } + this.aTimers[iTimer][0] = nCycles; + } + } + return nCycles; + } + + /** + * getMSCycles(ms) + * + * @this {CPUPDP11} + * @param {number} ms + * @return {number} number of corresponding cycles + */ + getMSCycles(ms) + { + return ((this.nCyclesPerSecond * this.nCyclesMultiplier) / 1000 * ms)|0; + } + + /** + * getBurstCycles(nCycles) + * + * Used by runCPU() to get min(nCycles,[timer cycle counts]) + * + * @this {CPUPDP11} + * @param {number} nCycles (number of cycles about to execute) + * @return {number} (either nCycles or less if a timer needs to fire) + */ + getBurstCycles(nCycles) + { + for (var i = this.aTimers.length - 1; i >= 0; i--) { + var timer = this.aTimers[i]; + this.assert(!isNaN(timer[0])); + if (timer[0] < 0) continue; + if (nCycles > timer[0]) { + nCycles = timer[0]; + } + } + return nCycles; + } + + /** + * updateTimers(nCycles) + * + * Used by runCPU() to reduce all active timer countdown values by the number of cycles just executed; + * this is the function that actually "fires" any timer(s) whose countdown has reached (or dropped below) + * zero, invoking their callback function. + * + * @this {CPUPDP11} + * @param {number} nCycles (number of cycles actually executed) + */ + updateTimers(nCycles) + { + for (var i = this.aTimers.length - 1; i >= 0; i--) { + var timer = this.aTimers[i]; + this.assert(!isNaN(timer[0])); + if (timer[0] < 0) continue; + timer[0] -= nCycles; + if (timer[0] <= 0) { + timer[0] = -1; // zero is technically an "active" value, so ensure the timer is dormant now + timer[1](); // safe to invoke the callback function now + } + } + } + + /** + * endBurst(fReset) + * + * @this {CPUPDP11} + * @param {boolean} [fReset] + * @return {number} (number of cycles executed in the most recent burst) + */ + endBurst(fReset) + { + var nCycles = this.nBurstCycles -= this.nStepCycles; + /* + * In addition to zeroing nStepCycles, it's important that we also zero nSnapCycles, because if a CPU + * burst is being ended after nStepCycles has been "snapped" (because a certain opcode has an unusual timing + * calculation that must be based on a "snapped" cycle count rather the opcode's starting cycle count), we + * could inadvertently undo the endBurst() if the original "snapped" value was used to update nStepCycles. + */ + this.nStepCycles = this.nSnapCycles = 0; + if (fReset) this.nBurstCycles = 0; + return nCycles; + } + + /** + * runCPU() + * + * @this {CPUPDP11} + */ + runCPU() + { + if (!this.flags.running) return; + + /* + * calcStartTime() initializes the cycle counter and timestamp for this runCPU() invocation, and optionally + * recalculates the the maximum number of cycles for each burst if the nCyclesRecalc threshold has been reached. + */ + this.calcStartTime(); + + try { + do { + /* + * nCycles is how many cycles we WANT to run on each iteration of stepCPU(), and may be as + * HIGH as nCyclesPerYield, but it may be significantly less. getBurstCycles() will adjust + * nCycles downward if any CPU timers need to fire during the next burst. + */ + var nCycles = this.getBurstCycles(this.flags.checksum? 1 : this.nCyclesPerYield); + + /* + * Execute the burst. + */ + try { + this.stepCPU(nCycles); + } + catch(exception) { + /* + * We assume that any numeric exception was explicitly thrown by the CPU to interrupt the + * current instruction (and by extension, the current burst, but not the current run). All + * other exceptions are re-thrown to the catch below, which will attempt a stack dump. + */ + if (typeof exception != "number") throw exception; + } + + /* + * Terminate the burst, returning the number of cycles that stepCPU() actually ran. + */ + nCycles = this.endBurst(true); + + /* + * Add nCycles to nCyclesThisRun, as well as nRunCycles (the cycle count since the CPU started). + */ + this.nCyclesThisRun += nCycles; + this.nRunCycles += nCycles; + this.updateChecksum(nCycles); + + /* + * Update any/all timers, firing those whose cycle countdowns have reached (or dropped below) zero. + */ + this.updateTimers(nCycles); + + this.nCyclesNextYield -= nCycles; + if (this.nCyclesNextYield <= 0) { + this.nCyclesNextYield += this.nCyclesPerYield; + if (++this.nYieldsSinceStatusUpdate >= CPUPDP11.YIELDS_PER_STATUS) { + this.updateDisplays(); + this.nYieldsSinceStatusUpdate = 0; + } + break; + } + } while (this.flags.running); + } + catch (e) { + this.stopCPU(); + if (this.cmp) this.cmp.stop(Usr.getTime(), this.getCycles()); + this.setError(e.stack || e.message); + return; + } + + if (this.flags.running) setTimeout(this.onRunTimeout, this.calcRemainingTime()); + } + + /** + * startCPU(fUpdateFocus) + * + * For use by any component that wants to start the CPU. + * + * @param {boolean} [fUpdateFocus] + * @return {boolean} + */ + startCPU(fUpdateFocus) + { + if (this.isError()) { + return false; + } + if (this.flags.running) { + this.println(this.toString() + " busy"); + return false; + } + /* + * setSpeed() without a speed parameter leaves the selected speed in place, but also resets the + * cycle counter and timestamp for the current series of runCPU() calls, calculates the maximum number + * of cycles for each burst based on the last known effective CPU speed, and resets the nCyclesRecalc + * threshold counter. + */ + this.setSpeed(); + this.flags.running = true; + this.flags.starting = true; + var controlRun = this.bindings["run"]; + if (controlRun) controlRun.textContent = "Halt"; + if (this.cmp) { + if (fUpdateFocus) this.cmp.setFocus(true); + this.cmp.start(this.msStartRun, this.getCycles()); + } + if (!this.dbg) this.status("Started"); + setTimeout(this.onRunTimeout, 0); + return true; + } + + /** + * stepCPU(nMinCycles) + * + * This will be implemented by the CPUStatePDP11 component. + * + * @this {CPUPDP11} + * @param {number} nMinCycles (0 implies a single-step, and therefore breakpoints should be ignored) + * @return {number} of cycles executed; 0 indicates that the last instruction was not executed + */ + stepCPU(nMinCycles) + { + return 0; + } + + /** + * stopCPU(fComplete) + * + * For use by any component that wants to stop the CPU. + * + * This similar to yieldCPU(), but it doesn't need to zero nCyclesNextYield to break out of runCPU(); + * it simply needs to clear fRunning (well, "simply" may be oversimplifying a bit....) + * + * @this {CPUPDP11} + * @param {boolean} [fComplete] + * @return {boolean} true if the CPU was stopped, false if it was already stopped + */ + stopCPU(fComplete) + { + var fStopped = false; + if (this.flags.running) { + this.endBurst(); + this.addCycles(this.nRunCycles); + this.nRunCycles = 0; + this.flags.running = false; + var controlRun = this.bindings["run"]; + if (controlRun) controlRun.textContent = "Run"; + if (this.cmp) { + this.cmp.stop(Usr.getTime(), this.getCycles()); + } + fStopped = true; + if (!this.dbg) this.status("Stopped"); + } + this.flags.complete = fComplete; + return fStopped; + } + + /** + * yieldCPU() + * + * Similar to stopCPU() with regard to how it resets various cycle countdown values, but the CPU + * remains in a "running" state. + * + * @this {CPUPDP11} + */ + yieldCPU() + { + this.endBurst(); // this will break us out of stepCPU() + this.nCyclesNextYield = 0; // this will break us out of runCPU(), once we break out of stepCPU() + /* + * The Debugger calls yieldCPU() after every message() to ensure browser responsiveness, but it looks + * odd for those messages to show CPU state changes if the Control Panel, Video display, etc, does not, + * so I've added this call to try to keep things looking synchronized. + */ + this.updateDisplays(); + } } -Component.subclass(CPUPDP11); - /* * Constants that control the frequency at which various updates should occur. * @@ -174,1098 +1245,4 @@ CPUPDP11.YIELDS_PER_STATUS = 15; // every 15 yields (ie, twice pe CPUPDP11.BUTTONS = ["power", "reset"]; -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {CPUPDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUPDP11} cpu - * @param {DebuggerPDP11} dbg - */ -CPUPDP11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.cmp = cmp; - this.bus = bus; - this.dbg = dbg; - this.panel = cmp.panel; - for (var i = 0; i < CPUPDP11.BUTTONS.length; i++) { - var control = this.bindings[CPUPDP11.BUTTONS[i]]; - if (control) this.cmp.setBinding(null, CPUPDP11.BUTTONS[i], control); - } - this.init(); - this.setReady(); -}; - -/** - * init() - * - * Stub for initialization call (overridden by the CPUStatePDP11 component). - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.init = function() -{ -}; - -/** - * finish() - * - * Stub for final initialization call (overridden by the CPUStatePDP11 component). - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.finish = function() -{ -}; - -/** - * reset() - * - * Stub for reset notification (overridden by the CPUStatePDP11 component). - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.reset = function() -{ -}; - -/** - * save() - * - * Stub for save support (overridden by the CPUStatePDP11 component). - * - * @this {CPUPDP11} - * @return {Object|null} - */ -CPUPDP11.prototype.save = function() -{ - return null; -}; - -/** - * restore(data) - * - * Stub for restore support (overridden by the CPUStatePDP11 component). - * - * @this {CPUPDP11} - * @param {Object} data - * @return {boolean} true if restore successful, false if not - */ -CPUPDP11.prototype.restore = function(data) -{ - return false; -}; - -/** - * powerUp(data, fRepower) - * - * @this {CPUPDP11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -CPUPDP11.prototype.powerUp = function(data, fRepower) -{ - /* - * We've already saved the parmsCPU 'autoStart' setting, but there may be a machine (or URL) override. - */ - var sAutoStart = this.cmp.getMachineParm('autoStart'); - if (sAutoStart != null) { - this.flags.autoStart = (sAutoStart == "true"? true : (sAutoStart == "false"? false : !!sAutoStart)); - } - else if (this.flags.autoStart == null) { - /* - * If there's no explicit parmsCPU setting either, then we will autoStart if there's no Debugger and - * no "Run" button. - */ - this.flags.autoStart = ((!DEBUGGER || !this.dbg) && this.bindings["run"] === undefined); - } - - if (!fRepower) { - this.finish(); - if (!data || !this.restore) { - this.reset(); - } else { - this.resetCycles(); - if (!this.restore(data)) return false; - this.resetChecksum(); - } - /* - * Give the Debugger a chance to do/print something once we've powered up. - */ - if (DEBUGGER && this.dbg) { - this.dbg.init(this.flags.autoStart); - } else { - /* - * The Computer (this.cmp) knows if there's a Control Panel (this.cmp.panel), and the Control Panel - * knows if there's a "print" control (this.cmp.panel.controlPrint), and if there IS a "print" control - * but no debugger, the machine is probably misconfigured (most likely, the page simply neglected to - * load the Debugger component). - * - * However, we don't actually need to check all that; it's always safe use println(), regardless whether - * a Control Panel with a "print" control is present or not. - */ - this.println("No debugger detected"); - } - if (!this.flags.autoStart) { - this.println("CPU will not be auto-started, click Run to start"); - } - } - /* - * The Computer component (which is responsible for all powerDown and powerUp notifications) - * is now responsible for managing a component's fPowered flag, not us. - * - * this.flags.powered = true; - */ - return true; -}; - -/** - * powerDown(fSave, fShutdown) - * - * @this {CPUPDP11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure - */ -CPUPDP11.prototype.powerDown = function(fSave, fShutdown) -{ - /* - * The Computer component (which is responsible for all powerDown and powerUp notifications) - * is now responsible for managing a component's fPowered flag, not us. - * - * this.flags.powered = false; - */ - return fSave? this.save() : true; -}; - -/** - * autoStart() - * - * @this {CPUPDP11} - * @return {boolean} true if started, false if not - */ -CPUPDP11.prototype.autoStart = function() -{ - if (this.flags.running) { - return true; - } - if (this.flags.autoStart) { - /* - * We used to also set fUpdateFocus when calling startCPU(), on the assumption that in the "auto-starting" - * context, a machine without focus is like a day without sunshine, but in reality, focus should only be - * forced when the user takes some other machine-related action. - */ - this.startCPU(); - return true; - } - return false; -}; - -/** - * isPowered() - * - * @this {CPUPDP11} - * @return {boolean} - */ -CPUPDP11.prototype.isPowered = function() -{ - if (!this.flags.powered) { - this.println(this.toString() + " not powered"); - return false; - } - return true; -}; - -/** - * isRunning() - * - * @this {CPUPDP11} - * @return {boolean} - */ -CPUPDP11.prototype.isRunning = function() -{ - return this.flags.running; -}; - -/** - * getChecksum() - * - * This will be implemented by the CPUStatePDP11 component. - * - * @this {CPUPDP11} - * @return {number} a 32-bit summation of key elements of the current CPU state (used by the CPU checksum code) - */ -CPUPDP11.prototype.getChecksum = function() -{ - return 0; -}; - -/** - * resetChecksum() - * - * If checksum generation is enabled (fChecksum is true), this resets the running 32-bit checksum and the - * cycle counter that will trigger the next displayChecksum(); called by resetCycles(), which is called whenever - * the CPU is reset or restored. - * - * @this {CPUPDP11} - * @return {boolean} true if checksum generation enabled, false if not - */ -CPUPDP11.prototype.resetChecksum = function() -{ - if (this.nCyclesChecksumStart === undefined) this.nCyclesChecksumStart = 0; - if (this.nCyclesChecksumInterval === undefined) this.nCyclesChecksumInterval = -1; - if (this.nCyclesChecksumStop === undefined) this.nCyclesChecksumStop = -1; - this.flags.checksum = (this.nCyclesChecksumStart >= 0 && this.nCyclesChecksumInterval > 0); - if (this.flags.checksum) { - this.nChecksum = 0; - this.nCyclesChecksumNext = this.nCyclesChecksumStart - this.nTotalCycles; - /* - * this.nCyclesChecksumNext = this.nCyclesChecksumStart + this.nCyclesChecksumInterval - - * (this.nTotalCycles % this.nCyclesChecksumInterval); - */ - return true; - } - return false; -}; - -/** - * updateChecksum(nCycles) - * - * When checksum generation is enabled (fChecksum is true), runCPU() asks stepCPU() to execute a minimum - * number of cycles (1), effectively limiting execution to a single instruction, and then we're called with - * the exact number cycles that were actually executed. This should give us instruction-granular checksums - * at precise intervals that are 100% repeatable. - * - * @this {CPUPDP11} - * @param {number} nCycles - */ -CPUPDP11.prototype.updateChecksum = function(nCycles) -{ - if (this.flags.checksum) { - /* - * Get a 32-bit summation of the current CPU state and add it to our running 32-bit checksum - */ - var fDisplay = false; - this.nChecksum = (this.nChecksum + this.getChecksum())|0; - this.nCyclesChecksumNext -= nCycles; - if (this.nCyclesChecksumNext <= 0) { - this.nCyclesChecksumNext += this.nCyclesChecksumInterval; - fDisplay = true; - } - if (this.nCyclesChecksumStop >= 0) { - if (this.nCyclesChecksumStop <= this.getCycles()) { - this.nCyclesChecksumInterval = this.nCyclesChecksumStop = -1; - this.resetChecksum(); - this.stopCPU(); - fDisplay = true; - } - } - if (fDisplay) this.displayChecksum(); - } -}; - -/** - * displayChecksum() - * - * When checksum generation is enabled (fChecksum is true), this is called to provide a crude log of all - * checksums generated at the specified cycle intervals, as specified by the "csStart" and "csInterval" parmsCPU - * properties). - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.displayChecksum = function() -{ - this.println(this.getCycles() + " cycles: " + "checksum=" + str.toHex(this.nChecksum)); -}; - -/** - * setBinding(sType, sBinding, control, sValue) - * - * @this {CPUPDP11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "run") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ -CPUPDP11.prototype.setBinding = function(sType, sBinding, control, sValue) -{ - var cpu = this; - - switch (sBinding) { - case "power": - case "reset": - /* - * The "power" and "reset" buttons are functions of the entire computer, not just the CPU, - * but it's not always convenient to stick a power button in the Computer component definition, - * so we record those bindings here and pass them on to the Computer component in initBus(). - */ - this.bindings[sBinding] = control; - return true; - - case "run": - this.bindings[sBinding] = control; - control.onclick = function onClickRun() { - if (!cpu.cmp || !cpu.cmp.checkPower()) return; - /* - * We no longer pass true to these startCPU()/stopCPU() calls, on the theory that if the "run" - * control is visible, then the computer is probably sufficiently visible as well; the problem - * with setting fUpdateFocus to true is that it can jerk the web page around in annoying ways. - */ - if (!cpu.flags.running) - cpu.startCPU(); - else - cpu.stopCPU(); - }; - return true; - - case "speed": - this.bindings[sBinding] = control; - return true; - - case "setSpeed": - this.bindings[sBinding] = control; - control.onclick = function onClickSetSpeed() { - cpu.setSpeed(cpu.nCyclesMultiplier << 1, true); - }; - control.textContent = this.getSpeedTarget(); - return true; - - default: - break; - } - return false; -}; - -/** - * updateDisplays(nUpdate) - * - * Simpler wrapper around the Computer's updateDisplays() method. - * - * @this {CPUPDP11} - * @param {number} [nUpdate] (1 for periodic, -1 for forced, 0 or undefined otherwise) - */ -CPUPDP11.prototype.updateDisplays = function(nUpdate) -{ - if (this.cmp) this.cmp.updateDisplays(nUpdate); -}; - -/** - * updateDisplay(nUpdate) - * - * Some of the CPU bindings provide feedback and therefore need to be updated periodically. - * However, this should be called via the Computer's updateDisplays() interface, not directly. - * - * @this {CPUPDP11} - * @param {number} [nUpdate] (1 for periodic, -1 for forced, 0 otherwise) - */ -CPUPDP11.prototype.updateDisplay = function(nUpdate) -{ - var controlSpeed = this.bindings["speed"]; - if (controlSpeed) { - if (nUpdate <= 0 || (this.nDisplayCount += nUpdate) >= this.nDisplayLimit) { - controlSpeed.textContent = this.getSpeedCurrent(); - this.nDisplayCount = 0; - } - } -}; - -/** - * addCycles(nCycles, fEndStep) - * - * @this {CPUPDP11} - * @param {number} nCycles - * @param {boolean} [fEndStep] - */ -CPUPDP11.prototype.addCycles = function(nCycles, fEndStep) -{ - this.nTotalCycles += nCycles; - if (fEndStep) { - this.nBurstCycles = this.nStepCycles = this.nSnapCycles = 0; - } -}; - -/** - * calcCycles(fRecalc) - * - * Calculate the number of cycles to process for each "burst" of CPU activity. The size of a burst - * is driven by YIELDS_PER_SECOND (eg, 30). - * - * At the end of each burst, we subtract burst cycles from the yield cycle "threshold" counter. - * Whenever the "next yield" cycle counter goes to (or below) zero, we compare elapsed time to the time - * we expected the virtual hardware to take (eg, 1000ms/50 or 20ms), and if we still have time remaining, - * we sleep the remaining time (or 0ms if there's no remaining time), and then restart runCPU(). - * - * @this {CPUPDP11} - * @param {boolean} [fRecalc] is true if the caller wants to recalculate thresholds based on the most recent - * speed calculation (see calcSpeed). - */ -CPUPDP11.prototype.calcCycles = function(fRecalc) -{ - /* - * Calculate "per" yield values. - */ - var vMultiplier = 1; - if (fRecalc) { - if (this.nCyclesMultiplier > 1 && this.mhz) { - vMultiplier = (this.mhz / this.mhzDefault); - } - } - - this.msPerYield = Math.round(1000 / CPUPDP11.YIELDS_PER_SECOND); - this.nCyclesPerYield = Math.floor(this.nCyclesPerSecond / CPUPDP11.YIELDS_PER_SECOND * vMultiplier); - - /* - * And initialize "next" yield values to the "per" values. - */ - if (!fRecalc) { - this.nCyclesNextYield = this.nCyclesPerYield; - } - this.nCyclesRecalc = 0; -}; - -/** - * getCycles(fScaled) - * - * getCycles() returns the number of cycles executed so far. Note that we can be called after - * runCPU() OR during runCPU(), perhaps from a handler triggered during the current run's stepCPU(), - * so nRunCycles must always be adjusted by number of cycles stepCPU() was asked to run (nBurstCycles), - * less the number of cycles it has yet to run (nStepCycles). - * - * nRunCycles is zeroed whenever the CPU is halted or the CPU speed is changed, which is why we also - * have nTotalCycles, which accumulates all nRunCycles before we zero it. However, nRunCycles and - * nTotalCycles eventually get reset by calcSpeed(), to avoid overflow, so components that rely on - * getCycles() returning steadily increasing values should also be prepared for a reset at any time. - * - * @this {CPUPDP11} - * @param {boolean} [fScaled] is true if the caller wants a cycle count relative to a multiplier of 1 - * @return {number} - */ -CPUPDP11.prototype.getCycles = function(fScaled) -{ - var nCycles = this.nTotalCycles + this.nRunCycles + this.nBurstCycles - this.nStepCycles; - if (fScaled && this.nCyclesMultiplier > 1 && this.mhz > this.mhzDefault) { - /* - * We could scale the current cycle count by the current effective speed (this.mhz); eg: - * - * nCycles = Math.round(nCycles / (this.mhz / this.mhzDefault)); - * - * but that speed will fluctuate somewhat: large fluctuations at first, but increasingly smaller - * fluctuations after each burst of instructions that runCPU() executes. - * - * Alternatively, we can scale the cycle count by the multiplier, which is good in that the - * multiplier doesn't vary once the user changes it, but a potential downside is that the - * multiplier might be set too high, resulting in a target speed that's higher than the effective - * speed is able to reach. - * - * Also, if multipliers were always limited to a power-of-two, then this could be calculated - * with a simple shift. However, only the "setSpeed" UI binding limits it that way; the Debugger - * interface allows any value, as does the CPU "multiplier" parmsCPU property (from the machine's - * XML file). - */ - nCycles = Math.round(nCycles / this.nCyclesMultiplier); - } - return nCycles; -}; - -/** - * getCyclesPerSecond() - * - * This returns the CPU's "base" speed (ie, the original cycles per second defined for the machine) - * - * @this {CPUPDP11} - * @return {number} - */ -CPUPDP11.prototype.getCyclesPerSecond = function() -{ - return this.nCyclesPerSecond; -}; - -/** - * resetCycles() - * - * Resets speed and cycle information as part of any reset() or restore(); this typically occurs during powerUp(). - * It's important that this be called BEFORE the actual restore() call, because restore() may want to call setSpeed(), - * which in turn assumes that all the cycle counts have been initialized to sensible values. - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.resetCycles = function() -{ - this.mhz = 0; - this.nYieldsSinceStatusUpdate = 0; - this.nTotalCycles = this.nRunCycles = this.nBurstCycles = this.nStepCycles = this.nSnapCycles = 0; - this.resetChecksum(); - this.setSpeed(1); -}; - -/** - * getSpeed() - * - * @this {CPUPDP11} - * @return {number} the current speed multiplier - */ -CPUPDP11.prototype.getSpeed = function() -{ - return this.nCyclesMultiplier; -}; - -/** - * getSpeedCurrent() - * - * @this {CPUPDP11} - * @return {string} the current speed, in mhz, as a string formatted to two decimal places - */ -CPUPDP11.prototype.getSpeedCurrent = function() -{ - /* - * TODO: Has toFixed() been "fixed" in all browsers (eg, IE) to return a rounded value now? - */ - return ((this.flags.running)? (this.mhz.toFixed(2) + "Mhz") : "Stopped"); -}; - -/** - * getSpeedTarget() - * - * @this {CPUPDP11} - * @return {string} the target speed, in mhz, as a string formatted to two decimal places - */ -CPUPDP11.prototype.getSpeedTarget = function() -{ - /* - * TODO: Has toFixed() been "fixed" in all browsers (eg, IE) to return a rounded value now? - */ - return this.mhzTarget.toFixed(2) + "Mhz"; -}; - -/** - * setSpeed(nMultiplier, fUpdateFocus) - * - * NOTE: This used to return the target speed, in mhz, but no callers appear to care at this point. - * - * @desc Whenever the speed is changed, the running cycle count and corresponding start time must be reset, - * so that the next effective speed calculation obtains sensible results. In fact, when runCPU() initially calls - * setSpeed() with no parameters, that's all this function does (it doesn't change the current speed setting). - * - * @this {CPUPDP11} - * @param {number} [nMultiplier] is the new proposed multiplier (reverts to 1 if the target was too high) - * @param {boolean} [fUpdateFocus] is true to update Computer focus - * @return {boolean} true if successful, false if not - */ -CPUPDP11.prototype.setSpeed = function(nMultiplier, fUpdateFocus) -{ - var fSuccess = false; - if (nMultiplier !== undefined) { - /* - * If we haven't reached 80% (0.8) of the current target speed, revert to a multiplier of one (1). - */ - if (this.mhz / this.mhzTarget < 0.8) { - nMultiplier = 1; - } else { - fSuccess = true; - } - this.nCyclesMultiplier = nMultiplier; - var mhz = this.mhzDefault * this.nCyclesMultiplier; - if (this.mhzTarget != mhz) { - this.mhzTarget = mhz; - var sSpeed = this.getSpeedTarget(); - var controlSpeed = this.bindings["setSpeed"]; - if (controlSpeed) controlSpeed.textContent = sSpeed; - this.println("target speed: " + sSpeed); - } - if (fUpdateFocus && this.cmp) this.cmp.setFocus(); - } - this.addCycles(this.nRunCycles); - this.nRunCycles = 0; - this.msStartRun = usr.getTime(); - this.msEndThisRun = 0; - this.calcCycles(); - return fSuccess; -}; - -/** - * calcSpeed(nCycles, msElapsed) - * - * @this {CPUPDP11} - * @param {number} nCycles - * @param {number} msElapsed - */ -CPUPDP11.prototype.calcSpeed = function(nCycles, msElapsed) -{ - if (msElapsed) { - this.mhz = Math.round(nCycles / (msElapsed * 10)) / 100; - if (msElapsed >= 86400000) { - this.nTotalCycles = 0; - this.setSpeed(); // reset all counters once per day so that we never have to worry about overflow - } - } -}; - -/** - * calcStartTime() - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.calcStartTime = function() -{ - if (this.nCyclesRecalc >= this.nCyclesPerSecond) { - this.calcCycles(true); - } - this.nCyclesThisRun = 0; - this.msStartThisRun = usr.getTime(); - - /* - * Try to detect situations where the browser may have throttled us, such as when the user switches - * to a different tab; in those situations, Chrome and Safari may restrict setTimeout() callbacks - * to roughly one per second. - * - * Another scenario: the user resizes the browser window. setTimeout() callbacks are not throttled, - * but there can still be enough of a lag between the callbacks that CPU speed will be noticeably - * erratic if we don't compensate for it here. - * - * We can detect throttling/lagging by verifying that msEndThisRun (which was set at the end of the - * previous run and includes any requested sleep time) is comparable to the current msStartThisRun; - * if the delta is significant, we compensate by bumping msStartRun forward by that delta. - * - * This shouldn't be triggered when the Debugger halts the CPU, because setSpeed() -- which is called - * whenever the CPU starts running again -- zeroes msEndThisRun. - * - * This also won't do anything about other internal delays; for example, Debugger message() calls. - * By the time the message() function has called yieldCPU(), the cost of the message has already been - * incurred, so it will be end up being charged against the instruction(s) that triggered it. - * - * TODO: Consider calling yieldCPU() sooner from message(), so that it can arrange for the msEndThisRun - * "snapshot" to occur sooner; it's unclear, however, whether that will really improve the CPU's ability - * to hit its target speed, since you would expect any instruction that displays a message to be an - * EXTREMELY slow instruction. - */ - if (this.msEndThisRun) { - var msDelta = this.msStartThisRun - this.msEndThisRun; - if (msDelta > this.msPerYield) { - if (MAXDEBUG) this.println("large time delay: " + msDelta + "ms"); - this.msStartRun += msDelta; - /* - * Bumping msStartRun forward should NEVER cause it to exceed msStartThisRun; however, just - * in case, I make absolutely sure it cannot happen, since doing so could result in negative - * speed calculations. - */ - this.assert(this.msStartRun <= this.msStartThisRun); - if (this.msStartRun > this.msStartThisRun) { - this.msStartRun = this.msStartThisRun; - } - } - } -}; - -/** - * calcRemainingTime() - * - * @this {CPUPDP11} - * @return {number} - */ -CPUPDP11.prototype.calcRemainingTime = function() -{ - this.msEndThisRun = usr.getTime(); - - var msYield = this.msPerYield; - if (this.nCyclesThisRun) { - /* - * Normally, we would assume we executed a full quota of work over msPerYield, but since the CPU - * now has the option of calling yieldCPU(), that might not be true. If nCyclesThisRun is correct, then - * the ratio of nCyclesThisRun/nCyclesPerYield should represent the percentage of work we performed, - * and so applying that percentage to msPerYield should give us a better estimate of work vs. time. - */ - msYield = Math.round(msYield * this.nCyclesThisRun / this.nCyclesPerYield); - } - - var msElapsedThisRun = this.msEndThisRun - this.msStartThisRun; - var msRemainsThisRun = msYield - msElapsedThisRun; - - /* - * We could pass only "this run" results to calcSpeed(): - * - * nCycles = this.nCyclesThisRun; - * msElapsed = msElapsedThisRun; - * - * but it seems preferable to use longer time periods and hopefully get a more accurate speed. - * - * Also, if msRemainsThisRun >= 0 && this.nCyclesMultiplier == 1, we could pass these results instead: - * - * nCycles = this.nCyclesThisRun; - * msElapsed = this.msPerYield; - * - * to insure that we display a smooth, constant N Mhz. But for now, I prefer seeing any fluctuations. - */ - var nCycles = this.nRunCycles; - var msElapsed = this.msEndThisRun - this.msStartRun; - - if (MAXDEBUG && msRemainsThisRun < 0 && this.nCyclesMultiplier > 1) { - this.println("warning: updates @" + msElapsedThisRun + "ms (prefer " + Math.round(msYield) + "ms)"); - } - - this.calcSpeed(nCycles, msElapsed); - - if (msRemainsThisRun < 0 || this.mhz < this.mhzTarget) { - /* - * Try "throwing out" the effects of large anomalies, by moving the overall run start time up; - * ordinarily, this should only happen when the someone is using an external Debugger or some other - * tool or feature that is interfering with our overall execution. - */ - if (msRemainsThisRun < -1000) { - this.msStartRun -= msRemainsThisRun; - } - /* - * If the last burst took MORE time than we allotted (ie, it's taking more than 1 second to simulate - * nCyclesPerSecond), all we can do is yield for as little time as possible (ie, 0ms) and hope that the - * simulation is at least usable. - */ - msRemainsThisRun = 0; - } - - /* - * Last but not least, update nCyclesRecalc, so that when runCPU() starts up again and calls calcStartTime(), - * it'll be ready to decide if calcCycles() should be called again. - */ - this.nCyclesRecalc += this.nCyclesThisRun; - - if (DEBUG && this.messageEnabled(MessagesPDP11.LOG) && msRemainsThisRun) { - this.log("calcRemainingTime: " + msRemainsThisRun + "ms to sleep after " + this.msEndThisRun + "ms"); - } - - this.msEndThisRun += msRemainsThisRun; - return msRemainsThisRun; -}; - -/** - * addTimer(callBack) - * - * Components that want to have timers that periodically fire after some number of milliseconds call - * addTimer() to create the timer, and then setTimer() every time they want to arm it. There is currently - * no removeTimer() because these are generally used for the entire lifetime of a component. - * - * Internally, each timer entry is a preallocated Array with two entries: a cycle countdown in element [0] - * and a callback function in element [1]. A timer is initially dormant; dormant timers have a countdown - * value of -1 (although any negative number will suffice) and active timers have a non-negative value. - * - * Why not use JavaScript's setTimeout() instead? Good question. For a good answer, see setTimer() below. - * - * TODO: Consider making the addTimer() and setTimer() interfaces more like the addIRQ() and setIRQ() - * interfaces (which return the underlying object instead of an array index) and maintaining a separate list - * of active timers, in order of highest to lowest cycle countdown values, as this could speed up - * getBurstCycles() and updateTimers() functions ever so slightly. - * - * @this {CPUPDP11} - * @param {function()} callBack - * @return {number} timer index - */ -CPUPDP11.prototype.addTimer = function(callBack) -{ - var iTimer = this.aTimers.length; - this.aTimers.push([-1, callBack]); - return iTimer; -}; - -/** - * setTimer(iTimer, ms, fReset) - * - * Using the timer index from a previous addTimer() call, this sets that timer to fire after the - * specified number of milliseconds. - * - * This is preferred over JavaScript's setTimeout(), because all our timers are effectively paused when - * the CPU is paused (eg, when the Debugger halts execution). Moreover, setTimeout() handlers only run after - * runCPU() yields, which is far too granular for some components (eg, when the SerialPort tries to simulate - * interrupts at 9600 baud). - * - * Ideally, the only function that would use setTimeout() is runCPU(), while the rest of the components - * use setTimer(); however, due to legacy code (ie, code that predates these functions) and/or laziness, - * that may not be the case. - * - * @this {CPUPDP11} - * @param {number} iTimer - * @param {number} ms (converted into a cycle countdown internally) - * @param {boolean} [fReset] (true if the timer should be reset even if already armed) - * @return {number} (number of cycles used to arm timer, or -1 if error) - */ -CPUPDP11.prototype.setTimer = function(iTimer, ms, fReset) -{ - var nCycles = -1; - if (iTimer >= 0 && iTimer < this.aTimers.length) { - if (fReset || this.aTimers[iTimer][0] < 0) { - nCycles = this.getMSCycles(ms); - /* - * We must now confront the following problem: if the CPU is currently executing a burst of cycles, - * the number of cycles it has executed in that burst so far must NOT be charged against the cycle - * timeout we're about to set. The simplest way to resolve that is to immediately call endBurst() - * and bias the cycle timeout by the number of cycles that the burst executed. - */ - if (this.flags.running) { - nCycles += this.endBurst(); - } - this.aTimers[iTimer][0] = nCycles; - } - } - return nCycles; -}; - -/** - * getMSCycles(ms) - * - * @this {CPUPDP11} - * @param {number} ms - * @return {number} number of corresponding cycles - */ -CPUPDP11.prototype.getMSCycles = function(ms) -{ - return ((this.nCyclesPerSecond * this.nCyclesMultiplier) / 1000 * ms)|0; -}; - -/** - * getBurstCycles(nCycles) - * - * Used by runCPU() to get min(nCycles,[timer cycle counts]) - * - * @this {CPUPDP11} - * @param {number} nCycles (number of cycles about to execute) - * @return {number} (either nCycles or less if a timer needs to fire) - */ -CPUPDP11.prototype.getBurstCycles = function(nCycles) -{ - for (var i = this.aTimers.length - 1; i >= 0; i--) { - var timer = this.aTimers[i]; - this.assert(!isNaN(timer[0])); - if (timer[0] < 0) continue; - if (nCycles > timer[0]) { - nCycles = timer[0]; - } - } - return nCycles; -}; - -/** - * updateTimers(nCycles) - * - * Used by runCPU() to reduce all active timer countdown values by the number of cycles just executed; - * this is the function that actually "fires" any timer(s) whose countdown has reached (or dropped below) - * zero, invoking their callback function. - * - * @this {CPUPDP11} - * @param {number} nCycles (number of cycles actually executed) - */ -CPUPDP11.prototype.updateTimers = function(nCycles) -{ - for (var i = this.aTimers.length - 1; i >= 0; i--) { - var timer = this.aTimers[i]; - this.assert(!isNaN(timer[0])); - if (timer[0] < 0) continue; - timer[0] -= nCycles; - if (timer[0] <= 0) { - timer[0] = -1; // zero is technically an "active" value, so ensure the timer is dormant now - timer[1](); // safe to invoke the callback function now - } - } -}; - -/** - * endBurst(fReset) - * - * @this {CPUPDP11} - * @param {boolean} [fReset] - * @return {number} (number of cycles executed in the most recent burst) - */ -CPUPDP11.prototype.endBurst = function(fReset) -{ - var nCycles = this.nBurstCycles -= this.nStepCycles; - /* - * In addition to zeroing nStepCycles, it's important that we also zero nSnapCycles, because if a CPU - * burst is being ended after nStepCycles has been "snapped" (because a certain opcode has an unusual timing - * calculation that must be based on a "snapped" cycle count rather the opcode's starting cycle count), we - * could inadvertently undo the endBurst() if the original "snapped" value was used to update nStepCycles. - */ - this.nStepCycles = this.nSnapCycles = 0; - if (fReset) this.nBurstCycles = 0; - return nCycles; -}; - -/** - * runCPU() - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.runCPU = function() -{ - if (!this.flags.running) return; - - /* - * calcStartTime() initializes the cycle counter and timestamp for this runCPU() invocation, and optionally - * recalculates the the maximum number of cycles for each burst if the nCyclesRecalc threshold has been reached. - */ - this.calcStartTime(); - - try { - do { - /* - * nCycles is how many cycles we WANT to run on each iteration of stepCPU(), and may be as - * HIGH as nCyclesPerYield, but it may be significantly less. getBurstCycles() will adjust - * nCycles downward if any CPU timers need to fire during the next burst. - */ - var nCycles = this.getBurstCycles(this.flags.checksum? 1 : this.nCyclesPerYield); - - /* - * Execute the burst. - */ - try { - this.stepCPU(nCycles); - } - catch(exception) { - /* - * We assume that any numeric exception was explicitly thrown by the CPU to interrupt the - * current instruction (and by extension, the current burst, but not the current run). All - * other exceptions are re-thrown to the catch below, which will attempt a stack dump. - */ - if (typeof exception != "number") throw exception; - } - - /* - * Terminate the burst, returning the number of cycles that stepCPU() actually ran. - */ - nCycles = this.endBurst(true); - - /* - * Add nCycles to nCyclesThisRun, as well as nRunCycles (the cycle count since the CPU started). - */ - this.nCyclesThisRun += nCycles; - this.nRunCycles += nCycles; - this.updateChecksum(nCycles); - - /* - * Update any/all timers, firing those whose cycle countdowns have reached (or dropped below) zero. - */ - this.updateTimers(nCycles); - - this.nCyclesNextYield -= nCycles; - if (this.nCyclesNextYield <= 0) { - this.nCyclesNextYield += this.nCyclesPerYield; - if (++this.nYieldsSinceStatusUpdate >= CPUPDP11.YIELDS_PER_STATUS) { - this.updateDisplays(); - this.nYieldsSinceStatusUpdate = 0; - } - break; - } - } while (this.flags.running); - } - catch (e) { - this.stopCPU(); - if (this.cmp) this.cmp.stop(usr.getTime(), this.getCycles()); - this.setError(e.stack || e.message); - return; - } - - if (this.flags.running) setTimeout(this.onRunTimeout, this.calcRemainingTime()); -}; - -/** - * startCPU(fUpdateFocus) - * - * For use by any component that wants to start the CPU. - * - * @param {boolean} [fUpdateFocus] - * @return {boolean} - */ -CPUPDP11.prototype.startCPU = function(fUpdateFocus) -{ - if (this.isError()) { - return false; - } - if (this.flags.running) { - this.println(this.toString() + " busy"); - return false; - } - /* - * setSpeed() without a speed parameter leaves the selected speed in place, but also resets the - * cycle counter and timestamp for the current series of runCPU() calls, calculates the maximum number - * of cycles for each burst based on the last known effective CPU speed, and resets the nCyclesRecalc - * threshold counter. - */ - this.setSpeed(); - this.flags.running = true; - this.flags.starting = true; - var controlRun = this.bindings["run"]; - if (controlRun) controlRun.textContent = "Halt"; - if (this.cmp) { - if (fUpdateFocus) this.cmp.setFocus(true); - this.cmp.start(this.msStartRun, this.getCycles()); - } - if (!this.dbg) this.status("Started"); - setTimeout(this.onRunTimeout, 0); - return true; -}; - -/** - * stepCPU(nMinCycles) - * - * This will be implemented by the CPUStatePDP11 component. - * - * @this {CPUPDP11} - * @param {number} nMinCycles (0 implies a single-step, and therefore breakpoints should be ignored) - * @return {number} of cycles executed; 0 indicates that the last instruction was not executed - */ -CPUPDP11.prototype.stepCPU = function(nMinCycles) -{ - return 0; -}; - -/** - * stopCPU(fComplete) - * - * For use by any component that wants to stop the CPU. - * - * This similar to yieldCPU(), but it doesn't need to zero nCyclesNextYield to break out of runCPU(); - * it simply needs to clear fRunning (well, "simply" may be oversimplifying a bit....) - * - * @this {CPUPDP11} - * @param {boolean} [fComplete] - * @return {boolean} true if the CPU was stopped, false if it was already stopped - */ -CPUPDP11.prototype.stopCPU = function(fComplete) -{ - var fStopped = false; - if (this.flags.running) { - this.endBurst(); - this.addCycles(this.nRunCycles); - this.nRunCycles = 0; - this.flags.running = false; - var controlRun = this.bindings["run"]; - if (controlRun) controlRun.textContent = "Run"; - if (this.cmp) { - this.cmp.stop(usr.getTime(), this.getCycles()); - } - fStopped = true; - if (!this.dbg) this.status("Stopped"); - } - this.flags.complete = fComplete; - return fStopped; -}; - -/** - * yieldCPU() - * - * Similar to stopCPU() with regard to how it resets various cycle countdown values, but the CPU - * remains in a "running" state. - * - * @this {CPUPDP11} - */ -CPUPDP11.prototype.yieldCPU = function() -{ - this.endBurst(); // this will break us out of stepCPU() - this.nCyclesNextYield = 0; // this will break us out of runCPU(), once we break out of stepCPU() - /* - * The Debugger calls yieldCPU() after every message() to ensure browser responsiveness, but it looks - * odd for those messages to show CPU state changes if the Control Panel, Video display, etc, does not, - * so I've added this call to try to keep things looking synchronized. - */ - this.updateDisplays(); -}; - -if (NODE) module.exports = CPUPDP11; +export default CPUPDP11; diff --git a/modules/pdp11/lib/cpuops.js b/modules/pdp11/lib/cpuops.js index c82a638d2..9fbe928b3 100644 --- a/modules/pdp11/lib/cpuops.js +++ b/modules/pdp11/lib/cpuops.js @@ -32,9 +32,7 @@ "use strict"; -if (NODE) { - var PDP11 = require("./defines"); -} +import PDP11 from "./defines"; /* * Decoding starts at the bottom of this file, in op1120() and op1145(). diff --git a/modules/pdp11/lib/cpustate.js b/modules/pdp11/lib/cpustate.js index 736dffd34..afb63dc44 100644 --- a/modules/pdp11/lib/cpustate.js +++ b/modules/pdp11/lib/cpustate.js @@ -32,56 +32,15 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var BusPDP11 = require("./bus"); - var CPUPDP11 = require("./cpu"); - var MessagesPDP11 = require("./messages"); - var MemoryPDP11 = require("./memory"); -} - -/** - * CPUStatePDP11(parmsCPU) - * - * The CPUStatePDP11 class uses the following (parmsCPU) properties: - * - * model: a number (eg, 1170) that should match one of the PDP11.MODEL_* values - * addrReset: reset address (default is 0) - * - * This extends the CPU class and passes any remaining parmsCPU properties to the CPU class - * constructor, along with a default speed (cycles per second) based on the specified (or default) - * CPU model number. - * - * @constructor - * @extends CPUPDP11 - * @param {Object} parmsCPU - */ -function CPUStatePDP11(parmsCPU) -{ - this.model = +parmsCPU['model'] || PDP11.MODEL_1170; - this.addrReset = parmsCPU['addrReset'] || 0; - - var nCyclesDefault = 0; - switch(this.model) { - case PDP11.MODEL_1170: - default: - nCyclesDefault = 6666667; - break; - } - - CPUPDP11.call(this, parmsCPU, nCyclesDefault); - - /* - * Initialize processor operation to match the requested model - */ - this.initProcessor(); -} - -Component.subclass(CPUStatePDP11, CPUPDP11); +import Str from "../../shared/es6/strlib"; +import Web from "../../shared/es6/weblib"; +import Component from "../../shared/es6/component"; +import State from "../../shared/es6/state"; +import PDP11 from "./defines"; +import BusPDP11 from "./bus"; +import CPUPDP11 from "./cpu"; +import MessagesPDP11 from "./messages"; +import MemoryPDP11 from "./memory"; /* * Overview of Device Interrupt Support @@ -117,2793 +76,2867 @@ Component.subclass(CPUStatePDP11, CPUPDP11); */ var IRQ; -/** - * initProcessor() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.initProcessor = function() -{ - /* - * offRegSrc is a bias added to the register index calculated in readSrcWord() and readSrcByte(), - * and by default has no effect on the register index, UNLESS this is a PDP-11/20, in which case the - * bias is changed to 8 and we return one of the negative values you see above. Those negative values - * act as signals to writeDstWord() and writeDstByte(), effectively delaying evaluation of the register - * until then. +class CPUStatePDP11 extends CPUPDP11 { + /** + * CPUStatePDP11(parmsCPU) + * + * The CPUStatePDP11 class uses the following (parmsCPU) properties: + * + * model: a number (eg, 1170) that should match one of the PDP11.MODEL_* values + * addrReset: reset address (default is 0) + * + * This extends the CPU class and passes any remaining parmsCPU properties to the CPU class + * constructor, along with a default speed (cycles per second) based on the specified (or default) + * CPU model number. + * + * @param {Object} parmsCPU */ - this.offRegSrc = 0; - this.maskRegSrcByte = 0xff; + constructor(parmsCPU) + { + var nCyclesDefault = 0; + var model = +parmsCPU['model'] || PDP11.MODEL_1170; - if (this.model <= PDP11.MODEL_1120) { - this.decode = PDP11.op1120.bind(this); - this.checkStackLimit = this.checkStackLimit1120; - this.offRegSrc = 8; - this.maskRegSrcByte = -1; - this.pswUsed = ~(PDP11.PSW.UNUSED | PDP11.PSW.REGSET | PDP11.PSW.PMODE | PDP11.PSW.CMODE) & 0xffff; - this.pswRegSet = 0; - } else { - this.decode = PDP11.op1145.bind(this); - this.checkStackLimit = this.checkStackLimit1145; - this.pswUsed = ~(PDP11.PSW.UNUSED | (this.model < PDP11.MODEL_1145? PDP11.PSW.REGSET : 0)) & 0xffff; - this.pswRegSet = (this.model >= PDP11.MODEL_1145? PDP11.PSW.REGSET : 0); - } - - this.initRegs(); - - this.nDisableTraps = 0; - - /** @type {IRQ|null} */ - this.irqNext = null; // the head of the active IRQ list, in priority order - - /** @type {Array.} */ - this.aIRQs = []; // list of all IRQs, active or not (to be used for auto-configuration) - - this.flags.complete = false; - - this.nReadBreaks = this.nWriteBreaks = 0; -}; - -/** - * init() - * - * Called once the Bus has been initialized. - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.init = function() -{ - this.getByteDirect = this.bus.getByte.bind(this.bus); - this.getWordDirect = this.bus.getWord.bind(this.bus); - this.setByteDirect = this.bus.setByte.bind(this.bus); - this.setWordDirect = this.bus.setWord.bind(this.bus); -}; - -/** - * finish() - * - * Called before the CPU is powered up. - * - * TODO: This function simply ensures that we don't leave any IRQs installed with unresolved floating - * (negative) vectors; however, properly assigning vectors according to device type (ie, auto-configuration) - * is an exercise left for another day. - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.finish = function() -{ - var vectorFloating = 0o300; - for (var i = 0; i < this.aIRQs.length; i++) { - var irq = this.aIRQs[i]; - if (irq.vector < 0) { - irq.vector = vectorFloating; - vectorFloating += 4; + switch(model) { + case PDP11.MODEL_1170: + default: + nCyclesDefault = 6666667; + break; } - } -}; -/** - * reset() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.reset = function() -{ - this.status("Model " + this.model); - if (this.flags.running) this.stopCPU(); - this.initRegs(); - this.resetCycles(); - this.clearError(); // clear any fatal error/exception that setError() may have flagged - this.parent.reset.call(this); -}; + /* + * WARNING: With ES6 classes, you cannot access "this" until all superclasses have been initialized as well. + */ + super(parmsCPU, nCyclesDefault); -/** - * initRegs() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.initRegs = function() -{ - /* - * TODO: Verify the initial state of all PDP-11 flags and registers (are they well-documented?) - */ - var f = 0xffff; - this.flagC = 0x10000; // PSW C bit - this.flagV = 0x8000; // PSW V bit - this.flagZ = f; // ~ PSW Z bit (TODO: Why do we clear instead of set Z, like other flags?) - this.flagN = 0x8000; // PSW N bit - this.regPSW = 0x000f; // PSW other bits (TODO: What's the point of setting the flag bits here, too?) - this.regsGen = [ // General R0-R7 - 0, 0, 0, 0, 0, 0, 0, this.addrReset, - -1, -2, -3, -4, -5, -6, -7, -8 - ]; + this.model = model; + this.addrReset = parmsCPU['addrReset'] || 0; - this.regsAlt = [ // Alternate R0-R5 - 0, 0, 0, 0, 0, 0 - ]; - this.regsAltStack = [ // Alternate R6 stack pointers (KERNEL, SUPER, UNUSED, USER) - 0, 0, 0, 0 - ]; - this.pswMode = 0; // current memory management mode (see PDP11.MODE.KERNEL | SUPER | UNUSED | USER) - this.mapMMR3 = [4,2,0,1]; // map from mode to MMR3 I/D bit - this.mmuPDR = [ // memory management PDR registers by mode - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPDR regs followed by 8 KDPDR regs) - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // SUPER (8 SIPDR regs followed by 8 SDPDR regs) - [f, f, f, f, f, f, f, f, f, f, f, f, f, f, f, f], // mode 2 (not used) - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // USER (8 UIPDR regs followed by 8 UDPDR regs) - ]; - this.mmuPAR = [ // memory management PAR registers by mode - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPAR regs followed by 8 KDPAR regs) - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // SUPER (8 SIPDR regs followed by 8 SDPDR regs) - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // mode 2 (not used) - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // USER (8 UIPDR regs followed by 8 UDPDR regs) - ]; - this.regsUniMap = [ // 32 UNIBUS map registers - 0, 0, 0, 0, 0, 0, 0, 0, 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.regsControl = [ // various control registers (177740-177756) we don't really care about - 0, 0, 0, 0, 0, 0, 0, 0 - ]; - this.regMBR = 0; + /* + * These properties will be initialized by initCPU() + */ + this.flagC = this.flagV = this.flagZ = this.flagN = 0; + this.regPSW = 0; + this.regsGen = this.regsAlt = this.regsAltStack = []; + this.pswMode = 0; + this.mapMMR3 = []; + this.mmuPDR = this.mmuPAR = this.regsUniMap = this.regsControl = []; + this.regMBR = 0; + this.opFlags = 0; + this.srcMode = this.srcReg = 0; + this.dstMode = this.dstReg = this.dstAddr = 0; + this.pswTrap = 0; - /* - * opFlags contains various conditions that stepCPU() needs to be aware of. - */ - this.opFlags = 0; + /* + * These properties will be initialized by initMMU() + */ + this.regMMR0 = this.regMMR1 = this.regMMR2 = this.regMMR3 = 0; + this.regErr = this.regPIR = this.regSLR = 0; + this.mmuEnable = this.mmuLastMode = this.mmuLastPage = this.mmuMask = 0; + this.addrLast = this.opLast = this.addrInvalid = 0; - /* - * srcMode and srcReg are set by SRCMODE decodes, and dstMode and dstReg are set for DSTMODE decodes, - * indicating to the opcode handlers the mode(s) and register(s) used as part of the current opcode, so - * that they can calculate the correct number of cycles. dstAddr is set for byte operations that also - * need to know the effective address for their cycle calculation. - */ - this.srcMode = this.srcReg = 0; - this.dstMode = this.dstReg = this.dstAddr = 0; + /* + * Initialize processor operation to match the requested model. + * + * offRegSrc is a bias added to the register index calculated in readSrcWord() and readSrcByte(), + * and by default has no effect on the register index, UNLESS this is a PDP-11/20, in which case the + * bias is changed to 8 and we return one of the negative values you see above. Those negative values + * act as signals to writeDstWord() and writeDstByte(), effectively delaying evaluation of the register + * until then. + */ + this.offRegSrc = 0; + this.maskRegSrcByte = 0xff; - this.pswTrap = -1; + if (this.model <= PDP11.MODEL_1120) { + this.decode = PDP11.op1120.bind(this); + this.checkStackLimit = this.checkStackLimit1120; + this.offRegSrc = 8; + this.maskRegSrcByte = -1; + this.pswUsed = ~(PDP11.PSW.UNUSED | PDP11.PSW.REGSET | PDP11.PSW.PMODE | PDP11.PSW.CMODE) & 0xffff; + this.pswRegSet = 0; + } else { + this.decode = PDP11.op1145.bind(this); + this.checkStackLimit = this.checkStackLimit1145; + this.pswUsed = ~(PDP11.PSW.UNUSED | (this.model < PDP11.MODEL_1145? PDP11.PSW.REGSET : 0)) & 0xffff; + this.pswRegSet = (this.model >= PDP11.MODEL_1145? PDP11.PSW.REGSET : 0); + } - this.resetRegs(); -}; + this.nDisableTraps = 0; -/** - * resetCPU() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.resetCPU = function() -{ - this.bus.reset(); - this.resetRegs(); -}; + /** @type {IRQ|null} */ + this.irqNext = null; // the head of the active IRQ list, in priority order -/** - * resetRegs() - * - * Reset all registers required as part of a RESET instruction. - * - * TODO: Do we ever need to automatically clear regErr, or is it cleared manually? - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.resetRegs = function() -{ - this.regMMR0 = 0; // 177572 - this.regMMR1 = 0; // 177574 - this.regMMR2 = 0; // 177576 - this.regMMR3 = 0; // 172516 - this.regErr = 0; // 177766 - this.regPIR = 0; // 177772 - this.regSLR = 0xff; // 177774 - this.mmuEnable = 0; // MMU enabled for PDP11.ACCESS.READ or PDP11.ACCESS.WRITE - this.mmuLastMode = 0; - this.mmuLastPage = 0; - this.mmuMask = 0x3ffff; + /** @type {Array.} */ + this.aIRQs = []; // list of all IRQs, active or not (to be used for auto-configuration) - this.addrLast = 0; // this is queried by the Panel when it's not using its own ADDRESS register - this.opLast = 0; // stores the PC and any auto-incs or auto-decs from the last opcode; used to update MMR1 and MMR2 + this.flags.complete = false; - this.resetIRQs(); + this.getByte = this.getByteDirect = this.getByteChecked; + this.getWord = this.getWordDirect = this.getWordChecked; + this.setByte = this.setByteDirect = this.setByteChecked; + this.setWord = this.setWordDirect = this.setWordChecked; + this.nReadBreaks = this.nWriteBreaks = 0; - if (this.bus) { - this.setMemoryAccess(); - this.addrInvalid = this.bus.getMemoryLimit(MemoryPDP11.TYPE.RAM); - } -}; - -/** - * getMMUState() - * - * Returns bit 0 set if 22-bit, bit 1 set if 18-bit, or bit 2 set if 16-bit; used by the Panel component. - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getMMUState = function() -{ - return this.mmuEnable? ((this.regMMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2) : 4; -}; - -/** - * setMemoryAccess() - * - * Define handlers and DSPACE setting appropriate for the current MMU mode, in order to eliminate unnecessary calls - * to mapVirtualToPhysical(). - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.setMemoryAccess = function() -{ - this.getByte = this.getByteDirect; - this.getWord = this.getWordDirect; - this.setByte = this.setByteDirect; - this.setWord = this.setWordDirect; - if (this.nReadBreaks) { - this.getByte = this.getByteChecked; - this.getWord = this.getWordChecked; - } - if (this.nWriteBreaks) { - this.setByte = this.setByteChecked; - this.setWord = this.setWordChecked; - } - if (this.mmuEnable) { - this.addrDSpace = PDP11.ACCESS.DSPACE; - this.addrIOPage = (this.regMMR3 & PDP11.MMR3.MMU_22BIT)? BusPDP11.IOPAGE_22BIT : BusPDP11.IOPAGE_18BIT; + this.addrDSpace = this.addrIOPage = 0; this.getAddr = this.getVirtualAddrByMode; - this.readWord = this.nReadBreaks? this.readWordFromVirtualChecked : this.readWordFromVirtual; - this.writeWord = this.nWriteBreaks? this.writeWordToVirtualChecked : this.writeWordToVirtual; - this.bus.setIOPageRange((this.regMMR3 & PDP11.MMR3.MMU_22BIT)? 22 : 18); - } else { - this.addrDSpace = 0; - this.addrIOPage = BusPDP11.IOPAGE_16BIT; - this.getAddr = this.getPhysicalAddrByMode; - this.readWord = this.nReadBreaks? this.readWordFromPhysicalChecked : this.readWordFromPhysical; - this.writeWord = this.nWriteBreaks? this.writeWordToPhysicalChecked : this.writeWordToPhysical; - this.bus.setIOPageRange(16); + this.readWord = this.readWordFromVirtual; + this.writeWord = this.writeWordToVirtual; + + this.trapVector = this.trapReason = 0; } -}; -/** - * getMMR0() - * - * NOTE: It's OK to bypass this function if you're only interested in bits that always stored directly in MMR0. - * - * 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 MMR0 - * nonr leng read trap unus unus ena mnt cmp -mode- i/d --page-- enable - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getMMR0 = function() -{ - var data = this.regMMR0; - if (!(data & PDP11.MMR0.ABORT)) { - data = (data & ~(PDP11.MMR0.UNUSED | PDP11.MMR0.PAGE | PDP11.MMR0.MODE)) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); + /** + * initBus(cmp, bus, cpu, dbg) + * + * Called once the Bus has been initialized. + * + * @this {CPUStatePDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUPDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + super.initBus(cmp, bus, cpu, dbg); + this.getByteDirect = bus.getByte.bind(bus); + this.getWordDirect = bus.getWord.bind(bus); + this.setByteDirect = bus.setByte.bind(bus); + this.setWordDirect = bus.setWord.bind(bus); } - return data; -}; -/** - * setMMR0() - * - * @this {CPUStatePDP11} - * @param {number} newMMR0 - */ -CPUStatePDP11.prototype.setMMR0 = function(newMMR0) -{ - newMMR0 &= ~PDP11.MMR0.UNUSED; - - if (this.regMMR0 != newMMR0) { - if (newMMR0 & PDP11.MMR0.ABORT) { - /* - * If updates to MMR0[1-7], MMR1, and MMR2 are being shut off (ie, MMR0.ABORT bits are transitioning - * from clear to set), then do one final sync with their real-time counterparts in opLast. - */ - if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { - this.regMMR1 = (this.opLast >> 16) & 0xffff; - this.regMMR2 = this.opLast & 0xffff; + /** + * powerUp(data, fRepower) + * + * @this {CPUStatePDP11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + var vectorFloating = 0o300; + for (var i = 0; i < this.aIRQs.length; i++) { + var irq = this.aIRQs[i]; + if (irq.vector < 0) { + irq.vector = vectorFloating; + vectorFloating += 4; } } + return super.powerUp(data, fRepower); + } + + /** + * reset() + * + * @this {CPUStatePDP11} + */ + reset() + { + this.status("Model " + this.model); + if (this.flags.running) this.stopCPU(); + this.initCPU(); + this.resetCycles(); + this.clearError(); // clear any fatal error/exception that setError() may have flagged + super.reset(); + } + + /** + * initCPU() + * + * WARNING: It's tempting to call this function as early as the constructor() or initBus() calls, but + * but we actually need to wait until our reset() or restore() function is called by the powerUp() handler, + * ensuring that all device memory allocations have finished. Only then is it safe to make the first call + * to initCPU() -> initMMU() -> setMemoryAccess() -> Bus.setIOPageRange() and sync the Bus memory map with + * the CPU memory map. + * + * @this {CPUStatePDP11} + */ + initCPU() + { /* - * NOTE: We are not protecting the read-only state of the COMPLETED bit here; that's handled by writeMMR0(). + * TODO: Verify the initial state of all PDP-11 flags and registers (are they well-documented?) */ - this.regMMR0 = newMMR0; - this.mmuLastMode = (newMMR0 & PDP11.MMR0.MODE) >> PDP11.MMR0.SHIFT.MODE; - this.mmuLastPage = (newMMR0 & PDP11.MMR0.PAGE) >> PDP11.MMR0.SHIFT.PAGE; - var mmuEnable = 0; - if (newMMR0 & (PDP11.MMR0.ENABLED | PDP11.MMR0.MAINT)) { - mmuEnable = PDP11.ACCESS.WRITE; - if (newMMR0 & PDP11.MMR0.ENABLED) mmuEnable |= PDP11.ACCESS.READ; + var f = 0xffff; + this.flagC = 0x10000; // PSW C bit + this.flagV = 0x8000; // PSW V bit + this.flagZ = f; // PSW Z bit (TODO: Why do we clear instead of set Z, like other flags?) + this.flagN = 0x8000; // PSW N bit + this.regPSW = 0x000f; // PSW other bits (TODO: What's the point of setting the flag bits here, too?) + this.regsGen = [ // General R0-R7 + 0, 0, 0, 0, 0, 0, 0, this.addrReset, + -1, -2, -3, -4, -5, -6, -7, -8 + ]; + + this.regsAlt = [ // Alternate R0-R5 + 0, 0, 0, 0, 0, 0 + ]; + this.regsAltStack = [ // Alternate R6 stack pointers (KERNEL, SUPER, UNUSED, USER) + 0, 0, 0, 0 + ]; + this.pswMode = 0; // current memory management mode (see PDP11.MODE.KERNEL | SUPER | UNUSED | USER) + this.mapMMR3 = [4,2,0,1]; // map from mode to MMR3 I/D bit + this.mmuPDR = [ // memory management PDR registers by mode + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPDR regs followed by 8 KDPDR regs) + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // SUPER (8 SIPDR regs followed by 8 SDPDR regs) + [f, f, f, f, f, f, f, f, f, f, f, f, f, f, f, f], // mode 2 (not used) + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // USER (8 UIPDR regs followed by 8 UDPDR regs) + ]; + this.mmuPAR = [ // memory management PAR registers by mode + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPAR regs followed by 8 KDPAR regs) + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // SUPER (8 SIPDR regs followed by 8 SDPDR regs) + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // mode 2 (not used) + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // USER (8 UIPDR regs followed by 8 UDPDR regs) + ]; + this.regsUniMap = [ // 32 UNIBUS map registers + 0, 0, 0, 0, 0, 0, 0, 0, 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.regsControl = [ // various control registers (177740-177756) we don't really care about + 0, 0, 0, 0, 0, 0, 0, 0 + ]; + this.regMBR = 0; + + /* + * opFlags contains various conditions that stepCPU() needs to be aware of. + */ + this.opFlags = 0; + + /* + * srcMode and srcReg are set by SRCMODE decodes, and dstMode and dstReg are set for DSTMODE decodes, + * indicating to the opcode handlers the mode(s) and register(s) used as part of the current opcode, so + * that they can calculate the correct number of cycles. dstAddr is set for byte operations that also + * need to know the effective address for their cycle calculation. + */ + this.srcMode = this.srcReg = 0; + this.dstMode = this.dstReg = this.dstAddr = 0; + + this.pswTrap = -1; + + this.initMMU(); + } + + /** + * initMMU() + * + * Reset all registers required as part of a RESET instruction. + * + * TODO: Do we ever need to automatically clear regErr, or is it cleared manually? + * + * @this {CPUStatePDP11} + */ + initMMU() + { + this.regMMR0 = 0; // 177572 + this.regMMR1 = 0; // 177574 + this.regMMR2 = 0; // 177576 + this.regMMR3 = 0; // 172516 + this.regErr = 0; // 177766 + this.regPIR = 0; // 177772 + this.regSLR = 0xff; // 177774 + this.mmuEnable = 0; // MMU enabled for PDP11.ACCESS.READ or PDP11.ACCESS.WRITE + this.mmuLastMode = 0; + this.mmuLastPage = 0; + this.mmuMask = 0x3ffff; + + this.addrLast = 0; // this is queried by the Panel when it's not using its own ADDRESS register + this.opLast = 0; // stores the PC and any auto-incs or auto-decs from the last opcode; used to update MMR1 and MMR2 + + this.resetIRQs(); + + if (this.bus) { + this.setMemoryAccess(); + this.addrInvalid = this.bus.getMemoryLimit(MemoryPDP11.TYPE.RAM); } - if (this.mmuEnable != mmuEnable) { - this.mmuEnable = mmuEnable; + } + + /** + * getMMUState() + * + * Returns bit 0 set if 22-bit, bit 1 set if 18-bit, or bit 2 set if 16-bit; used by the Panel component. + * + * @this {CPUStatePDP11} + * @return {number} + */ + getMMUState() + { + return this.mmuEnable? ((this.regMMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2) : 4; + } + + /** + * resetCPU() + * + * @this {CPUStatePDP11} + */ + resetCPU() + { + this.bus.reset(); + this.initMMU(); + } + + /** + * setMemoryAccess() + * + * Define handlers and DSPACE setting appropriate for the current MMU mode, in order to eliminate unnecessary calls + * to mapVirtualToPhysical(). + * + * @this {CPUStatePDP11} + */ + setMemoryAccess() + { + this.getByte = this.getByteDirect; + this.getWord = this.getWordDirect; + this.setByte = this.setByteDirect; + this.setWord = this.setWordDirect; + if (this.nReadBreaks) { + this.getByte = this.getByteChecked; + this.getWord = this.getWordChecked; + } + if (this.nWriteBreaks) { + this.setByte = this.setByteChecked; + this.setWord = this.setWordChecked; + } + if (this.mmuEnable) { + this.addrDSpace = PDP11.ACCESS.DSPACE; + this.addrIOPage = (this.regMMR3 & PDP11.MMR3.MMU_22BIT)? BusPDP11.IOPAGE_22BIT : BusPDP11.IOPAGE_18BIT; + this.getAddr = this.getVirtualAddrByMode; + this.readWord = this.nReadBreaks? this.readWordFromVirtualChecked : this.readWordFromVirtual; + this.writeWord = this.nWriteBreaks? this.writeWordToVirtualChecked : this.writeWordToVirtual; + this.bus.setIOPageRange((this.regMMR3 & PDP11.MMR3.MMU_22BIT)? 22 : 18); + } else { + this.addrDSpace = 0; + this.addrIOPage = BusPDP11.IOPAGE_16BIT; + this.getAddr = this.getPhysicalAddrByMode; + this.readWord = this.nReadBreaks? this.readWordFromPhysicalChecked : this.readWordFromPhysical; + this.writeWord = this.nWriteBreaks? this.writeWordToPhysicalChecked : this.writeWordToPhysical; + this.bus.setIOPageRange(16); + } + } + + /** + * getMMR0() + * + * NOTE: It's OK to bypass this function if you're only interested in bits that always stored directly in MMR0. + * + * 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 MMR0 + * nonr leng read trap unus unus ena mnt cmp -mode- i/d --page-- enable + * + * @this {CPUStatePDP11} + * @return {number} + */ + getMMR0() + { + var data = this.regMMR0; + if (!(data & PDP11.MMR0.ABORT)) { + data = (data & ~(PDP11.MMR0.UNUSED | PDP11.MMR0.PAGE | PDP11.MMR0.MODE)) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); + } + return data; + } + + /** + * setMMR0() + * + * @this {CPUStatePDP11} + * @param {number} newMMR0 + */ + setMMR0(newMMR0) + { + newMMR0 &= ~PDP11.MMR0.UNUSED; + + if (this.regMMR0 != newMMR0) { + if (newMMR0 & PDP11.MMR0.ABORT) { + /* + * If updates to MMR0[1-7], MMR1, and MMR2 are being shut off (ie, MMR0.ABORT bits are transitioning + * from clear to set), then do one final sync with their real-time counterparts in opLast. + */ + if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { + this.regMMR1 = (this.opLast >> 16) & 0xffff; + this.regMMR2 = this.opLast & 0xffff; + } + } + /* + * NOTE: We are not protecting the read-only state of the COMPLETED bit here; that's handled by writeMMR0(). + */ + this.regMMR0 = newMMR0; + this.mmuLastMode = (newMMR0 & PDP11.MMR0.MODE) >> PDP11.MMR0.SHIFT.MODE; + this.mmuLastPage = (newMMR0 & PDP11.MMR0.PAGE) >> PDP11.MMR0.SHIFT.PAGE; + var mmuEnable = 0; + if (newMMR0 & (PDP11.MMR0.ENABLED | PDP11.MMR0.MAINT)) { + mmuEnable = PDP11.ACCESS.WRITE; + if (newMMR0 & PDP11.MMR0.ENABLED) mmuEnable |= PDP11.ACCESS.READ; + } + if (this.mmuEnable != mmuEnable) { + this.mmuEnable = mmuEnable; + this.setMemoryAccess(); + } + } + } + + /** + * getMMR1() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getMMR1() + { + /* + * If updates to MMR1 have not been shut off (ie, MMR0.ABORT bits are clear), + * then we are allowed to sync MMR1 with its real-time counterpart in opLast. + */ + if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { + this.regMMR1 = (this.opLast >> 16) & 0xffff; + } + var result = this.regMMR1; + if (result & 0xff00) { + result = ((result << 8) | (result >> 8)) & 0xffff; + } + return result; + } + + /** + * getMMR2() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getMMR2() + { + /* + * If updates to MMR2 have not been shut off (ie, MMR0.ABORT bits are clear), + * then we are allowed to sync MMR2 with its real-time counterpart in opLast. + */ + if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { + this.regMMR2 = this.opLast & 0xffff; + } + return this.regMMR2; + } + + /** + * getMMR3() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getMMR3() + { + return this.regMMR3; + } + + /** + * setMMR3() + * + * @this {CPUStatePDP11} + * @param {number} newMMR3 + */ + setMMR3(newMMR3) + { + /* + * Don't allow the 11/45 to use 22-bit addressing or the UNIBUS map + */ + if (this.model < PDP11.MODEL_1170) { + newMMR3 &= ~(PDP11.MMR3.MMU_22BIT | PDP11.MMR3.UNIBUS_MAP); + } + if (this.regMMR3 != newMMR3) { + this.regMMR3 = newMMR3; + this.mmuMask = (newMMR3 & PDP11.MMR3.MMU_22BIT)? 0x3fffff : 0x3ffff; this.setMemoryAccess(); } } -}; -/** - * getMMR1() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getMMR1 = function() -{ - /* - * If updates to MMR1 have not been shut off (ie, MMR0.ABORT bits are clear), - * then we are allowed to sync MMR1 with its real-time counterpart in opLast. + /** + * setReset(addr, fStart) + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {boolean|undefined} fStart (true if a "startable" image was just loaded, false if not) */ - if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { - this.regMMR1 = (this.opLast >> 16) & 0xffff; - } - var result = this.regMMR1; - if (result & 0xff00) { - result = ((result << 8) | (result >> 8)) & 0xffff; - } - return result; -}; + setReset(addr, fStart) + { + this.addrReset = addr; -/** - * getMMR2() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getMMR2 = function() -{ - /* - * If updates to MMR2 have not been shut off (ie, MMR0.ABORT bits are clear), - * then we are allowed to sync MMR2 with its real-time counterpart in opLast. - */ - if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { - this.regMMR2 = this.opLast & 0xffff; - } - return this.regMMR2; -}; + this.resetCPU(); + this.setPC(addr); + this.setPSW(0); -/** - * getMMR3() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getMMR3 = function() -{ - return this.regMMR3; -}; - -/** - * setMMR3() - * - * @this {CPUStatePDP11} - * @param {number} newMMR3 - */ -CPUStatePDP11.prototype.setMMR3 = function(newMMR3) -{ - /* - * Don't allow the 11/45 to use 22-bit addressing or the UNIBUS map - */ - if (this.model < PDP11.MODEL_1170) { - newMMR3 &= ~(PDP11.MMR3.MMU_22BIT | PDP11.MMR3.UNIBUS_MAP); - } - if (this.regMMR3 != newMMR3) { - this.regMMR3 = newMMR3; - this.mmuMask = (newMMR3 & PDP11.MMR3.MMU_22BIT)? 0x3fffff : 0x3ffff; - this.setMemoryAccess(); - } -}; - -/** - * setReset(addr, fStart) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {boolean|undefined} fStart (true if a "startable" image was just loaded, false if not) - */ -CPUStatePDP11.prototype.setReset = function(addr, fStart) -{ - this.addrReset = addr; - - this.resetCPU(); - this.setPC(addr); - this.setPSW(0); - - if (fStart) { - /* - * TODO: Review. I'm zeroing R2-R5 in the fStart case (ie, for boot code) simply because that's what I - * saw the PDP-11 Boot Monitor doing (see /apps/pdp11/boot/monitor/BOOTMON.mac). - */ - for (var i = 2; i <= 5; i++) { - this.regsGen[i] = 0; - } - if (!this.isRunning()) this.startCPU(); - } - else { - if (this.dbg) { + if (fStart) { /* - * TODO: Review the decision to always stop the CPU if the Debugger is loaded. Note that - * when stopCPU() stops a running CPU, the Debugger gets notified, so again, no need to notify it here. - * - * TODO: There are more serious problems to deal with if another component is slamming a new PC down - * the CPU's throat (presumably while also dropping some new code into RAM) while the CPU was still running; - * we should probably force a complete reset if the CPU is running, but for now, it's up to the user - * to hit the reset button themselves. + * TODO: Review. I'm zeroing R2-R5 in the fStart case (ie, for boot code) simply because that's what I + * saw the PDP-11 Boot Monitor doing (see /apps/pdp11/boot/monitor/BOOTMON.mac). */ - if (!this.stopCPU()) this.dbg.updateStatus(); + for (var i = 2; i <= 5; i++) { + this.regsGen[i] = 0; + } + if (!this.isRunning()) this.startCPU(); } - else if (fStart === false) { - this.stopCPU(); + else { + if (this.dbg) { + /* + * TODO: Review the decision to always stop the CPU if the Debugger is loaded. Note that + * when stopCPU() stops a running CPU, the Debugger gets notified, so again, no need to notify it here. + * + * TODO: There are more serious problems to deal with if another component is slamming a new PC down + * the CPU's throat (presumably while also dropping some new code into RAM) while the CPU was still running; + * we should probably force a complete reset if the CPU is running, but for now, it's up to the user + * to hit the reset button themselves. + */ + if (!this.stopCPU()) this.dbg.updateStatus(); + } + else if (fStart === false) { + this.stopCPU(); + } } + if (!this.isRunning() && this.panel) this.panel.stop(); } - if (!this.isRunning() && this.panel) this.panel.stop(); -}; -/** - * getChecksum() - * - * @this {CPUStatePDP11} - * @return {number} a 32-bit summation of key elements of the current CPU state (used by the CPU checksum code) - */ -CPUStatePDP11.prototype.getChecksum = function() -{ - return 0; // TODO: Implement -}; - -/** - * save() - * - * This implements save support for the CPUStatePDP11 component. - * - * @this {CPUStatePDP11} - * @return {Object|null} - */ -CPUStatePDP11.prototype.save = function() -{ - var state = new State(this); - state.set(0, [ - this.regsGen, - this.regsAlt, - this.regsAltStack, - this.regsUniMap, - this.regsControl, - this.regErr, - this.regMBR, - this.regPIR, - this.regSLR, - this.getPSW(), - this.pswTrap, - this.pswMode, - this.opFlags, - this.regMMR0, - this.regMMR1, - this.regMMR2, - this.regMMR3, - this.mmuLastMode, - this.mmuLastPage, - this.mmuPDR, - this.mmuPAR, - this.mmuEnable, - this.mmuMask, - this.addrLast, - this.opLast - ]); - state.set(1, [this.nTotalCycles, this.getSpeed()]); - state.set(2, this.bus.saveMemory()); - return state.data(); -}; - -/** - * restore(data) - * - * This implements restore support for the CPUStatePDP11 component. - * - * @this {CPUStatePDP11} - * @param {Object} data - * @return {boolean} true if restore successful, false if not - */ -CPUStatePDP11.prototype.restore = function(data) -{ - var a = data[1]; - this.nTotalCycles = a[1]; - this.setSpeed(a[3]); - return this.bus.restoreMemory(data[2]); -}; - -/** - * clearCF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.clearCF = function() -{ - this.flagC = 0; -}; - -/** - * getCF() - * - * @this {CPUStatePDP11} - * @return {number} 0 or PDP11.PSW.CF - */ -CPUStatePDP11.prototype.getCF = function() -{ - return (this.flagC & 0x10000)? PDP11.PSW.CF: 0; -}; - -/** - * setCF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.setCF = function() -{ - this.flagC = 0x10000; -}; - -/** - * clearVF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.clearVF = function() -{ - this.flagV = 0; -}; - -/** - * getVF() - * - * @this {CPUStatePDP11} - * @return {number} 0 or PDP11.PSW.VF - */ -CPUStatePDP11.prototype.getVF = function() -{ - return (this.flagV & 0x8000)? PDP11.PSW.VF: 0; -}; - -/** - * setVF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.setVF = function() -{ - this.flagV = 0x8000; -}; - -/** - * clearZF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.clearZF = function() -{ - this.flagZ = 1; -}; - -/** - * getZF() - * - * @this {CPUStatePDP11} - * @return {number} 0 or PDP11.PSW.ZF - */ -CPUStatePDP11.prototype.getZF = function() -{ - return (this.flagZ & 0xffff)? 0 : PDP11.PSW.ZF; -}; - -/** - * setZF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.setZF = function() -{ - this.flagZ = 0; -}; - -/** - * clearNF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.clearNF = function() -{ - this.flagN = 0; -}; - -/** - * getNF() - * - * @this {CPUStatePDP11} - * @return {number} 0 or PDP11.PSW.NF - */ -CPUStatePDP11.prototype.getNF = function() -{ - return (this.flagN & 0x8000)? PDP11.PSW.NF : 0; -}; - -/** - * setNF() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.setNF = function() -{ - this.flagN = 0x8000; -}; - -/** - * getOpcode() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getOpcode = function() -{ - var pc = this.opLast = this.regsGen[PDP11.REG.PC]; - /* - * If PC is unaligned, a BUS trap will be generated, and because it will generate an - * exception, the next line (the equivalent of advancePC(2)) will not be executed, ensuring that - * original unaligned PC will be pushed onto the stack by trap(). + /** + * getChecksum() + * + * @this {CPUStatePDP11} + * @return {number} a 32-bit summation of key elements of the current CPU state (used by the CPU checksum code) */ - var opCode = this.readWord(pc); - this.regsGen[PDP11.REG.PC] = (pc + 2) & 0xffff; - return opCode; -}; + getChecksum() + { + return 0; // TODO: Implement + } -/** - * advancePC(off) - * - * NOTE: This function is nothing more than a convenience, and we fully expect it to be inlined at runtime. - * - * @this {CPUStatePDP11} - * @param {number} off - * @return {number} (original PC) - */ -CPUStatePDP11.prototype.advancePC = function(off) -{ - var pc = this.regsGen[PDP11.REG.PC]; - this.regsGen[PDP11.REG.PC] = (pc + off) & 0xffff; - return pc; -}; + /** + * save() + * + * This implements save support for the CPUStatePDP11 component. + * + * @this {CPUStatePDP11} + * @return {Object|null} + */ + save() + { + var state = new State(this); + state.set(0, [ + this.regsGen, + this.regsAlt, + this.regsAltStack, + this.regsUniMap, + this.regsControl, + this.regErr, + this.regMBR, + this.regPIR, + this.regSLR, + this.getPSW(), + this.pswTrap, + this.pswMode, + this.opFlags, + this.regMMR0, + this.regMMR1, + this.regMMR2, + this.regMMR3, + this.mmuLastMode, + this.mmuLastPage, + this.mmuPDR, + this.mmuPAR, + this.mmuEnable, + this.mmuMask, + this.addrLast, + this.opLast + ]); + state.set(1, [this.nTotalCycles, this.getSpeed()]); + state.set(2, this.bus.saveMemory()); + return state.data(); + } -/** - * getPC() - * - * NOTE: This function is nothing more than a convenience, and we fully expect it to be inlined at runtime. - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getPC = function() -{ - return this.regsGen[PDP11.REG.PC]; -}; + /** + * restore(data) + * + * This implements restore support for the CPUStatePDP11 component. + * + * @this {CPUStatePDP11} + * @param {Object} data + * @return {boolean} true if restore successful, false if not + */ + restore(data) + { + var a = data[1]; + this.nTotalCycles = a[1]; + this.setSpeed(a[3]); + return this.bus.restoreMemory(data[2]); + } -/** - * getLastAddr() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getLastAddr = function() -{ - return this.addrLast; -}; + /** + * clearCF() + * + * @this {CPUStatePDP11} + */ + clearCF() + { + this.flagC = 0; + } -/** - * getLastPC() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getLastPC = function() -{ - return this.opLast & 0xffff; -}; + /** + * getCF() + * + * @this {CPUStatePDP11} + * @return {number} 0 or PDP11.PSW.CF + */ + getCF() + { + return (this.flagC & 0x10000)? PDP11.PSW.CF: 0; + } -/** - * setPC() - * - * NOTE: Unlike other PCjs emulators, such as PCx86, where all PC updates MUST go through the setPC() - * function, this function is nothing more than a convenience, because in the PDP-11, the PC can be loaded - * like any other general register. We fully expect this function to be inlined at runtime. - * - * @this {CPUStatePDP11} - * @param {number} addr - */ -CPUStatePDP11.prototype.setPC = function(addr) -{ - this.regsGen[PDP11.REG.PC] = addr & 0xffff; -}; + /** + * setCF() + * + * @this {CPUStatePDP11} + */ + setCF() + { + this.flagC = 0x10000; + } -/** - * getSP() - * - * NOTE: This function is nothing more than a convenience, and we fully expect it to be inlined at runtime. - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getSP = function() -{ - return this.regsGen[PDP11.REG.SP]; -}; + /** + * clearVF() + * + * @this {CPUStatePDP11} + */ + clearVF() + { + this.flagV = 0; + } -/** - * setSP() - * - * NOTE: Unlike other PCjs emulators, such as PCx86, where all SP updates MUST go through the setSP() - * function, this function is nothing more than a convenience, because in the PDP-11, the PC can be loaded - * like any other general register. We fully expect this function to be inlined at runtime. - * - * @this {CPUStatePDP11} - * @param {number} addr - */ -CPUStatePDP11.prototype.setSP = function(addr) -{ - this.regsGen[PDP11.REG.SP] = addr & 0xffff; -}; + /** + * getVF() + * + * @this {CPUStatePDP11} + * @return {number} 0 or PDP11.PSW.VF + */ + getVF() + { + return (this.flagV & 0x8000)? PDP11.PSW.VF: 0; + } -/** - * addIRQ(vector, priority, message) - * - * @this {CPUStatePDP11} - * @param {number} vector (-1 for floating vector) - * @param {number} priority - * @param {number} [message] - * @return {IRQ} - */ -CPUStatePDP11.prototype.addIRQ = function(vector, priority, message) -{ - var irq = {vector: vector, priority: priority, message: message || 0, next: null}; - irq.name = PDP11.VECTORS[vector]; - this.aIRQs.push(irq); - return irq; -}; + /** + * setVF() + * + * @this {CPUStatePDP11} + */ + setVF() + { + this.flagV = 0x8000; + } -/** - * insertIRQ(irq) - * - * @this {CPUStatePDP11} - * @param {IRQ} irq - */ -CPUStatePDP11.prototype.insertIRQ = function(irq) -{ - if (irq != this.irqNext) { + /** + * clearZF() + * + * @this {CPUStatePDP11} + */ + clearZF() + { + this.flagZ = 1; + } + + /** + * getZF() + * + * @this {CPUStatePDP11} + * @return {number} 0 or PDP11.PSW.ZF + */ + getZF() + { + return (this.flagZ & 0xffff)? 0 : PDP11.PSW.ZF; + } + + /** + * setZF() + * + * @this {CPUStatePDP11} + */ + setZF() + { + this.flagZ = 0; + } + + /** + * clearNF() + * + * @this {CPUStatePDP11} + */ + clearNF() + { + this.flagN = 0; + } + + /** + * getNF() + * + * @this {CPUStatePDP11} + * @return {number} 0 or PDP11.PSW.NF + */ + getNF() + { + return (this.flagN & 0x8000)? PDP11.PSW.NF : 0; + } + + /** + * setNF() + * + * @this {CPUStatePDP11} + */ + setNF() + { + this.flagN = 0x8000; + } + + /** + * getOpcode() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getOpcode() + { + var pc = this.opLast = this.regsGen[PDP11.REG.PC]; + /* + * If PC is unaligned, a BUS trap will be generated, and because it will generate an + * exception, the next line (the equivalent of advancePC(2)) will not be executed, ensuring that + * original unaligned PC will be pushed onto the stack by trap(). + */ + var opCode = this.readWord(pc); + this.regsGen[PDP11.REG.PC] = (pc + 2) & 0xffff; + return opCode; + } + + /** + * advancePC(off) + * + * NOTE: This function is nothing more than a convenience, and we fully expect it to be inlined at runtime. + * + * @this {CPUStatePDP11} + * @param {number} off + * @return {number} (original PC) + */ + advancePC(off) + { + var pc = this.regsGen[PDP11.REG.PC]; + this.regsGen[PDP11.REG.PC] = (pc + off) & 0xffff; + return pc; + } + + /** + * getPC() + * + * NOTE: This function is nothing more than a convenience, and we fully expect it to be inlined at runtime. + * + * @this {CPUStatePDP11} + * @return {number} + */ + getPC() + { + return this.regsGen[PDP11.REG.PC]; + } + + /** + * getLastAddr() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getLastAddr() + { + return this.addrLast; + } + + /** + * getLastPC() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getLastPC() + { + return this.opLast & 0xffff; + } + + /** + * setPC() + * + * NOTE: Unlike other PCjs emulators, such as PCx86, where all PC updates MUST go through the setPC() + * function, this function is nothing more than a convenience, because in the PDP-11, the PC can be loaded + * like any other general register. We fully expect this function to be inlined at runtime. + * + * @this {CPUStatePDP11} + * @param {number} addr + */ + setPC(addr) + { + this.regsGen[PDP11.REG.PC] = addr & 0xffff; + } + + /** + * getSP() + * + * NOTE: This function is nothing more than a convenience, and we fully expect it to be inlined at runtime. + * + * @this {CPUStatePDP11} + * @return {number} + */ + getSP() + { + return this.regsGen[PDP11.REG.SP]; + } + + /** + * setSP() + * + * NOTE: Unlike other PCjs emulators, such as PCx86, where all SP updates MUST go through the setSP() + * function, this function is nothing more than a convenience, because in the PDP-11, the PC can be loaded + * like any other general register. We fully expect this function to be inlined at runtime. + * + * @this {CPUStatePDP11} + * @param {number} addr + */ + setSP(addr) + { + this.regsGen[PDP11.REG.SP] = addr & 0xffff; + } + + /** + * addIRQ(vector, priority, message) + * + * @this {CPUStatePDP11} + * @param {number} vector (-1 for floating vector) + * @param {number} priority + * @param {number} [message] + * @return {IRQ} + */ + addIRQ(vector, priority, message) + { + var irq = {vector: vector, priority: priority, message: message || 0, next: null}; + irq.name = PDP11.VECTORS[vector]; + this.aIRQs.push(irq); + return irq; + } + + /** + * insertIRQ(irq) + * + * @this {CPUStatePDP11} + * @param {IRQ} irq + */ + insertIRQ(irq) + { + if (irq != this.irqNext) { + var irqPrev = this.irqNext; + if (!irqPrev || irqPrev.priority <= irq.priority) { + irq.next = irqPrev; + this.irqNext = irq; + } else { + do { + var irqNext = irqPrev.next; + if (!irqNext || irqNext.priority <= irq.priority) { + irq.next = irqNext; + irqPrev.next = irq; + break; + } + irqPrev = irqNext; + } while (irqPrev); + } + } + /* + * See the writeXCSR() function for an explanation of why signalling an IRQ hardware interrupt + * should be done using IRQ_DELAY rather than setting IRQ directly. + */ + this.opFlags |= PDP11.OPFLAG.IRQ_DELAY; + } + + /** + * removeIRQ(irq) + * + * @this {CPUStatePDP11} + * @param {IRQ} irq + */ + removeIRQ(irq) + { var irqPrev = this.irqNext; - if (!irqPrev || irqPrev.priority <= irq.priority) { - irq.next = irqPrev; - this.irqNext = irq; + if (irqPrev == irq) { + this.irqNext = irq.next; } else { - do { + while (irqPrev) { var irqNext = irqPrev.next; - if (!irqNext || irqNext.priority <= irq.priority) { - irq.next = irqNext; - irqPrev.next = irq; + if (irqNext == irq) { + irqPrev.next = irqNext.next; break; } irqPrev = irqNext; - } while (irqPrev); - } - } - /* - * See the writeXCSR() function for an explanation of why signalling an IRQ hardware interrupt - * should be done using IRQ_DELAY rather than setting IRQ directly. - */ - this.opFlags |= PDP11.OPFLAG.IRQ_DELAY; -}; - -/** - * removeIRQ(irq) - * - * @this {CPUStatePDP11} - * @param {IRQ} irq - */ -CPUStatePDP11.prototype.removeIRQ = function(irq) -{ - var irqPrev = this.irqNext; - if (irqPrev == irq) { - this.irqNext = irq.next; - } else { - while (irqPrev) { - var irqNext = irqPrev.next; - if (irqNext == irq) { - irqPrev.next = irqNext.next; - break; } - irqPrev = irqNext; + } + /* + * We could also set irq.next to null now, but strictly speaking, that shouldn't be necessary. + * + * Last but not least, if there's still an IRQ on the active IRQ list, we need to make sure IRQ_DELAY + * is still set. + */ + if (this.irqNext) { + this.opFlags |= PDP11.OPFLAG.IRQ_DELAY; } } - /* - * We could also set irq.next to null now, but strictly speaking, that shouldn't be necessary. + + /** + * setIRQ(irq) * - * Last but not least, if there's still an IRQ on the active IRQ list, we need to make sure IRQ_DELAY - * is still set. + * @this {CPUStatePDP11} + * @param {IRQ|null} irq */ - if (this.irqNext) { - this.opFlags |= PDP11.OPFLAG.IRQ_DELAY; - } -}; - -/** - * setIRQ(irq) - * - * @this {CPUStatePDP11} - * @param {IRQ} irq - */ -CPUStatePDP11.prototype.setIRQ = function(irq) -{ - this.insertIRQ(irq); - - if (irq.message && this.messageEnabled(irq.message | MessagesPDP11.INT)) { - this.printMessage("setIRQ(vector=" + str.toOct(irq.vector) + ",priority=" + irq.priority + ")", true, true); - } -}; - -/** - * clearIRQ(irq) - * - * @this {CPUStatePDP11} - * @param {IRQ} irq - */ -CPUStatePDP11.prototype.clearIRQ = function(irq) -{ - this.removeIRQ(irq); - - if (irq.message && this.messageEnabled(irq.message | MessagesPDP11.INT)) { - this.printMessage("clearIRQ(vector=" + str.toOct(irq.vector) + ",priority=" + irq.priority + ")", true, true); - } -}; - -/** - * checkIRQs(priority) - * - * @this {CPUStatePDP11} - * @param {number} priority - * @return {IRQ|null} - */ -CPUStatePDP11.prototype.checkIRQs = function(priority) -{ - return (this.irqNext && this.irqNext.priority > priority)? this.irqNext : null; -}; - -/** - * resetIRQs(priority) - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.resetIRQs = function() -{ - this.irqNext = null; -}; - -/** - * checkInterrupts() - * - * @this {CPUStatePDP11} - * @return {boolean} true if an interrupt was dispatched, false if not - */ -CPUStatePDP11.prototype.checkInterrupts = function() -{ - var fInterrupt = false; - - if (this.opFlags & PDP11.OPFLAG.IRQ) { - - var vector = PDP11.TRAP.PIRQ; - var priority = (this.regPIR & PDP11.PSW.PRI) >> PDP11.PSW.SHIFT.PRI; - - var irq = this.checkIRQs(priority); + setIRQ(irq) + { if (irq) { - vector = irq.vector; - priority = irq.priority; - } - - if (this.dispatchInterrupt(vector, priority)) { - if (irq) this.removeIRQ(irq); - fInterrupt = true; - } - - if (!this.irqNext && !this.regPIR) { - this.opFlags &= ~PDP11.OPFLAG.IRQ; + this.insertIRQ(irq); + if (irq.message && this.messageEnabled(irq.message | MessagesPDP11.INT)) { + this.printMessage("setIRQ(vector=" + Str.toOct(irq.vector) + ",priority=" + irq.priority + ")", true, true); + } } } - else if (this.opFlags & PDP11.OPFLAG.IRQ_DELAY) { - /* - * We know that IRQ (bit 2) is clear, so since IRQ_DELAY (bit 0) is set, incrementing opFlags - * will eventually transform IRQ_DELAY into IRQ, without affecting any other (higher) bits. - */ - this.opFlags++; - } - return fInterrupt; -}; -/** - * dispatchInterrupt(vector, priority) - * - * TODO: The process of dispatching an interrupt MUST cost some cycles; either trap() needs to assess - * that cost, or we do. - * - * @this {CPUStatePDP11} - * @param {number} vector - * @param {number} priority - * @return {boolean} (true if dispatched, false if not) - */ -CPUStatePDP11.prototype.dispatchInterrupt = function(vector, priority) -{ - var priorityCPU = (this.regPSW & PDP11.PSW.PRI) >> PDP11.PSW.SHIFT.PRI; - if (priority > priorityCPU) { - if (this.opFlags & PDP11.OPFLAG.WAIT) { - this.advancePC(2); - this.opFlags &= ~PDP11.OPFLAG.WAIT; - } - this.trap(vector, 0, PDP11.REASON.INTERRUPT); - return true; - } - return false; -}; - -/** - * checkTraps() - * - * NOTE: The following code processes these "deferred" traps in priority order. Unfortunately, that - * order seems to have changed since the 11/20. For reference, here's the priority list for the 11/20: - * - * 1. Bus Errors - * 2. Instruction Traps - * 3. Trace Trap - * 4. Stack Overflow Trap - * 5. Power Failure Trap - * - * and for the 11/70: - * - * 1. HALT (Instruction, Switch, or Command) - * 2. MMU Faults - * 3. Parity Errors - * 4. Bus Errors (including stack overflow traps?) - * 5. Floating Point Traps - * 6. TRAP Instruction - * 7. TRACE Trap - * 8. OVFL Trap - * 9. Power Fail Trap - * 10. Console Bus Request (Front Panel Operation) - * 11. PIR 7, BR 7, PIR 6, BR 6, PIR 5, BR 5, PIR 4, BR 4, PIR 3, BR 3, PIR 2, PIR 1 - * 12. WAIT Loop - * - * TODO: Determine 1) if the 11/20 Handbook was wrong, or 2) if the 11/70 really has different priorities. - * - * Also, as the PDP-11/20 Handbook (1971), p.100, notes: - * - * If a bus error is caused by the trap process handling instruction traps, trace traps, stack overflow - * traps, or a previous bus error, the processor is halted. - * - * If a stack overflow is caused by the trap process in handling bus errors, instruction traps, or trace traps, - * the process is completed and then the stack overflow trap is sprung. - * - * TODO: Based on the above notes, we should probably be halting the CPU when a bus error occurs during a trap. - * - * @this {CPUStatePDP11} - * @return {boolean} (true if dispatched, false if not) - */ -CPUStatePDP11.prototype.checkTraps = function() -{ - if (this.opFlags & PDP11.OPFLAG.TRAP_MMU) { - this.trap(PDP11.TRAP.MMU, PDP11.OPFLAG.TRAP_MMU, PDP11.REASON.FAULT); - return true; - } - if (this.opFlags & PDP11.OPFLAG.TRAP_SP) { - this.trap(PDP11.TRAP.BUS, PDP11.OPFLAG.TRAP_SP, PDP11.REASON.YELLOW); - return true; - } - if (this.opFlags & PDP11.OPFLAG.TRAP_TF) { - this.trap(PDP11.TRAP.BPT, PDP11.OPFLAG.TRAP_TF, PDP11.REASON.TRACE); - return true; - } - return false; -}; - -/** - * isWaiting() - * - * @this {CPUStatePDP11} - * @return {boolean} (true if OPFLAG.WAIT is set, false otherwise) - */ -CPUStatePDP11.prototype.isWaiting = function() -{ - return !!(this.opFlags & PDP11.OPFLAG.WAIT); -}; - -/** - * getPSW() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getPSW = function() -{ - /* - * TODO: I'm not sure why this function can't simply be written as: + /** + * clearIRQ(irq) * - * return (this.regPSW & ~PDP11.PSW.FLAGS) | (this.getNF() | this.getZF() | this.getVF() | this.getCF()); + * @this {CPUStatePDP11} + * @param {IRQ|null} irq + */ + clearIRQ(irq) + { + if (irq) { + this.removeIRQ(irq); + if (irq.message && this.messageEnabled(irq.message | MessagesPDP11.INT)) { + this.printMessage("clearIRQ(vector=" + Str.toOct(irq.vector) + ",priority=" + irq.priority + ")", true, true); + } + } + } + + /** + * checkIRQs(priority) * - * but for now, I'm keeping the same masking logic as the original pdp11.js. + * @this {CPUStatePDP11} + * @param {number} priority + * @return {IRQ|null} */ - var mask = PDP11.PSW.CMODE | PDP11.PSW.PMODE | PDP11.PSW.REGSET | PDP11.PSW.PRI | PDP11.PSW.TF; - return this.regPSW = (this.regPSW & mask) | this.getNF() | this.getZF() | this.getVF() | this.getCF(); -}; + checkIRQs(priority) + { + return (this.irqNext && this.irqNext.priority > priority)? this.irqNext : null; + } -/** - * setPSW(newPSW) - * - * This updates the CPU Processor Status Word. The PSW should generally be written through - * this routine so that changes can be tracked properly, for example the correct register set, - * the current memory management mode, etc. An exception is SPL which writes the priority directly. - * Note that that N, Z, V, and C flags are actually stored separately for performance reasons. - * - * PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - * CMODE PMODE RS -------- PRIORITY T N Z V C - * - * @this {CPUStatePDP11} - * @param {number} newPSW - */ -CPUStatePDP11.prototype.setPSW = function(newPSW) -{ - newPSW &= this.pswUsed; - this.flagN = newPSW << 12; - this.flagZ = (~newPSW) & 4; - this.flagV = newPSW << 14; - this.flagC = newPSW << 16; - if ((newPSW ^ this.regPSW) & this.pswRegSet) { - /* - * Swap register sets - */ - for (var i = this.regsAlt.length; --i >= 0;) { - var tmp = this.regsGen[i]; - this.regsGen[i] = this.regsAlt[i]; - this.regsAlt[i] = tmp; + /** + * resetIRQs(priority) + * + * @this {CPUStatePDP11} + */ + resetIRQs() + { + this.irqNext = null; + } + + /** + * checkInterrupts() + * + * @this {CPUStatePDP11} + * @return {boolean} true if an interrupt was dispatched, false if not + */ + checkInterrupts() + { + var fInterrupt = false; + + if (this.opFlags & PDP11.OPFLAG.IRQ) { + + var vector = PDP11.TRAP.PIRQ; + var priority = (this.regPIR & PDP11.PSW.PRI) >> PDP11.PSW.SHIFT.PRI; + + var irq = this.checkIRQs(priority); + if (irq) { + vector = irq.vector; + priority = irq.priority; + } + + if (this.dispatchInterrupt(vector, priority)) { + if (irq) this.removeIRQ(irq); + fInterrupt = true; + } + + if (!this.irqNext && !this.regPIR) { + this.opFlags &= ~PDP11.OPFLAG.IRQ; + } } - } - this.pswMode = (newPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK; - var oldMode = (this.regPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK; - if (this.pswMode != oldMode) { - /* - * Swap stack pointers - */ - this.regsAltStack[oldMode] = this.regsGen[6]; - this.regsGen[6] = this.regsAltStack[this.pswMode]; - } - this.regPSW = newPSW; - - /* - * Trigger a call to checkInterrupts(), just in case. If there's an active IRQ, then setting - * OPFLAG.IRQ is a no-brainer, but even if not, we set IRQ_DELAY in case the priority was lowered - * enough to permit a programmed interrupt (via regPIR). - */ - this.opFlags &= ~PDP11.OPFLAG.IRQ; - this.opFlags |= (this.irqNext? PDP11.OPFLAG.IRQ : PDP11.OPFLAG.IRQ_DELAY); -}; - -/** - * getSLR() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getSLR = function() -{ - return this.regSLR & 0xff00; -}; - -/** - * setSLR(newSL) - * - * @this {CPUStatePDP11} - * @param {number} newSLR - */ -CPUStatePDP11.prototype.setSLR = function(newSLR) -{ - this.regSLR = newSLR | 0xff; -}; - -/** - * getPIR() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getPIR = function() -{ - return this.regPIR; -}; - -/** - * setPIR(newPIR) - * - * @this {CPUStatePDP11} - * @param {number} newPIR - */ -CPUStatePDP11.prototype.setPIR = function(newPIR) -{ - newPIR &= PDP11.PIR.BITS; - if (newPIR) { - var bits = newPIR >> PDP11.PIR.SHIFT.BITS; - do { - newPIR += PDP11.PIR.PIA_INC; - } while (bits >>= 1); - this.opFlags |= PDP11.OPFLAG.IRQ_DELAY; - } - this.regPIR = newPIR; -}; - -/** - * updateNZVFlags(result) - * - * NOTE: Only N and Z are updated based on the result; V is zeroed, C is unchanged. - * - * @this {CPUStatePDP11} - * @param {number} result - */ -CPUStatePDP11.prototype.updateNZVFlags = function(result) -{ - this.flagN = this.flagZ = result; - this.flagV = 0; -}; - -/** - * updateNZVCFlags(result) - * - * NOTE: Only N and Z are updated based on the result; both V and C are simply zeroed. - * - * @this {CPUStatePDP11} - * @param {number} result - */ -CPUStatePDP11.prototype.updateNZVCFlags = function(result) -{ - this.flagN = this.flagZ = result; - this.flagV = this.flagC = 0; -}; - -/** - * updateAllFlags(result, overflow) - * - * NOTE: The V flag is simply zeroed, unless a specific value is provided (eg, by NEG). - * - * @this {CPUStatePDP11} - * @param {number} result - * @param {number} [overflow] - */ -CPUStatePDP11.prototype.updateAllFlags = function(result, overflow) -{ - this.flagN = this.flagZ = this.flagC = result; - this.flagV = overflow || 0; -}; - -/** - * updateAddFlags(result, src, dst) - * - * @this {CPUStatePDP11} - * @param {number} result (dst + src) - * @param {number} src - * @param {number} dst - */ -CPUStatePDP11.prototype.updateAddFlags = function(result, src, dst) -{ - this.flagN = this.flagZ = this.flagC = result; - this.flagV = (src ^ result) & (dst ^ result); -}; - -/** - * updateDecFlags(result, dst) - * - * NOTE: We could have used updateSubFlags() if not for the fact that the C flag must be preserved. - * - * @this {CPUStatePDP11} - * @param {number} result (dst - src, where src is an implied 1) - * @param {number} dst - */ -CPUStatePDP11.prototype.updateDecFlags = function(result, dst) -{ - this.flagN = this.flagZ = result; - /* - * Because src is always 1 (with a zero sign bit), it can be optimized out of this calculation. - */ - this.flagV = (/* src ^ */ dst) & (dst ^ result); -}; - -/** - * updateIncFlags(result, dst) - * - * NOTE: We could have used updateAddFlags() if not for the fact that the C flag must be preserved. - * - * @this {CPUStatePDP11} - * @param {number} result (dst + src, where src is an implied 1) - * @param {number} dst - */ -CPUStatePDP11.prototype.updateIncFlags = function(result, dst) -{ - this.flagN = this.flagZ = result; - /* - * Because src is always 1 (with a zero sign bit), it can be optimized out of this calculation. - */ - this.flagV = (/* src ^ */ result) & (dst ^ result); -}; - -/** - * updateMulFlags(result) - * - * @this {CPUStatePDP11} - * @param {number} result - */ -CPUStatePDP11.prototype.updateMulFlags = function(result) -{ - this.flagN = result >> 16; - this.flagZ = this.flagN | result; - this.flagV = 0; - this.flagC = (result < -32768 || result > 32767)? 0x10000 : 0; -}; - -/** - * updateShiftFlags(result) - * - * @this {CPUStatePDP11} - * @param {number} result - */ -CPUStatePDP11.prototype.updateShiftFlags = function(result) -{ - this.flagN = this.flagZ = this.flagC = result; - this.flagV = this.flagN ^ (this.flagC >> 1); -}; - -/** - * updateSubFlags(result, src, dst) - * - * NOTE: CMP operations calculate (src - dst) rather than (dst - src), so when they call updateSubFlags(), - * they must reverse the order of the src and dst parameters. - * - * @this {CPUStatePDP11} - * @param {number} result (dst - src) - * @param {number} src - * @param {number} dst - */ -CPUStatePDP11.prototype.updateSubFlags = function(result, src, dst) -{ - this.flagN = this.flagZ = this.flagC = result; - this.flagV = (src ^ dst) & (dst ^ result); -}; - -/** - * trap(vector, flag, reason) - * - * trap() handles all the trap/abort functions. It reads the trap vector from kernel - * D space, changes mode to reflect the new PSW and PC, and then pushes the old PSW and - * PC onto the new mode stack. - * - * @this {CPUStatePDP11} - * @param {number} vector - * @param {number} flag - * @param {number} [reason] (for diagnostic purposes only) - */ -CPUStatePDP11.prototype.trap = function(vector, flag, reason) -{ - if (DEBUG && this.dbg) { - if (this.messageEnabled(MessagesPDP11.TRAP)) { - var sReason = reason < 0? PDP11.REASONS[-reason] : this.dbg.toStrBase(reason); - this.printMessage("trap to vector " + this.dbg.toStrBase(vector, 1) + " (" + sReason + ")", MessagesPDP11.TRAP, true); + else if (this.opFlags & PDP11.OPFLAG.IRQ_DELAY) { + /* + * We know that IRQ (bit 2) is clear, so since IRQ_DELAY (bit 0) is set, incrementing opFlags + * will eventually transform IRQ_DELAY into IRQ, without affecting any other (higher) bits. + */ + this.opFlags++; } + return fInterrupt; } - if (this.nDisableTraps) return; - - if (this.pswTrap < 0) { - this.pswTrap = this.getPSW(); - } else if (!this.pswMode) { - reason = PDP11.REASON.RED; // double-fault (nested trap) forces a RED condition - } - - if (reason == PDP11.REASON.RED) { - if (this.opFlags & PDP11.OPFLAG.TRAP_RED) { - reason = PDP11.REASON.PANIC; + /** + * dispatchInterrupt(vector, priority) + * + * TODO: The process of dispatching an interrupt MUST cost some cycles; either trap() needs to assess + * that cost, or we do. + * + * @this {CPUStatePDP11} + * @param {number} vector + * @param {number} priority + * @return {boolean} (true if dispatched, false if not) + */ + dispatchInterrupt(vector, priority) + { + var priorityCPU = (this.regPSW & PDP11.PSW.PRI) >> PDP11.PSW.SHIFT.PRI; + if (priority > priorityCPU) { + if (this.opFlags & PDP11.OPFLAG.WAIT) { + this.advancePC(2); + this.opFlags &= ~PDP11.OPFLAG.WAIT; + } + this.trap(vector, 0, PDP11.REASON.INTERRUPT); + return true; } - this.opFlags |= PDP11.OPFLAG.TRAP_RED; - /* - * The next two lines used to be deferred until after the setPSW() below, but - * I'm not seeing any dependencies on these registers, so I'm consolidating the code. - */ - this.regErr |= PDP11.CPUERR.RED; - this.regsGen[6] = vector = 4; + return false; } - if (reason != PDP11.REASON.PANIC) { + /** + * checkTraps() + * + * NOTE: The following code processes these "deferred" traps in priority order. Unfortunately, that + * order seems to have changed since the 11/20. For reference, here's the priority list for the 11/20: + * + * 1. Bus Errors + * 2. Instruction Traps + * 3. Trace Trap + * 4. Stack Overflow Trap + * 5. Power Failure Trap + * + * and for the 11/70: + * + * 1. HALT (Instruction, Switch, or Command) + * 2. MMU Faults + * 3. Parity Errors + * 4. Bus Errors (including stack overflow traps?) + * 5. Floating Point Traps + * 6. TRAP Instruction + * 7. TRACE Trap + * 8. OVFL Trap + * 9. Power Fail Trap + * 10. Console Bus Request (Front Panel Operation) + * 11. PIR 7, BR 7, PIR 6, BR 6, PIR 5, BR 5, PIR 4, BR 4, PIR 3, BR 3, PIR 2, PIR 1 + * 12. WAIT Loop + * + * TODO: Determine 1) if the 11/20 Handbook was wrong, or 2) if the 11/70 really has different priorities. + * + * Also, as the PDP-11/20 Handbook (1971), p.100, notes: + * + * If a bus error is caused by the trap process handling instruction traps, trace traps, stack overflow + * traps, or a previous bus error, the processor is halted. + * + * If a stack overflow is caused by the trap process in handling bus errors, instruction traps, or trace traps, + * the process is completed and then the stack overflow trap is sprung. + * + * TODO: Based on the above notes, we should probably be halting the CPU when a bus error occurs during a trap. + * + * @this {CPUStatePDP11} + * @return {boolean} (true if dispatched, false if not) + */ + checkTraps() + { + if (this.opFlags & PDP11.OPFLAG.TRAP_MMU) { + this.trap(PDP11.TRAP.MMU, PDP11.OPFLAG.TRAP_MMU, PDP11.REASON.FAULT); + return true; + } + if (this.opFlags & PDP11.OPFLAG.TRAP_SP) { + this.trap(PDP11.TRAP.BUS, PDP11.OPFLAG.TRAP_SP, PDP11.REASON.YELLOW); + return true; + } + if (this.opFlags & PDP11.OPFLAG.TRAP_TF) { + this.trap(PDP11.TRAP.BPT, PDP11.OPFLAG.TRAP_TF, PDP11.REASON.TRACE); + return true; + } + return false; + } + + /** + * isWaiting() + * + * @this {CPUStatePDP11} + * @return {boolean} (true if OPFLAG.WAIT is set, false otherwise) + */ + isWaiting() + { + return !!(this.opFlags & PDP11.OPFLAG.WAIT); + } + + /** + * getPSW() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getPSW() + { /* - * NOTE: Pre-setting the auto-dec values for MMR1 to 0xF6F6 is a work-around for an "EKBEE1" - * diagnostic (PC 056710), which tests what happens when a misaligned read triggers a BUS trap, - * and that trap then triggers an MMU trap during the first pushWord() below. + * TODO: I'm not sure why this function can't simply be written as: * - * One would think it would be fine to zero those bits by setting opLast to vector alone, - * and then letting each of the pushWord() calls below shift their own 0xF6 auto-dec value into - * opLast. When the first pushWord() triggers an MMU trap, we obviously won't get to the second - * pushWord(), yet the diagnostic expects TWO auto-decs to be recorded. I'm puzzled why the - * hardware apparently indicates TWO auto-decs, if SP wasn't actually decremented twice, but who - * am I to judge. - */ - this.opLast = vector | 0xf6f60000; - - /* - * Read from kernel D space - */ - this.pswMode = 0; - var newPC = this.readWord(vector | this.addrDSpace); - var newPSW = this.readWord(((vector + 2) & 0xffff) | this.addrDSpace); - - /* - * Set new PSW with previous mode - */ - this.setPSW((newPSW & ~PDP11.PSW.PMODE) | ((this.pswTrap >> 2) & PDP11.PSW.PMODE)); - - this.pushWord(this.pswTrap); - this.pushWord(this.regsGen[7]); - this.setPC(newPC); - } - - /* - * TODO: Determine the appropriate number of cycles for traps; all I've done for now is move the - * cycle charge from opTrap() to here, and reduced the amount the other opcode handlers that call - * trap() charge by a corresponding amount (5). - */ - this.nStepCycles -= (4 + 1); - - /* - * DEC's "TRAP TEST" (MAINDEC-11-D0NA-PB) triggers a RESERVED trap with an invalid opcode and the - * stack deliberately set too low, and expects the stack overflow trap to be "sprung" immediately - * afterward, so we only want to "lose interest" in the TRAP flag(s) that were set on entry, not ALL - * of them. - * - * this.opFlags &= ~PDP11.OPFLAG.TRAP_MASK; // lose interest in traps after an abort - * - * Well, OK, we're also supposed to "lose interest" in the TF flag, too; otherwise, DEC tests fail. - * - * Finally, setPSW() likes to always set IRQ, to force a check of hardware interrupts prior to - * the next instruction, just in case the PSW priority was lowered. However, there are "TRAP TEST" - * tests like this one: - * - * 005640: 012706 007700 MOV #7700,SP - * 005644: 012767 000340 172124 MOV #340,177776 - * 005652: 012767 000100 171704 MOV #100,177564 - * 005660: 012767 005712 172146 MOV #5712,000034 ; set TRAP vector (its PSW is already zero) - * 005666: 012767 005714 172170 MOV #5714,000064 ; set hardware interrupt vector (its PSW is already zero) - * 005674: 012767 005716 172116 MOV #5716,000020 ; set IOT vector - * 005702: 012767 000340 172112 MOV #340,000022 ; set IOT PSW - * 005710: 104400 TRAP 000 - * 005712: 000004 IOT - * 005714: 000000 HALT - * - * where, after "TRAP 000" has executed, a hardware interrupt will be acknowledged, and instead of - * executing the IOT, we'll execute the HALT and fail the test. We avoid that by relying on the same - * trick that the SPL instruction uses: setting IRQ_DELAY instead of IRQ, which effectively delays - * IRQ detection for one instruction, which is just long enough to allow the diagnostic to pass. - */ - this.opFlags &= ~(flag | PDP11.OPFLAG.TRAP_TF | PDP11.OPFLAG.IRQ_MASK); - this.opFlags |= PDP11.OPFLAG.IRQ_DELAY | PDP11.OPFLAG.TRAP_LAST; - - this.pswTrap = -1; // reset flag that we have a trap within a trap - - /* - * These next properties (in conjunction with setting PDP11.OPFLAG.TRAP_LAST) are purely an aid for the Debugger; - * see getTrapStatus(). - */ - this.trapVector = vector; - this.trapReason = reason; - - if (reason == PDP11.REASON.PANIC) { - this.stopCPU(); - } - if (reason >= PDP11.REASON.RED) throw vector; -}; - -/** - * trapReturn() - * - * @this {CPUStatePDP11} - */ -CPUStatePDP11.prototype.trapReturn = function() -{ - /* - * This code used to defer updating regsGen[6] (SP) until after BOTH words had been popped, which seems - * safer, but if we're going to do pushes in trap(), then I see no reason to avoid doing pops in trapReturn(). - */ - var addr = this.popWord(); - var newPSW = this.popWord(); - if (this.regPSW & PDP11.PSW.CMODE) { - /* - * Keep SPL and allow lower only for modes and register set. + * return (this.regPSW & ~PDP11.PSW.FLAGS) | (this.getNF() | this.getZF() | this.getVF() | this.getCF()); * - * TODO: Review, because it seems a bit odd to only CLEAR the PRI bits in the new PSW, and then to OR in - * CMODE, PMODE, and REGSET bits from the current PSW. + * but for now, I'm keeping the same masking logic as the original pdp11.js. */ - newPSW = (newPSW & ~PDP11.PSW.PRI) | (this.regPSW & (PDP11.PSW.PRI | PDP11.PSW.REGSET | PDP11.PSW.PMODE | PDP11.PSW.CMODE)); + var mask = PDP11.PSW.CMODE | PDP11.PSW.PMODE | PDP11.PSW.REGSET | PDP11.PSW.PRI | PDP11.PSW.TF; + return this.regPSW = (this.regPSW & mask) | this.getNF() | this.getZF() | this.getVF() | this.getCF(); } - this.setPC(addr); - this.setPSW(newPSW); - this.opFlags &= ~PDP11.OPFLAG.TRAP_TF; -}; -/** - * getTrapStatus() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.getTrapStatus = function() -{ - return (this.opFlags & PDP11.OPFLAG.TRAP_LAST)? (this.trapVector | this.trapReason << 8) : 0; -}; - -/** - * mapUnibus(addr) - * - * Used to convert 18-bit addresses to 22-bit addresses. Since mapUnibus() only looks at the low 18 bits of addr, - * there's no need to mask addr first. Note that if bits 13-17 are all set, then the 18-bit address points to the - * top 8Kb of its 256Kb range, and mapUnibus() will return addr unchanged, since it should already be pointing to - * the top 8Kb of the 4Mb 22-bit range. - * - * Also, when bits 18-21 of addr are ALL set (which callers check using addr >= BusPDP11.UNIBUS_22BIT aka 0x3C0000), - * then we have a 22-bit address pointing to the top 256Kb range, so if the UNIBUS relocation map is enabled, we again - * pass the lower 18 bits of that address through the map. - * - * From the PDP-11/70 Handbook: - * - * On the 11/44 and 11/70, there are a total of 31 mapping registers for address relocation. Each register is - * composed of a double 16-bit PDP-11 word (in consecutive locations) that holds the 22-bit base address. These - * registers have UNIBUS addresses in the range 770200 to 770372. - * - * If the UNIBUS map relocation is not enabled, an incoming 18-bit UNIBUS address has 4 leading zeroes added for - * referencing a 22-bit physical address. The lower 18 bits are the same. No relocation is performed. - * - * If UNIBUS map relocation is enabled, the five high order bits of the UNIBUS address are used to select one of the - * 31 mapping registers. The low-order 13 bits of the incoming address are used as an offset from the base address - * contained in the 22-bit mapping register. To form the physical address, the 13 low-order bits of the UNIBUS - * address are added to 22 bits of the selected mapping register to produce the 22-bit physical address. The lowest - * order bit of all mapping registers is always a zero, since relocation is always on word boundaries. - * - * Sadly, because these mappings occur at a word-granular level, we can't implement the mappings by simply shuffling - * the underlying block around in the Bus component; it would be much more efficient if we could. That's how we move - * the IOPAGE in response to addressing changes. - * - * @this {CPUStatePDP11} - * @param {number} addr - * @return {number} - */ -CPUStatePDP11.prototype.mapUnibus = function(addr) -{ - var idx = (addr >> 13) & 0x1F; - if (idx < 31) { - if (this.regMMR3 & PDP11.MMR3.UNIBUS_MAP) { + /** + * setPSW(newPSW) + * + * This updates the CPU Processor Status Word. The PSW should generally be written through + * this routine so that changes can be tracked properly, for example the correct register set, + * the current memory management mode, etc. An exception is SPL which writes the priority directly. + * Note that that N, Z, V, and C flags are actually stored separately for performance reasons. + * + * PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + * CMODE PMODE RS -------- PRIORITY T N Z V C + * + * @this {CPUStatePDP11} + * @param {number} newPSW + */ + setPSW(newPSW) + { + newPSW &= this.pswUsed; + this.flagN = newPSW << 12; + this.flagZ = (~newPSW) & 4; + this.flagV = newPSW << 14; + this.flagC = newPSW << 16; + if ((newPSW ^ this.regPSW) & this.pswRegSet) { /* - * The UNIBUS map relocation is enabled + * Swap register sets */ - addr = (this.regsUniMap[idx] + (addr & 0x1FFF)) & BusPDP11.MASK_22BIT; - /* - * TODO: Review this assertion. - * - * this.assert(addr < BusPDP11.UNIBUS_22BIT || addr >= BusPDP11.IOPAGE_22BIT); - */ - } else { - /* - * Since UNIBUS map relocation is NOT enabled, then as explained above: - * - * If the UNIBUS map relocation is not enabled, an incoming 18-bit UNIBUS address has 4 leading zeroes added for - * referencing a 22-bit physical address. The lower 18 bits are the same. No relocation is performed. - */ - addr &= ~BusPDP11.UNIBUS_22BIT; + for (var i = this.regsAlt.length; --i >= 0;) { + var tmp = this.regsGen[i]; + this.regsGen[i] = this.regsAlt[i]; + this.regsAlt[i] = tmp; + } } + this.pswMode = (newPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK; + var oldMode = (this.regPSW >> PDP11.PSW.SHIFT.CMODE) & PDP11.MODE.MASK; + if (this.pswMode != oldMode) { + /* + * Swap stack pointers + */ + this.regsAltStack[oldMode] = this.regsGen[6]; + this.regsGen[6] = this.regsAltStack[this.pswMode]; + } + this.regPSW = newPSW; + + /* + * Trigger a call to checkInterrupts(), just in case. If there's an active IRQ, then setting + * OPFLAG.IRQ is a no-brainer, but even if not, we set IRQ_DELAY in case the priority was lowered + * enough to permit a programmed interrupt (via regPIR). + */ + this.opFlags &= ~PDP11.OPFLAG.IRQ; + this.opFlags |= (this.irqNext? PDP11.OPFLAG.IRQ : PDP11.OPFLAG.IRQ_DELAY); } - return addr; -}; -/** - * getAddrInfo(addr, fPhysical) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {boolean} [fPhysical] - * @return {Array} - */ -CPUStatePDP11.prototype.getAddrInfo = function(addr, fPhysical) -{ - var a = []; - var addrPhysical; + /** + * getSLR() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getSLR() + { + return this.regSLR & 0xff00; + } - if (fPhysical) { - addrPhysical = this.mapUnibus(addr); + /** + * setSLR(newSL) + * + * @this {CPUStatePDP11} + * @param {number} newSLR + */ + setSLR(newSLR) + { + this.regSLR = newSLR | 0xff; + } + + /** + * getPIR() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getPIR() + { + return this.regPIR; + } + + /** + * setPIR(newPIR) + * + * @this {CPUStatePDP11} + * @param {number} newPIR + */ + setPIR(newPIR) + { + newPIR &= PDP11.PIR.BITS; + if (newPIR) { + var bits = newPIR >> PDP11.PIR.SHIFT.BITS; + do { + newPIR += PDP11.PIR.PIA_INC; + } while (bits >>= 1); + this.opFlags |= PDP11.OPFLAG.IRQ_DELAY; + } + this.regPIR = newPIR; + } + + /** + * updateNZVFlags(result) + * + * NOTE: Only N and Z are updated based on the result; V is zeroed, C is unchanged. + * + * @this {CPUStatePDP11} + * @param {number} result + */ + updateNZVFlags(result) + { + this.flagN = this.flagZ = result; + this.flagV = 0; + } + + /** + * updateNZVCFlags(result) + * + * NOTE: Only N and Z are updated based on the result; both V and C are simply zeroed. + * + * @this {CPUStatePDP11} + * @param {number} result + */ + updateNZVCFlags(result) + { + this.flagN = this.flagZ = result; + this.flagV = this.flagC = 0; + } + + /** + * updateAllFlags(result, overflow) + * + * NOTE: The V flag is simply zeroed, unless a specific value is provided (eg, by NEG). + * + * @this {CPUStatePDP11} + * @param {number} result + * @param {number} [overflow] + */ + updateAllFlags(result, overflow) + { + this.flagN = this.flagZ = this.flagC = result; + this.flagV = overflow || 0; + } + + /** + * updateAddFlags(result, src, dst) + * + * @this {CPUStatePDP11} + * @param {number} result (dst + src) + * @param {number} src + * @param {number} dst + */ + updateAddFlags(result, src, dst) + { + this.flagN = this.flagZ = this.flagC = result; + this.flagV = (src ^ result) & (dst ^ result); + } + + /** + * updateDecFlags(result, dst) + * + * NOTE: We could have used updateSubFlags() if not for the fact that the C flag must be preserved. + * + * @this {CPUStatePDP11} + * @param {number} result (dst - src, where src is an implied 1) + * @param {number} dst + */ + updateDecFlags(result, dst) + { + this.flagN = this.flagZ = result; + /* + * Because src is always 1 (with a zero sign bit), it can be optimized out of this calculation. + */ + this.flagV = (/* src ^ */ dst) & (dst ^ result); + } + + /** + * updateIncFlags(result, dst) + * + * NOTE: We could have used updateAddFlags() if not for the fact that the C flag must be preserved. + * + * @this {CPUStatePDP11} + * @param {number} result (dst + src, where src is an implied 1) + * @param {number} dst + */ + updateIncFlags(result, dst) + { + this.flagN = this.flagZ = result; + /* + * Because src is always 1 (with a zero sign bit), it can be optimized out of this calculation. + */ + this.flagV = (/* src ^ */ result) & (dst ^ result); + } + + /** + * updateMulFlags(result) + * + * @this {CPUStatePDP11} + * @param {number} result + */ + updateMulFlags(result) + { + this.flagN = result >> 16; + this.flagZ = this.flagN | result; + this.flagV = 0; + this.flagC = (result < -32768 || result > 32767)? 0x10000 : 0; + } + + /** + * updateShiftFlags(result) + * + * @this {CPUStatePDP11} + * @param {number} result + */ + updateShiftFlags(result) + { + this.flagN = this.flagZ = this.flagC = result; + this.flagV = this.flagN ^ (this.flagC >> 1); + } + + /** + * updateSubFlags(result, src, dst) + * + * NOTE: CMP operations calculate (src - dst) rather than (dst - src), so when they call updateSubFlags(), + * they must reverse the order of the src and dst parameters. + * + * @this {CPUStatePDP11} + * @param {number} result (dst - src) + * @param {number} src + * @param {number} dst + */ + updateSubFlags(result, src, dst) + { + this.flagN = this.flagZ = this.flagC = result; + this.flagV = (src ^ dst) & (dst ^ result); + } + + /** + * trap(vector, flag, reason) + * + * trap() handles all the trap/abort functions. It reads the trap vector from kernel + * D space, changes mode to reflect the new PSW and PC, and then pushes the old PSW and + * PC onto the new mode stack. + * + * @this {CPUStatePDP11} + * @param {number} vector + * @param {number} flag + * @param {number} [reason] (for diagnostic purposes only) + */ + trap(vector, flag, reason) + { + if (DEBUG && this.dbg) { + if (this.messageEnabled(MessagesPDP11.TRAP)) { + var sReason = reason < 0? PDP11.REASONS[-reason] : this.dbg.toStrBase(reason); + this.printMessage("trap to vector " + this.dbg.toStrBase(vector, 1) + " (" + sReason + ")", MessagesPDP11.TRAP, true); + } + } + + if (this.nDisableTraps) return; + + if (this.pswTrap < 0) { + this.pswTrap = this.getPSW(); + } else if (!this.pswMode) { + reason = PDP11.REASON.RED; // double-fault (nested trap) forces a RED condition + } + + if (reason == PDP11.REASON.RED) { + if (this.opFlags & PDP11.OPFLAG.TRAP_RED) { + reason = PDP11.REASON.PANIC; + } + this.opFlags |= PDP11.OPFLAG.TRAP_RED; + /* + * The next two lines used to be deferred until after the setPSW() below, but + * I'm not seeing any dependencies on these registers, so I'm consolidating the code. + */ + this.regErr |= PDP11.CPUERR.RED; + this.regsGen[6] = vector = 4; + } + + if (reason != PDP11.REASON.PANIC) { + /* + * NOTE: Pre-setting the auto-dec values for MMR1 to 0xF6F6 is a work-around for an "EKBEE1" + * diagnostic (PC 056710), which tests what happens when a misaligned read triggers a BUS trap, + * and that trap then triggers an MMU trap during the first pushWord() below. + * + * One would think it would be fine to zero those bits by setting opLast to vector alone, + * and then letting each of the pushWord() calls below shift their own 0xF6 auto-dec value into + * opLast. When the first pushWord() triggers an MMU trap, we obviously won't get to the second + * pushWord(), yet the diagnostic expects TWO auto-decs to be recorded. I'm puzzled why the + * hardware apparently indicates TWO auto-decs, if SP wasn't actually decremented twice, but who + * am I to judge. + */ + this.opLast = vector | 0xf6f60000; + + /* + * Read from kernel D space + */ + this.pswMode = 0; + var newPC = this.readWord(vector | this.addrDSpace); + var newPSW = this.readWord(((vector + 2) & 0xffff) | this.addrDSpace); + + /* + * Set new PSW with previous mode + */ + this.setPSW((newPSW & ~PDP11.PSW.PMODE) | ((this.pswTrap >> 2) & PDP11.PSW.PMODE)); + + this.pushWord(this.pswTrap); + this.pushWord(this.regsGen[7]); + this.setPC(newPC); + } + + /* + * TODO: Determine the appropriate number of cycles for traps; all I've done for now is move the + * cycle charge from opTrap() to here, and reduced the amount the other opcode handlers that call + * trap() charge by a corresponding amount (5). + */ + this.nStepCycles -= (4 + 1); + + /* + * DEC's "TRAP TEST" (MAINDEC-11-D0NA-PB) triggers a RESERVED trap with an invalid opcode and the + * stack deliberately set too low, and expects the stack overflow trap to be "sprung" immediately + * afterward, so we only want to "lose interest" in the TRAP flag(s) that were set on entry, not ALL + * of them. + * + * this.opFlags &= ~PDP11.OPFLAG.TRAP_MASK; // lose interest in traps after an abort + * + * Well, OK, we're also supposed to "lose interest" in the TF flag, too; otherwise, DEC tests fail. + * + * Finally, setPSW() likes to always set IRQ, to force a check of hardware interrupts prior to + * the next instruction, just in case the PSW priority was lowered. However, there are "TRAP TEST" + * tests like this one: + * + * 005640: 012706 007700 MOV #7700,SP + * 005644: 012767 000340 172124 MOV #340,177776 + * 005652: 012767 000100 171704 MOV #100,177564 + * 005660: 012767 005712 172146 MOV #5712,000034 ; set TRAP vector (its PSW is already zero) + * 005666: 012767 005714 172170 MOV #5714,000064 ; set hardware interrupt vector (its PSW is already zero) + * 005674: 012767 005716 172116 MOV #5716,000020 ; set IOT vector + * 005702: 012767 000340 172112 MOV #340,000022 ; set IOT PSW + * 005710: 104400 TRAP 000 + * 005712: 000004 IOT + * 005714: 000000 HALT + * + * where, after "TRAP 000" has executed, a hardware interrupt will be acknowledged, and instead of + * executing the IOT, we'll execute the HALT and fail the test. We avoid that by relying on the same + * trick that the SPL instruction uses: setting IRQ_DELAY instead of IRQ, which effectively delays + * IRQ detection for one instruction, which is just long enough to allow the diagnostic to pass. + */ + this.opFlags &= ~(flag | PDP11.OPFLAG.TRAP_TF | PDP11.OPFLAG.IRQ_MASK); + this.opFlags |= PDP11.OPFLAG.IRQ_DELAY | PDP11.OPFLAG.TRAP_LAST; + + this.pswTrap = -1; // reset flag that we have a trap within a trap + + /* + * These next properties (in conjunction with setting PDP11.OPFLAG.TRAP_LAST) are purely an aid for the Debugger; + * see getTrapStatus(). + */ + this.trapVector = vector; + this.trapReason = reason; + + if (reason == PDP11.REASON.PANIC) { + this.stopCPU(); + } + if (reason >= PDP11.REASON.RED) throw vector; + } + + /** + * trapReturn() + * + * @this {CPUStatePDP11} + */ + trapReturn() + { + /* + * This code used to defer updating regsGen[6] (SP) until after BOTH words had been popped, which seems + * safer, but if we're going to do pushes in trap(), then I see no reason to avoid doing pops in trapReturn(). + */ + var addr = this.popWord(); + var newPSW = this.popWord(); + if (this.regPSW & PDP11.PSW.CMODE) { + /* + * Keep SPL and allow lower only for modes and register set. + * + * TODO: Review, because it seems a bit odd to only CLEAR the PRI bits in the new PSW, and then to OR in + * CMODE, PMODE, and REGSET bits from the current PSW. + */ + newPSW = (newPSW & ~PDP11.PSW.PRI) | (this.regPSW & (PDP11.PSW.PRI | PDP11.PSW.REGSET | PDP11.PSW.PMODE | PDP11.PSW.CMODE)); + } + this.setPC(addr); + this.setPSW(newPSW); + this.opFlags &= ~PDP11.OPFLAG.TRAP_TF; + } + + /** + * getTrapStatus() + * + * @this {CPUStatePDP11} + * @return {number} + */ + getTrapStatus() + { + return (this.opFlags & PDP11.OPFLAG.TRAP_LAST)? (this.trapVector | this.trapReason << 8) : 0; + } + + /** + * mapUnibus(addr) + * + * Used to convert 18-bit addresses to 22-bit addresses. Since mapUnibus() only looks at the low 18 bits of addr, + * there's no need to mask addr first. Note that if bits 13-17 are all set, then the 18-bit address points to the + * top 8Kb of its 256Kb range, and mapUnibus() will return addr unchanged, since it should already be pointing to + * the top 8Kb of the 4Mb 22-bit range. + * + * Also, when bits 18-21 of addr are ALL set (which callers check using addr >= BusPDP11.UNIBUS_22BIT aka 0x3C0000), + * then we have a 22-bit address pointing to the top 256Kb range, so if the UNIBUS relocation map is enabled, we again + * pass the lower 18 bits of that address through the map. + * + * From the PDP-11/70 Handbook: + * + * On the 11/44 and 11/70, there are a total of 31 mapping registers for address relocation. Each register is + * composed of a double 16-bit PDP-11 word (in consecutive locations) that holds the 22-bit base address. These + * registers have UNIBUS addresses in the range 770200 to 770372. + * + * If the UNIBUS map relocation is not enabled, an incoming 18-bit UNIBUS address has 4 leading zeroes added for + * referencing a 22-bit physical address. The lower 18 bits are the same. No relocation is performed. + * + * If UNIBUS map relocation is enabled, the five high order bits of the UNIBUS address are used to select one of the + * 31 mapping registers. The low-order 13 bits of the incoming address are used as an offset from the base address + * contained in the 22-bit mapping register. To form the physical address, the 13 low-order bits of the UNIBUS + * address are added to 22 bits of the selected mapping register to produce the 22-bit physical address. The lowest + * order bit of all mapping registers is always a zero, since relocation is always on word boundaries. + * + * Sadly, because these mappings occur at a word-granular level, we can't implement the mappings by simply shuffling + * the underlying block around in the Bus component; it would be much more efficient if we could. That's how we move + * the IOPAGE in response to addressing changes. + * + * @this {CPUStatePDP11} + * @param {number} addr + * @return {number} + */ + mapUnibus(addr) + { var idx = (addr >> 13) & 0x1F; - a.push(addrPhysical); - a.push(idx); - if (this.regMMR3 & PDP11.MMR3.UNIBUS_MAP) { - a.push(this.regsUniMap[idx]); - a.push(addr & 0x1FFF); + if (idx < 31) { + if (this.regMMR3 & PDP11.MMR3.UNIBUS_MAP) { + /* + * The UNIBUS map relocation is enabled + */ + addr = (this.regsUniMap[idx] + (addr & 0x1FFF)) & BusPDP11.MASK_22BIT; + /* + * TODO: Review this assertion. + * + * this.assert(addr < BusPDP11.UNIBUS_22BIT || addr >= BusPDP11.IOPAGE_22BIT); + */ + } else { + /* + * Since UNIBUS map relocation is NOT enabled, then as explained above: + * + * If the UNIBUS map relocation is not enabled, an incoming 18-bit UNIBUS address has 4 leading zeroes added for + * referencing a 22-bit physical address. The lower 18 bits are the same. No relocation is performed. + */ + addr &= ~BusPDP11.UNIBUS_22BIT; + } } - } - else if (!this.mmuEnable) { - addrPhysical = addr & 0xffff; - if (addrPhysical >= BusPDP11.IOPAGE_16BIT) addrPhysical |= this.addrIOPage; - a.push(addrPhysical); - } - else { - var mode = this.pswMode << 1; - var page = addr >> 13; - if (page > 7) mode |= 1; - if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7; - var pdr = this.mmuPDR[this.pswMode][page]; - var off = addr & 0x1fff; - var paf = (this.mmuPAR[this.pswMode][page] << 6); - addrPhysical = (paf + off) & this.mmuMask; - if (addrPhysical >= BusPDP11.UNIBUS_22BIT) addrPhysical = this.mapUnibus(addrPhysical); - a.push(addrPhysical); // a[0] - a.push(off); // a[1] - a.push(mode); // a[2] (0=KI, 1=KD, 2=SI, 3=SD, 4=??, 5=??, 6=UI, 7=UD) - a.push(page & 7); // a[3] - a.push(paf); // a[4] - a.push(this.mmuMask); // a[5] - } - return a; -}; - -/** - * mapVirtualToPhysical(addrVirtual, access) - * - * mapVirtualToPhysical() does memory management. It converts a 17-bit I/D virtual address to a - * 22-bit physical address. A real PDP 11/70 memory management unit can be enabled separately for - * read and write for diagnostic purposes. This is handled here by having an enable mask (mmuEnable) - * which is tested against the operation access mask (access). If there is no match, then the virtual - * address is simply mapped as a 16 bit physical address with the upper page going to the IO address - * space. Significant access mask values used are PDP11.ACCESS.READ and PDP11.ACCESS.WRITE. - * - * When doing mapping, pswMode is used to decide what address space is to be used (0 = kernel, - * 1 = supervisor, 2 = illegal, 3 = user). Normally, pswMode is set by the setPSW() function, but - * there are exceptions for instructions which move data between address spaces (MFPD, MFPI, MTPD, - * and MTPI) and trap(). These will modify pswMode outside of setPSW() and then restore it again if - * all worked. If however something happens to cause a trap then no restore is done as setPSW() - * will have been invoked as part of the trap, which will resynchronize pswMode. - * - * A PDP-11/70 is different from other PDP-11s in that the highest 18 bit space (017000000 & above) - * maps directly to UNIBUS space - including low memory. This doesn't appear to be particularly useful - * as it restricts maximum system memory - although it does appear to allow software testing of the - * UNIBUS map. This feature also appears to confuse some OSes which test consecutive memory locations - * to find maximum memory -- and on a full memory system find themselves accessing low memory again at - * high addresses. - * - * Construction of a Physical Address - * ---------------------------------- - * - * Virtual Addr (VA) 12 11 10 9 8 7 6 5 4 3 2 1 0 - * + Page Addr Field (PAF) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - * ----------------------------------------------------------------- - * = Physical Addr (PA) 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - * - * The Page Address Field (PAF) comes from a Page Address Register (PAR) that is selected by Virtual - * Address (VA) bits 15-13. You can see from the above alignments that the VA contributes to the low - * 13 bits, providing an 8Kb range. - * - * VA bits 0-5 pass directly through to the PA; those are also called the DIB (Displacement in Block) bits. - * VA bits 6-12 are added to the low 7 bits of the PAF and are also called the BN (Block Number) bits. - * - * You can also think of the entire PAF as a block number, where each block is 64 bytes. This is consistent - * with the LSIZE register at 177760, which is supposed to contain the block number of the last 64-byte block - * of memory installed. - * - * Note that if a PAR is initialized to zero, successively adding 0200 (0x80) to the PAR will advance the - * base physical address to the next 8Kb page. - * - * @this {CPUStatePDP11} - * @param {number} addrVirtual - * @param {number} access - * @return {number} - */ -CPUStatePDP11.prototype.mapVirtualToPhysical = function(addrVirtual, access) -{ - var page, pdr, addr; - - /* - * This can happen when the MAINT bit of MMR0 is set but not the ENABLED bit. - */ - if (!(access & this.mmuEnable)) { - addr = addrVirtual & 0xffff; - if (addr >= BusPDP11.IOPAGE_16BIT) addr |= this.addrIOPage; return addr; } - page = addrVirtual >> 13; - if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7; - pdr = this.mmuPDR[this.pswMode][page]; - addr = ((this.mmuPAR[this.pswMode][page] << 6) + (addrVirtual & 0x1fff)) & this.mmuMask; - - if (addr >= BusPDP11.UNIBUS_22BIT) addr = this.mapUnibus(addr); - - if (this.nDisableTraps) return addr; - - /* - * TEST #122 ("KT BEND") in the "EKBEE1" diagnostic (PC 076060) triggers a NOMEMORY error using - * this instruction: + /** + * getAddrInfo(addr, fPhysical) * - * 076170: 005037 140100 CLR @#140100 - * - * It also triggers an ODDADDR error using this instruction: - * - * 076356: 005037 140001 CLR @#140001 - * - * @paulnank: So it turns out that the memory management unit that does odd address and non-existent - * memory trapping: who knew? :-) I thought these would have been handled at access time. - * - * @jeffpar: We're assuming, at least, that the MMU does its "NEXM" (NOMEMORY) non-existent memory test - * very simplistically, by range-checking the address against something like the memory SIZE registers, - * because otherwise the MMU would have to wait for a bus time-out: something so prohibitively expensive - * that the MMU could not afford to do it. I rely on addrInvalid, which is derived from the same Bus - * getMemoryLimit() service that the SIZE registers (177760--177762) use to derive their value. + * @this {CPUStatePDP11} + * @param {number} addr + * @param {boolean} [fPhysical] + * @return {Array} */ - if (addr >= this.addrInvalid && addr < this.addrIOPage) { - this.regErr |= PDP11.CPUERR.NOMEMORY; - this.trap(PDP11.TRAP.BUS, 0, addr); - } - else if ((addr & 0x1) && !(access & PDP11.ACCESS.BYTE)) { - this.regErr |= PDP11.CPUERR.ODDADDR; - this.trap(PDP11.TRAP.BUS, 0, addr); - } + getAddrInfo(addr, fPhysical) + { + var a = []; + var addrPhysical; - var newMMR0 = 0; - switch (pdr & PDP11.PDR.ACF.MASK) { - - case PDP11.PDR.ACF.RO1: // 0x1: read-only, abort on write attempt, memory management trap on read (11/70 only) - newMMR0 = PDP11.MMR0.TRAP_MMU; - /* falls through */ - - case PDP11.PDR.ACF.RO: // 0x2: read-only, abort on write attempt - pdr |= PDP11.PDR.ACCESSED; - if (access & PDP11.ACCESS.WRITE) { - newMMR0 = PDP11.MMR0.ABORT_RO; + if (fPhysical) { + addrPhysical = this.mapUnibus(addr); + var idx = (addr >> 13) & 0x1F; + a.push(addrPhysical); + a.push(idx); + if (this.regMMR3 & PDP11.MMR3.UNIBUS_MAP) { + a.push(this.regsUniMap[idx]); + a.push(addr & 0x1FFF); + } } - break; - - case PDP11.PDR.ACF.RW1: // 0x4: read/write, memory management trap upon completion of a read or write - newMMR0 = PDP11.MMR0.TRAP_MMU; - /* falls through */ - - case PDP11.PDR.ACF.RW2: // 0x5: read/write, memory management trap upon completion of a write (11/70 only) - if (access & PDP11.ACCESS.WRITE) { - newMMR0 = PDP11.MMR0.TRAP_MMU; + else if (!this.mmuEnable) { + addrPhysical = addr & 0xffff; + if (addrPhysical >= BusPDP11.IOPAGE_16BIT) addrPhysical |= this.addrIOPage; + a.push(addrPhysical); } - /* falls through */ - - case PDP11.PDR.ACF.RW: // 0x6: read/write, no system trap/abort action - pdr |= ((access & PDP11.ACCESS.WRITE) ? (PDP11.PDR.ACCESSED | PDP11.PDR.MODIFIED) : PDP11.PDR.ACCESSED); - break; - - default: // 0x0 (non-resident, abort all accesses) or 0x3 or 0x7 (unused, abort all accesses) - newMMR0 = PDP11.MMR0.ABORT_NR; - break; + else { + var mode = this.pswMode << 1; + var page = addr >> 13; + if (page > 7) mode |= 1; + if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7; + var pdr = this.mmuPDR[this.pswMode][page]; + var off = addr & 0x1fff; + var paf = (this.mmuPAR[this.pswMode][page] << 6); + addrPhysical = (paf + off) & this.mmuMask; + if (addrPhysical >= BusPDP11.UNIBUS_22BIT) addrPhysical = this.mapUnibus(addrPhysical); + a.push(addrPhysical); // a[0] + a.push(off); // a[1] + a.push(mode); // a[2] (0=KI, 1=KD, 2=SI, 3=SD, 4=??, 5=??, 6=UI, 7=UD) + a.push(page & 7); // a[3] + a.push(paf); // a[4] + a.push(this.mmuMask); // a[5] + } + return a; } - if ((pdr & (PDP11.PDR.PLF | PDP11.PDR.ED)) != PDP11.PDR.PLF) { // skip checking most common case (hopefully) + /** + * mapVirtualToPhysical(addrVirtual, access) + * + * mapVirtualToPhysical() does memory management. It converts a 17-bit I/D virtual address to a + * 22-bit physical address. A real PDP 11/70 memory management unit can be enabled separately for + * read and write for diagnostic purposes. This is handled here by having an enable mask (mmuEnable) + * which is tested against the operation access mask (access). If there is no match, then the virtual + * address is simply mapped as a 16 bit physical address with the upper page going to the IO address + * space. Significant access mask values used are PDP11.ACCESS.READ and PDP11.ACCESS.WRITE. + * + * When doing mapping, pswMode is used to decide what address space is to be used (0 = kernel, + * 1 = supervisor, 2 = illegal, 3 = user). Normally, pswMode is set by the setPSW() function, but + * there are exceptions for instructions which move data between address spaces (MFPD, MFPI, MTPD, + * and MTPI) and trap(). These will modify pswMode outside of setPSW() and then restore it again if + * all worked. If however something happens to cause a trap then no restore is done as setPSW() + * will have been invoked as part of the trap, which will resynchronize pswMode. + * + * A PDP-11/70 is different from other PDP-11s in that the highest 18 bit space (017000000 & above) + * maps directly to UNIBUS space - including low memory. This doesn't appear to be particularly useful + * as it restricts maximum system memory - although it does appear to allow software testing of the + * UNIBUS map. This feature also appears to confuse some OSes which test consecutive memory locations + * to find maximum memory -- and on a full memory system find themselves accessing low memory again at + * high addresses. + * + * Construction of a Physical Address + * ---------------------------------- + * + * Virtual Addr (VA) 12 11 10 9 8 7 6 5 4 3 2 1 0 + * + Page Addr Field (PAF) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + * ----------------------------------------------------------------- + * = Physical Addr (PA) 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + * + * The Page Address Field (PAF) comes from a Page Address Register (PAR) that is selected by Virtual + * Address (VA) bits 15-13. You can see from the above alignments that the VA contributes to the low + * 13 bits, providing an 8Kb range. + * + * VA bits 0-5 pass directly through to the PA; those are also called the DIB (Displacement in Block) bits. + * VA bits 6-12 are added to the low 7 bits of the PAF and are also called the BN (Block Number) bits. + * + * You can also think of the entire PAF as a block number, where each block is 64 bytes. This is consistent + * with the LSIZE register at 177760, which is supposed to contain the block number of the last 64-byte block + * of memory installed. + * + * Note that if a PAR is initialized to zero, successively adding 0200 (0x80) to the PAR will advance the + * base physical address to the next 8Kb page. + * + * @this {CPUStatePDP11} + * @param {number} addrVirtual + * @param {number} access + * @return {number} + */ + mapVirtualToPhysical(addrVirtual, access) + { + var page, pdr, addr; + /* - * The Page Descriptor Register (PDR) Page Length Field (PLF) is a 7-bit block number, where a block - * is 64 bytes. Since the bit 0 of the block number is located at bit 8 of the PDR, we shift the PDR - * right 2 bits and then clear the bottom 6 bits by masking it with 0x1FC0. + * This can happen when the MAINT bit of MMR0 is set but not the ENABLED bit. */ - if (pdr & PDP11.PDR.ED) { - if (pdr & PDP11.PDR.PLF) { - if ((addrVirtual & 0x1FC0) < ((pdr >> 2) & 0x1FC0)) { + if (!(access & this.mmuEnable)) { + addr = addrVirtual & 0xffff; + if (addr >= BusPDP11.IOPAGE_16BIT) addr |= this.addrIOPage; + return addr; + } + + page = addrVirtual >> 13; + if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7; + pdr = this.mmuPDR[this.pswMode][page]; + addr = ((this.mmuPAR[this.pswMode][page] << 6) + (addrVirtual & 0x1fff)) & this.mmuMask; + + if (addr >= BusPDP11.UNIBUS_22BIT) addr = this.mapUnibus(addr); + + if (this.nDisableTraps) return addr; + + /* + * TEST #122 ("KT BEND") in the "EKBEE1" diagnostic (PC 076060) triggers a NOMEMORY error using + * this instruction: + * + * 076170: 005037 140100 CLR @#140100 + * + * It also triggers an ODDADDR error using this instruction: + * + * 076356: 005037 140001 CLR @#140001 + * + * @paulnank: So it turns out that the memory management unit that does odd address and non-existent + * memory trapping: who knew? :-) I thought these would have been handled at access time. + * + * @jeffpar: We're assuming, at least, that the MMU does its "NEXM" (NOMEMORY) non-existent memory test + * very simplistically, by range-checking the address against something like the memory SIZE registers, + * because otherwise the MMU would have to wait for a bus time-out: something so prohibitively expensive + * that the MMU could not afford to do it. I rely on addrInvalid, which is derived from the same Bus + * getMemoryLimit() service that the SIZE registers (177760--177762) use to derive their value. + */ + if (addr >= this.addrInvalid && addr < this.addrIOPage) { + this.regErr |= PDP11.CPUERR.NOMEMORY; + this.trap(PDP11.TRAP.BUS, 0, addr); + } + else if ((addr & 0x1) && !(access & PDP11.ACCESS.BYTE)) { + this.regErr |= PDP11.CPUERR.ODDADDR; + this.trap(PDP11.TRAP.BUS, 0, addr); + } + + var newMMR0 = 0; + switch (pdr & PDP11.PDR.ACF.MASK) { + + case PDP11.PDR.ACF.RO1: // 0x1: read-only, abort on write attempt, memory management trap on read (11/70 only) + newMMR0 = PDP11.MMR0.TRAP_MMU; + /* falls through */ + + case PDP11.PDR.ACF.RO: // 0x2: read-only, abort on write attempt + pdr |= PDP11.PDR.ACCESSED; + if (access & PDP11.ACCESS.WRITE) { + newMMR0 = PDP11.MMR0.ABORT_RO; + } + break; + + case PDP11.PDR.ACF.RW1: // 0x4: read/write, memory management trap upon completion of a read or write + newMMR0 = PDP11.MMR0.TRAP_MMU; + /* falls through */ + + case PDP11.PDR.ACF.RW2: // 0x5: read/write, memory management trap upon completion of a write (11/70 only) + if (access & PDP11.ACCESS.WRITE) { + newMMR0 = PDP11.MMR0.TRAP_MMU; + } + /* falls through */ + + case PDP11.PDR.ACF.RW: // 0x6: read/write, no system trap/abort action + pdr |= ((access & PDP11.ACCESS.WRITE) ? (PDP11.PDR.ACCESSED | PDP11.PDR.MODIFIED) : PDP11.PDR.ACCESSED); + break; + + default: // 0x0 (non-resident, abort all accesses) or 0x3 or 0x7 (unused, abort all accesses) + newMMR0 = PDP11.MMR0.ABORT_NR; + break; + } + + if ((pdr & (PDP11.PDR.PLF | PDP11.PDR.ED)) != PDP11.PDR.PLF) { // skip checking most common case (hopefully) + /* + * The Page Descriptor Register (PDR) Page Length Field (PLF) is a 7-bit block number, where a block + * is 64 bytes. Since the bit 0 of the block number is located at bit 8 of the PDR, we shift the PDR + * right 2 bits and then clear the bottom 6 bits by masking it with 0x1FC0. + */ + if (pdr & PDP11.PDR.ED) { + if (pdr & PDP11.PDR.PLF) { + if ((addrVirtual & 0x1FC0) < ((pdr >> 2) & 0x1FC0)) { + newMMR0 |= PDP11.MMR0.ABORT_PL; + } + } + } else { + if ((addrVirtual & 0x1FC0) > ((pdr >> 2) & 0x1FC0)) { newMMR0 |= PDP11.MMR0.ABORT_PL; } } - } else { - if ((addrVirtual & 0x1FC0) > ((pdr >> 2) & 0x1FC0)) { - newMMR0 |= PDP11.MMR0.ABORT_PL; + } + + /* + * Aborts and traps: log FIRST trap and MOST RECENT abort + */ + this.mmuPDR[this.pswMode][page] = pdr; + if (addr != ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.MMR0) & this.mmuMask) || this.pswMode) { + this.mmuLastMode = this.pswMode; + this.mmuLastPage = page; + } + + if (newMMR0) { + if (newMMR0 & PDP11.MMR0.ABORT) { + if (this.pswTrap >= 0) { + newMMR0 |= PDP11.MMR0.COMPLETED; + } + if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { + newMMR0 |= (this.regMMR0 & PDP11.MMR0.TRAP_MMU) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); + this.assert(!(newMMR0 & ~PDP11.MMR0.UPDATE)); + this.setMMR0((this.regMMR0 & ~PDP11.MMR0.UPDATE) | (newMMR0 & PDP11.MMR0.UPDATE)); + } + /* + * NOTE: In unusual circumstances, if regMMR0 already indicated an ABORT condition above, + * we run the risk of infinitely looping; eg, we call trap(), which calls mapVirtualToPhysical() + * on the trap vector, which faults again, etc. + * + * TODO: Determine what a real PDP-11 does in that situation; in our case, trap() deals with it + * by checking an internal OPFLAG (TRAP_RED) and turning the next trap into a PANIC, triggering an + * immediate HALT. + */ + this.trap(PDP11.TRAP.MMU, PDP11.OPFLAG.TRAP_MMU, PDP11.REASON.ABORT); + } + if (!(this.regMMR0 & (PDP11.MMR0.ABORT | PDP11.MMR0.TRAP_MMU))) { + /* + * TODO: Review the code below, because the address range seems over-inclusive. + */ + if (addr < ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.SIPDR0) & this.mmuMask) || + addr > ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.UDPAR7 | 0x1) & this.mmuMask)) { + this.regMMR0 |= PDP11.MMR0.TRAP_MMU; + if (this.regMMR0 & PDP11.MMR0.MMU_TRAPS) this.opFlags |= PDP11.OPFLAG.TRAP_MMU; + } } } + return addr; } - /* - * Aborts and traps: log FIRST trap and MOST RECENT abort - */ - this.mmuPDR[this.pswMode][page] = pdr; - if (addr != ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.MMR0) & this.mmuMask) || this.pswMode) { - this.mmuLastMode = this.pswMode; - this.mmuLastPage = page; - } - - if (newMMR0) { - if (newMMR0 & PDP11.MMR0.ABORT) { - if (this.pswTrap >= 0) { - newMMR0 |= PDP11.MMR0.COMPLETED; - } - if (!(this.regMMR0 & PDP11.MMR0.ABORT)) { - newMMR0 |= (this.regMMR0 & PDP11.MMR0.TRAP_MMU) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); - this.assert(!(newMMR0 & ~PDP11.MMR0.UPDATE)); - this.setMMR0((this.regMMR0 & ~PDP11.MMR0.UPDATE) | (newMMR0 & PDP11.MMR0.UPDATE)); - } - /* - * NOTE: In unusual circumstances, if regMMR0 already indicated an ABORT condition above, - * we run the risk of infinitely looping; eg, we call trap(), which calls mapVirtualToPhysical() - * on the trap vector, which faults again, etc. - * - * TODO: Determine what a real PDP-11 does in that situation; in our case, trap() deals with it - * by checking an internal OPFLAG (TRAP_RED) and turning the next trap into a PANIC, triggering an - * immediate HALT. - */ - this.trap(PDP11.TRAP.MMU, PDP11.OPFLAG.TRAP_MMU, PDP11.REASON.ABORT); - } - if (!(this.regMMR0 & (PDP11.MMR0.ABORT | PDP11.MMR0.TRAP_MMU))) { - /* - * TODO: Review the code below, because the address range seems over-inclusive. - */ - if (addr < ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.SIPDR0) & this.mmuMask) || - addr > ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.UDPAR7 | 0x1) & this.mmuMask)) { - this.regMMR0 |= PDP11.MMR0.TRAP_MMU; - if (this.regMMR0 & PDP11.MMR0.MMU_TRAPS) this.opFlags |= PDP11.OPFLAG.TRAP_MMU; - } - } - } - return addr; -}; - -/** - * popWord() - * - * @this {CPUStatePDP11} - * @return {number} - */ -CPUStatePDP11.prototype.popWord = function() -{ - var result = this.readWord(this.regsGen[6] | this.addrDSpace); - this.regsGen[6] = (this.regsGen[6] + 2) & 0xffff; - return result; -}; - -/** - * pushWord(data) - * - * @this {CPUStatePDP11} - * @param {number} data - */ -CPUStatePDP11.prototype.pushWord = function(data) -{ - var addrVirtual = (this.regsGen[6] - 2) & 0xffff; - this.regsGen[6] = addrVirtual; // BSD needs SP updated before any fault :-( - this.opLast = (this.opLast & 0xffff) | ((this.opLast & ~0xffff) << 8) | (0x00f6 << 16); - if (!(this.opFlags & PDP11.OPFLAG.TRAP_RED)) this.checkStackLimit(PDP11.ACCESS.WRITE_WORD, -2, addrVirtual); - this.writeWord(addrVirtual, data); -}; - -/** - * getAddrByMode(mode, reg, access) - * - * getAddrByMode() maps a six bit operand to a 17 bit I/D virtual address space. - * - * Instruction operands are six bits in length - three bits for the mode and three - * for the register. The 17th I/D bit in the resulting virtual address represents - * whether the reference is to Instruction space or Data space - which depends on - * combination of the mode and whether the register is the Program Counter (R7). - * - * The eight modes are:- - * 0 R no valid virtual address - * 1 (R) operand from I/D depending if R = 7 - * 2 (R)+ operand from I/D depending if R = 7 - * 3 @(R)+ address from I/D depending if R = 7 and operand from D space - * 4 -(R) operand from I/D depending if R = 7 - * 5 @-(R) address from I/D depending if R = 7 and operand from D space - * 6 x(R) x from I space but operand from D space - * 7 @x(R) x from I space but address and operand from D space - * - * Also need to keep MMR1 updated as this stores which registers have been - * incremented and decremented so that the OS can reset and restart an instruction - * if a page fault occurs. - * - * Stack Overflow Traps - * -------------------- - * On the PDP-11/20, stack overflow traps occur when an address below 400 is referenced - * by SP in either mode 4 (auto-decrement) or 5 (auto-decrement deferred). The instruction - * is allowed to complete before the trap is issued. NOTE: This information comes - * directly from the PDP-11/20 Handbook (1971), but the 11/20 diagnostics apparently only - * test mode 4, not mode 5, because when I later removed stack limit checks for mode 5 on - * the 11/70, none of the 11/20 tests complained. - * - * TODO: Find some independent confirmation as to whether ANY PDP-11 models check for - * stack overflow on mode 5 (auto-decrement deferred); if they do, then further tweaks to - * checkStackLimit functions may be required. - * - * On the PDP-11/70, the stack limit register (177774) allows a variable boundary for the - * kernel stack. - * - * @this {CPUStatePDP11} - * @param {number} mode - * @param {number} reg - * @param {number} access - * @return {number} - */ -CPUStatePDP11.prototype.getAddrByMode = function(mode, reg, access) -{ - var addrVirtual, step; - var addrDSpace = (access & PDP11.ACCESS.VIRT)? 0 : this.addrDSpace; - - /* - * Modes that need to auto-increment or auto-decrement will break, in order to perform - * the update; others will return an address immediately. - */ - switch (mode) { - /* - * Mode 0: Registers don't have a virtual address, so trap. + /** + * popWord() * - * NOTE: Most instruction code paths never call getAddrByMode() when the mode is zero; - * JMP and JSR instructions are exceptions, but that's OK, because those are documented as - * ILLEGAL instructions which produce a BUS trap (as opposed to UNDEFINED instructions - * that cause a RESERVED trap). + * @this {CPUStatePDP11} + * @return {number} */ - case 0: - this.trap(PDP11.TRAP.BUS, 0, PDP11.REASON.ILLEGAL); - return 0; + popWord() + { + var result = this.readWord(this.regsGen[6] | this.addrDSpace); + this.regsGen[6] = (this.regsGen[6] + 2) & 0xffff; + return result; + } - /* - * Mode 1: (R) + /** + * pushWord(data) + * + * @this {CPUStatePDP11} + * @param {number} data */ - case 1: - if (reg == 6) this.checkStackLimit(access, 0, this.regsGen[6]); - this.nStepCycles -= (2 + 1); - return (reg == 7? this.regsGen[reg] : (this.regsGen[reg] | addrDSpace)); + pushWord(data) + { + var addrVirtual = (this.regsGen[6] - 2) & 0xffff; + this.regsGen[6] = addrVirtual; // BSD needs SP updated before any fault :-( + this.opLast = (this.opLast & 0xffff) | ((this.opLast & ~0xffff) << 8) | (0x00f6 << 16); + if (!(this.opFlags & PDP11.OPFLAG.TRAP_RED)) this.checkStackLimit(PDP11.ACCESS.WRITE_WORD, -2, addrVirtual); + this.writeWord(addrVirtual, data); + } - /* - * Mode 2: (R)+ + /** + * getAddrByMode(mode, reg, access) + * + * getAddrByMode() maps a six bit operand to a 17 bit I/D virtual address space. + * + * Instruction operands are six bits in length - three bits for the mode and three + * for the register. The 17th I/D bit in the resulting virtual address represents + * whether the reference is to Instruction space or Data space - which depends on + * combination of the mode and whether the register is the Program Counter (R7). + * + * The eight modes are:- + * 0 R no valid virtual address + * 1 (R) operand from I/D depending if R = 7 + * 2 (R)+ operand from I/D depending if R = 7 + * 3 @(R)+ address from I/D depending if R = 7 and operand from D space + * 4 -(R) operand from I/D depending if R = 7 + * 5 @-(R) address from I/D depending if R = 7 and operand from D space + * 6 x(R) x from I space but operand from D space + * 7 @x(R) x from I space but address and operand from D space + * + * Also need to keep MMR1 updated as this stores which registers have been + * incremented and decremented so that the OS can reset and restart an instruction + * if a page fault occurs. + * + * Stack Overflow Traps + * -------------------- + * On the PDP-11/20, stack overflow traps occur when an address below 400 is referenced + * by SP in either mode 4 (auto-decrement) or 5 (auto-decrement deferred). The instruction + * is allowed to complete before the trap is issued. NOTE: This information comes + * directly from the PDP-11/20 Handbook (1971), but the 11/20 diagnostics apparently only + * test mode 4, not mode 5, because when I later removed stack limit checks for mode 5 on + * the 11/70, none of the 11/20 tests complained. + * + * TODO: Find some independent confirmation as to whether ANY PDP-11 models check for + * stack overflow on mode 5 (auto-decrement deferred); if they do, then further tweaks to + * checkStackLimit functions may be required. + * + * On the PDP-11/70, the stack limit register (177774) allows a variable boundary for the + * kernel stack. + * + * @this {CPUStatePDP11} + * @param {number} mode + * @param {number} reg + * @param {number} access + * @return {number} */ - case 2: - step = 2; - addrVirtual = this.regsGen[reg]; - if (reg == 6) this.checkStackLimit(access, step, addrVirtual); - if (reg != 7) { + getAddrByMode(mode, reg, access) + { + var addrVirtual, step; + var addrDSpace = (access & PDP11.ACCESS.VIRT)? 0 : this.addrDSpace; + + /* + * Modes that need to auto-increment or auto-decrement will break, in order to perform + * the update; others will return an address immediately. + */ + switch (mode) { + /* + * Mode 0: Registers don't have a virtual address, so trap. + * + * NOTE: Most instruction code paths never call getAddrByMode() when the mode is zero; + * JMP and JSR instructions are exceptions, but that's OK, because those are documented as + * ILLEGAL instructions which produce a BUS trap (as opposed to UNDEFINED instructions + * that cause a RESERVED trap). + */ + case 0: + this.trap(PDP11.TRAP.BUS, 0, PDP11.REASON.ILLEGAL); + return 0; + + /* + * Mode 1: (R) + */ + case 1: + if (reg == 6) this.checkStackLimit(access, 0, this.regsGen[6]); + this.nStepCycles -= (2 + 1); + return (reg == 7? this.regsGen[reg] : (this.regsGen[reg] | addrDSpace)); + + /* + * Mode 2: (R)+ + */ + case 2: + step = 2; + addrVirtual = this.regsGen[reg]; + if (reg == 6) this.checkStackLimit(access, step, addrVirtual); + if (reg != 7) { + addrVirtual |= addrDSpace; + if (reg < 6 && (access & PDP11.ACCESS.BYTE)) step = 1; + } + this.nStepCycles -= (2 + 1); + break; + + /* + * Mode 3: @(R)+ + */ + case 3: + step = 2; + addrVirtual = this.regsGen[reg]; + if (reg != 7) addrVirtual |= addrDSpace; + addrVirtual = this.readWord(addrVirtual); addrVirtual |= addrDSpace; - if (reg < 6 && (access & PDP11.ACCESS.BYTE)) step = 1; + this.nStepCycles -= (5 + 2); + break; + + /* + * Mode 4: -(R) + */ + case 4: + step = -2; + if (reg < 6 && (access & PDP11.ACCESS.BYTE)) step = -1; + addrVirtual = (this.regsGen[reg] + step) & 0xffff; + if (reg == 6) this.checkStackLimit(access, step, addrVirtual); + if (reg != 7) addrVirtual |= addrDSpace; + this.nStepCycles -= (3 + 1); + break; + + /* + * Mode 5: @-(R) + */ + case 5: + step = -2; + addrVirtual = (this.regsGen[reg] - 2) & 0xffff; + if (reg != 7) addrVirtual |= addrDSpace; + addrVirtual = this.readWord(addrVirtual) | addrDSpace; + this.nStepCycles -= (6 + 2); + break; + + /* + * Mode 6: d(R) + */ + case 6: + addrVirtual = this.readWord(this.advancePC(2)); + addrVirtual = (addrVirtual + this.regsGen[reg]) & 0xffff; + if (reg == 6) this.checkStackLimit(access, 0, addrVirtual); + this.nStepCycles -= (4 + 2); + return addrVirtual | addrDSpace; + + /* + * Mode 7: @d(R) + */ + case 7: + addrVirtual = this.readWord(this.advancePC(2)); + addrVirtual = (addrVirtual + this.regsGen[reg]) & 0xffff; + addrVirtual = this.readWord(addrVirtual | this.addrDSpace); + this.nStepCycles -= (7 + 3); + return addrVirtual | addrDSpace; + } + + this.regsGen[reg] = (this.regsGen[reg] + step) & 0xffff; + this.opLast = (this.opLast & 0xffff) | ((this.opLast & ~0xffff) << 8) | ((((step << 3) & 0xf8) | reg) << 16); + + return addrVirtual; + } + + /** + * checkStackLimit1120(access, step, addr) + * + * @this {CPUStatePDP11} + * @param {number} access + * @param {number} step + * @param {number} addr + */ + checkStackLimit1120(access, step, addr) + { + /* + * NOTE: DEC's "TRAP TEST" (MAINDEC-11-D0NA-PB) expects "TST -(SP)" to trap when SP is 150, + * so we ignore the access parameter. Also, strangely, it does NOT expect this instruction + * to trap: + * + * R0=006302 R1=000000 R2=000000 R3=000000 R4=000000 R5=000776 + * SP=000000 PC=006346 PS=000344 IR=000000 SL=000377 T0 N0 Z1 V0 C0 + * 006346: 112667 171426 MOVB (SP)+,000000 + * + * so if the step parameter is positive, we let it go. + */ + if (!this.pswMode && step <= 0 && addr <= this.regSLR) { + /* + * On older machines (eg, the PDP-11/20), there is no "YELLOW" and "RED" distinction, and the + * instruction is always allowed to complete, so the trap must always be issued in this fashion. + */ + this.opFlags |= PDP11.OPFLAG.TRAP_SP; + } + } + + /** + * checkStackLimit1145(access, step, addr) + * + * @this {CPUStatePDP11} + * @param {number} access + * @param {number} step + * @param {number} addr + */ + checkStackLimit1145(access, step, addr) + { + if (!this.pswMode) { + /* + * NOTE: The 11/70 CPU Instruction Exerciser does NOT expect reads to trigger a stack overflow, + * so we check the access parameter. + * + * Moreover, TEST 40 of diagnostic EKBBF0 executes this instruction: + * + * R0=177777 R1=032435 R2=152110 R3=000024 R4=153352 R5=001164 + * SP=177776 PC=020632 PS=000350 IR=000000 SL=000377 T0 N1 Z0 V0 C0 + * 020632: 005016 CLR @SP ;cycles=7 + * + * expecting a RED stack overflow trap. Yes, using *any* addresses in the IOPAGE for the stack isn't + * a good idea, but who said it was illegal? For now, we're going to restrict overflows to the highest + * address tested by the diagnostic (0xFFFE, aka the PSW), by making that address negative. + */ + if (addr >= 0xFFFE) addr |= ~0xFFFF; + if ((access & PDP11.ACCESS.WRITE) && addr <= this.regSLR) { + /* + * regSLR can never fall below 0xFF, so this subtraction can never go negative, so this comparison + * is always safe. + */ + if (addr <= this.regSLR - 32) { + this.trap(PDP11.TRAP.BUS, 0, PDP11.REASON.RED); + } else { + this.regErr |= PDP11.CPUERR.YELLOW; + this.opFlags |= PDP11.OPFLAG.TRAP_SP; + } + } + } + } + + /** + * getByteChecked(addr) + * + * @this {CPUStatePDP11} + * @param {number} addr + * @return {number} + */ + getByteChecked(addr) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryRead(addr, 1); + } + return this.getByteDirect(addr); + } + + /** + * getWordChecked(addr) + * + * @this {CPUStatePDP11} + * @param {number} addr + * @return {number} + */ + getWordChecked(addr) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryRead(addr, 2); + } + return this.getWordDirect(addr); + } + + /** + * setByteChecked(addr, data) + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {number} data + */ + setByteChecked(addr, data) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryWrite(addr, 1); + } + this.setByteDirect(addr, data); + } + + /** + * setWordChecked(addr, data) + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {number} data + */ + setWordChecked(addr, data) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryWrite(addr, 2); + } + this.setWordDirect(addr, data); + } + + /** + * getByteSafe(addr) + * + * This interface is expressly for the Debugger, to access virtual memory without faulting. + * + * @this {CPUStatePDP11} + * @param {number} addr + * @return {number} + */ + getByteSafe(addr) + { + this.nDisableTraps++; + var b = this.bus.getByte(this.mapVirtualToPhysical(addr, PDP11.ACCESS.READ_BYTE)); + this.nDisableTraps--; + return b; + } + + /** + * getWordSafe(addr) + * + * This interface is expressly for the Debugger, to access virtual memory without faulting. + * + * @this {CPUStatePDP11} + * @param {number} addr + * @return {number} + */ + getWordSafe(addr) + { + this.nDisableTraps++; + var w = this.bus.getWord(this.mapVirtualToPhysical(addr, PDP11.ACCESS.READ_WORD)); + this.nDisableTraps--; + return w; + } + + /** + * setByteSafe(addr, data) + * + * This interface is expressly for the Debugger, to access virtual memory without faulting. + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {number} data + */ + setByteSafe(addr, data) + { + this.nDisableTraps++; + this.bus.setByte(this.mapVirtualToPhysical(addr, PDP11.ACCESS.WRITE_BYTE), data); + this.nDisableTraps--; + } + + /** + * setWordSafe(addr, data) + * + * This interface is expressly for the Debugger, to access virtual memory without faulting. + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {number} data + */ + setWordSafe(addr, data) + { + this.nDisableTraps++; + this.bus.setWord(this.mapVirtualToPhysical(addr, PDP11.ACCESS.WRITE_WORD), data); + this.nDisableTraps--; + } + + /** + * addMemBreak(addr, fWrite) + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint + */ + addMemBreak(addr, fWrite) + { + if (DEBUGGER) { + var nBreaks = fWrite? this.nWriteBreaks++ : this.nReadBreaks++; + this.assert(nBreaks >= 0); + if (!nBreaks) this.setMemoryAccess(); + } + } + + /** + * removeMemBreak(addr, fWrite) + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint + */ + removeMemBreak(addr, fWrite) + { + if (DEBUGGER) { + var nBreaks = fWrite? --this.nWriteBreaks : --this.nReadBreaks; + this.assert(nBreaks >= 0); + if (!nBreaks) this.setMemoryAccess(); + } + } + + /** + * getPhysicalAddrByMode(mode, reg, access) + * + * This is a handler set up by setMemoryAccess(). All calls should go through getAddr(). + * + * @this {CPUStatePDP11} + * @param {number} mode + * @param {number} reg + * @param {number} access + * @return {number} + */ + getPhysicalAddrByMode(mode, reg, access) + { + return this.getAddrByMode(mode, reg, access); + } + + /** + * getVirtualAddrByMode(mode, reg, access) + * + * This is a handler set up by setMemoryAccess(). All calls should go through getAddr(). + * + * @this {CPUStatePDP11} + * @param {number} mode + * @param {number} reg + * @param {number} access + * @return {number} + */ + getVirtualAddrByMode(mode, reg, access) + { + return this.mapVirtualToPhysical(this.getAddrByMode(mode, reg, access), access); + } + + /** + * readWordFromPhysical(addr) + * + * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). + * + * @this {CPUStatePDP11} + * @param {number} addr + * @return {number} + */ + readWordFromPhysical(addr) + { + return this.bus.getWord(this.addrLast = addr); + } + + /** + * readWordFromPhysicalChecked(addr) + * + * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). + * + * @this {CPUStatePDP11} + * @param {number} addr + * @return {number} + */ + readWordFromPhysicalChecked(addr) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryRead(addr, 2); + } + return this.readWordFromPhysical(addr); + } + + /** + * readWordFromVirtual(addrVirtual) + * + * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). + * + * @this {CPUStatePDP11} + * @param {number} addrVirtual (input address is 17 bit (I&D)) + * @return {number} + */ + readWordFromVirtual(addrVirtual) + { + return this.bus.getWord(this.addrLast = this.mapVirtualToPhysical(addrVirtual, PDP11.ACCESS.READ_WORD)); + } + + /** + * readWordFromVirtualChecked(addrVirtual) + * + * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). + * + * @this {CPUStatePDP11} + * @param {number} addrVirtual (input address is 17 bit (I&D)) + * @return {number} + */ + readWordFromVirtualChecked(addrVirtual) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryRead(addrVirtual, 2); + } + return this.readWordFromVirtual(addrVirtual); + } + + /** + * writeWordToPhysical(addr, data) + * + * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {number} data + */ + writeWordToPhysical(addr, data) + { + this.bus.setWord(this.addrLast = addr, data); + } + + /** + * writeWordToPhysicalChecked(addr, data) + * + * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). + * + * @this {CPUStatePDP11} + * @param {number} addr + * @param {number} data + */ + writeWordToPhysicalChecked(addr, data) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryWrite(addr, 2); + } + this.writeWordToPhysical(addr, data); + } + + /** + * writeWordToVirtual(addrVirtual, data) + * + * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). + * + * @this {CPUStatePDP11} + * @param {number} addrVirtual (input address is 17 bit (I&D)) + * @param {number} data + */ + writeWordToVirtual(addrVirtual, data) + { + this.bus.setWord(this.addrLast = this.mapVirtualToPhysical(addrVirtual, PDP11.ACCESS.WRITE_WORD), data); + } + + /** + * writeWordToVirtualChecked(addrVirtual, data) + * + * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). + * + * @this {CPUStatePDP11} + * @param {number} addrVirtual (input address is 17 bit (I&D)) + * @param {number} data + */ + writeWordToVirtualChecked(addrVirtual, data) + { + if (DEBUGGER && this.dbg) { + this.dbg.checkMemoryWrite(addrVirtual, 2); + } + this.writeWordToVirtual(addrVirtual, data); + } + + /** + * readWordFromPrevSpace(opCode, access) + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @param {number} access (really just PDP11.ACCESS.DSPACE or PDP11.ACCESS.ISPACE) + * @return {number} + */ + readWordFromPrevSpace(opCode, access) + { + var data; + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + if (reg != 6 || ((this.regPSW >> 2) & PDP11.PSW.PMODE) === (this.regPSW & PDP11.PSW.PMODE)) { + data = this.regsGen[reg]; + } else { + data = this.regsAltStack[(this.regPSW >> 12) & 3]; + } + } else { + var addr = this.getAddrByMode(mode, reg, PDP11.ACCESS.READ_WORD); + if (!(access & PDP11.ACCESS.DSPACE)) { + if ((this.regPSW & 0xf000) !== 0xf000) addr &= 0xffff; + } + this.pswMode = (this.regPSW >> 12) & 3; + data = this.readWord(addr | (access & this.addrDSpace)); + this.pswMode = (this.regPSW >> 14) & 3; + } + return data; + } + + /** + * writeWordToPrevSpace(opCode, access, data) + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @param {number} access (really just PDP11.ACCESS.DSPACE or PDP11.ACCESS.ISPACE) + * @param {number} data + */ + writeWordToPrevSpace(opCode, access, data) + { + this.opLast = (this.opLast & 0xffff) | (0x0016 << 16); + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + if (reg != 6 || ((this.regPSW >> 2) & PDP11.PSW.PMODE) === (this.regPSW & PDP11.PSW.PMODE)) { + this.regsGen[reg] = data; + } else { + this.regsAltStack[(this.regPSW >> 12) & 3] = data; + } + } else { + var addr = this.getAddrByMode(mode, reg, PDP11.ACCESS.WRITE_WORD); + if (!(access & PDP11.ACCESS.DSPACE)) addr &= 0xffff; + /* + * TODO: Consider replacing the following code with writeWord(), by adding optional pswMode + * parameters for each of the discrete mapVirtualToPhysical() and setWord() operations, because + * as it stands, this is the only remaining call to mapVirtualToPhysical() outside of our + * setMemoryAccess() handlers. + */ + this.pswMode = (this.regPSW >> 12) & 3; + addr = this.mapVirtualToPhysical(addr | (access & PDP11.ACCESS.DSPACE), PDP11.ACCESS.WRITE); + this.pswMode = (this.regPSW >> 14) & 3; + this.setWord(addr, data); + } + } + + /** + * readSrcByte(opCode) + * + * WARNING: If the SRC operand is a register, offRegSrc ensures we return a negative register number + * rather than the register value, because on the PDP-11/20, the final value of the register must be + * resolved AFTER the DST operand has been decoded and any pre-decrement or post-increment operations + * affecting the SRC register have been completed. See readSrcWord() for more details. + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @return {number} + */ + readSrcByte(opCode) + { + var result; + opCode >>= PDP11.SRCMODE.SHIFT; + var reg = this.srcReg = opCode & PDP11.OPREG.MASK; + var mode = this.srcMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + result = this.regsGen[reg + this.offRegSrc] & this.maskRegSrcByte; + } else { + result = this.getByte(this.getAddr(mode, reg, PDP11.ACCESS.READ_BYTE)); + } + return result; + } + + /** + * readSrcWord(opCode) + * + * WARNING: If the SRC operand is a register, offRegSrc ensures we return a negative register number + * rather than the register value, because on the PDP-11/20, the final value of the register must be + * resolved AFTER the DST operand has been decoded and any pre-decrement or post-increment operations + * affecting the SRC register have been completed. + * + * Here's an example from DEC's "TRAP TEST" (MAINDEC-11-D0NA-PB): + * + * 007200: 012700 006340 MOV #6340,R0 + * 007204: 010020 MOV R0,(R0)+ + * 007206: 026727 177126 006342 CMP 006340,#6342 + * 007214: 001401 BEQ 007220 + * 007216: 000000 HALT + * + * If this function returned the value of R0 for the SRC operand of "MOV R0,(R0)+", then the operation + * would write 6340 to the destination, rather than 6342. + * + * Most callers don't need to worry about this, because if they pass the result from readSrcWord() directly + * to writeDstWord() or updateDstWord(), those functions will take care of converting any negative register + * number back into the current register value. The exceptions are opcodes that don't modify the DST operand + * (BIT, BITB, CMP, and CMPB); those opcode handlers must deal with negative register numbers themselves. + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @return {number} + */ + readSrcWord(opCode) + { + var result; + opCode >>= PDP11.SRCMODE.SHIFT; + var reg = this.srcReg = opCode & PDP11.OPREG.MASK; + var mode = this.srcMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + result = this.regsGen[reg + this.offRegSrc]; + } else { + result = this.getWord(this.getAddr(mode, reg, PDP11.ACCESS.READ_WORD)); + } + return result; + } + + /** + * readDstAddr(opCode) + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @return {number} + */ + readDstAddr(opCode) + { + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + return this.getAddrByMode(mode, reg, PDP11.ACCESS.VIRT); + } + + /** + * readDstByte(opCode) + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @return {number} + */ + readDstByte(opCode) + { + var result; + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + result = this.regsGen[reg] & 0xff; + } else { + result = this.getByte(this.getAddr(mode, reg, PDP11.ACCESS.READ_BYTE)); + } + return result; + } + + /** + * readDstWord(opCode) + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @return {number} + */ + readDstWord(opCode) + { + var result; + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + result = this.regsGen[reg]; + } else { + result = this.getWord(this.getAddr(mode, reg, PDP11.ACCESS.READ_WORD)); + } + return result; + } + + /** + * updateDstByte(opCode, data, fnOp) + * + * Used whenever the DST operand (as described by opCode) needs to be read before writing. + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @param {number} data + * @param {function(number,number)} fnOp + */ + updateDstByte(opCode, data, fnOp) + { + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + var dst = this.regsGen[reg]; + data = (data < 0? (this.regsGen[-data-1] & 0xff) : data); + this.regsGen[reg] = (dst & 0xff00) | fnOp.call(this, data, dst & 0xff); + } else { + var addr = this.dstAddr = this.getAddr(mode, reg, PDP11.ACCESS.UPDATE_BYTE); + data = (data < 0? (this.regsGen[-data-1] & 0xff) : data); + this.setByte(addr, fnOp.call(this, data, this.getByte(addr))); + if (addr & 1) this.nStepCycles--; + } + } + + /** + * updateDstWord(opCode, data, fnOp) + * + * Used whenever the DST operand (as described by opCode) needs to be read before writing. + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @param {number} data + * @param {function(number,number)} fnOp + */ + updateDstWord(opCode, data, fnOp) + { + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + + this.assert(data < 0 && data >= -8 || !(data & ~0xffff)); + + if (!mode) { + this.regsGen[reg] = fnOp.call(this, data < 0? this.regsGen[-data-1] : data, this.regsGen[reg]); + } else { + var addr = this.getAddr(mode, reg, PDP11.ACCESS.UPDATE_WORD); + this.setWord(addr, fnOp.call(this, data < 0? this.regsGen[-data-1] : data, this.getWord(addr))); + } + } + + /** + * writeDstByte(opCode, data, writeFlags, fnFlags) + * + * Used whenever the DST operand (as described by opCode) does NOT need to be read before writing. + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @param {number} data + * @param {number} writeFlags (WRITE.BYTE aka 0xff, or WRITE.SBYTE aka 0xffff) + * @param {function(number)} fnFlags + */ + writeDstByte(opCode, data, writeFlags, fnFlags) + { + this.assert(writeFlags); + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + if (!mode) { + if (!data) { + /* + * Potentially worthless optimization (but it looks good on "paper"). + */ + this.regsGen[reg] &= ~writeFlags; + } else { + /* + * Potentially worthwhile optimization: skipping the sign-extending data shifts + * if writeFlags is WRITE.BYTE (but that requires an extra test and separate code paths). + */ + data = (data < 0? (this.regsGen[-data-1] & 0xff): data); + this.regsGen[reg] = (this.regsGen[reg] & ~writeFlags) | (((data << 24) >> 24) & writeFlags); + } + fnFlags.call(this, data << 8); + } else { + var addr = this.getAddr(mode, reg, PDP11.ACCESS.WRITE_BYTE); + fnFlags.call(this, (data = data < 0? (this.regsGen[-data-1] & 0xff) : data) << 8); + this.setByte(addr, data); + if (addr & 1) this.nStepCycles--; + } + } + + /** + * writeDstWord(opCode, data, fnFlags) + * + * Used whenever the DST operand (as described by opCode) does NOT need to be read before writing. + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @param {number} data + * @param {function(number)} fnFlags + */ + writeDstWord(opCode, data, fnFlags) + { + var reg = this.dstReg = opCode & PDP11.OPREG.MASK; + var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; + + this.assert(data < 0 && data >= -8 || !(data & ~0xffff)); + + if (!mode) { + this.regsGen[reg] = (data = data < 0? this.regsGen[-data-1] : data); + fnFlags.call(this, data); + } else { + var addr = this.getAddr(mode, reg, PDP11.ACCESS.WRITE_WORD); + fnFlags.call(this, (data = data < 0? this.regsGen[-data-1] : data)); + this.setWord(addr, data); + } + } + + /** + * branch(opCode) + * + * @this {CPUStatePDP11} + * @param {number} opCode + * @param {boolean|number} condition + */ + branch(opCode, condition) + { + if (condition) { + var off = ((opCode << 24) >> 23); + if (DEBUG && DEBUGGER && this.dbg && off == -2) { + this.dbg.stopInstruction("branch to self"); + } + this.setPC(this.getPC() + off); + this.nStepCycles -= 2; } this.nStepCycles -= (2 + 1); - break; - - /* - * Mode 3: @(R)+ - */ - case 3: - step = 2; - addrVirtual = this.regsGen[reg]; - if (reg != 7) addrVirtual |= addrDSpace; - addrVirtual = this.readWord(addrVirtual); - addrVirtual |= addrDSpace; - this.nStepCycles -= (5 + 2); - break; - - /* - * Mode 4: -(R) - */ - case 4: - step = -2; - if (reg < 6 && (access & PDP11.ACCESS.BYTE)) step = -1; - addrVirtual = (this.regsGen[reg] + step) & 0xffff; - if (reg == 6) this.checkStackLimit(access, step, addrVirtual); - if (reg != 7) addrVirtual |= addrDSpace; - this.nStepCycles -= (3 + 1); - break; - - /* - * Mode 5: @-(R) - */ - case 5: - step = -2; - addrVirtual = (this.regsGen[reg] - 2) & 0xffff; - if (reg != 7) addrVirtual |= addrDSpace; - addrVirtual = this.readWord(addrVirtual) | addrDSpace; - this.nStepCycles -= (6 + 2); - break; - - /* - * Mode 6: d(R) - */ - case 6: - addrVirtual = this.readWord(this.advancePC(2)); - addrVirtual = (addrVirtual + this.regsGen[reg]) & 0xffff; - if (reg == 6) this.checkStackLimit(access, 0, addrVirtual); - this.nStepCycles -= (4 + 2); - return addrVirtual | addrDSpace; - - /* - * Mode 7: @d(R) - */ - case 7: - addrVirtual = this.readWord(this.advancePC(2)); - addrVirtual = (addrVirtual + this.regsGen[reg]) & 0xffff; - addrVirtual = this.readWord(addrVirtual | this.addrDSpace); - this.nStepCycles -= (7 + 3); - return addrVirtual | addrDSpace; } - this.regsGen[reg] = (this.regsGen[reg] + step) & 0xffff; - this.opLast = (this.opLast & 0xffff) | ((this.opLast & ~0xffff) << 8) | ((((step << 3) & 0xf8) | reg) << 16); - - return addrVirtual; -}; - -/** - * checkStackLimit1120(access, step, addr) - * - * @this {CPUStatePDP11} - * @param {number} access - * @param {number} step - * @param {number} addr - */ -CPUStatePDP11.prototype.checkStackLimit1120 = function(access, step, addr) -{ - /* - * NOTE: DEC's "TRAP TEST" (MAINDEC-11-D0NA-PB) expects "TST -(SP)" to trap when SP is 150, - * so we ignore the access parameter. Also, strangely, it does NOT expect this instruction - * to trap: + /** + * stepCPU(nMinCycles) * - * R0=006302 R1=000000 R2=000000 R3=000000 R4=000000 R5=000776 - * SP=000000 PC=006346 PS=000344 IR=000000 SL=000377 T0 N0 Z1 V0 C0 - * 006346: 112667 171426 MOVB (SP)+,000000 + * NOTE: Single-stepping should not be confused with the Trap flag; single-stepping is a Debugger + * operation that's completely independent of Trap status. The CPU can go in and out of Trap mode, + * in and out of h/w interrupt service routines (ISRs), etc, but from the Debugger's perspective, + * they're all one continuous stream of instructions that can be stepped or run at will. Moreover, + * stepping vs. running should never change the behavior of the simulation. * - * so if the step parameter is positive, we let it go. + * @this {CPUStatePDP11} + * @param {number} nMinCycles (0 implies a single-step, and therefore breakpoints should be ignored) + * @return {number} of cycles executed; 0 indicates a pre-execution condition (ie, an execution breakpoint + * was hit), -1 indicates a post-execution condition (eg, a read or write breakpoint was hit), and a positive + * number indicates successful completion of that many cycles (which should always be >= nMinCycles). */ - if (!this.pswMode && step <= 0 && addr <= this.regSLR) { + stepCPU(nMinCycles) + { /* - * On older machines (eg, the PDP-11/20), there is no "YELLOW" and "RED" distinction, and the - * instruction is always allowed to complete, so the trap must always be issued in this fashion. + * The Debugger uses complete to determine if the instruction completed (true) or was interrupted + * by a breakpoint or some other exceptional condition (false). NOTE: this does NOT include JavaScript + * exceptions, which stepCPU() expects the caller to catch using its own exception handler. + * + * The CPU relies on the use of stopCPU() rather than complete, because the CPU never single-steps + * (ie, nMinCycles is always some large number), whereas the Debugger does. And conversely, when the + * Debugger is single-stepping (even when performing multiple single-steps), fRunning is never set, + * so stopCPU() would have no effect as far as the Debugger is concerned. */ - this.opFlags |= PDP11.OPFLAG.TRAP_SP; - } -}; + this.flags.complete = true; -/** - * checkStackLimit1145(access, step, addr) - * - * @this {CPUStatePDP11} - * @param {number} access - * @param {number} step - * @param {number} addr - */ -CPUStatePDP11.prototype.checkStackLimit1145 = function(access, step, addr) -{ - if (!this.pswMode) { /* - * NOTE: The 11/70 CPU Instruction Exerciser does NOT expect reads to trigger a stack overflow, - * so we check the access parameter. - * - * Moreover, TEST 40 of diagnostic EKBBF0 executes this instruction: - * - * R0=177777 R1=032435 R2=152110 R3=000024 R4=153352 R5=001164 - * SP=177776 PC=020632 PS=000350 IR=000000 SL=000377 T0 N1 Z0 V0 C0 - * 020632: 005016 CLR @SP ;cycles=7 - * - * expecting a RED stack overflow trap. Yes, using *any* addresses in the IOPAGE for the stack isn't - * a good idea, but who said it was illegal? For now, we're going to restrict overflows to the highest - * address tested by the diagnostic (0xFFFE, aka the PSW), by making that address negative. + * nDebugCheck is 1 if we want the Debugger's checkInstruction() to check every instruction, + * -1 if we want it to check just the first instruction, and 0 if there's no need for any checks. */ - if (addr >= 0xFFFE) addr |= ~0xFFFF; - if ((access & PDP11.ACCESS.WRITE) && addr <= this.regSLR) { - /* - * regSLR can never fall below 0xFF, so this subtraction can never go negative, so this comparison - * is always safe. - */ - if (addr <= this.regSLR - 32) { - this.trap(PDP11.TRAP.BUS, 0, PDP11.REASON.RED); - } else { - this.regErr |= PDP11.CPUERR.YELLOW; - this.opFlags |= PDP11.OPFLAG.TRAP_SP; - } - } - } -}; + var nDebugCheck = (DEBUGGER && this.dbg)? (this.dbg.checksEnabled()? 1 : (this.flags.starting? -1 : 0)) : 0; -/** - * getByteChecked(addr) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @return {number} - */ -CPUStatePDP11.prototype.getByteChecked = function(addr) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryRead(addr, 1); - } - return this.getByteDirect(addr); -}; - -/** - * getWordChecked(addr) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @return {number} - */ -CPUStatePDP11.prototype.getWordChecked = function(addr) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryRead(addr, 2); - } - return this.getWordDirect(addr); -}; - -/** - * setByteChecked(addr, data) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {number} data - */ -CPUStatePDP11.prototype.setByteChecked = function(addr, data) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryWrite(addr, 1); - } - this.setByteDirect(addr, data); -}; - -/** - * setWordChecked(addr, data) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {number} data - */ -CPUStatePDP11.prototype.setWordChecked = function(addr, data) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryWrite(addr, 2); - } - this.setWordDirect(addr, data); -}; - -/** - * getByteSafe(addr) - * - * This interface is expressly for the Debugger, to access virtual memory without faulting. - * - * @this {CPUStatePDP11} - * @param {number} addr - * @return {number} - */ -CPUStatePDP11.prototype.getByteSafe = function(addr) -{ - this.nDisableTraps++; - var b = this.bus.getByte(this.mapVirtualToPhysical(addr, PDP11.ACCESS.READ_BYTE)); - this.nDisableTraps--; - return b; -}; - -/** - * getWordSafe(addr) - * - * This interface is expressly for the Debugger, to access virtual memory without faulting. - * - * @this {CPUStatePDP11} - * @param {number} addr - * @return {number} - */ -CPUStatePDP11.prototype.getWordSafe = function(addr) -{ - this.nDisableTraps++; - var w = this.bus.getWord(this.mapVirtualToPhysical(addr, PDP11.ACCESS.READ_WORD)); - this.nDisableTraps--; - return w; -}; - -/** - * setByteSafe(addr, data) - * - * This interface is expressly for the Debugger, to access virtual memory without faulting. - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {number} data - */ -CPUStatePDP11.prototype.setByteSafe = function(addr, data) -{ - this.nDisableTraps++; - this.bus.setByte(this.mapVirtualToPhysical(addr, PDP11.ACCESS.WRITE_BYTE), data); - this.nDisableTraps--; -}; - -/** - * setWordSafe(addr, data) - * - * This interface is expressly for the Debugger, to access virtual memory without faulting. - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {number} data - */ -CPUStatePDP11.prototype.setWordSafe = function(addr, data) -{ - this.nDisableTraps++; - this.bus.setWord(this.mapVirtualToPhysical(addr, PDP11.ACCESS.WRITE_WORD), data); - this.nDisableTraps--; -}; - -/** - * addMemBreak(addr, fWrite) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint - */ -CPUStatePDP11.prototype.addMemBreak = function(addr, fWrite) -{ - if (DEBUGGER) { - var nBreaks = fWrite? this.nWriteBreaks++ : this.nReadBreaks++; - this.assert(nBreaks >= 0); - if (!nBreaks) this.setMemoryAccess(); - } -}; - -/** - * removeMemBreak(addr, fWrite) - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {boolean} fWrite is true for a memory write breakpoint, false for a memory read breakpoint - */ -CPUStatePDP11.prototype.removeMemBreak = function(addr, fWrite) -{ - if (DEBUGGER) { - var nBreaks = fWrite? --this.nWriteBreaks : --this.nReadBreaks; - this.assert(nBreaks >= 0); - if (!nBreaks) this.setMemoryAccess(); - } -}; - -/** - * getPhysicalAddrByMode(mode, reg, access) - * - * This is a handler set up by setMemoryAccess(). All calls should go through getAddr(). - * - * @this {CPUStatePDP11} - * @param {number} mode - * @param {number} reg - * @param {number} access - * @return {number} - */ -CPUStatePDP11.prototype.getPhysicalAddrByMode = function(mode, reg, access) -{ - return this.getAddrByMode(mode, reg, access); -}; - -/** - * getVirtualAddrByMode(mode, reg, access) - * - * This is a handler set up by setMemoryAccess(). All calls should go through getAddr(). - * - * @this {CPUStatePDP11} - * @param {number} mode - * @param {number} reg - * @param {number} access - * @return {number} - */ -CPUStatePDP11.prototype.getVirtualAddrByMode = function(mode, reg, access) -{ - return this.mapVirtualToPhysical(this.getAddrByMode(mode, reg, access), access); -}; - -/** - * readWordFromPhysical(addr) - * - * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). - * - * @this {CPUStatePDP11} - * @param {number} addr - * @return {number} - */ -CPUStatePDP11.prototype.readWordFromPhysical = function(addr) -{ - return this.bus.getWord(this.addrLast = addr); -}; - -/** - * readWordFromPhysicalChecked(addr) - * - * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). - * - * @this {CPUStatePDP11} - * @param {number} addr - * @return {number} - */ -CPUStatePDP11.prototype.readWordFromPhysicalChecked = function(addr) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryRead(addr, 2); - } - return this.readWordFromPhysical(addr); -}; - -/** - * readWordFromVirtual(addrVirtual) - * - * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). - * - * @this {CPUStatePDP11} - * @param {number} addrVirtual (input address is 17 bit (I&D)) - * @return {number} - */ -CPUStatePDP11.prototype.readWordFromVirtual = function(addrVirtual) -{ - return this.bus.getWord(this.addrLast = this.mapVirtualToPhysical(addrVirtual, PDP11.ACCESS.READ_WORD)); -}; - -/** - * readWordFromVirtualChecked(addrVirtual) - * - * This is a handler set up by setMemoryAccess(). All calls should go through readWord(). - * - * @this {CPUStatePDP11} - * @param {number} addrVirtual (input address is 17 bit (I&D)) - * @return {number} - */ -CPUStatePDP11.prototype.readWordFromVirtualChecked = function(addrVirtual) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryRead(addrVirtual, 2); - } - return this.readWordFromVirtual(addrVirtual); -}; - -/** - * writeWordToPhysical(addr, data) - * - * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {number} data - */ -CPUStatePDP11.prototype.writeWordToPhysical = function(addr, data) -{ - this.bus.setWord(this.addrLast = addr, data); -}; - -/** - * writeWordToPhysicalChecked(addr, data) - * - * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). - * - * @this {CPUStatePDP11} - * @param {number} addr - * @param {number} data - */ -CPUStatePDP11.prototype.writeWordToPhysicalChecked = function(addr, data) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryWrite(addr, 2); - } - this.writeWordToPhysical(addr, data); -}; - -/** - * writeWordToVirtual(addrVirtual, data) - * - * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). - * - * @this {CPUStatePDP11} - * @param {number} addrVirtual (input address is 17 bit (I&D)) - * @param {number} data - */ -CPUStatePDP11.prototype.writeWordToVirtual = function(addrVirtual, data) -{ - this.bus.setWord(this.addrLast = this.mapVirtualToPhysical(addrVirtual, PDP11.ACCESS.WRITE_WORD), data); -}; - -/** - * writeWordToVirtualChecked(addrVirtual, data) - * - * This is a handler set up by setMemoryAccess(). All calls should go through writeWord(). - * - * @this {CPUStatePDP11} - * @param {number} addrVirtual (input address is 17 bit (I&D)) - * @param {number} data - */ -CPUStatePDP11.prototype.writeWordToVirtualChecked = function(addrVirtual, data) -{ - if (DEBUGGER && this.dbg) { - this.dbg.checkMemoryWrite(addrVirtual, 2); - } - this.writeWordToVirtual(addrVirtual, data); -}; - -/** - * readWordFromPrevSpace(opCode, access) - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @param {number} access (really just PDP11.ACCESS.DSPACE or PDP11.ACCESS.ISPACE) - * @return {number} - */ -CPUStatePDP11.prototype.readWordFromPrevSpace = function(opCode, access) -{ - var data; - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - if (reg != 6 || ((this.regPSW >> 2) & PDP11.PSW.PMODE) === (this.regPSW & PDP11.PSW.PMODE)) { - data = this.regsGen[reg]; - } else { - data = this.regsAltStack[(this.regPSW >> 12) & 3]; - } - } else { - var addr = this.getAddrByMode(mode, reg, PDP11.ACCESS.READ_WORD); - if (!(access & PDP11.ACCESS.DSPACE)) { - if ((this.regPSW & 0xf000) !== 0xf000) addr &= 0xffff; - } - this.pswMode = (this.regPSW >> 12) & 3; - data = this.readWord(addr | (access & this.addrDSpace)); - this.pswMode = (this.regPSW >> 14) & 3; - } - return data; -}; - -/** - * writeWordToPrevSpace(opCode, access, data) - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @param {number} access (really just PDP11.ACCESS.DSPACE or PDP11.ACCESS.ISPACE) - * @param {number} data - */ -CPUStatePDP11.prototype.writeWordToPrevSpace = function(opCode, access, data) -{ - this.opLast = (this.opLast & 0xffff) | (0x0016 << 16); - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - if (reg != 6 || ((this.regPSW >> 2) & PDP11.PSW.PMODE) === (this.regPSW & PDP11.PSW.PMODE)) { - this.regsGen[reg] = data; - } else { - this.regsAltStack[(this.regPSW >> 12) & 3] = data; - } - } else { - var addr = this.getAddrByMode(mode, reg, PDP11.ACCESS.WRITE_WORD); - if (!(access & PDP11.ACCESS.DSPACE)) addr &= 0xffff; /* - * TODO: Consider replacing the following code with writeWord(), by adding optional pswMode - * parameters for each of the discrete mapVirtualToPhysical() and setWord() operations, because - * as it stands, this is the only remaining call to mapVirtualToPhysical() outside of our - * setMemoryAccess() handlers. + * nDebugState is needed only when nDebugCheck is non-zero; it is -1 if this is a single-step, 0 if + * this is the start of a new run, and 1 if this is a continuation of a previous run. It is used by + * checkInstruction() to determine if it should skip breakpoint checks and/or HALT instructions (ie, + * if nDebugState is <= zero). */ - this.pswMode = (this.regPSW >> 12) & 3; - addr = this.mapVirtualToPhysical(addr | (access & PDP11.ACCESS.DSPACE), PDP11.ACCESS.WRITE); - this.pswMode = (this.regPSW >> 14) & 3; - this.setWord(addr, data); - } -}; + var nDebugState = (!nMinCycles)? -1 : (this.flags.starting? 0 : 1); + this.flags.starting = false; // we've moved beyond "starting" and have officially "started" now -/** - * readSrcByte(opCode) - * - * WARNING: If the SRC operand is a register, offRegSrc ensures we return a negative register number - * rather than the register value, because on the PDP-11/20, the final value of the register must be - * resolved AFTER the DST operand has been decoded and any pre-decrement or post-increment operations - * affecting the SRC register have been completed. See readSrcWord() for more details. - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @return {number} - */ -CPUStatePDP11.prototype.readSrcByte = function(opCode) -{ - var result; - opCode >>= PDP11.SRCMODE.SHIFT; - var reg = this.srcReg = opCode & PDP11.OPREG.MASK; - var mode = this.srcMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - result = this.regsGen[reg + this.offRegSrc] & this.maskRegSrcByte; - } else { - result = this.getByte(this.getAddr(mode, reg, PDP11.ACCESS.READ_BYTE)); - } - return result; -}; + /* + * We move the minimum cycle count to nStepCycles (the number of cycles left to step), so that other + * functions have the ability to force that number to zero (eg, stopCPU()), and thus we don't have to check + * any other criteria to determine whether we should continue stepping or not. + */ + this.nBurstCycles = this.nStepCycles = nMinCycles; -/** - * readSrcWord(opCode) - * - * WARNING: If the SRC operand is a register, offRegSrc ensures we return a negative register number - * rather than the register value, because on the PDP-11/20, the final value of the register must be - * resolved AFTER the DST operand has been decoded and any pre-decrement or post-increment operations - * affecting the SRC register have been completed. - * - * Here's an example from DEC's "TRAP TEST" (MAINDEC-11-D0NA-PB): - * - * 007200: 012700 006340 MOV #6340,R0 - * 007204: 010020 MOV R0,(R0)+ - * 007206: 026727 177126 006342 CMP 006340,#6342 - * 007214: 001401 BEQ 007220 - * 007216: 000000 HALT - * - * If this function returned the value of R0 for the SRC operand of "MOV R0,(R0)+", then the operation - * would write 6340 to the destination, rather than 6342. - * - * Most callers don't need to worry about this, because if they pass the result from readSrcWord() directly - * to writeDstWord() or updateDstWord(), those functions will take care of converting any negative register - * number back into the current register value. The exceptions are opcodes that don't modify the DST operand - * (BIT, BITB, CMP, and CMPB); those opcode handlers must deal with negative register numbers themselves. - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @return {number} - */ -CPUStatePDP11.prototype.readSrcWord = function(opCode) -{ - var result; - opCode >>= PDP11.SRCMODE.SHIFT; - var reg = this.srcReg = opCode & PDP11.OPREG.MASK; - var mode = this.srcMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - result = this.regsGen[reg + this.offRegSrc]; - } else { - result = this.getWord(this.getAddr(mode, reg, PDP11.ACCESS.READ_WORD)); - } - return result; -}; + /* + * And finally, move the nDebugCheck state to an OPFLAG bit, so that the loop need check only one variable. + */ + this.opFlags = (this.opFlags & ~PDP11.OPFLAG.DEBUGGER) | (nDebugCheck? PDP11.OPFLAG.DEBUGGER : 0); -/** - * readDstAddr(opCode) - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @return {number} - */ -CPUStatePDP11.prototype.readDstAddr = function(opCode) -{ - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - return this.getAddrByMode(mode, reg, PDP11.ACCESS.VIRT); -}; - -/** - * readDstByte(opCode) - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @return {number} - */ -CPUStatePDP11.prototype.readDstByte = function(opCode) -{ - var result; - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - result = this.regsGen[reg] & 0xff; - } else { - result = this.getByte(this.getAddr(mode, reg, PDP11.ACCESS.READ_BYTE)); - } - return result; -}; - -/** - * readDstWord(opCode) - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @return {number} - */ -CPUStatePDP11.prototype.readDstWord = function(opCode) -{ - var result; - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - result = this.regsGen[reg]; - } else { - result = this.getWord(this.getAddr(mode, reg, PDP11.ACCESS.READ_WORD)); - } - return result; -}; - -/** - * updateDstByte(opCode, data, fnOp) - * - * Used whenever the DST operand (as described by opCode) needs to be read before writing. - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @param {number} data - * @param {function(number,number)} fnOp - */ -CPUStatePDP11.prototype.updateDstByte = function(opCode, data, fnOp) -{ - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - var dst = this.regsGen[reg]; - data = (data < 0? (this.regsGen[-data-1] & 0xff) : data); - this.regsGen[reg] = (dst & 0xff00) | fnOp.call(this, data, dst & 0xff); - } else { - var addr = this.dstAddr = this.getAddr(mode, reg, PDP11.ACCESS.UPDATE_BYTE); - data = (data < 0? (this.regsGen[-data-1] & 0xff) : data); - this.setByte(addr, fnOp.call(this, data, this.getByte(addr))); - if (addr & 1) this.nStepCycles--; - } -}; - -/** - * updateDstWord(opCode, data, fnOp) - * - * Used whenever the DST operand (as described by opCode) needs to be read before writing. - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @param {number} data - * @param {function(number,number)} fnOp - */ -CPUStatePDP11.prototype.updateDstWord = function(opCode, data, fnOp) -{ - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - - this.assert(data < 0 && data >= -8 || !(data & ~0xffff)); - - if (!mode) { - this.regsGen[reg] = fnOp.call(this, data < 0? this.regsGen[-data-1] : data, this.regsGen[reg]); - } else { - var addr = this.getAddr(mode, reg, PDP11.ACCESS.UPDATE_WORD); - this.setWord(addr, fnOp.call(this, data < 0? this.regsGen[-data-1] : data, this.getWord(addr))); - } -}; - -/** - * writeDstByte(opCode, data, writeFlags, fnFlags) - * - * Used whenever the DST operand (as described by opCode) does NOT need to be read before writing. - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @param {number} data - * @param {number} writeFlags (WRITE.BYTE aka 0xff, or WRITE.SBYTE aka 0xffff) - * @param {function(number)} fnFlags - */ -CPUStatePDP11.prototype.writeDstByte = function(opCode, data, writeFlags, fnFlags) -{ - this.assert(writeFlags); - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - if (!mode) { - if (!data) { - /* - * Potentially worthless optimization (but it looks good on "paper"). - */ - this.regsGen[reg] &= ~writeFlags; - } else { - /* - * Potentially worthwhile optimization: skipping the sign-extending data shifts - * if writeFlags is WRITE.BYTE (but that requires an extra test and separate code paths). - */ - data = (data < 0? (this.regsGen[-data-1] & 0xff): data); - this.regsGen[reg] = (this.regsGen[reg] & ~writeFlags) | (((data << 24) >> 24) & writeFlags); - } - fnFlags.call(this, data << 8); - } else { - var addr = this.getAddr(mode, reg, PDP11.ACCESS.WRITE_BYTE); - fnFlags.call(this, (data = data < 0? (this.regsGen[-data-1] & 0xff) : data) << 8); - this.setByte(addr, data); - if (addr & 1) this.nStepCycles--; - } -}; - -/** - * writeDstWord(opCode, data, fnFlags) - * - * Used whenever the DST operand (as described by opCode) does NOT need to be read before writing. - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @param {number} data - * @param {function(number)} fnFlags - */ -CPUStatePDP11.prototype.writeDstWord = function(opCode, data, fnFlags) -{ - var reg = this.dstReg = opCode & PDP11.OPREG.MASK; - var mode = this.dstMode = (opCode & PDP11.OPMODE.MASK) >> PDP11.OPMODE.SHIFT; - - this.assert(data < 0 && data >= -8 || !(data & ~0xffff)); - - if (!mode) { - this.regsGen[reg] = (data = data < 0? this.regsGen[-data-1] : data); - fnFlags.call(this, data); - } else { - var addr = this.getAddr(mode, reg, PDP11.ACCESS.WRITE_WORD); - fnFlags.call(this, (data = data < 0? this.regsGen[-data-1] : data)); - this.setWord(addr, data); - } -}; - -/** - * branch(opCode) - * - * @this {CPUStatePDP11} - * @param {number} opCode - * @param {boolean|number} condition - */ -CPUStatePDP11.prototype.branch = function(opCode, condition) -{ - if (condition) { - var off = ((opCode << 24) >> 23); - if (DEBUG && DEBUGGER && this.dbg && off == -2) { - this.dbg.stopInstruction("branch to self"); - } - this.setPC(this.getPC() + off); - this.nStepCycles -= 2; - } - this.nStepCycles -= (2 + 1); -}; - -/** - * stepCPU(nMinCycles) - * - * NOTE: Single-stepping should not be confused with the Trap flag; single-stepping is a Debugger - * operation that's completely independent of Trap status. The CPU can go in and out of Trap mode, - * in and out of h/w interrupt service routines (ISRs), etc, but from the Debugger's perspective, - * they're all one continuous stream of instructions that can be stepped or run at will. Moreover, - * stepping vs. running should never change the behavior of the simulation. - * - * @this {CPUStatePDP11} - * @param {number} nMinCycles (0 implies a single-step, and therefore breakpoints should be ignored) - * @return {number} of cycles executed; 0 indicates a pre-execution condition (ie, an execution breakpoint - * was hit), -1 indicates a post-execution condition (eg, a read or write breakpoint was hit), and a positive - * number indicates successful completion of that many cycles (which should always be >= nMinCycles). - */ -CPUStatePDP11.prototype.stepCPU = function(nMinCycles) -{ - /* - * The Debugger uses complete to determine if the instruction completed (true) or was interrupted - * by a breakpoint or some other exceptional condition (false). NOTE: this does NOT include JavaScript - * exceptions, which stepCPU() expects the caller to catch using its own exception handler. - * - * The CPU relies on the use of stopCPU() rather than complete, because the CPU never single-steps - * (ie, nMinCycles is always some large number), whereas the Debugger does. And conversely, when the - * Debugger is single-stepping (even when performing multiple single-steps), fRunning is never set, - * so stopCPU() would have no effect as far as the Debugger is concerned. - */ - this.flags.complete = true; - - /* - * nDebugCheck is 1 if we want the Debugger's checkInstruction() to check every instruction, - * -1 if we want it to check just the first instruction, and 0 if there's no need for any checks. - */ - var nDebugCheck = (DEBUGGER && this.dbg)? (this.dbg.checksEnabled()? 1 : (this.flags.starting? -1 : 0)) : 0; - - /* - * nDebugState is needed only when nDebugCheck is non-zero; it is -1 if this is a single-step, 0 if - * this is the start of a new run, and 1 if this is a continuation of a previous run. It is used by - * checkInstruction() to determine if it should skip breakpoint checks and/or HALT instructions (ie, - * if nDebugState is <= zero). - */ - var nDebugState = (!nMinCycles)? -1 : (this.flags.starting? 0 : 1); - this.flags.starting = false; // we've moved beyond "starting" and have officially "started" now - - /* - * We move the minimum cycle count to nStepCycles (the number of cycles left to step), so that other - * functions have the ability to force that number to zero (eg, stopCPU()), and thus we don't have to check - * any other criteria to determine whether we should continue stepping or not. - */ - this.nBurstCycles = this.nStepCycles = nMinCycles; - - /* - * And finally, move the nDebugCheck state to an OPFLAG bit, so that the loop need check only one variable. - */ - this.opFlags = (this.opFlags & ~PDP11.OPFLAG.DEBUGGER) | (nDebugCheck? PDP11.OPFLAG.DEBUGGER : 0); - - do { - if (this.opFlags) { - /* - * NOTE: We still check DEBUGGER to ensure that this code will be compiled out of existence in - * non-DEBUGGER builds. - */ - if (DEBUGGER && (this.opFlags & PDP11.OPFLAG.DEBUGGER)) { - if (this.dbg.checkInstruction(this.getPC(), nDebugState)) { - this.stopCPU(); - break; - } - if (!++nDebugCheck) this.opFlags &= ~PDP11.OPFLAG.DEBUGGER; - if (!nDebugState) nDebugState++; - } - /* - * If we're in the IRQ or WAIT state, check for any pending interrupts. - * - * NOTE: It's no coincidence that we're checking this BEFORE any pending traps, because in rare - * cases (including some presented by those pesky "TRAP TEST" diagnostics), the process of dispatching - * an interrupt can trigger a TRAP_SP stack overflow condition, which must be dealt with BEFORE we - * execute the first instruction of the interrupt handler. - */ - if ((this.opFlags & (PDP11.OPFLAG.IRQ_MASK | PDP11.OPFLAG.WAIT)) /* && nDebugState >= 0 */) { - if (this.checkInterrupts()) { - if ((this.opFlags & PDP11.OPFLAG.DEBUGGER) && this.dbg.checkInstruction(this.getPC(), nDebugState)) { + do { + if (this.opFlags) { + /* + * NOTE: We still check DEBUGGER to ensure that this code will be compiled out of existence in + * non-DEBUGGER builds. + */ + if (DEBUGGER && (this.opFlags & PDP11.OPFLAG.DEBUGGER)) { + if (this.dbg.checkInstruction(this.getPC(), nDebugState)) { this.stopCPU(); break; } - /* - * Since an interrupt was just dispatched, altering the normal flow of time and changing - * the future as we knew it, let's break out immediately if we're single-stepping, so that - * the Debugger gets to see the first instruction of the interrupt handler. NOTE: This - * assumes that we've still commented out the nDebugState check above that used to bypass - * checkInterrupts() when single-stepping. - */ - if (nDebugState < 0) break; + if (!++nDebugCheck) this.opFlags &= ~PDP11.OPFLAG.DEBUGGER; + if (!nDebugState) nDebugState++; } - } - /* - * Next, check for any pending traps (which, as noted above, must be done after checkInterrupts()). - * - * I've moved this TRAP_MASK check BEFORE we decode the next instruction instead of immediately AFTER, - * just in case the last instruction threw an exception that kicked us out before we reached the bottom - * of the stepCPU() loop. - */ - if (this.opFlags & PDP11.OPFLAG.TRAP_MASK) { - if (this.checkTraps()) { - if ((this.opFlags & PDP11.OPFLAG.DEBUGGER) && this.dbg.checkInstruction(this.getPC(), nDebugState)) { - this.stopCPU(); - break; + /* + * If we're in the IRQ or WAIT state, check for any pending interrupts. + * + * NOTE: It's no coincidence that we're checking this BEFORE any pending traps, because in rare + * cases (including some presented by those pesky "TRAP TEST" diagnostics), the process of dispatching + * an interrupt can trigger a TRAP_SP stack overflow condition, which must be dealt with BEFORE we + * execute the first instruction of the interrupt handler. + */ + if ((this.opFlags & (PDP11.OPFLAG.IRQ_MASK | PDP11.OPFLAG.WAIT)) /* && nDebugState >= 0 */) { + if (this.checkInterrupts()) { + if ((this.opFlags & PDP11.OPFLAG.DEBUGGER) && this.dbg.checkInstruction(this.getPC(), nDebugState)) { + this.stopCPU(); + break; + } + /* + * Since an interrupt was just dispatched, altering the normal flow of time and changing + * the future as we knew it, let's break out immediately if we're single-stepping, so that + * the Debugger gets to see the first instruction of the interrupt handler. NOTE: This + * assumes that we've still commented out the nDebugState check above that used to bypass + * checkInterrupts() when single-stepping. + */ + if (nDebugState < 0) break; + } + } + /* + * Next, check for any pending traps (which, as noted above, must be done after checkInterrupts()). + * + * I've moved this TRAP_MASK check BEFORE we decode the next instruction instead of immediately AFTER, + * just in case the last instruction threw an exception that kicked us out before we reached the bottom + * of the stepCPU() loop. + */ + if (this.opFlags & PDP11.OPFLAG.TRAP_MASK) { + if (this.checkTraps()) { + if ((this.opFlags & PDP11.OPFLAG.DEBUGGER) && this.dbg.checkInstruction(this.getPC(), nDebugState)) { + this.stopCPU(); + break; + } + if (nDebugState < 0) break; } - if (nDebugState < 0) break; } } - } - /* - * Snapshot the TF bit in opFlags, while clearing all other opFlags (except those in PRESERVE); - * we'll check the TRAP_TF bit in opFlags when we come back around for another opcode. - */ - this.opFlags = (this.opFlags & PDP11.OPFLAG.PRESERVE) | (this.regPSW & PDP11.PSW.TF); + /* + * Snapshot the TF bit in opFlags, while clearing all other opFlags (except those in PRESERVE); + * we'll check the TRAP_TF bit in opFlags when we come back around for another opcode. + */ + this.opFlags = (this.opFlags & PDP11.OPFLAG.PRESERVE) | (this.regPSW & PDP11.PSW.TF); - var opCode = this.getOpcode(); - this.decode(opCode); + var opCode = this.getOpcode(); + this.decode(opCode); - } while (this.nStepCycles > 0); + } while (this.nStepCycles > 0); - return (this.flags.complete? this.nBurstCycles - this.nStepCycles : (this.flags.complete === undefined? 0 : -1)); -}; - -/** - * CPUStatePDP11.init() - * - * This function operates on every HTML element of class "cpu", extracting the - * JSON-encoded parameters for the CPUStatePDP11 constructor from the element's "data-value" - * attribute, invoking the constructor (which in turn invokes the CPU constructor) - * to create a CPUStatePDP11 component, and then binding any associated HTML controls to the - * new component. - */ -CPUStatePDP11.init = function() -{ - var aeCPUs = Component.getElementsByClass(document, PDP11.APPCLASS, "cpu"); - for (var iCPU = 0; iCPU < aeCPUs.length; iCPU++) { - var eCPU = aeCPUs[iCPU]; - var parmsCPU = Component.getComponentParms(eCPU); - var cpu = new CPUStatePDP11(parmsCPU); - Component.bindComponentControls(cpu, eCPU, PDP11.APPCLASS); + return (this.flags.complete? this.nBurstCycles - this.nStepCycles : (this.flags.complete === undefined? 0 : -1)); } -}; + + /** + * CPUStatePDP11.init() + * + * This function operates on every HTML element of class "cpu", extracting the + * JSON-encoded parameters for the CPUStatePDP11 constructor from the element's "data-value" + * attribute, invoking the constructor (which in turn invokes the CPU constructor) + * to create a CPUStatePDP11 component, and then binding any associated HTML controls to the + * new component. + */ + static init() + { + var aeCPUs = Component.getElementsByClass(document, PDP11.APPCLASS, "cpu"); + for (var iCPU = 0; iCPU < aeCPUs.length; iCPU++) { + var eCPU = aeCPUs[iCPU]; + var parmsCPU = Component.getComponentParms(eCPU); + var cpu = new CPUStatePDP11(parmsCPU); + Component.bindComponentControls(cpu, eCPU, PDP11.APPCLASS); + } + } +} /* * Initialize every CPU module on the page */ -web.onInit(CPUStatePDP11.init); +Web.onInit(CPUStatePDP11.init); -if (NODE) module.exports = CPUStatePDP11; +export default CPUStatePDP11; diff --git a/modules/pdp11/lib/debugger.js b/modules/pdp11/lib/debugger.js index a889fc461..8a9c59f5f 100644 --- a/modules/pdp11/lib/debugger.js +++ b/modules/pdp11/lib/debugger.js @@ -32,22 +32,17 @@ "use strict"; -if (DEBUGGER) { - if (NODE) { - var str = require("../../shared/lib/strlib"); - var usr = require("../../shared/lib/usrlib"); - var web = require("../../shared/lib/weblib"); - var Component = require("../../shared/lib/component"); - var Debugger = require("../../shared/lib/debugger"); - var Keys = require("../../shared/lib/keys"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var BusPDP11 = require("./bus"); - var CPUPDP11 = require("./cpu"); - var MemoryPDP11 = require("./memory"); - var MessagesPDP11 = require("./messages"); - } -} +import Str from "../../shared/es6/strlib"; +import Usr from "../../shared/es6/usrlib"; +import Web from "../../shared/es6/weblib"; +import Component from "../../shared/es6/component"; +import Debugger from "../../shared/es6/debugger"; +import Keys from "../../shared/es6/keys"; +import State from "../../shared/es6/state"; +import PDP11 from "./defines"; +import BusPDP11 from "./bus"; +import MemoryPDP11 from "./memory"; +import MessagesPDP11 from "./messages"; /** * DebuggerPDP11 Address Object @@ -60,9 +55,9 @@ if (DEBUGGER) { * aCmds preprocessed commands (from sCmd) * * @typedef {{ - * addr:(number|undefined), - * fPhysical:(boolean|undefined), - * fTemporary:(boolean|undefined), + * addr:(number), + * fPhysical:(boolean), + * fTemporary:(boolean), * nBase:(number|undefined), * sCmd:(string|undefined), * aCmds:(Array.|undefined) @@ -70,124 +65,4016 @@ if (DEBUGGER) { */ var DbgAddrPDP11; -/** - * DebuggerPDP11(parmsDbg) - * - * The DebuggerPDP11 component supports the following optional (parmsDbg) properties: - * - * commands: string containing zero or more commands, separated by ';' - * - * messages: string containing zero or more message categories to enable; - * multiple categories must be separated by '|' or ';'. Parsed by messageInit(). - * - * The DebuggerPDP11 component is an optional component that implements a variety of user - * commands for controlling the CPU, dumping and editing memory, etc. - * - * @constructor - * @extends Debugger - * @param {Object} parmsDbg - */ -function DebuggerPDP11(parmsDbg) -{ - if (DEBUGGER) { +class DebuggerPDP11 extends Debugger { + /** + * DebuggerPDP11(parmsDbg) + * + * The DebuggerPDP11 component supports the following optional (parmsDbg) properties: + * + * commands: string containing zero or more commands, separated by ';' + * + * messages: string containing zero or more message categories to enable; + * multiple categories must be separated by '|' or ';'. Parsed by messageInit(). + * + * The DebuggerPDP11 component is an optional component that implements a variety of user + * commands for controlling the CPU, dumping and editing memory, etc. + * + * @param {Object} parmsDbg + */ + constructor(parmsDbg) + { + if (DEBUGGER) { - Debugger.call(this, parmsDbg); + super(parmsDbg); - /* - * Since this Debugger doesn't use replaceRegs(), we can use parentheses instead of braces. - */ - this.fInit = false; - this.fParens = true; + /* + * Since this Debugger doesn't use replaceRegs(), we can use parentheses instead of braces. + */ + this.fInit = false; + this.fParens = true; - /* - * Most commands that require an address call parseAddr(), which defaults to dbgAddrNextCode - * or dbgAddrNextData when no address has been given. doDump() and doUnassemble(), in turn, - * update dbgAddrNextData and dbgAddrNextCode, respectively, when they're done. - * - * For TEMPORARY breakpoint addresses, we set fTemporary to true, so that they can be automatically - * cleared when they're hit. - */ - this.dbgAddrNextCode = this.newAddr(0); - this.dbgAddrNextData = this.newAddr(0); - this.dbgAddrAssemble = this.newAddr(0); + /* + * Most commands that require an address call parseAddr(), which defaults to dbgAddrNextCode + * or dbgAddrNextData when no address has been given. doDump() and doUnassemble(), in turn, + * update dbgAddrNextData and dbgAddrNextCode, respectively, when they're done. + * + * For TEMPORARY breakpoint addresses, we set fTemporary to true, so that they can be automatically + * cleared when they're hit. + */ + this.dbgAddrNextCode = this.newAddr(); + this.dbgAddrNextData = this.newAddr(); + this.dbgAddrAssemble = this.newAddr(); - /* - * aSymbolTable is an array of SymbolTable objects, one per ROM or other chunk of address space, - * where each object contains the following properties: - * - * sModule - * addr (physical address, if any; eg, symbols for a ROM) - * len - * aSymbols - * aOffsets - * - * See addSymbols() for more details, since that's how callers add sets of symbols to the table. - */ - this.aSymbolTable = []; + /* + * aSymbolTable is an array of SymbolTable objects, one per ROM or other chunk of address space, + * where each object contains the following properties: + * + * sModule + * addr (physical address, if any; eg, symbols for a ROM) + * len + * aSymbols + * aOffsets + * + * See addSymbols() for more details, since that's how callers add sets of symbols to the table. + */ + this.aSymbolTable = []; - /* - * clearBreakpoints() initializes the breakpoints lists: aBreakExec is a list of addresses - * to halt on whenever attempting to execute an instruction at the corresponding address, - * and aBreakRead and aBreakWrite are lists of addresses to halt on whenever a read or write, - * respectively, occurs at the corresponding address. - * - * NOTE: Curiously, after upgrading the Google Closure Compiler from v20141215 to v20150609, - * the resulting compiled code would crash in clearBreakpoints(), because the (renamed) aBreakRead - * property was already defined. To eliminate whatever was confusing the Closure Compiler, I've - * explicitly initialized all the properties that clearBreakpoints() (re)initializes. - */ - this.aBreakExec = this.aBreakRead = this.aBreakWrite = []; - this.clearBreakpoints(); + /* + * clearBreakpoints() initializes the breakpoints lists: aBreakExec is a list of addresses + * to halt on whenever attempting to execute an instruction at the corresponding address, + * and aBreakRead and aBreakWrite are lists of addresses to halt on whenever a read or write, + * respectively, occurs at the corresponding address. + * + * NOTE: Curiously, after upgrading the Google Closure Compiler from v20141215 to v20150609, + * the resulting compiled code would crash in clearBreakpoints(), because the (renamed) aBreakRead + * property was already defined. To eliminate whatever was confusing the Closure Compiler, I've + * explicitly initialized all the properties that clearBreakpoints() (re)initializes. + */ + this.aBreakExec = this.aBreakRead = this.aBreakWrite = []; + this.clearBreakpoints(); - /* - * The new "bn" command allows you to specify a number of instructions to execute and then stop; - * "bn 0" disables any outstanding count. - */ - this.nBreakInstructions = 0; + /* + * The new "bn" command allows you to specify a number of instructions to execute and then stop; + * "bn 0" disables any outstanding count. + */ + this.nBreakInstructions = 0; - /* - * Execution history is allocated by historyInit() whenever checksEnabled() conditions change. - * Execution history is updated whenever the CPU calls checkInstruction(), which will happen - * only when checksEnabled() returns true (eg, whenever one or more breakpoints have been set). - * This ensures that, by default, the CPU runs as fast as possible. - */ - this.historyInit(); + /* + * Execution history is allocated by historyInit() whenever checksEnabled() conditions change. + * Execution history is updated whenever the CPU calls checkInstruction(), which will happen + * only when checksEnabled() returns true (eg, whenever one or more breakpoints have been set). + * This ensures that, by default, the CPU runs as fast as possible. + */ + this.iInstructionHistory = 0; + this.aInstructionHistory = []; + this.nextHistory = undefined; + this.historyInit(); - /* - * Initialize DebuggerPDP11 message support - */ - this.afnDumpers = {}; - this.messageInit(parmsDbg['messages']); + /* + * Initialize DebuggerPDP11 message support. + */ + this.dbg = this; + this.afnDumpers = {}; + this.bitsMessage = this.bitsWarning = 0; + this.sMessagePrev = null; + this.aMessageBuffer = []; + this.messageInit(parmsDbg['messages']); + this.sInitCommands = parmsDbg['commands']; - this.sInitCommands = parmsDbg['commands']; + /* + * Define remaining miscellaneous DebuggerPDP11 properties. + */ + this.opTable = DebuggerPDP11.OPTABLE; + this.aOpReserved = []; + this.nStep = 0; + this.sCmdTracePrev = null; + this.sCmdDumpPrev = null; + this.fIgnoreNextCheckFault = false; // TODO: Does this serve any purpose on a PDP-11? + this.nSuppressBreaks = 0; + this.cInstructions = this.cInstructionsStart = 0; + this.nCycles = this.nCyclesStart = this.msStart = 0; + this.controlDebug = null; + this.panel = null; - /* - * Make it easier to access DebuggerPDP11 commands from an external REPL (eg, the WebStorm - * "live" console window); eg: - * - * pdp11('r') - * pdp11('dw 0:0') - * pdp11('h') - * ... - */ - var dbg = this; - if (window) { - if (window[PDP11.APPCLASS] === undefined) { - window[PDP11.APPCLASS] = function(s) { return dbg.doCommands(s); }; + /* + * Make it easier to access DebuggerPDP11 commands from an external REPL (eg, the WebStorm + * "live" console window); eg: + * + * pdp11('r') + * pdp11('dw 0:0') + * pdp11('h') + * ... + */ + var dbg = this; + if (window) { + if (window[PDP11.APPCLASS] === undefined) { + window[PDP11.APPCLASS] = function(s) { return dbg.doCommands(s); }; + } + } else { + if (global[PDP11.APPCLASS] === undefined) { + global[PDP11.APPCLASS] = function(s) { return dbg.doCommands(s); }; + } } - } else { - if (global[PDP11.APPCLASS] === undefined) { - global[PDP11.APPCLASS] = function(s) { return dbg.doCommands(s); }; + + } // endif DEBUGGER + } + + /** + * getAddr(dbgAddr, fWrite, nb) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11|null|undefined} dbgAddr + * @param {boolean} [fWrite] + * @param {number} [nb] number of bytes to check (1 or 2); default is 1 + * @return {number} is the corresponding linear address, or PDP11.ADDR_INVALID + */ + getAddr(dbgAddr, fWrite, nb) + { + var addr = dbgAddr && dbgAddr.addr; + if (addr == null) addr = PDP11.ADDR_INVALID; + return addr; + } + + /** + * newAddr(addr, fPhysical, nBase) + * + * Returns a NEW DbgAddrPDP11 object, initialized with specified values and/or defaults. + * + * @this {DebuggerPDP11} + * @param {number} [addr] + * @param {boolean} [fPhysical] + * @param {number} [nBase] + * @return {DbgAddrPDP11} + */ + newAddr(addr, fPhysical, nBase) + { + return {addr: addr || 0, fPhysical: fPhysical || false, fTemporary: false, nBase: nBase}; + } + + /** + * setAddr(dbgAddr, addr) + * + * Updates an EXISTING DbgAddrPDP11 object, initialized with specified values and/or defaults. + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {number} addr + * @return {DbgAddrPDP11} + */ + setAddr(dbgAddr, addr) + { + dbgAddr.addr = addr; + dbgAddr.fTemporary = false; + dbgAddr.nBase = undefined; + return dbgAddr; + } + + /** + * packAddr(dbgAddr) + * + * Packs a DbgAddrPDP11 object into an Array suitable for saving in a machine state object. + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @return {Array} + */ + packAddr(dbgAddr) + { + return [dbgAddr.addr, dbgAddr.fPhysical, dbgAddr.nBase, dbgAddr.fTemporary, dbgAddr.sCmd]; + } + + /** + * unpackAddr(aAddr) + * + * Unpacks a DbgAddrPDP11 object from an Array created by packAddr() and restored from a saved machine state. + * + * @this {DebuggerPDP11} + * @param {Array} aAddr + * @return {DbgAddrPDP11} + */ + unpackAddr(aAddr) + { + var dbgAddr = this.newAddr(aAddr[0], aAddr[1], aAddr[2]); + dbgAddr.fTemporary = aAddr[3]; + if (aAddr[4]) { + dbgAddr.aCmds = this.parseCommand(dbgAddr.sCmd = aAddr[4]); + } + return dbgAddr; + } + + /** + * initBus(bus, cpu, dbg) + * + * @this {DebuggerPDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.bus = bus; + this.cmp = cmp; + this.cpu = cpu; + this.panel = cmp.panel; + + /* + * Re-initialize Debugger message support if necessary + */ + var sMessages = cmp.getMachineParm('messages'); + if (sMessages) this.messageInit(sMessages); + + if (this.cpu.model < PDP11.MODEL_1145) this.aOpReserved = DebuggerPDP11.OP1145; + + this.messageDump(MessagesPDP11.BUS, function onDumpBus(asArgs) { dbg.dumpBus(asArgs); }); + + this.setReady(); + } + + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {DebuggerPDP11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "debugInput") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + var dbg = this; + switch (sBinding) { + + case "debugInput": + this.bindings[sBinding] = control; + this.controlDebug = control; + /* + * For halted machines, this is fine, but for auto-start machines, it can be annoying. + * + * control.focus(); + */ + control.onkeydown = function onKeyDownDebugInput(event) { + var sCmd; + if (event.keyCode == Keys.KEYCODE.CR) { + sCmd = control.value; + control.value = ""; + dbg.doCommands(sCmd, true); + } + else if (event.keyCode == Keys.KEYCODE.ESC) { + control.value = sCmd = ""; + } + else { + if (event.keyCode == Keys.KEYCODE.UP) { + sCmd = dbg.getPrevCommand(); + } + else if (event.keyCode == Keys.KEYCODE.DOWN) { + sCmd = dbg.getNextCommand(); + } + if (sCmd != null) { + var cch = sCmd.length; + control.value = sCmd; + control.setSelectionRange(cch, cch); + } + } + if (sCmd != null && event.preventDefault) event.preventDefault(); + }; + return true; + + case "debugEnter": + this.bindings[sBinding] = control; + Web.onClickRepeat( + control, + 500, 100, + function onClickDebugEnter(fRepeat) { + if (dbg.controlDebug) { + var sCmd = dbg.controlDebug.value; + dbg.controlDebug.value = ""; + dbg.doCommands(sCmd, true); + return true; + } + if (DEBUG) dbg.log("no debugger input buffer"); + return false; + } + ); + return true; + + case "step": + this.bindings[sBinding] = control; + Web.onClickRepeat( + control, + 500, 100, + function onClickStep(fRepeat) { + var fCompleted = false; + if (!dbg.isBusy(true)) { + dbg.setBusy(true); + fCompleted = dbg.stepCPU(fRepeat? 1 : 0, null); + dbg.setBusy(false); + } + return fCompleted; + } + ); + return true; + + default: + break; + } + return false; + } + + /** + * setFocus(fScroll) + * + * @this {DebuggerPDP11} + * @param {boolean} [fScroll] (true if you really want the control scrolled into view) + */ + setFocus(fScroll) + { + if (this.controlDebug) { + /* + * This is the recommended work-around to prevent the browser from scrolling the focused element + * into view. The CPU is not a visual component, so when the CPU wants to set focus, the primary intent + * is to ensure that keyboard input is fielded properly. + */ + var x = 0, y = 0; + if (!fScroll && window) { + x = window.scrollX; + y = window.scrollY; + } + + this.controlDebug.focus(); + + if (!fScroll && window) { + window.scrollTo(x, y); + } + } + } + + /** + * mapUnibus(addr) + * + * @this {DebuggerPDP11} + * @param {number} addr + * @return {number} + */ + mapUnibus(addr) + { + return this.cpu.mapUnibus(addr); + } + + /** + * getByte(dbgAddr, inc) + * + * We must route all our memory requests through the CPU now, in case paging is enabled. + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {number} [inc] + * @return {number} + */ + getByte(dbgAddr, inc) + { + var b = 0xff; + var addr = this.getAddr(dbgAddr, false, 1); + if (addr !== PDP11.ADDR_INVALID) { + b = (dbgAddr.fPhysical || addr > 0xffff)? this.bus.getByteDirect(this.mapUnibus(addr)) : this.cpu.getByteSafe(addr); + if (inc) this.incAddr(dbgAddr, inc); + } + return b; + } + + /** + * getWord(dbgAddr, inc) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {number} [inc] + * @return {number} + */ + getWord(dbgAddr, inc) + { + var w = 0xffff; + var addr = this.getAddr(dbgAddr, false, 2); + if (addr !== PDP11.ADDR_INVALID) { + w = (dbgAddr.fPhysical || addr > 0xffff)? this.bus.getWordDirect(this.mapUnibus(addr)) : this.cpu.getWordSafe(addr); + if (inc) this.incAddr(dbgAddr, inc); + } + return w; + } + + /** + * setByte(dbgAddr, b, inc) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {number} b + * @param {number} [inc] + */ + setByte(dbgAddr, b, inc) + { + var addr = this.getAddr(dbgAddr, true, 1); + if (addr !== PDP11.ADDR_INVALID) { + if (dbgAddr.fPhysical || addr > 0xffff) { + this.bus.setByteDirect(this.mapUnibus(addr), b); + } else { + this.cpu.setByteSafe(addr, b); + } + if (inc) this.incAddr(dbgAddr, inc); + this.cmp.updateDisplays(-1); + } + } + + /** + * setWord(dbgAddr, w, inc) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {number} w + * @param {number} [inc] + */ + setWord(dbgAddr, w, inc) + { + var addr = this.getAddr(dbgAddr, true, 2); + if (addr !== PDP11.ADDR_INVALID) { + if (dbgAddr.fPhysical || addr > 0xffff) { + this.bus.setWordDirect(this.mapUnibus(addr), w); + } else { + this.cpu.setWordSafe(addr, w); + } + if (inc) this.incAddr(dbgAddr, inc); + this.cmp.updateDisplays(-1); + } + } + + /** + * parseAddr(sAddr, fCode, fNoChecks, fPrint) + * + * Address evaluation and validation (eg, range checks) are no longer performed at this stage. That's + * done later, by getAddr(), which returns PDP11.ADDR_INVALID for invalid segments, out-of-range offsets, + * etc. The Debugger's low-level get/set memory functions verify all getAddr() results, but even if an + * invalid address is passed through to the Bus memory interfaces, the address will simply be masked with + * bus.nBusMask; in the case of PDP11.ADDR_INVALID, that will generally refer to the top of the physical + * address space. + * + * @this {DebuggerPDP11} + * @param {string|undefined} sAddr + * @param {boolean} [fCode] (true if target is code, false if target is data) + * @param {boolean} [fNoChecks] (true when setting breakpoints that may not be valid now, but will be later) + * @param {boolean} [fPrint] + * @return {DbgAddrPDP11|null|undefined} + */ + parseAddr(sAddr, fCode, fNoChecks, fPrint) + { + var dbgAddr; + var dbgAddrNext = (fCode? this.dbgAddrNextCode : this.dbgAddrNextData); + var addr = dbgAddrNext.addr; + var fPhysical, nBase; + if (sAddr !== undefined) { + sAddr = this.parseReference(sAddr); + var ch = sAddr.charAt(0); + if (ch == '%') { + fPhysical = true; + sAddr = sAddr.substr(1); + } + dbgAddr = this.findSymbolAddr(sAddr); + if (dbgAddr) return dbgAddr; + if (sAddr.indexOf("0x") >= 0) { + nBase = 16 + } else if (sAddr.indexOf("0o") >= 0) { + nBase = 8; + } else if (sAddr.indexOf('.') >= 0) { + nBase = 10; + } + addr = this.parseExpression(sAddr, fPrint); + } + if (addr != null) { + dbgAddr = this.newAddr(addr, fPhysical, nBase); + } + return dbgAddr; + } + + /** + * parseAddrOptions(dbdAddr, sOptions) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {string} [sOptions] + */ + parseAddrOptions(dbgAddr, sOptions) + { + if (sOptions) { + var a = sOptions.match(/(['"])(.*?)\1/); + if (a) { + dbgAddr.aCmds = this.parseCommand(dbgAddr.sCmd = a[2]); + } + } + } + + /** + * incAddr(dbgAddr, inc) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {number} [inc] contains value to increment dbgAddr by (default is 1) + */ + incAddr(dbgAddr, inc) + { + if (dbgAddr.addr != null) { + dbgAddr.addr += (inc || 1); + } + } + + /** + * toStrOffset(off) + * + * @this {DebuggerPDP11} + * @param {number|null|undefined} [off] + * @return {string} the hex representation of off + */ + toStrOffset(off) + { + return this.toStrBase(off); + } + + /** + * toStrAddr(dbgAddr) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @return {string} the hex representation of the address + */ + toStrAddr(dbgAddr) + { + return (dbgAddr.fPhysical? '%' : '') + this.toStrOffset(dbgAddr.addr); + } + + /** + * getSZ(dbgAddr, cchMax) + * + * Gets zero-terminated (aka "ASCIIZ") string from dbgAddr. It also stops at the first '$', in case this is + * a '$'-terminated string -- mainly because I'm lazy and didn't feel like writing a separate get() function. + * Yes, a zero-terminated string containing a '$' will be prematurely terminated, and no, I don't care. + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {number} [cchMax] (default is 256) + * @return {string} (and dbgAddr advanced past the terminating zero) + */ + getSZ(dbgAddr, cchMax) + { + var s = ""; + cchMax = cchMax || 256; + while (s.length < cchMax) { + var b = this.getByte(dbgAddr, 1); + if (!b || b == 0x24 || b >= 127) break; + s += (b >= 32? String.fromCharCode(b) : '.'); + } + return s; + } + + /** + * dumpBlocks(aBlocks, sAddr) + * + * @this {DebuggerPDP11} + * @param {Array} aBlocks + * @param {string} [sAddr] (optional block address) + */ + dumpBlocks(aBlocks, sAddr) + { + var addr = 0, i = 0, n = aBlocks.length; + + if (sAddr) { + addr = this.getAddr(this.parseAddr(sAddr)); + if (addr === PDP11.ADDR_INVALID) { + this.println("invalid address: " + sAddr); + return; + } + i = addr >>> this.bus.nBlockShift; + n = 1; + } + + this.println("blockid physical blockaddr used size type"); + this.println("-------- --------- --------- ------ ------ ----"); + + var typePrev = -1, cPrev = 0; + while (n--) { + var block = aBlocks[i]; + if (block.type == typePrev) { + if (!cPrev++) this.println("..."); + } else { + typePrev = block.type; + var sType = MemoryPDP11.TYPE_NAMES[typePrev]; + if (block) { + this.println(Str.toHex(block.id, 8) + " %" + Str.toHex(i << this.bus.nBlockShift, 8) + " %" + Str.toHex(block.addr, 8) + " " + Str.toHexWord(block.used) + " " + Str.toHexWord(block.size) + " " + sType); + } + if (typePrev != MemoryPDP11.TYPE.NONE) typePrev = -1; + cPrev = 0; + } + addr += this.bus.nBlockSize; + i++; + } + } + + /** + * dumpBus(asArgs) + * + * Dumps Bus allocations. + * + * @this {DebuggerPDP11} + * @param {Array.} asArgs (asArgs[0] is an optional block address) + */ + dumpBus(asArgs) + { + this.dumpBlocks(this.bus.aBusBlocks, asArgs[0]); + } + + /** + * dumpHistory(sPrev, sLines) + * + * If sLines is not a number, it can be a instruction filter. However, for the moment, the only + * supported filter is "call", which filters the history buffer for all CALL and RET instructions + * from the specified previous point forward. + * + * @this {DebuggerPDP11} + * @param {string} [sPrev] is a (decimal) number of instructions to rewind to (default is 10) + * @param {string} [sLines] is a (decimal) number of instructions to print (default is, again, 10) + */ + dumpHistory(sPrev, sLines) + { + var sMore = ""; + var cHistory = 0; + var iHistory = this.iInstructionHistory; + var aHistory = this.aInstructionHistory; + + if (aHistory.length) { + var nPrev = +sPrev || this.nextHistory; + var nLines = +sLines || 10; + + if (isNaN(nPrev)) { + nPrev = nLines; + } else { + sMore = "more "; + } + + if (nPrev > aHistory.length) { + this.println("note: only " + aHistory.length + " available"); + nPrev = aHistory.length; + } + + iHistory -= nPrev; + if (iHistory < 0) { + /* + * If the dbgAddr of the last aHistory element contains a valid selector, wrap around. + */ + if (aHistory[aHistory.length - 1].addr == null) { + nPrev = iHistory + nPrev; + iHistory = 0; + } else { + iHistory += aHistory.length; + } + } + + var aFilters = []; + if (sLines == "call") { + nLines = 100000; + aFilters = ["CALL"]; + } + + if (sPrev !== undefined) { + this.println(nPrev + " instructions earlier:"); + } + + /* + * TODO: The following is necessary to prevent dumpHistory() from causing additional (or worse, recursive) + * faults due to segmented addresses that are no longer valid, but the only alternative is to dramatically + * increase the amount of memory used to store instruction history (eg, storing copies of all the instruction + * bytes alongside the execution addresses). + * + * For now, we're living dangerously, so that our history dumps actually work. + * + * this.nSuppressBreaks++; + * + * If you re-enable this protection, be sure to re-enable the decrement below, too. + */ + while (nLines > 0 && iHistory != this.iInstructionHistory) { + + var dbgAddr = aHistory[iHistory++]; + if (dbgAddr.addr == null) break; + + /* + * We must create a new dbgAddr from the address in aHistory, because dbgAddr was + * a reference, not a copy, and we don't want getInstruction() modifying the original. + */ + var dbgAddrNew = this.newAddr(dbgAddr.addr); + + var sComment = "history"; + var nSequence = nPrev--; + + /* + * TODO: Need to some UI to control whether cycle counts are displayed as part of the history. + * It's currently disabled in checkInstruction(), so it's disable here, too. + * + if (DEBUG && dbgAddr.cycleCount != null) { + sComment = "cycles"; + nSequence = dbgAddr.cycleCount; + } + */ + + var sInstruction = this.getInstruction(dbgAddrNew, sComment, nSequence); + + if (!aFilters.length || sInstruction.indexOf(aFilters[0]) >= 0) { + this.println(sInstruction); + } + + /* + * If there were OPERAND or ADDRESS overrides on the previous instruction, getInstruction() + * will have automatically disassembled additional bytes, so skip additional history entries. + */ + if (dbgAddrNew.cOverrides) { + iHistory += dbgAddrNew.cOverrides; nLines -= dbgAddrNew.cOverrides; nPrev -= dbgAddrNew.cOverrides; + } + + if (iHistory >= aHistory.length) iHistory = 0; + this.nextHistory = nPrev; + cHistory++; + nLines--; + } + /* + * See comments above. + * + * this.nSuppressBreaks--; + */ + } + + if (!cHistory) { + this.println("no " + sMore + "history available"); + this.nextHistory = undefined; + } + } + + /** + * messageInit(sEnable) + * + * @this {DebuggerPDP11} + * @param {string|undefined} sEnable contains zero or more message categories to enable, separated by '|' + */ + messageInit(sEnable) + { + this.dbg = this; + this.bitsMessage = this.bitsWarning = MessagesPDP11.WARN; + this.sMessagePrev = null; + this.aMessageBuffer = []; + /* + * Internally, we use "key" instead of "keys", since the latter is a method on JavasScript objects, + * but externally, we allow the user to specify "keys"; "kbd" is also allowed as shorthand for "keyboard". + */ + var aEnable = this.parseCommand(sEnable.replace("keys","key").replace("kbd","keyboard"), false, '|'); + if (aEnable.length) { + for (var m in MessagesPDP11.CATEGORIES) { + if (Usr.indexOf(aEnable, m) >= 0) { + this.bitsMessage |= MessagesPDP11.CATEGORIES[m]; + this.println(m + " messages enabled"); + } + } + } + } + + /** + * messageDump(bitMessage, fnDumper) + * + * @this {DebuggerPDP11} + * @param {number} bitMessage is one Messages category flag + * @param {function(Array.)} fnDumper is a function the Debugger can use to dump data for that category + * @return {boolean} true if successfully registered, false if not + */ + messageDump(bitMessage, fnDumper) + { + for (var m in MessagesPDP11.CATEGORIES) { + if (bitMessage == MessagesPDP11.CATEGORIES[m]) { + this.afnDumpers[m] = fnDumper; + return true; + } + } + return false; + } + + /** + * getRegIndex(sReg, off) + * + * @this {DebuggerPDP11} + * @param {string} sReg + * @param {number} [off] optional offset into sReg + * @return {number} register index, or -1 if not found + */ + getRegIndex(sReg, off) + { + sReg = sReg.toUpperCase(); + var iReg = DebuggerPDP11.REGS[sReg]; + if (iReg == null) { + iReg = -1; + if (sReg.charAt(0) == "R") { + iReg = +sReg.charAt(1); + if (iReg < 0 || iReg > 7) iReg = -1; + } + } + return iReg; + } + + /** + * getRegName(iReg) + * + * @this {DebuggerPDP11} + * @param {number} iReg (0-7; not used for other registers) + * @return {string} + */ + getRegName(iReg) + { + return (iReg < 6? ("R" + iReg) : (iReg == 6? "SP" : "PC")); + } + + /** + * getRegValue(iReg) + * + * Register numbers 0-7 are reserved for cpu.regsGen, 8-15 are reserved for cpu.regsAlt, + * 16-19 for cpu.regsAltStack, 20 for regPSW, etc. + * + * @this {DebuggerPDP11} + * @param {number} iReg + * @return {number|undefined} + */ + getRegValue(iReg) + { + var value; + if (iReg >= 0) { + if (iReg < 8) { + value = this.cpu.regsGen[iReg]; + } + else if (iReg < 16) { + value = this.cpu.regsAlt[iReg-8]; + } + else if (iReg < 20) { + value = this.cpu.regsAltStack[iReg-16]; + } + else { + var cpu = this.cpu; + var panel = this.panel; + switch(iReg) { + case DebuggerPDP11.REG_PS: + value = this.cpu.getPSW(); + break; + case DebuggerPDP11.REG_PI: + value = cpu.getPIR(); + break; + case DebuggerPDP11.REG_ER: + value = cpu.regErr; + break; + case DebuggerPDP11.REG_SL: + value = cpu.getSLR(); + break; + case DebuggerPDP11.REG_M0: + value = cpu.getMMR0(); + break; + case DebuggerPDP11.REG_M1: + value = cpu.getMMR1(); + break; + case DebuggerPDP11.REG_M2: + value = cpu.getMMR2(); + break; + case DebuggerPDP11.REG_M3: + value = cpu.getMMR3(); + break; + case DebuggerPDP11.REG_AR: + if (panel) value = panel.getAR(); + break; + case DebuggerPDP11.REG_DR: + if (panel) value = panel.getDR(); + break; + case DebuggerPDP11.REG_SR: + if (panel && panel.hasSwitches()) { + value = panel.getSR(); + } + break; + } + } + } + return value; + } + + /** + * replaceRegs(s) + * + * TODO: Implement or eliminate. + * + * @this {DebuggerPDP11} + * @param {string} s + * @return {string} + */ + replaceRegs(s) + { + return s; + } + + /** + * message(sMessage, fAddress) + * + * @this {DebuggerPDP11} + * @param {string} sMessage is any caller-defined message string + * @param {boolean} [fAddress] is true to display the current address + */ + message(sMessage, fAddress) + { + if (fAddress) { + sMessage += " @" + this.toStrAddr(this.newAddr(this.cpu.getLastPC())); + } + + if (this.sMessagePrev && sMessage == this.sMessagePrev) return; + this.sMessagePrev = sMessage; + + if (this.bitsMessage & MessagesPDP11.BUFFER) { + this.aMessageBuffer.push(sMessage); + return; + } + + var fRunning; + if ((this.bitsMessage & MessagesPDP11.HALT) && this.cpu && (fRunning = this.cpu.isRunning()) || this.isBusy(true)) { + this.stopCPU(); + if (fRunning) sMessage += " (cpu halted)"; + } + + this.println(sMessage); // + " (" + this.cpu.getCycles() + " cycles)" + + /* + * We have no idea what the frequency of println() calls might be; all we know is that they easily + * screw up the CPU's careful assumptions about cycles per burst. So we call yieldCPU() after every + * message, to effectively end the current burst and start fresh. + * + * TODO: See CPUPDP11.calcStartTime() for a discussion of why we might want to call yieldCPU() *before* + * we display the message. + */ + if (this.cpu) this.cpu.yieldCPU(); + } + + /** + * init() + * + * @this {DebuggerPDP11} + * @param {boolean} [fAutoStart] + */ + init(fAutoStart) + { + this.fInit = true; + this.println("Type ? for help with PDPjs Debugger commands"); + this.updateStatus(); + if (!fAutoStart) this.setFocus(); + if (this.sInitCommands) { + var sCmds = this.sInitCommands; + this.sInitCommands = null; + this.doCommands(sCmds); + } + } + + /** + * historyInit(fQuiet) + * + * This function is intended to be called by the constructor, reset(), addBreakpoint(), findBreakpoint() + * and any other function that changes the checksEnabled() criteria used to decide whether checkInstruction() + * should be called. + * + * That is, if the history arrays need to be allocated and haven't already been allocated, then allocate them, + * and if the arrays are no longer needed, then deallocate them. + * + * @this {DebuggerPDP11} + * @param {boolean} [fQuiet] + */ + historyInit(fQuiet) + { + var i; + if (!this.checksEnabled()) { + if (this.aInstructionHistory && this.aInstructionHistory.length && !fQuiet) { + this.println("instruction history buffer freed"); + } + this.iInstructionHistory = 0; + this.aInstructionHistory = []; + return; + } + if (!this.aInstructionHistory || !this.aInstructionHistory.length) { + this.aInstructionHistory = new Array(DebuggerPDP11.HISTORY_LIMIT); + for (i = 0; i < this.aInstructionHistory.length; i++) { + /* + * Preallocate dummy Addr (Array) objects in every history slot, so that + * checkInstruction() doesn't need to call newAddr() on every slot update. + */ + this.aInstructionHistory[i] = this.newAddr(); + } + this.iInstructionHistory = 0; + if (!fQuiet) { + this.println("instruction history buffer allocated"); + } + } + } + + /** + * startCPU(fUpdateFocus, fQuiet) + * + * @this {DebuggerPDP11} + * @param {boolean} [fUpdateFocus] is true to update focus + * @param {boolean} [fQuiet] + * @return {boolean} true if run request successful, false if not + */ + startCPU(fUpdateFocus, fQuiet) + { + if (!this.checkCPU(fQuiet)) return false; + this.cpu.startCPU(fUpdateFocus); + return true; + } + + /** + * stepCPU(nCycles, fRegs, fUpdateDisplays) + * + * @this {DebuggerPDP11} + * @param {number} nCycles (0 for one instruction without checking breakpoints) + * @param {boolean|null} [fRegs] is true to display registers after step (default is false; use null for previous setting) + * @param {boolean} [fUpdateDisplays] is false to disable Computer display updates (default is true) + * @return {boolean} + */ + stepCPU(nCycles, fRegs, fUpdateDisplays) + { + if (!this.checkCPU()) return false; + + if (fRegs === null) { + fRegs = (!this.sCmdTracePrev || this.sCmdTracePrev == "tr"); + } + + this.nCycles = 0; + + if (!nCycles) { + /* + * When single-stepping, the CPU won't call checkInstruction(), which is good for + * avoiding breakpoints, but bad for instruction data collection if checks are enabled. + * So we call checkInstruction() ourselves. + */ + if (this.checksEnabled()) this.checkInstruction(this.cpu.getPC(), 0); + } + /* + * For our typically tiny bursts (usually single instructions), mimic what runCPU() does. + */ + try { + nCycles = this.cpu.getBurstCycles(nCycles); + var nCyclesStep = this.cpu.stepCPU(nCycles); + if (nCyclesStep > 0) { + this.cpu.updateTimers(nCyclesStep); + this.nCycles += nCyclesStep; + this.cpu.addCycles(nCyclesStep, true); + this.cpu.updateChecksum(nCyclesStep); + this.cInstructions++; + } + } + catch(exception) { + /* + * We assume that any numeric exception was explicitly thrown by the CPU to interrupt the + * current instruction. For all other exceptions, we attempt a stack dump. + */ + if (typeof exception != "number") { + var e = exception; + this.nCycles = 0; + this.cpu.setError(e.stack || e.message); } } - } // endif DEBUGGER + /* + * Because we called cpu.stepCPU() and not cpu.startCPU(), we must nudge the Computer's update code, + * and then update our own state. Normally, the only time fUpdateDisplays will be false is when doTrace() + * is calling us in a loop, in which case it will perform its own updateDisplays() when it's done. + */ + if (fUpdateDisplays !== false) { + if (this.panel) this.panel.stop(); + this.cmp.updateDisplays(-1); + } + + this.updateStatus(fRegs || false); + return (this.nCycles > 0); + } + + /** + * stopCPU() + * + * @this {DebuggerPDP11} + * @param {boolean} [fComplete] + */ + stopCPU(fComplete) + { + if (this.cpu) this.cpu.stopCPU(fComplete); + } + + /** + * updateStatus(fRegs) + * + * @this {DebuggerPDP11} + * @param {boolean} [fRegs] (default is true) + */ + updateStatus(fRegs) + { + if (!this.fInit) return; + + if (fRegs === undefined) fRegs = true; + + var trapStatus = this.cpu.getTrapStatus(); + if (trapStatus) { + var reason = trapStatus >> 8; + var sReason = reason < 0? PDP11.REASONS[-reason] : this.toStrBase(reason); + this.println("trapped to " + this.toStrBase(trapStatus & 0xff, 1) + " (" + sReason + ")"); + } + + this.dbgAddrNextCode = this.newAddr(this.cpu.getPC()); + /* + * this.nStep used to be a simple boolean, but now it's 0 (or undefined) + * if inactive, 1 if stepping over an instruction without a register dump, or 2 + * if stepping over an instruction with a register dump. + */ + if (!fRegs || this.nStep == 1) + this.doUnassemble(); + else { + this.doRegisters(); + } + } + + /** + * checkCPU(fQuiet) + * + * Make sure the CPU is ready (finished initializing), powered, not already running, and not in an error state. + * + * @this {DebuggerPDP11} + * @param {boolean} [fQuiet] + * @return {boolean} + */ + checkCPU(fQuiet) + { + if (!this.cpu || !this.cpu.isReady() || !this.cpu.isPowered() || this.cpu.isRunning()) { + if (!fQuiet) this.println("cpu busy or unavailable, command ignored"); + return false; + } + return !this.cpu.isError(); + } + + /** + * powerUp(data, fRepower) + * + * @this {DebuggerPDP11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (!fRepower) { + /* + * Because Debugger save/restore support is somewhat limited (and didn't always exist), + * we deviate from the typical save/restore design pattern: instead of reset OR restore, + * we always reset and then perform a (potentially limited) restore. + */ + this.reset(true); + + // this.println(data? "resuming" : "powering up"); + + if (data && this.restore) { + if (!this.restore(data)) return false; + } + } + return true; + } + + /** + * powerDown(fSave, fShutdown) + * + * @this {DebuggerPDP11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} + */ + powerDown(fSave, fShutdown) + { + if (fShutdown) this.println(fSave? "suspending" : "shutting down"); + return fSave? this.save() : true; + } + + /** + * reset(fQuiet) + * + * This is a notification handler, called by the Computer, to inform us of a reset. + * + * @this {DebuggerPDP11} + * @param {boolean} fQuiet (true only when called from our own powerUp handler) + */ + reset(fQuiet) + { + this.historyInit(); + this.cInstructions = this.cInstructionsStart = 0; + this.sMessagePrev = null; + this.nCycles = 0; + this.dbgAddrNextCode = this.newAddr(this.cpu.getPC()); + /* + * fRunning is set by start() and cleared by stop(). In addition, we clear + * it here, so that if the CPU is reset while running, we can prevent stop() + * from unnecessarily dumping the CPU state. + */ + this.flags.running = false; + this.clearTempBreakpoint(); + if (!fQuiet) this.updateStatus(); + } + + /** + * save() + * + * This implements (very rudimentary) save support for the Debugger component. + * + * @this {DebuggerPDP11} + * @return {Object} + */ + save() + { + var state = new State(this); + state.set(0, this.packAddr(this.dbgAddrNextCode)); + state.set(1, this.packAddr(this.dbgAddrAssemble)); + state.set(2, [this.aPrevCmds, this.fAssemble, this.bitsMessage]); + state.set(3, this.aSymbolTable); + return state.data(); + } + + /** + * restore(data) + * + * This implements (very rudimentary) restore support for the Debugger component. + * + * @this {DebuggerPDP11} + * @param {Object} data + * @return {boolean} true if successful, false if failure + */ + restore(data) + { + var i = 0; + if (data[2] !== undefined) { + this.dbgAddrNextCode = this.unpackAddr(data[i++]); + this.dbgAddrAssemble = this.unpackAddr(data[i++]); + this.aPrevCmds = data[i][0]; + if (typeof this.aPrevCmds == "string") this.aPrevCmds = [this.aPrevCmds]; + this.fAssemble = data[i][1]; + this.bitsMessage |= data[i][2]; // keep our current message bits set, and simply "add" any extra bits defined by the saved state + } + if (data[3]) this.aSymbolTable = data[3]; + return true; + } + + /** + * start(ms, nCycles) + * + * This is a notification handler, called by the Computer, to inform us the CPU has started. + * + * @this {DebuggerPDP11} + * @param {number} ms + * @param {number} nCycles + */ + start(ms, nCycles) + { + if (!this.nStep) this.println("running"); + this.flags.running = true; + this.msStart = ms; + this.nCyclesStart = nCycles; + } + + /** + * stop(ms, nCycles) + * + * This is a notification handler, called by the Computer, to inform us the CPU has now stopped. + * + * @this {DebuggerPDP11} + * @param {number} ms + * @param {number} nCycles + */ + stop(ms, nCycles) + { + if (this.flags.running) { + this.flags.running = false; + this.nCycles = nCycles - this.nCyclesStart; + if (!this.nStep) { + var sStopped = "stopped"; + if (this.nCycles) { + var msTotal = ms - this.msStart; + var nCyclesPerSecond = (msTotal > 0? Math.round(this.nCycles * 1000 / msTotal) : 0); + sStopped += " ("; + if (this.checksEnabled()) { + sStopped += this.cInstructions + " instructions, "; + /* + * $ops displays progress by calculating cInstructions - cInstructionsStart, so before + * zeroing cInstructions, we should subtract cInstructions from cInstructionsStart (since + * we're effectively subtracting cInstructions from cInstructions as well). + */ + this.cInstructionsStart -= this.cInstructions; + this.cInstructions = 0; + } + sStopped += this.nCycles + " cycles, " + msTotal + " ms, " + nCyclesPerSecond + " hz)"; + } else { + if (this.messageEnabled(MessagesPDP11.HALT)) { + /* + * It's possible the user is trying to 'g' past a fault that was blocked by helpCheckFault() + * for the Debugger's benefit; if so, it will continue to be blocked, so try displaying a helpful + * message (another helpful tip would be to simply turn off the "halt" message category). + */ + sStopped += " (use the 't' command to execute blocked faults)"; + } + } + this.println(sStopped); + } + this.updateStatus(true); + this.setFocus(); + this.clearTempBreakpoint(this.cpu.getPC()); + this.sMessagePrev = null; + } + } + + /** + * checksEnabled(fRelease) + * + * This "check" function is called by the CPU; we indicate whether or not every instruction needs to be checked. + * + * Originally, this returned true even when there were only read and/or write breakpoints, but those breakpoints + * no longer require the intervention of checkInstruction(); the Bus component automatically swaps in/out appropriate + * "checked" Memory access functions to deal with those breakpoints in the corresponding Memory blocks. So I've + * simplified the test below. + * + * @this {DebuggerPDP11} + * @param {boolean} [fRelease] is true for release criteria only; default is false (any criteria) + * @return {boolean} true if every instruction needs to pass through checkInstruction(), false if not + */ + checksEnabled(fRelease) + { + return ((DEBUG && !fRelease)? true : (this.aBreakExec.length > 1 || !!this.nBreakInstructions)); + } + + /** + * checkInstruction(addr, nState) + * + * This "check" function is called by the CPU to inform us about the next instruction to be executed, + * giving us an opportunity to look for "exec" breakpoints and update opcode instruction history. + * + * @this {DebuggerPDP11} + * @param {number} addr + * @param {number} nState is < 0 if stepping, 0 if starting, or > 0 if running + * @return {boolean} true if breakpoint hit, false if not + */ + checkInstruction(addr, nState) + { + var opCode = -1; + var cpu = this.cpu; + + /* + * If opHalt() calls our stopInstruction() function, it will effectively rewind the PC back to the HALT, + * purely for our debugging benefit, so we must compensate for that here by advancing the PC past the HALT + * when the machine starts up again. + */ + if (!nState) { + opCode = this.cpu.getWordSafe(addr); + /* + * We have to be careful about this HALT-skipping code, because as fate would have it, I inadvertently + * stopped the following diagnostic with a breakpoint *on* a HALT instruction: + * + * .R EKBEE1 + * EKBEE1.BIC + * + * CEKBEE0 11/70 MEM MGMT + * + * CPU UNDER TEST FOUND TO BE A KB11-CM + * bp 033330 hit + * stopped (28339757 instructions, 123994176 cycles, 19177 ms, 6465775 hz) + * R0=140000 R1=033330 R2=100143 R3=133260 R4=000000 R5=177700 + * SP=000600 PC=033330 PS=140000 IR=000000 SL=000377 T0 N0 Z0 V0 C0 + * 033330: 000000 HALT + * + * Since we haven't executed the HALT yet, it would be wrong (and would cause a diagnostic failure) to + * skip over it. In this particular case, the PDR for the address of the HALT instruction was invalid, + * so the HALT gets fetched but not executed. + * + * My first thought was that maybe we need to probe the address more thoroughly (getWordSafe() does + * not), but it should be sufficient to simply confirm that the PC of the last opcode executed matches + * the addr of this HALT. + * + * Yes, I could save myself this grief by eliminating these PC hacks, both here and in stopInstruction(), + * but I still think it's a useful debugging aid. + */ + if (opCode == PDP11.OPCODE.HALT && this.cpu.getLastPC() == addr) { + addr = this.cpu.advancePC(2); + } + } + + /* + * If the CPU stopped on a breakpoint, we're not interested in stopping again if the machine is starting. + */ + if (nState > 0) { + if (this.nBreakInstructions) { + if (!--this.nBreakInstructions) return true; + } + if (this.checkBreakpoint(addr, 1, this.aBreakExec)) { + return true; + } + } + + /* + * The rest of the instruction tracking logic can only be performed if historyInit() has allocated the + * necessary data structures. Note that there is no explicit UI for enabling/disabling history, other than + * adding/removing breakpoints, simply because it's breakpoints that trigger the call to checkInstruction(); + * well, OK, and a few other things now, like enabling MessagesPDP11.INT messages. + */ + if (nState >= 0 && this.aInstructionHistory.length) { + this.cInstructions++; + if (opCode < 0) { + opCode = this.cpu.getWordSafe(addr); + } + if ((opCode & 0xffff) != PDP11.OPCODE.INVALID) { + var dbgAddr = this.aInstructionHistory[this.iInstructionHistory]; + this.setAddr(dbgAddr, addr); + // if (DEBUG) dbgAddr.cycleCount = cpu.getCycles(); + if (++this.iInstructionHistory == this.aInstructionHistory.length) this.iInstructionHistory = 0; + } + } + return false; + } + + /** + * stopInstruction(sMessage) + * + * TODO: Currently, the only way to prevent this call from stopping the CPU is when you're single-stepping. + * + * @this {DebuggerPDP11} + * @param {string} [sMessage] + * @return {boolean} true if stopping is enabled, false if not + */ + stopInstruction(sMessage) + { + var cpu = this.cpu; + if (cpu.isRunning()) { + cpu.setPC(this.cpu.getLastPC()); + if (sMessage) this.println(sMessage); + this.stopCPU(); + /* + * TODO: Review the appropriate-ness of throwing a bogus vector number in order to immediately stop + * the instruction. It's handy, but it also means that we no longer actually return true, so callers + * of either stopInstruction() or undefinedInstruction() may have unreachable code paths. + */ + throw -1; + } + return false; + } + + /** + * undefinedInstruction(opCode) + * + * @this {DebuggerPDP11} + * @param {number} opCode + * @return {boolean} true if stopping is enabled, false if not + */ + undefinedInstruction(opCode) + { + if (this.messageEnabled(MessagesPDP11.CPU)) { + this.printMessage("undefined opcode " + this.toStrBase(opCode), true, true); + return this.stopInstruction(); // allow the caller to step over it if they really want a trap generated + } + return false; + } + + /** + * checkMemoryRead(addr, nb) + * + * This "check" function is called by a Memory block to inform us that a memory read occurred, giving us an + * opportunity to track the read if we want, and look for a matching "read" breakpoint, if any. + * + * In the "old days", it would be an error for this call to fail to find a matching Debugger breakpoint, but now + * Memory blocks have no idea whether the Debugger or the machine's Debug register(s) triggered this "checked" read. + * + * If we return true, we "trump" the machine's Debug register(s); false allows normal Debug register processing. + * + * @this {DebuggerPDP11} + * @param {number} addr + * @param {number} [nb] (# of bytes; default is 1) + * @return {boolean} true if breakpoint hit, false if not + */ + checkMemoryRead(addr, nb) + { + if (this.checkBreakpoint(addr, nb || 1, this.aBreakRead)) { + this.stopCPU(true); + return true; + } + return false; + } + + /** + * checkMemoryWrite(addr, nb) + * + * This "check" function is called by a Memory block to inform us that a memory write occurred, giving us an + * opportunity to track the write if we want, and look for a matching "write" breakpoint, if any. + * + * In the "old days", it would be an error for this call to fail to find a matching Debugger breakpoint, but now + * Memory blocks have no idea whether the Debugger or the machine's Debug register(s) triggered this "checked" write. + * + * If we return true, we "trump" the machine's Debug register(s); false allows normal Debug register processing. + * + * @this {DebuggerPDP11} + * @param {number} addr + * @param {number} [nb] (# of bytes; default is 1) + * @return {boolean} true if breakpoint hit, false if not + */ + checkMemoryWrite(addr, nb) + { + if (this.checkBreakpoint(addr, nb || 1, this.aBreakWrite)) { + this.stopCPU(true); + return true; + } + return false; + } + + /** + * clearBreakpoints() + * + * @this {DebuggerPDP11} + */ + clearBreakpoints() + { + var i, dbgAddr, addr; + this.aBreakExec = ["bp"]; + if (this.aBreakRead !== undefined) { + for (i = 1; i < this.aBreakRead.length; i++) { + dbgAddr = this.aBreakRead[i]; + addr = this.getAddr(dbgAddr); + if (!dbgAddr.fPhysical) { + this.cpu.removeMemBreak(addr, false); + } else { + this.bus.removeMemBreak(addr, false); + } + } + } + this.aBreakRead = ["br"]; + if (this.aBreakWrite !== undefined) { + for (i = 1; i < this.aBreakWrite.length; i++) { + dbgAddr = this.aBreakWrite[i]; + addr = this.getAddr(dbgAddr); + if (!dbgAddr.fPhysical) { + this.cpu.removeMemBreak(addr, true); + } else { + this.bus.removeMemBreak(addr, true); + } + } + } + this.aBreakWrite = ["bw"]; + /* + * nSuppressBreaks ensures we can't get into an infinite loop where a breakpoint lookup + * requires reading memory that triggers more memory reads, which triggers more breakpoint checks. + */ + this.nSuppressBreaks = 0; + } + + /** + * addBreakpoint(aBreak, dbgAddr, fTemporary) + * + * In case you haven't already figured this out, all our breakpoint commands use the address + * to identify a breakpoint, not an incrementally assigned breakpoint index like other debuggers; + * see doBreak() for details. + * + * This has a few implications, one being that you CANNOT set more than one kind of breakpoint + * on a single address. In practice, that's rarely a problem, because you can almost always set + * a different breakpoint on a neighboring address. + * + * Also, there is one exception to the "one address, one breakpoint" rule, and that involves + * temporary breakpoints (ie, one-time execution breakpoints that either a "p" or "g" command + * may create to step over a chunk of code). Those breakpoints automatically clear themselves, + * so there usually isn't any need to refer to them using breakpoint commands. + * + * TODO: Consider supporting the more "traditional" breakpoint index syntax; the current + * address-based syntax was implemented solely for expediency and consistency. At the same time, + * also consider a more WDEB386-like syntax, where "br" is used to set a variety of access-specific + * breakpoints, using modifiers like "r1", "r2", "w1", "w2, etc. + * + * @this {DebuggerPDP11} + * @param {Array} aBreak + * @param {DbgAddrPDP11} dbgAddr + * @param {boolean} [fTemporary] + * @return {boolean} true if breakpoint added, false if already exists + */ + addBreakpoint(aBreak, dbgAddr, fTemporary) + { + var fSuccess = true; + + // this.nSuppressBreaks++; + + /* + * Instead of complaining that a breakpoint already exists (as we used to do), we now + * allow breakpoints to be re-set; this makes it easier to update any commands that may + * be associated with the breakpoint. + * + * The only exception: we DO allow a temporary breakpoint at an address where there may + * already be a breakpoint, so that you can easily step ("p" or "g") over such addresses. + */ + if (!fTemporary) { + this.findBreakpoint(aBreak, dbgAddr, true, false, true); + } + + if (aBreak != this.aBreakExec) { + var addr = this.getAddr(dbgAddr); + if (addr === PDP11.ADDR_INVALID) { + this.println("invalid address: " + this.toStrAddr(dbgAddr)); + fSuccess = false; + } else { + var fWrite = (aBreak == this.aBreakWrite); + /* + * We automatically promote any read/write breakpoint address to fPhysical if it's + * outside the 16-bit virtual address range. + */ + if (addr > 0xffff) dbgAddr.fPhysical = true; + if (!dbgAddr.fPhysical) { + this.cpu.addMemBreak(addr, fWrite); + } else { + this.bus.addMemBreak(addr, fWrite); + } + } + } + + if (fSuccess) { + aBreak.push(dbgAddr); + if (fTemporary) { + dbgAddr.fTemporary = true; + } + else { + this.printBreakpoint(aBreak, aBreak.length-1, "set"); + this.historyInit(); + } + } + + // this.nSuppressBreaks--; + + return fSuccess; + } + + /** + * findBreakpoint(aBreak, dbgAddr, fRemove, fTemporary, fQuiet) + * + * @this {DebuggerPDP11} + * @param {Array} aBreak + * @param {DbgAddrPDP11} dbgAddr + * @param {boolean} [fRemove] + * @param {boolean} [fTemporary] + * @param {boolean} [fQuiet] + * @return {boolean} true if found, false if not + */ + findBreakpoint(aBreak, dbgAddr, fRemove, fTemporary, fQuiet) + { + var fFound = false; + var addr = this.getAddr(dbgAddr); + for (var i = 1; i < aBreak.length; i++) { + var dbgAddrBreak = aBreak[i]; + if (addr == this.getAddr(dbgAddrBreak)) { + if (!fTemporary || dbgAddrBreak.fTemporary) { + fFound = true; + if (fRemove) { + if (!dbgAddrBreak.fTemporary && !fQuiet) { + this.printBreakpoint(aBreak, i, "cleared"); + } + aBreak.splice(i, 1); + if (aBreak != this.aBreakExec) { + var fWrite = (aBreak == this.aBreakWrite); + if (!dbgAddrBreak.fPhysical) { + this.cpu.removeMemBreak(addr, fWrite); + } else { + this.bus.removeMemBreak(addr, fWrite); + } + } + /* + * We'll mirror the logic in addBreakpoint() and leave the history buffer alone if this + * was a temporary breakpoint. + */ + if (!dbgAddrBreak.fTemporary) { + this.historyInit(); + } + break; + } + if (!fQuiet) this.printBreakpoint(aBreak, i, "exists"); + break; + } + } + } + return fFound; + } + + /** + * listBreakpoints(aBreak) + * + * @this {DebuggerPDP11} + * @param {Array} aBreak + * @return {number} of breakpoints listed, 0 if none + */ + listBreakpoints(aBreak) + { + for (var i = 1; i < aBreak.length; i++) { + this.printBreakpoint(aBreak, i); + } + return aBreak.length - 1; + } + + /** + * printBreakpoint(aBreak, i, sAction) + * + * @this {DebuggerPDP11} + * @param {Array} aBreak + * @param {number} i + * @param {string} [sAction] + */ + printBreakpoint(aBreak, i, sAction) + { + var dbgAddr = aBreak[i]; + this.println(aBreak[0] + ' ' + this.toStrAddr(dbgAddr) + (sAction? (' ' + sAction) : (dbgAddr.sCmd? (' "' + dbgAddr.sCmd + '"') : ''))); + } + + /** + * setTempBreakpoint(dbgAddr) + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr of new temp breakpoint + */ + setTempBreakpoint(dbgAddr) + { + this.addBreakpoint(this.aBreakExec, dbgAddr, true); + } + + /** + * clearTempBreakpoint(addr) + * + * @this {DebuggerPDP11} + * @param {number|undefined} [addr] clear all temp breakpoints if no address specified + */ + clearTempBreakpoint(addr) + { + if (addr !== undefined) { + this.checkBreakpoint(addr, 1, this.aBreakExec, true); + this.nStep = 0; + } else { + for (var i = 1; i < this.aBreakExec.length; i++) { + var dbgAddrBreak = this.aBreakExec[i]; + if (dbgAddrBreak.fTemporary) { + if (!this.findBreakpoint(this.aBreakExec, dbgAddrBreak, true, true)) break; + i = 0; + } + } + } + } + + /** + * checkBreakpoint(addr, nb, aBreak, fTemporary) + * + * @this {DebuggerPDP11} + * @param {number} addr + * @param {number} nb (# of bytes) + * @param {Array} aBreak + * @param {boolean} [fTemporary] + * @return {boolean} true if breakpoint has been hit, false if not + */ + checkBreakpoint(addr, nb, aBreak, fTemporary) + { + /* + * Time to check for breakpoints; note that this should be done BEFORE updating history data + * (see checkInstruction), since we might not actually execute the current instruction. + */ + var fBreak = false; + + if (!this.nSuppressBreaks++) { + + for (var i = 1; !fBreak && i < aBreak.length; i++) { + + var dbgAddrBreak = aBreak[i]; + + if (fTemporary && !dbgAddrBreak.fTemporary) continue; + + /* + * If we're checking an execution address, which is always virtual, and virtual + * addresses are always restricted to 16 bits, let's mask the breakpoint address to match + * (the user should know better, but we'll be nice). + */ + var addrBreak = this.getAddr(dbgAddrBreak) & (aBreak == this.aBreakExec? 0xffff : -1); + for (var n = 0; n < nb; n++) { + + if ((addr + n) != addrBreak) continue; + + var a; + fBreak = true; + if (dbgAddrBreak.fTemporary) { + this.findBreakpoint(aBreak, dbgAddrBreak, true, true); + fTemporary = true; + } + if (a = dbgAddrBreak.aCmds) { + /* + * When one or more commands are attached to a breakpoint, we don't halt by default. + * Instead, we set fBreak to true only if, at the completion of all the commands, the + * CPU is halted; in other words, you should include "h" as one of the breakpoint commands + * if you want the breakpoint to stop execution. + * + * Another useful command is "if", which will return false if the expression is false, + * at which point we'll jump ahead to the next "else" command, and if there isn't an "else", + * we abort. + */ + fBreak = false; + for (var j = 0; j < a.length; j++) { + if (!this.doCommand(a[j], true)) { + if (a[j].indexOf("if")) { + fBreak = true; // the failed command wasn't "if", so abort + break; + } + var k = j + 1; + for (; k < a.length; k++) { + if (!a[k].indexOf("else")) break; + j++; + } + if (k == a.length) { // couldn't find an "else" after the "if", so abort + fBreak = true; + break; + } + /* + * If we're still here, we'll execute the "else" command (which is just a no-op), + * followed by any remaining commands. + */ + } + } + if (!this.cpu.isRunning()) fBreak = true; + } + if (fBreak) { + if (!fTemporary) this.printBreakpoint(aBreak, i, "hit"); + break; + } + } + } + } + + this.nSuppressBreaks--; + + return fBreak; + } + + /** + * getInstruction(dbgAddr, sComment, nSequence) + * + * Get the next instruction, by decoding the opcode and any operands. + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {string} [sComment] is an associated comment + * @param {number|null} [nSequence] is an associated sequence number, undefined if none + * @return {string} (and dbgAddr is updated to the next instruction) + */ + getInstruction(dbgAddr, sComment, nSequence) + { + var opNames = DebuggerPDP11.OPNAMES; + var dbgAddrOp = this.newAddr(dbgAddr.addr); + var opCode = this.getWord(dbgAddr, 2); + + var opDesc; + for (var mask in this.opTable) { + var opMasks = this.opTable[mask]; + opDesc = opMasks[opCode & mask]; + if (opDesc) break; + } + + if (!opDesc) { + opDesc = DebuggerPDP11.OPNONE; + } + + var opNum = opDesc[0]; + if (this.aOpReserved.indexOf(opNum) >= 0) { + opDesc = DebuggerPDP11.OPNONE; + opNum = opDesc[0]; + } + + var sOperands = "", sTarget = ""; + var sOpName = opNames[opNum]; + var cOperands = opDesc.length - 1; + + if (!opNum && !cOperands) { + sOperands = this.toStrBase(opCode); + } + + for (var iOperand = 1; iOperand <= cOperands; iOperand++) { + + var opType = opDesc[iOperand]; + if (opType === undefined) continue; + + var sOperand = this.getOperand(opCode, opType, dbgAddr); + + if (!sOperand || !sOperand.length) { + sOperands = "INVALID"; + break; + } + + /* + * If getOperand() returns an Array rather than a string, then the first element is the original + * operand, and the second element contains additional information (eg, the target) of the operand. + */ + if (typeof sOperand != "string") { + sTarget = sOperand[1]; + sOperand = sOperand[0]; + } + + if (sOperands.length > 0) sOperands += ','; + sOperands += (sOperand || "???"); + } + + var sOpCodes = ""; + var sLine = this.toStrAddr(dbgAddrOp) + ":"; + if (dbgAddrOp.addr !== PDP11.ADDR_INVALID && dbgAddr.addr !== PDP11.ADDR_INVALID) { + do { + sOpCodes += ' ' + this.toStrBase(this.getWord(dbgAddrOp, 2)); + if (dbgAddrOp.addr == null) break; + } while (dbgAddrOp.addr != dbgAddr.addr); + } + + sLine += Str.pad(sOpCodes, 24); + sLine += Str.pad(sOpName, 5); + if (sOperands) sLine += ' ' + sOperands; + + if (sComment || sTarget) { + sLine = Str.pad(sLine, 60) + ';' + (sComment || ""); + if (!this.cpu.flags.checksum) { + sLine += (nSequence != null? '=' + nSequence.toString() : ""); + } else { + var nCycles = this.cpu.getCycles(); + sLine += "cycles=" + nCycles.toString() + " cs=" + Str.toHex(this.cpu.nChecksum); + } + if (sTarget) { + if (sLine.slice(-1) != ';') sLine += ' '; + sLine += sTarget; + } + } + return sLine; + } + + /** + * getOperand(opCode, opType, dbgAddr) + * + * If getOperand() returns an Array rather than a string, then the first element is the original + * operand, and the second element is a comment containing additional information (eg, the target) + * of the operand. + * + * @this {DebuggerPDP11} + * @param {number} opCode + * @param {number} opType + * @param {DbgAddrPDP11} dbgAddr + * @return {string|Array.} + */ + getOperand(opCode, opType, dbgAddr) + { + var sOperand = "", disp, addr; + /* + * Take care of OP_OTHER opcodes first; then all we'll have to worry about + * next are OP_SRC or OP_DST opcodes. + */ + var opTypeOther = opType & DebuggerPDP11.OP_OTHER; + if (opTypeOther == DebuggerPDP11.OP_BRANCH) { + disp = ((opCode & 0xff) << 24) >> 23; + addr = (dbgAddr.addr + disp) & 0xffff; + sOperand = this.toStrBase(addr); + } + else if (opTypeOther == DebuggerPDP11.OP_DSTOFF) { + disp = (opCode & 0x3f) << 1; + addr = (dbgAddr.addr - disp) & 0xffff; + sOperand = this.toStrBase(addr); + } + else if (opTypeOther == DebuggerPDP11.OP_DSTNUM3) { + disp = (opCode & 0x07); + sOperand = this.toStrBase(disp, 1); + } + else if (opTypeOther == DebuggerPDP11.OP_DSTNUM6) { + disp = (opCode & 0x3f); + sOperand = this.toStrBase(disp, 1); + } + else if (opTypeOther == DebuggerPDP11.OP_DSTNUM8) { + disp = (opCode & 0xff); + sOperand = this.toStrBase(disp, 1); + } + else { + /* + * Isolate all OP_SRC or OP_DST bits from opcode in the opMode variable. + */ + var opMode = opCode & opType; + + /* + * Convert OP_SRC bits into OP_DST bits, since they use the same format. + */ + if (opType & DebuggerPDP11.OP_SRC) { + opMode >>= 6; + opType >>= 6; + } + if (opType & DebuggerPDP11.OP_DST) { + var wIndex; + var sTarget = null; + var reg = opMode & DebuggerPDP11.OP_DSTREG; + /* + * Note that opcodes that specify only REG bits in the opType mask (ie, no MOD bits) + * will automatically default to OPMODE_REG below. + */ + switch((opMode & DebuggerPDP11.OP_DSTMODE)) { + + case PDP11.OPMODE.REG: // 0x0: REGISTER + sOperand = this.getRegName(reg); + break; + + case PDP11.OPMODE.REGD: // 0x1: REGISTER DEFERRED + sOperand = '@' + this.getRegName(reg); + sTarget = this.getTarget(this.cpu.regsGen[reg]); + break; + + case PDP11.OPMODE.POSTINC: // 0x2: POST-INCREMENT + if (reg < 7) { + sOperand = '(' + this.getRegName(reg) + ")+"; + } else { + /* + * When using R7 (aka PC), POST-INCREMENT is known as IMMEDIATE + */ + wIndex = this.getWord(dbgAddr, 2); + sOperand = '#' + this.toStrBase(wIndex, 0, true); + } + break; + + case PDP11.OPMODE.POSTINCD: // 0x3: POST-INCREMENT DEFERRED + if (reg < 7) { + sOperand = "@(" + this.getRegName(reg) + ")+"; + } else { + /* + * When using R7 (aka PC), POST-INCREMENT DEFERRED is known as ABSOLUTE + */ + wIndex = this.getWord(dbgAddr, 2); + sOperand = "@#" + this.toStrBase(wIndex, 0, true); + sTarget = this.getTarget(wIndex); + } + break; + + case PDP11.OPMODE.PREDEC: // 0x4: PRE-DECREMENT + sOperand = "-(" + this.getRegName(reg) + ")"; + break; + + case PDP11.OPMODE.PREDECD: // 0x5: PRE-DECREMENT DEFERRED + sOperand = "@-(" + this.getRegName(reg) + ")"; + break; + + case PDP11.OPMODE.INDEX: // 0x6: INDEX + wIndex = this.getWord(dbgAddr, 2); + sOperand = this.toStrBase(wIndex, 0, true) + '(' + this.getRegName(reg) + ')'; + if (reg == 7) { + /* + * When using R7 (aka PC), INDEX is known as RELATIVE. However, instead of displaying + * such an instruction like this: + * + * 016156: 010167 001300 MOV R1,1300(PC) ; @017462 + * + * with the effective address display to the far right, let's display it like this instead: + * + * 016156: 010167 001300 MOV R1,017462 + * + * because you can still clearly see PC-relative offset (eg, 001300) as part of the disassembly. + * + * sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)]; + */ + sOperand = this.toStrBase(wIndex = (wIndex + dbgAddr.addr) & 0xffff); + sTarget = this.getTarget(wIndex); + } + break; + + case PDP11.OPMODE.INDEXD: // 0x7: INDEX DEFERRED + wIndex = this.getWord(dbgAddr, 2); + sOperand = '@' + this.toStrBase(wIndex) + '(' + this.getRegName(reg) + ')'; + if (reg == 7) { + /* + * When using R7 (aka PC), INDEX DEFERRED is known as RELATIVE DEFERRED. And for the same + * reasons articulated above, we now display the effective address inline. + * + * sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)]; + */ + sOperand = '@' + this.toStrBase(wIndex = (wIndex + dbgAddr.addr) & 0xffff); + sTarget = this.getTarget(this.cpu.getWordSafe(wIndex)); + } + break; + + default: + this.assert(false); + break; + } + + if (sTarget) sOperand = [sOperand, sTarget]; + } + else { + this.assert(false); + } + } + return sOperand; + } + + /** + * getTarget(addr) + * + * @this {DebuggerPDP11} + * @param {number} addr + * @return {string|null} + */ + getTarget(addr) + { + var sTarget = null; + var a = this.cpu.getAddrInfo(addr); + var addrPhysical = a[0]; + if (addrPhysical >= this.cpu.addrIOPage && addrPhysical < this.bus.addrIOPage) { + addrPhysical = (addrPhysical - this.cpu.addrIOPage) + this.bus.addrIOPage; + } + return this.bus.getAddrInfo(addrPhysical); + } + + /** + * parseInstruction(sOp, sOperand, addr) + * + * TODO: Unimplemented. See parseInstruction() in modules/c1pjs/lib/debugger.js for a sample implementation. + * + * @this {DebuggerPDP11} + * @param {string} sOp + * @param {string|undefined} sOperand + * @param {DbgAddrPDP11} dbgAddr of memory where this instruction is being assembled + * @return {Array.} of opcode bytes; if the instruction can't be parsed, the array will be empty + */ + parseInstruction(sOp, sOperand, dbgAddr) + { + var aOpBytes = []; + this.println("not supported yet"); + return aOpBytes; + } + + /** + * getFlagOutput(sFlag) + * + * @this {DebuggerPDP11} + * @param {string} sFlag + * @return {string} value of flag + */ + getFlagOutput(sFlag) + { + var b; + switch (sFlag) { + case 'N': + b = this.cpu.getNF(); + break; + case 'Z': + b = this.cpu.getZF(); + break; + case 'V': + b = this.cpu.getVF(); + break; + case 'C': + b = this.cpu.getCF(); + break; + default: + b = 0; + break; + } + return sFlag.charAt(0) + (b? '1' : '0') + ' '; + } + + /** + * getRegOutput(iReg) + * + * @this {DebuggerPDP11} + * @param {number} iReg + * @return {string} + */ + getRegOutput(iReg) + { + var sReg = ""; + var cpu = this.cpu; + + if (iReg < 8) { + sReg = this.getRegName(iReg); + sReg += '=' + this.toStrBase(cpu.regsGen[iReg]); + } + else if (iReg < 13) { + sReg = "A" + (iReg - 8) + '=' + this.toStrBase(cpu.regsAlt[iReg - 8]); + } + else if (iReg >= 16 && iReg < 20) { + sReg = "S" + (iReg - 16) + '=' + this.toStrBase(cpu.regsAltStack[iReg - 16]); + } + else { + switch(iReg) { + case DebuggerPDP11.REG_PS: + sReg = "PS=" + this.toStrBase(cpu.getPSW()); + break; + case DebuggerPDP11.REG_PI: + sReg = "PI=" + this.toStrBase(cpu.getPIR()); + break; + case DebuggerPDP11.REG_ER: + sReg = "ER=" + this.toStrBase(cpu.regErr); + break; + case DebuggerPDP11.REG_SL: + sReg = "SL=" + this.toStrBase(cpu.getSLR()); + break; + case DebuggerPDP11.REG_M0: + sReg = "M0=" + this.toStrBase(cpu.getMMR0()); + break; + case DebuggerPDP11.REG_M1: + sReg = "M1=" + this.toStrBase(cpu.getMMR1()); + break; + case DebuggerPDP11.REG_M2: + sReg = "M2=" + this.toStrBase(cpu.getMMR2()); + break; + case DebuggerPDP11.REG_M3: + sReg = "M3=" + this.toStrBase(cpu.getMMR3()); + break; + case DebuggerPDP11.REG_AR: + if (this.panel) { + sReg = "AR=" + this.toStrBase(this.panel.getAR(), 3); + } + break; + case DebuggerPDP11.REG_DR: + if (this.panel) { + sReg = "DR=" + this.toStrBase(this.panel.getDR()); + } + break; + case DebuggerPDP11.REG_SR: + if (this.panel && this.panel.hasSwitches()) { + sReg = "SR=" + this.toStrBase(this.panel.getSR(), 3); + } + break; + } + } + if (sReg) sReg += ' '; + return sReg; + } + + /** + * getMiscDump() + * + * Sample register dump: + * + * M0=xxxxxx M1=xxxxxx M2=xxxxxx M3=xxxxxx ER=xxxxxx + * + * @this {DebuggerPDP11} + * @return {string} + */ + getMiscDump() + { + var sDump = ""; + sDump += this.getRegOutput(DebuggerPDP11.REG_M0) + this.getRegOutput(DebuggerPDP11.REG_M1); + sDump += this.getRegOutput(DebuggerPDP11.REG_M2) + this.getRegOutput(DebuggerPDP11.REG_M3) + this.getRegOutput(DebuggerPDP11.REG_ER); + sDump += '\n'; + sDump += this.getRegOutput(DebuggerPDP11.REG_SR) + this.getRegOutput(DebuggerPDP11.REG_AR) + this.getRegOutput(DebuggerPDP11.REG_DR); + return sDump; + } + + /** + * getRegDump(fMisc) + * + * Sample register dump: + * + * R0=xxxxxx R1=xxxxxx R2=xxxxxx R3=xxxxxx R4=xxxxxx R5=xxxxxx + * SP=xxxxxx PC=xxxxxx PS=xxxxxx PI=xxxxxx SL=xxxxxx T0 N0 Z0 V0 C0 + * + * @this {DebuggerPDP11} + * @param {boolean} [fMisc] (true to include misc registers) + * @return {string} + */ + getRegDump(fMisc) + { + var i; + var sDump = ""; + for (i = 0; i < PDP11.REG.SP; i++) { + sDump += this.getRegOutput(i); + } + sDump += '\n'; + sDump += this.getRegOutput(PDP11.REG.SP) + this.getRegOutput(PDP11.REG.PC); + sDump += this.getRegOutput(DebuggerPDP11.REG_PS) + this.getRegOutput(DebuggerPDP11.REG_PI) + this.getRegOutput(DebuggerPDP11.REG_SL); + sDump += this.getFlagOutput('T') + this.getFlagOutput('N') + this.getFlagOutput('Z') + this.getFlagOutput('V') + this.getFlagOutput('C'); + if (fMisc) sDump += '\n' + this.getMiscDump(); + return sDump; + } + + /** + * comparePairs(p1, p2) + * + * @this {DebuggerPDP11} + * @param {number|string|Array|Object} p1 + * @param {number|string|Array|Object} p2 + * @return {number} + */ + comparePairs(p1, p2) + { + return p1[0] > p2[0]? 1 : p1[0] < p2[0]? -1 : 0; + } + + /** + * addSymbols(sModule, addr, len, aSymbols) + * + * As filedump.js (formerly convrom.php) explains, aSymbols is a JSON-encoded object whose properties consist + * of all the symbols (in upper-case), and the values of those properties are objects containing any or all of + * the following properties: + * + * 'v': the value of an absolute (unsized) value + * 'b': either 1, 2, 4 or undefined if an unsized value + * 's': either a hard-coded segment or undefined + * 'o': the offset of the symbol within the associated address space + * 'l': the original-case version of the symbol, present only if it wasn't originally upper-case + * 'a': annotation for the specified offset; eg, the original assembly language, with optional comment + * + * To that list of properties, we also add: + * + * 'p': the physical address (calculated whenever both 's' and 'o' properties are defined) + * + * Note that values for any 'v', 'b', 's' and 'o' properties are unquoted decimal values, and the values + * for any 'l' or 'a' properties are quoted strings. Also, if double-quotes were used in any of the original + * annotation ('a') values, they will have been converted to two single-quotes, so we're responsible for + * converting them back to individual double-quotes. + * + * For example: + * { + * 'HF_PORT': { + * 'v':800 + * }, + * 'HDISK_INT': { + * 'b':4, 's':0, 'o':52 + * }, + * 'ORG_VECTOR': { + * 'b':4, 's':0, 'o':76 + * }, + * 'CMD_BLOCK': { + * 'b':1, 's':64, 'o':66 + * }, + * 'DISK_SETUP': { + * 'o':3 + * }, + * '.40': { + * 'o':40, 'a':"MOV AX,WORD PTR ORG_VECTOR ;GET DISKETTE VECTOR" + * } + * } + * + * If a symbol only has an offset, then that offset value can be assigned to the symbol property directly: + * + * 'DISK_SETUP': 3 + * + * The last property is an example of an "anonymous" entry, for offsets where there is no associated symbol. + * Such entries are identified by a period followed by a unique number (usually the offset of the entry), and + * they usually only contain offset ('o') and annotation ('a') properties. I could eliminate the leading + * period, but it offers a very convenient way of quickly discriminating among genuine vs. anonymous symbols. + * + * We add all these entries to our internal symbol table, which is an array of 4-element arrays, each of which + * look like: + * + * [addr, len, aSymbols, aOffsets] + * + * There are two basic symbol operations: findSymbol(), which takes an address and finds the symbol, if any, + * at that address, and findSymbolAddr(), which takes a string and attempts to match it to a non-anonymous + * symbol with a matching offset ('o') property. + * + * To implement findSymbol() efficiently, addSymbols() creates an array of [offset, sSymbol] pairs + * (aOffsets), one pair for each symbol that corresponds to an offset within the specified address space. + * + * We guarantee the elements of aOffsets are in offset order, because we build it using binaryInsert(); + * it's quite likely that the MAP file already ordered all its symbols in offset order, but since they're + * hand-edited files, we can't assume that, and we need to ensure that findSymbol()'s binarySearch() operates + * properly. + * + * @this {DebuggerPDP11} + * @param {string|null} sModule + * @param {number|null} addr (physical address where the symbols are located, if the memory is physical; eg, ROM) + * @param {number} len (the size of the region, in bytes) + * @param {Object} aSymbols (collection of symbols in this group; the format of this collection is described below) + */ + addSymbols(sModule, addr, len, aSymbols) + { + var dbgAddr = {}; + var aOffsets = []; + for (var sSymbol in aSymbols) { + var symbol = aSymbols[sSymbol]; + if (typeof symbol == "number") { + aSymbols[sSymbol] = symbol = {'o': symbol}; + } + var offSymbol = symbol['o']; + var sAnnotation = symbol['a']; + if (offSymbol !== undefined) { + Usr.binaryInsert(aOffsets, [offSymbol >>> 0, sSymbol], this.comparePairs); + } + if (sAnnotation) symbol['a'] = sAnnotation.replace(/''/g, "\""); + } + var symbolTable = { + sModule: sModule, + addr: addr, + len: len, + aSymbols: aSymbols, + aOffsets: aOffsets + }; + this.aSymbolTable.push(symbolTable); + } + + /** + * dumpSymbols() + * + * TODO: Add "numerical" and "alphabetical" dump options. This is simply dumping them in whatever + * order they appeared in the original MAP file. + * + * @this {DebuggerPDP11} + */ + dumpSymbols() + { + for (var iTable = 0; iTable < this.aSymbolTable.length; iTable++) { + var symbolTable = this.aSymbolTable[iTable]; + for (var sSymbol in symbolTable.aSymbols) { + if (sSymbol.charAt(0) == '.') continue; + var symbol = symbolTable.aSymbols[sSymbol]; + var offSymbol = symbol['o']; + if (offSymbol === undefined) continue; + var sSymbolOrig = symbolTable.aSymbols[sSymbol]['l']; + if (sSymbolOrig) sSymbol = sSymbolOrig; + this.println(this.toStrOffset(offSymbol) + ' ' + sSymbol); + } + } + } + + /** + * findSymbol(dbgAddr, fNearest) + * + * Search aSymbolTable for dbgAddr, and return an Array for the corresponding symbol (empty if not found). + * + * If fNearest is true, and no exact match was found, then the Array returned will contain TWO sets of + * entries: [0]-[3] will refer to closest preceding symbol, and [4]-[7] will refer to the closest subsequent symbol. + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @param {boolean} [fNearest] + * @return {Array} where [0] == symbol name, [1] == symbol value, [2] == any annotation, and [3] == any associated comment + */ + findSymbol(dbgAddr, fNearest) + { + var aSymbol = []; + var addrSymbol = this.getAddr(dbgAddr) >>> 0; + for (var iTable = 0; iTable < this.aSymbolTable.length; iTable++) { + var symbolTable = this.aSymbolTable[iTable]; + var addr = symbolTable.addr >>> 0; + var len = symbolTable.len; + if (addrSymbol >= addr && addrSymbol < addr + len) { + var offSymbol = addrSymbol - addr; + var result = Usr.binarySearch(symbolTable.aOffsets, [offSymbol], this.comparePairs); + if (result >= 0) { + this.returnSymbol(iTable, result, aSymbol); + } + else if (fNearest) { + result = ~result; + this.returnSymbol(iTable, result-1, aSymbol); + this.returnSymbol(iTable, result, aSymbol); + } + break; + } + } + return aSymbol; + } + + /** + * findSymbolAddr(sSymbol) + * + * Search our symbol tables for sSymbol, and if found, return a dbgAddr (same as parseAddr()). + * + * @this {DebuggerPDP11} + * @param {string} sSymbol + * @return {DbgAddrPDP11|undefined} + */ + findSymbolAddr(sSymbol) + { + var dbgAddr; + var offSymbol = this.bus.getAddrByName(sSymbol); + + if (offSymbol == null && sSymbol.match(/^[a-z_][a-z0-9_]*$/i)) { + var sUpperCase = sSymbol.toUpperCase(); + for (var iTable = 0; iTable < this.aSymbolTable.length; iTable++) { + var symbolTable = this.aSymbolTable[iTable]; + var symbol = symbolTable.aSymbols[sUpperCase]; + if (symbol != null) { + offSymbol = symbol['o']; + /* + * If the symbol matched but there's no 'o' offset (ie, it wasn't for an address), there's + * no point looking any farther, since each symbol appears only once. + * + * NOTE: We assume that every ROM is ORG'ed at 0x0000, and therefore unless the symbol has an + * explicitly-defined segment, we return the segment associated with the entire group; for a ROM, + * that segment is normally "addrROM >>> 4". Down the road, we may want/need to support a special + * symbol entry (eg, ".ORG") that defines an alternate origin. + */ + break; + } + } + } + if (offSymbol != null) { + dbgAddr = this.newAddr(offSymbol); + } + return dbgAddr; + } + + /** + * returnSymbol(iTable, iOffset, aSymbol) + * + * Helper function for findSymbol(). + * + * @param {number} iTable + * @param {number} iOffset + * @param {Array} aSymbol is updated with the specified symbol, if it exists + */ + returnSymbol(iTable, iOffset, aSymbol) + { + var symbol = {}; + var aOffsets = this.aSymbolTable[iTable].aOffsets; + var offset = 0, sSymbol = null; + if (iOffset >= 0 && iOffset < aOffsets.length) { + offset = aOffsets[iOffset][0]; + sSymbol = aOffsets[iOffset][1]; + } + if (sSymbol) { + symbol = this.aSymbolTable[iTable].aSymbols[sSymbol]; + sSymbol = (sSymbol.charAt(0) == '.'? null : (symbol['l'] || sSymbol)); + } + aSymbol.push(sSymbol); + aSymbol.push(offset); + aSymbol.push(symbol['a']); + aSymbol.push(symbol['c']); + } + + /** + * doHelp() + * + * @this {DebuggerPDP11} + */ + doHelp() + { + var s = "commands:"; + for (var sCommand in DebuggerPDP11.COMMANDS) { + s += '\n' + Str.pad(sCommand, 9) + DebuggerPDP11.COMMANDS[sCommand]; + } + if (!this.checksEnabled()) s += "\nnote: history disabled if no exec breakpoints"; + this.println(s); + } + + /** + * doAssemble(asArgs) + * + * This always receives the complete argument array, where the order of the arguments is: + * + * [0]: the assemble command (assumed to be "a") + * [1]: the target address (eg, "200") + * [2]: the operation code, aka instruction name (eg, "adc") + * [3]: the operation mode operand, if any (eg, "14", "[1234]", etc) + * + * The Debugger enters "assemble mode" whenever only the first (or first and second) arguments are present. + * As long as "assemble mode is active, the user can omit the first two arguments on all later assemble commands + * until "assemble mode" is cancelled with an empty command line; the command processor automatically prepends "a" + * and the next available target address to the argument array. + * + * Entering "assemble mode" is optional; one could enter a series of fully-qualified assemble commands; eg: + * + * a ff00 cld + * a ff01 ldx 28 + * ... + * + * without ever entering "assemble mode", but of course, that requires more typing and doesn't take advantage + * of automatic target address advancement (see dbgAddrAssemble). + * + * NOTE: As the previous example implies, you can even assemble new instructions into ROM address space; + * as our setByte() function explains, the ROM write-notification handlers only refuse writes from the CPU. + * + * @this {DebuggerPDP11} + * @param {Array.} asArgs is the complete argument array, beginning with the "a" command in asArgs[0] + */ + doAssemble(asArgs) + { + var dbgAddr = this.parseAddr(asArgs[1], true); + if (!dbgAddr) return; + + this.dbgAddrAssemble = dbgAddr; + if (asArgs[2] === undefined) { + this.println("begin assemble at " + this.toStrAddr(dbgAddr)); + this.fAssemble = true; + this.cmp.updateDisplays(); + return; + } + + var aOpBytes = this.parseInstruction(asArgs[2], asArgs[3], dbgAddr); + if (aOpBytes.length) { + for (var i = 0; i < aOpBytes.length; i++) { + this.setByte(dbgAddr, aOpBytes[i], 1); + } + /* + * Since getInstruction() also updates the specified address, dbgAddrAssemble is automatically advanced. + */ + this.println(this.getInstruction(this.dbgAddrAssemble)); + } + } + + /** + * doBreak(sCmd, sAddr, sOptions) + * + * As the "help" output below indicates, the following breakpoint commands are supported: + * + * bp [a] set exec breakpoint on linear addr [a] + * br [a] set read breakpoint on linear addr [a] + * bw [a] set write breakpoint on linear addr [a] + * bc [a] clear breakpoint on linear addr [a] (use "*" for all breakpoints) + * bl list breakpoints + * + * to which we have recently added the following I/O breakpoint commands: + * + * bi [p] toggle input breakpoint on port [p] (use "*" for all input ports) + * bo [p] toggle output breakpoint on port [p] (use "*" for all output ports) + * + * These two new commands operate as toggles so that if "*" is used to trap all input (or output), + * you can also use these commands to NOT trap specific ports. + * + * bn [n] break after [n] instructions + * + * TODO: Update the "bl" command to include any/all I/O breakpoints, and the "bc" command to + * clear them. Because "bi" and "bo" commands are piggy-backing on Bus functions, those breakpoints + * are currently outside the realm of what the "bl" and "bc" commands are aware of. + * + * @this {DebuggerPDP11} + * @param {string} sCmd + * @param {string|undefined} [sAddr] + * @param {string} [sOptions] (the rest of the breakpoint command-line) + */ + doBreak(sCmd, sAddr, sOptions) + { + if (sAddr == '?') { + this.println("breakpoint commands:"); + this.println("\tbp [#]\tset exec breakpoint at addr #"); + this.println("\tbr [#]\tset read breakpoint at addr #"); + this.println("\tbw [#]\tset write breakpoint at addr #"); + this.println("\tbc [#]\tclear breakpoint at addr #"); + this.println("\tbl\tlist all breakpoints"); + this.println("\tbn [#]\tbreak after # instruction(s)"); + return; + } + + var sParm = sCmd.charAt(1); + if (sParm == 'l') { + var cBreaks = 0; + cBreaks += this.listBreakpoints(this.aBreakExec); + cBreaks += this.listBreakpoints(this.aBreakRead); + cBreaks += this.listBreakpoints(this.aBreakWrite); + if (!cBreaks) this.println("no breakpoints"); + return; + } + + if (sParm == 'n') { + this.nBreakInstructions = this.parseValue(sAddr); + this.println("break after " + this.nBreakInstructions + " instruction(s)"); + return; + } + + if (sAddr === undefined) { + this.println("missing breakpoint address"); + return; + } + + var dbgAddr = this.newAddr(); + if (sAddr != '*') { + dbgAddr = this.parseAddr(sAddr, true, true); + if (!dbgAddr) return; + } + + if (sParm == 'c') { + if (dbgAddr.addr == null) { + this.clearBreakpoints(); + this.println("all breakpoints cleared"); + return; + } + if (this.findBreakpoint(this.aBreakExec, dbgAddr, true)) + return; + if (this.findBreakpoint(this.aBreakRead, dbgAddr, true)) + return; + if (this.findBreakpoint(this.aBreakWrite, dbgAddr, true)) + return; + this.println("breakpoint missing: " + this.toStrAddr(dbgAddr)); + return; + } + + if (dbgAddr.addr == null) return; + + this.parseAddrOptions(dbgAddr, sOptions); + + if (sParm == 'p') { + this.addBreakpoint(this.aBreakExec, dbgAddr); + return; + } + if (sParm == 'r') { + this.addBreakpoint(this.aBreakRead, dbgAddr); + return; + } + if (sParm == 'w') { + this.addBreakpoint(this.aBreakWrite, dbgAddr); + return; + } + this.println("unknown breakpoint command: " + sParm); + } + + /** + * doClear(sCmd) + * + * @this {DebuggerPDP11} + * @param {string} [sCmd] (eg, "cls" or "clear") + */ + doClear(sCmd) + { + /* + * TODO: There should be a clear() component method that the Control Panel overrides to perform this function. + */ + if (this.controlPrint) this.controlPrint.value = ""; + } + + /** + * doDump(asArgs) + * + * The length parameter is interpreted as a number of bytes (or words, or dwords) to dump, + * and it is interpreted using the current base. + * + * @this {DebuggerPDP11} + * @param {Array.} asArgs (formerly sCmd, [sAddr], [sLen] and [sBytes]) + */ + doDump(asArgs) + { + var m; + var sCmd = asArgs[0]; + var sAddr = asArgs[1]; + var sLen = asArgs[2]; + var sBytes = asArgs[3]; + + if (sAddr == '?') { + var sDumpers = ""; + for (m in MessagesPDP11.CATEGORIES) { + if (this.afnDumpers[m]) { + if (sDumpers) sDumpers += ','; + sDumpers = sDumpers + m; + } + } + sDumpers += ",state,symbols"; + this.println("dump memory commands:"); + this.println("\tda [a] dump info for address a"); + this.println("\tdb [a] [n] dump n bytes at address a"); + this.println("\tdw [a] [n] dump n words at address a"); + this.println("\tdd [a] [n] dump n dwords at address a"); + this.println("\tds [a] [n] dump n words at address a as JSON"); + this.println("\tdh [p] [n] dump n instructions from history position p"); + if (sDumpers.length) this.println("dump extension commands:\n\t" + sDumpers); + return; + } + + if (sAddr == "state") { + var sState = this.cmp.powerOff(true); + if (sLen == "console") { + /* + * Console buffers are notoriously small, and even the following code, which breaks the + * data into parts (eg, "d state console 1", "d state console 2", etc) just isn't that helpful. + * + * var nPart = +sBytes; + * if (nPart) sState = sState.substr(1000000 * (nPart-1), 1000000); + * + * So, the best way to capture a large machine state is to use the new "Save Machine" link + * that downloads a machine's entire state. Alternatively, run your own local server and use + * server-side storage. Take a look at the "Save" binding in computer.js, which binds an HTML + * control to the computer.powerOff() and computer.saveServerState() functions. + */ + console.log(sState); + } else { + this.doClear(); + if (sState) this.println(sState); + } + return; + } + + if (sAddr == "symbols") { + this.dumpSymbols(); + return; + } + + if (sCmd == "d") { + for (m in MessagesPDP11.CATEGORIES) { + if (asArgs[1] == m) { + var fnDumper = this.afnDumpers[m]; + if (fnDumper) { + asArgs.shift(); + asArgs.shift(); + fnDumper(asArgs); + } else { + this.println("no dump registered for " + sAddr); + } + return; + } + } + if (!sAddr) sCmd = this.sCmdDumpPrev || "dw"; + } else { + this.sCmdDumpPrev = sCmd; + } + + if (sCmd == "dh") { + this.dumpHistory(sAddr, sLen); + return; + } + + var dbgAddr = this.parseAddr(sAddr); + if (!dbgAddr) return; + + if (sCmd == "da") { + /* + * Sample output for a virtual address ("da 23042"): + * + * 00,010,011,000,100,010 00023042 + * OFFSET: 0,011,000,100,010 00003042 + * + KIPAR1: 0,000,001,101,111,010,000,000 00157200 + * & MMUMASK: 1,111,111,111,111,111,111,111 17777777 + * = PHYSICAL: 0,000,001,110,010,010,100,010 00162242 + * + * and sample output for a physical address (eg, "da %37772"; note the % prefix): + * + * 0,000,000,011,111,111,111,010 00037772 + * OFFSET: 1,111,111,111,010 00017772 + * UNIMAP[01]: 1,111,100,001,110,111,000,000 17416700 + * PHYSICAL: 1,111,100,011,110,110,111,010 17436672 + * + * TODO: Tweak this output to accommodate 18-bit machines as well as 22-bit machines. + */ + var fPhysical = (dbgAddr.fPhysical || dbgAddr.addr > 0xffff); + var a = this.cpu.getAddrInfo(dbgAddr.addr, fPhysical); + this.println(Str.pad("", fPhysical? 12: 19) + Str.toBin(dbgAddr.addr, fPhysical? 22 : 17, 3) + " " + Str.toOct(dbgAddr.addr, 8)); + if (a.length < 6) { + if (a.length > 2) { + this.println(" OFFSET: " + Str.toBin(a[3], 13, 3) + " " + Str.toOct(a[3], 8)); + this.println("UNIMAP[" + Str.toDec(a[1], 2) + "]: " + Str.toBin(a[2], 22, 3) + " " + Str.toOct(a[2], 8)); + } + this.println(" PHYSICAL: " + Str.toBin(a[0], 22, 3) + " " + Str.toOct(a[0], 8)) + } else { + this.println(" OFFSET: " + Str.toBin(a[1], 13, 3) + " " + Str.toOct(a[1], 8)); + this.println("+ " + DebuggerPDP11.MODES[a[2]] + "PAR" + a[3] + ": " + Str.toBin(a[4], 22, 3) + " " + Str.toOct(a[4], 8)); + this.println("& MMUMASK: " + Str.toBin(a[5], 22, 3) + " " + Str.toOct(a[5], 8)); + this.println("= PHYSICAL: " + Str.toBin(a[0], 22, 3) + " " + Str.toOct(a[0], 8)) + } + return; + } + + var len = 0; + var fJSON = (sCmd == "ds"); + + if (sLen) { + if (sLen.charAt(0) == 'l') { + sLen = sLen.substr(1) || sBytes; + len = this.parseValue(sLen); + } + else { + var dbgAddrEnd = this.parseAddr(sLen); + if (dbgAddrEnd) len = dbgAddrEnd.addr - dbgAddr.addr; + } + if (len < 0) len = 0; + if (len > 0x10000) len = 0x10000; + } + + var nBase = this.nBase; + if (dbgAddr.nBase) this.nBase = dbgAddr.nBase; + + /* + * I've changed the code below to effectively make "dw" the default if only "d" is specified, + * since this is primarily a word-oriented machine. + */ + var size = (sCmd == "dd"? 4 : (sCmd == "db"? 1 : 2)); + var nBytes = (size * len) || 128; + var nBytesPerLine = fJSON? 16 : this.nBase; + var nLines = (((nBytes + nBytesPerLine - 1) / nBytesPerLine)|0) || 1; + + var sDump = ""; + while (nLines-- && nBytes > 0) { + var sData = "", sChars = ""; + sAddr = this.toStrAddr(dbgAddr); + /* + * Dump 8 bytes per line when using base 8, and dump 16 bytes when using base 16. + * + * And while we used to always call getByte() and assemble them into words or dwords as appropriate, I've + * changed the logic below to honor "dw" by calling getWord(), since the Bus interfaces have been updated + * to prevent generating traps due to to Debugger access of unaligned memory and/or undefined IOPAGE addresses. + * + * Besides, it's nice for "db" and "dw" to generate the same Bus activity that typical byte and word reads do. + */ + var i = nBytesPerLine; + var data = 0, shift = 0; + while (i > 0 && nBytes > 0) { + var n = 1; + var v = size == 1? this.getByte(dbgAddr, n) : this.getWord(dbgAddr, (n = 2)); + data |= (v << (shift << 3)); + shift += n; + if (shift == size) { + if (fJSON) { + if (sData) sData += ","; + sData += "0x"+ Str.toHex(data, size * 2); + } else { + sData += this.toStrBase(data, size); + sData += (size == 1? (i == 9? '-' : ' ') : " "); + } + data = shift = 0; + } + i -= n; nBytes -= n; + while (size == 1 && n--) { + var c = v & 0xff; + sChars += (c >= 32 && c < 128? String.fromCharCode(c) : '.'); + v >>= 8; + } + } + if (sDump) sDump += "\n"; + if (fJSON) { + sDump += sData + ","; + } else { + sDump += sAddr + ": " + sData + ((i == 0)? (' ' + sChars) : ""); + } + } + + if (sDump) this.println(sDump); + + this.dbgAddrNextData = dbgAddr; + this.nBase = nBase; + } + + /** + * doEdit(asArgs) + * + * @this {DebuggerPDP11} + * @param {Array.} asArgs + */ + doEdit(asArgs) + { + var size, mask; + var fnGet, fnSet; + var sCmd = asArgs[0]; + var sAddr = asArgs[1]; + if (sCmd == "eb") { + size = 1; + mask = 0xff; + fnGet = this.getByte; + fnSet = this.setByte; + } + else if (sCmd == "e" || sCmd == "ew") { + size = 2; + mask = 0xffff; + fnGet = this.getWord; + fnSet = this.setWord; + } else { + sAddr = null; + } + if (sAddr == null) { + this.println("edit memory commands:"); + this.println("\teb [a] [...] edit bytes at address a"); + this.println("\tew [a] [...] edit words at address a"); + return; + } + var dbgAddr = this.parseAddr(sAddr); + if (!dbgAddr) return; + for (var i = 2; i < asArgs.length; i++) { + var vNew = this.parseExpression(asArgs[i]); + if (vNew === undefined) { + this.println("unrecognized value: " + asArgs[i]); + break; + } + if (vNew & ~mask) { + this.println("warning: " + Str.toHex(vNew) + " exceeds " + size + "-byte value"); + } + this.println("changing " + this.toStrAddr(dbgAddr) + (this.messageEnabled(MessagesPDP11.BUS)? "" : (" from " + this.toStrBase(fnGet.call(this, dbgAddr), size))) + " to " + this.toStrBase(vNew, size)); + fnSet.call(this, dbgAddr, vNew, size); + } + } + + /** + * doHalt(fQuiet) + * + * @this {DebuggerPDP11} + * @param {boolean} [fQuiet] + */ + doHalt(fQuiet) + { + var sMsg; + if (this.flags.running) { + if (!fQuiet) this.println("halting"); + this.stopCPU(); + } else { + if (this.isBusy(true)) return; + if (!fQuiet) this.println("already halted"); + } + } + + /** + * doIf(sCmd, fQuiet) + * + * NOTE: Don't forget that the default base for all numeric constants is 16 (hex), so when you evaluate + * an expression like "a==10", it will compare the value of the variable "a" to 0x10; use a trailing period + * (eg, "10.") if you really intend decimal. + * + * Also, if no variable named "a" exists, "a" will evaluate to 0x0A, so the expression "a==10" becomes + * "0x0A==0x10" (false), whereas the expression "a==10." becomes "0x0A==0x0A" (true). + * + * @this {DebuggerPDP11} + * @param {string} sCmd + * @param {boolean} [fQuiet] + * @return {boolean} true if expression is non-zero, false if zero (or undefined due to a parse error) + */ + doIf(sCmd, fQuiet) + { + sCmd = Str.trim(sCmd); + if (!this.parseExpression(sCmd)) { + if (!fQuiet) this.println("false: " + sCmd); + return false; + } + if (!fQuiet) this.println("true: " + sCmd); + return true; + } + + /** + * doInfo(asArgs) + * + * @this {DebuggerPDP11} + * @param {Array.} asArgs + * @return {boolean} true only if the instruction info command ("n") is supported + */ + doInfo(asArgs) + { + if (DEBUG) { + this.println("msPerYield: " + this.cpu.msPerYield); + this.println("nCyclesPerYield: " + this.cpu.nCyclesPerYield); + return true; + } + return false; + } + + /** + * doVar(sCmd) + * + * The command must be of the form "{variable} = [{expression}]", where expression may contain constants, + * operators, registers, symbols, other variables, or nothing at all; in the latter case, the variable, if + * any, is deleted. + * + * Other supported shorthand: "var" with no parameters prints the values of all variables, and "var {variable}" + * prints the value of the specified variable. + * + * @this {DebuggerPDP11} + * @param {string} sCmd + * @return {boolean} true if valid "var" assignment, false if not + */ + doVar(sCmd) + { + var a = sCmd.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i); + if (a) { + if (!a[1]) { + if (!this.printVariable()) this.println("no variables"); + return true; // it's not considered an error to print an empty list of variables + } + if (!a[2]) { + return this.printVariable(a[1]); + } + if (!a[3]) { + this.delVariable(a[1]); + return true; // it's not considered an error to delete a variable that didn't exist + } + var v = this.parseExpression(a[3]); + if (v !== undefined) { + this.setVariable(a[1], v); + return true; + } + return false; + } + this.println("invalid assignment:" + sCmd); + return false; + } + + /** + * doList(sAddr, fPrint) + * + * @this {DebuggerPDP11} + * @param {string} sAddr + * @param {boolean} [fPrint] + * @return {string|null} + */ + doList(sAddr, fPrint) + { + var sSymbol = null; + + var dbgAddr = this.parseAddr(sAddr, true); + if (dbgAddr) { + var addr = this.getAddr(dbgAddr); + var aSymbol = this.findSymbol(dbgAddr, true); + if (aSymbol.length) { + var nDelta, sDelta, s; + if (aSymbol[0]) { + sDelta = ""; + nDelta = dbgAddr.addr - aSymbol[1]; + if (nDelta) sDelta = " + " + Str.toHexWord(nDelta); + s = aSymbol[0] + " (" + this.toStrOffset(aSymbol[1]) + ')' + sDelta; + if (fPrint) this.println(s); + sSymbol = s; + } + if (aSymbol.length > 4 && aSymbol[4]) { + sDelta = ""; + nDelta = aSymbol[5] - dbgAddr.addr; + if (nDelta) sDelta = " - " + Str.toHexWord(nDelta); + s = aSymbol[4] + " (" + this.toStrOffset(aSymbol[5]) + ')' + sDelta; + if (fPrint) this.println(s); + if (!sSymbol) sSymbol = s; + } + } else { + if (fPrint) this.println("no symbols"); + } + } + return sSymbol; + } + + /** + * doMessages(asArgs) + * + * @this {DebuggerPDP11} + * @param {Array.} asArgs + */ + doMessages(asArgs) + { + var m; + var fCriteria = null; + var sCategory = asArgs[1]; + if (sCategory == '?') sCategory = undefined; + + if (sCategory !== undefined) { + var bitsMessage = 0; + if (sCategory == "all") { + bitsMessage = (0xffffffff|0) & ~(MessagesPDP11.HALT | MessagesPDP11.KEYS | MessagesPDP11.LOG); + sCategory = null; + } else if (sCategory == "on") { + fCriteria = true; + sCategory = null; + } else if (sCategory == "off") { + fCriteria = false; + sCategory = null; + } else { + /* + * Internally, we use "key" instead of "keys", since the latter is a method on JavasScript objects, + * but externally, we allow the user to specify "keys"; "kbd" is also allowed as shorthand for "keyboard". + */ + if (sCategory == "keys") sCategory = "key"; + if (sCategory == "kbd") sCategory = "keyboard"; + for (m in MessagesPDP11.CATEGORIES) { + if (sCategory == m) { + bitsMessage = MessagesPDP11.CATEGORIES[m]; + fCriteria = !!(this.bitsMessage & bitsMessage); + break; + } + } + if (!bitsMessage) { + this.println("unknown message category: " + sCategory); + return; + } + } + if (bitsMessage) { + if (asArgs[2] == "on") { + this.bitsMessage |= bitsMessage; + fCriteria = true; + } + else if (asArgs[2] == "off") { + this.bitsMessage &= ~bitsMessage; + fCriteria = false; + if (bitsMessage == MessagesPDP11.BUFFER) { + var i = this.aMessageBuffer.length >= 1000? this.aMessageBuffer.length - 1000 : 0; + while (i < this.aMessageBuffer.length) { + this.println(this.aMessageBuffer[i++]); + } + this.aMessageBuffer = []; + } + } + } + } + + /* + * Display those message categories that match the current criteria (on or off) + */ + var n = 0; + var sCategories = ""; + for (m in MessagesPDP11.CATEGORIES) { + if (!sCategory || sCategory == m) { + var bitMessage = MessagesPDP11.CATEGORIES[m]; + var fEnabled = !!(this.bitsMessage & bitMessage); + if (fCriteria !== null && fCriteria != fEnabled) continue; + if (sCategories) sCategories += ','; + if (!(++n % 10)) sCategories += "\n\t"; // jshint ignore:line + /* + * Internally, we use "key" instead of "keys", since the latter is a method on JavasScript objects, + * but externally, we allow the user to specify "keys". + */ + if (m == "key") m = "keys"; + sCategories += m; + } + } + + if (sCategory === undefined) { + this.println("message commands:\n\tm [category] [on|off]\tturn categories on/off"); + } + + this.println((fCriteria !== null? (fCriteria? "messages on: " : "messages off: ") : "message categories:\n\t") + (sCategories || "none")); + + this.historyInit(); // call this just in case MessagesPDP11.INT was turned on + } + + /** + * doOptions(asArgs) + * + * @this {DebuggerPDP11} + * @param {Array.} asArgs + */ + doOptions(asArgs) + { + switch (asArgs[1]) { + + case "base": + if (asArgs[2]) { + var nBase = +asArgs[2]; + if (nBase == 8 || nBase == 10 || nBase == 16) { + this.nBase = nBase; + } else { + this.println("invalid base: " + nBase); + break; + } + } + this.println("default base: " + this.nBase); + break; + + case "cs": + var nCycles; + if (asArgs[3] !== undefined) nCycles = +asArgs[3]; // warning: decimal instead of hex conversion + switch (asArgs[2]) { + case "int": + this.cpu.nCyclesChecksumInterval = nCycles; + break; + case "start": + this.cpu.nCyclesChecksumStart = nCycles; + break; + case "stop": + this.cpu.nCyclesChecksumStop = nCycles; + break; + default: + this.println("unknown cs option"); + return; + } + if (nCycles !== undefined) { + this.cpu.resetChecksum(); + } + this.println("checksums " + (this.cpu.flags.checksum? "enabled" : "disabled")); + return; + + case "sp": + if (asArgs[2] !== undefined) { + if (!this.cpu.setSpeed(+asArgs[2])) { + this.println("warning: using 1x multiplier, previous target not reached"); + } + } + this.println("target speed: " + this.cpu.getSpeedTarget() + " (" + this.cpu.getSpeed() + "x)"); + return; + + default: + if (asArgs[1]) { + this.println("unknown option: " + asArgs[1]); + return; + } + /* falls through */ + + case "?": + this.println("debugger options:"); + this.println("\tbase #\t\tset default base to #"); + this.println("\tcs int #\tset checksum cycle interval to #"); + this.println("\tcs start #\tset checksum cycle start count to #"); + this.println("\tcs stop #\tset checksum cycle stop count to #"); + this.println("\tsp #\t\tset speed multiplier to #"); + break; + } + } + + /** + * doRegisters(asArgs, fInstruction) + * + * @this {DebuggerPDP11} + * @param {Array.} [asArgs] + * @param {boolean} [fInstruction] (true to include the current instruction; default is true) + */ + doRegisters(asArgs, fInstruction) + { + if (asArgs && asArgs[1] == '?') { + this.println("register commands:"); + this.println("\tr\tdump registers"); + this.println("\trm\tdump misc registers"); + this.println("\trx [#]\tset flag or register x to [#]"); + return; + } + + var fMisc = false; + var cpu = this.cpu; + if (fInstruction == null) fInstruction = true; + + if (asArgs != null && asArgs.length > 1) { + var sReg = asArgs[1]; + + if (sReg == 'm') { + fMisc = true; + } + else { + var sValue = null; + var i = sReg.indexOf('='); + if (i > 0) { + sValue = sReg.substr(i + 1); + sReg = sReg.substr(0, i); + } + else if (asArgs.length > 2) { + sValue = asArgs[2]; + } + else { + this.println("missing value for " + asArgs[1]); + return; + } + + var w = this.parseExpression(sValue); + if (w === undefined) return; + + var sRegMatch = sReg.toUpperCase(); + switch (sRegMatch) { + case "SP": + case "R6": + cpu.setSP(w); + break; + case "PC": + case "R7": + cpu.setPC(w); + this.dbgAddrNextCode = this.newAddr(cpu.getPC()); + break; + case "N": + if (w) cpu.setNF(); else cpu.clearNF(); + break; + case "Z": + if (w) cpu.setZF(); else cpu.clearZF(); + break; + case "V": + if (w) cpu.setVF(); else cpu.clearVF(); + break; + case "C": + if (w) cpu.setCF(); else cpu.clearCF(); + break; + case "PS": + cpu.setPSW(w); + break; + case "PI": + cpu.setPIR(w); + break; + case "ER": + cpu.regErr = w; + fMisc = true; + break; + case "SL": + cpu.setSLR(w); + break; + case "M0": + cpu.setMMR0(w); + fMisc = true; + break; + case "M3": + cpu.setMMR3(w); + fMisc = true; + break; + case "AR": + if (this.panel) this.panel.setAR(w); + fMisc = true; + break; + case "DR": + if (this.panel) this.panel.setDR(w); + fMisc = true; + break; + case "SR": + if (this.panel && this.panel.hasSwitches()) { + this.panel.setSR(w); + fMisc = true; + break; + } + /* falls through */ + default: + if (sRegMatch.charAt(0) == 'R') { + var iReg = +sRegMatch.charAt(1); + if (iReg >= 0 && iReg < 6) { + cpu.regsGen[iReg] = w & 0xffff; + break; + } + } + this.println("unknown register: " + sReg); + return; + } + this.cmp.updateDisplays(); + this.println("updated registers:"); + } + } + + this.println(this.getRegDump(fMisc)); + + if (fInstruction) { + this.dbgAddrNextCode = this.newAddr(cpu.getPC()); + this.doUnassemble(this.toStrAddr(this.dbgAddrNextCode)); + } + } + + /** + * doRun(sCmd, sAddr, sOptions, fQuiet) + * + * @this {DebuggerPDP11} + * @param {string} sCmd + * @param {string|undefined} [sAddr] + * @param {string} [sOptions] (the rest of the breakpoint command-line) + * @param {boolean} [fQuiet] + */ + doRun(sCmd, sAddr, sOptions, fQuiet) + { + if (sCmd == "gt") { + this.fIgnoreNextCheckFault = true; + } + if (sAddr !== undefined) { + var dbgAddr = this.parseAddr(sAddr, true); + if (!dbgAddr) return; + this.parseAddrOptions(dbgAddr, sOptions); + this.setTempBreakpoint(dbgAddr); + } + this.startCPU(true, fQuiet); + } + + /** + * doPrint(sCmd) + * + * NOTE: If the string to print is a quoted string, then we run it through replaceRegs(), so that + * you can take advantage of all the special replacement options used for software interrupt logging. + * + * @this {DebuggerPDP11} + * @param {string} sCmd + */ + doPrint(sCmd) + { + sCmd = Str.trim(sCmd); + var a = sCmd.match(/^(['"])(.*?)\1$/); + if (!a) { + this.parseExpression(sCmd, true); + } else { + if (a[2].length > 1) { + this.println(this.replaceRegs(a[2])); + } else { + this.printValue(null, a[2].charCodeAt(0)); + } + } + } + + /** + * doStep(sCmd, sOption) + * + * @this {DebuggerPDP11} + * @param {string} [sCmd] "p" or "pr" + * @param {string} [sOption] + */ + doStep(sCmd, sOption) + { + if (sOption == '?') { + this.println("step commands:"); + this.println("\tp\tstep over instruction"); + this.println("\tpr\tstep over instruction with register update"); + return; + } + + var fCallStep = true; + var nRegs = (sCmd == "pr"? 1 : 0); + /* + * Set up the value for this.nStep (ie, 1 or 2) depending on whether the user wants + * a subsequent register dump ("pr") or not ("p"). + */ + var nStep = 1 + nRegs; + + if (!this.nStep) { + var dbgAddr = this.newAddr(this.cpu.getPC()); + var opCode = this.getWord(dbgAddr); + + if (opCode == PDP11.OPCODE.BPT || opCode == PDP11.OPCODE.IOT || + (opCode & PDP11.OPCODE.EMT_MASK) == PDP11.OPCODE.EMT_OP || + (opCode & PDP11.OPCODE.SOB_MASK) == PDP11.OPCODE.SOB_OP || + (opCode & PDP11.OPCODE.TRAP_MASK) == PDP11.OPCODE.TRAP_OP) { + if (fCallStep) { + this.nStep = nStep; + this.incAddr(dbgAddr, 2); + } + } else if ((opCode & PDP11.OPCODE.JSR_MASK) == PDP11.OPCODE.JSR_OP) { + var s = this.getInstruction(dbgAddr); + this.assert(s.indexOf("JSR") >= 0); + if (fCallStep) { + this.nStep = nStep; + } + } + + if (this.nStep) { + this.setTempBreakpoint(dbgAddr); + if (!this.startCPU()) { + if (this.cmp) this.cmp.setFocus(); + this.nStep = 0; + } + /* + * A successful run will ultimately call stop(), which will in turn call clearTempBreakpoint(), + * which will clear nStep, so there's your assurance that nStep will be reset. Now we may have + * stopped for reasons unrelated to the temporary breakpoint, but that's OK. + */ + } else { + this.doTrace(nRegs? "tr" : "t"); + } + } else { + this.println("step in progress"); + } + } + + /** + * getCall(dbgAddr) + * + * Given a possible return address (typically from the stack), look for a matching CALL (or INT) that + * immediately precedes that address. + * + * @this {DebuggerPDP11} + * @param {DbgAddrPDP11} dbgAddr + * @return {string|null} CALL instruction at or near dbgAddr, or null if none + */ + getCall(dbgAddr) + { + var sCall = null; + var addr = dbgAddr.addr; + var addrOrig = addr; + for (var n = 1; n <= 6 && !!addr; n++) { + if (n > 2) { + dbgAddr.addr = addr; + var s = this.getInstruction(dbgAddr); + if (s.indexOf("JSR") >= 0) { + /* + * Verify that the length of this call, when added to the address of the call, matches + * the original return address. We do this by getting the string index of the opcode bytes, + * subtracting that from the string index of the next space, and dividing that difference + * by two, to yield the length of the CALL (or INT) instruction, in bytes. + */ + var i = s.indexOf(' '); + var j = s.indexOf(' ', i+1); + if (addr + (j - i - 1)/2 == addrOrig) { + sCall = s; + break; + } + } + } + addr -= 2; + } + dbgAddr.addr = addrOrig; + return sCall; + } + + /** + * doStackTrace(sCmd, sAddr) + * + * Use "k" for a normal stack trace and "ks" for a stack trace with symbolic info. + * + * @this {DebuggerPDP11} + * @param {string} [sCmd] + * @param {string} [sAddr] (not used yet) + */ + doStackTrace(sCmd, sAddr) + { + if (sAddr == '?') { + this.println("stack trace commands:"); + this.println("\tk\tshow frame addresses"); + this.println("\tks\tshow symbol information"); + return; + } + + var nFrames = 10, cFrames = 0; + var dbgAddrCall = this.newAddr(); + var dbgAddrStack = this.newAddr(this.cpu.getSP()); + this.println("stack trace for " + this.toStrAddr(dbgAddrStack)); + + while (cFrames < nFrames) { + var sCall = null, sCallPrev = null, cTests = 256; + while ((dbgAddrStack.addr >>> 0) < 0x10000) { + dbgAddrCall.addr = this.getWord(dbgAddrStack, 2); + /* + * Because we're using the auto-increment feature of getWord(), and because that will automatically + * wrap the offset around the end of the segment, we must also check the addr property to detect the wrap. + */ + if (dbgAddrStack.addr == null || !cTests--) break; + if (dbgAddrCall.addr & 0x1) continue; // an odd address on the PDP-11 is not a valid instruction boundary + sCall = this.getCall(dbgAddrCall); + if (sCall) break; + } + /* + * The sCallPrev check eliminates duplicate sequential calls, which are usually (but not always) + * indicative of a false positive, in which case the previous call is probably bogus as well, but + * at least we won't duplicate that mistake. Of course, there are always exceptions, recursion + * being one of them, but it's rare that we're debugging recursive code. + */ + if (!sCall || sCall == sCallPrev) break; + var sSymbol = null; + if (sCmd == "ks") { + var a = sCall.match(/[0-9A-F]+$/); + if (a) sSymbol = this.doList(a[0]); + } + sCall = Str.pad(sCall, 50) + " ;" + (sSymbol || "stack=" + this.toStrAddr(dbgAddrStack)); // + " return=" + this.toStrAddr(dbgAddrCall)); + this.println(sCall); + sCallPrev = sCall; + cFrames++; + } + if (!cFrames) this.println("no return addresses found"); + } + + /** + * doTrace(sCmd, sCount) + * + * The "t" and "tr" commands interpret the count as a number of instructions, and since + * we call the Debugger's stepCPU() for each iteration, a single instruction includes + * any/all prefixes; the CPU's stepCPU() treats prefixes as discrete operations. The only + * difference between "t" and "tr": the former displays only the next instruction, while + * the latter also displays the (updated) registers. + * + * The "tc" command interprets the count as a number of cycles rather than instructions, + * allowing you to quickly execute large chunks of instructions with a single command; it + * doesn't display anything until the the chunk has finished. "tc 1" is also a useful + * command in that it doesn't inhibit interrupts like "t" or "tr" does. + * + * However, generally a more useful command is "bn", which allows you to break after some + * number of instructions have been executed (as opposed to some number of cycles). + * + * @this {DebuggerPDP11} + * @param {string} [sCmd] ("t", "tc", or "tr") + * @param {string} [sCount] # of instructions to step + */ + doTrace(sCmd, sCount) + { + if (sCount == '?') { + this.println("trace commands:"); + this.println("\tt [#]\ttrace # instructions"); + this.println("\ttr [#]\ttrace # instructions with register updates"); + this.println("\ttc [#]\ttrace # cycles"); + this.println("note: bn [#] breaks after # instructions without updates"); + return; + } + + var dbg = this; + var fRegs = (sCmd != "t"); + var nCount = this.parseValue(sCount, null, true) || 1; + + /* + * We used to set nCycles to 1 when a count > 1 was specified, because nCycles set + * to 0 used to mean "execute the next instruction without checking for interrupts". + * Well, this machine's stepCPU() doesn't do that; it ALWAYS checks for interrupts, + * so we should leave nCycles set to 0, so that if an interrupt is dispatched, we will + * get to see the first instruction of the interrupt handler. + */ + var nCycles = 0; // (nCount == 1? 0 : 1); + + if (sCmd == "tc") { + nCycles = nCount; + nCount = 1; + } + this.sCmdTracePrev = sCmd; + + Web.onCountRepeat( + nCount, + function onCountStep() { + return dbg.setBusy(true) && dbg.stepCPU(nCycles, fRegs, false); + }, + function onCountStepComplete() { + /* + * We explicitly called stepCPU() with fUpdateDisplays set to false, because repeatedly + * calling updateDisplays() can be very slow, especially if a Control Panel is present with + * displayLiveRegs enabled, so once the repeat count has been exhausted, we must perform + * a final updateDisplays(). + */ + if (dbg.panel) dbg.panel.stop(); + dbg.cmp.updateDisplays(-1); + dbg.setBusy(false); + } + ); + } + + /** + * doUnassemble(sAddr, sAddrEnd, nLines) + * + * @this {DebuggerPDP11} + * @param {string} [sAddr] + * @param {string} [sAddrEnd] + * @param {number} [nLines] + */ + doUnassemble(sAddr, sAddrEnd, nLines) + { + var dbgAddr = this.parseAddr(sAddr, true); + if (!dbgAddr) return; + + if (nLines === undefined) nLines = 1; + + var nBytes = 0x100; + if (sAddrEnd !== undefined) { + + if (sAddrEnd.charAt(0) == 'l') { + var n = this.parseValue(sAddrEnd.substr(1)); + if (n != null) nLines = n; + } + else { + var dbgAddrEnd = this.parseAddr(sAddrEnd, true); + if (!dbgAddrEnd || dbgAddrEnd.addr < dbgAddr.addr) return; + + nBytes = dbgAddrEnd.addr - dbgAddr.addr; + if (!DEBUG && nBytes > 0x100) { + /* + * Limiting the amount of disassembled code to 256 bytes in non-DEBUG builds is partly to + * prevent the user from wedging the browser by dumping too many lines, but also a recognition + * that, in non-DEBUG builds, this.println() keeps print output buffer truncated to 8Kb anyway. + */ + this.println("range too large"); + return; + } + nLines = -1; + } + } + + var nPrinted = 0; + var sInstruction; + + while (nBytes > 0 && nLines--) { + + var nSequence = (this.isBusy(false) || this.nStep)? this.nCycles : null; + var sComment = (nSequence != null? "cycles" : null); + var aSymbol = this.findSymbol(dbgAddr); + + var addr = dbgAddr.addr; // we snap dbgAddr.addr *after* calling findSymbol(), which re-evaluates it + + if (aSymbol[0] && nLines) { + if (!nPrinted && nLines || aSymbol[0].indexOf('+') < 0) { + var sLabel = aSymbol[0] + ':'; + if (aSymbol[2]) sLabel += ' ' + aSymbol[2]; + this.println(sLabel); + } + } + + if (aSymbol[3]) { + sComment = aSymbol[3]; + nSequence = null; + } + + sInstruction = this.getInstruction(dbgAddr, sComment, nSequence); + + this.println(sInstruction); + this.dbgAddrNextCode = dbgAddr; + nBytes -= dbgAddr.addr - addr; + nPrinted++; + } + } + + /** + * splitArgs(sCmd) + * + * @this {DebuggerPDP11} + * @param {string} sCmd + * @return {Array.} + */ + splitArgs(sCmd) + { + var asArgs = sCmd.replace(/ +/g, ' ').split(' '); + asArgs[0] = asArgs[0].toLowerCase(); + if (asArgs && asArgs.length) { + var s0 = asArgs[0]; + var ch0 = s0.charAt(0); + for (var i = 1; i < s0.length; i++) { + var ch = s0.charAt(i); + if (ch0 == '?' || ch0 == 'r' || ch < 'a' || ch > 'z') { + asArgs[0] = s0.substr(i); + asArgs.unshift(s0.substr(0, i)); + break; + } + } + } + return asArgs; + } + + /** + * doCommand(sCmd, fQuiet) + * + * @this {DebuggerPDP11} + * @param {string} sCmd + * @param {boolean} [fQuiet] + * @return {boolean} true if command processed, false if unrecognized + */ + doCommand(sCmd, fQuiet) + { + var result = true; + + try { + if (!sCmd.length || sCmd == "end") { + if (this.fAssemble) { + this.println("ended assemble at " + this.toStrAddr(this.dbgAddrAssemble)); + this.dbgAddrNextCode = this.dbgAddrAssemble; + this.fAssemble = false; + } + sCmd = ""; + } + else if (!fQuiet) { + var sPrompt = ">> "; + this.println(sPrompt + sCmd); + } + + var ch = sCmd.charAt(0); + if (ch == '"' || ch == "'") return true; + + /* + * Zap the previous message buffer to ensure the new command's output is not tossed out as a repeat. + */ + this.sMessagePrev = null; + + /* + * I've relaxed the !isBusy() requirement, to maximize our ability to issue Debugger commands externally. + */ + if (this.isReady() /* && !this.isBusy(true) */ && sCmd.length > 0) { + + if (this.fAssemble) { + sCmd = "a " + this.toStrAddr(this.dbgAddrAssemble) + ' ' + sCmd; + } + + var fError = false; + var asArgs = this.splitArgs(sCmd); + + switch (asArgs[0].charAt(0)) { + case 'a': + this.doAssemble(asArgs); + break; + case 'b': + this.doBreak(asArgs[0], asArgs[1], sCmd); + break; + case 'c': + this.doClear(asArgs[0]); + break; + case 'd': + if (!COMPILED && sCmd == "debug") { + window.DEBUG = true; + this.println("DEBUG checks on"); + break; + } + this.doDump(asArgs); + break; + case 'e': + if (asArgs[0] == "else") break; + this.doEdit(asArgs); + break; + case 'g': + this.doRun(asArgs[0], asArgs[1], sCmd, fQuiet); + break; + case 'h': + this.doHalt(fQuiet); + break; + case 'i': + if (asArgs[0] == "if") { + if (!this.doIf(sCmd.substr(2), fQuiet)) { + result = false; + } + break; + } + fError = true; + break; + case 'k': + this.doStackTrace(asArgs[0], asArgs[1]); + break; + case 'l': + if (asArgs[0] == "ln") { + this.doList(asArgs[1], true); + break; + } + fError = true; + break; + case 'm': + this.doMessages(asArgs); + break; + case 'p': + if (asArgs[0] == "print") { + this.doPrint(sCmd.substr(5)); + break; + } + this.doStep(asArgs[0], asArgs[1]); + break; + case 'r': + if (sCmd == "reset") { + if (this.cmp) this.cmp.reset(); + break; + } + this.doRegisters(asArgs); + break; + case 's': + this.doOptions(asArgs); + break; + case 't': + this.doTrace(asArgs[0], asArgs[1]); + break; + case 'u': + this.doUnassemble(asArgs[1], asArgs[2], 8); + break; + case 'v': + if (asArgs[0] == "var") { + if (!this.doVar(sCmd.substr(3))) { + result = false; + } + break; + } + if (asArgs[0] == "ver") { + this.println((PDP11.APPNAME || "PDP11") + " version " + (XMLVERSION || PDP11.APPVERSION) + " (" + this.cpu.model + (PDP11.COMPILED? ",RELEASE" : (PDP11.DEBUG? ",DEBUG" : ",NODEBUG")) + (PDP11.TYPEDARRAYS? ",TYPEDARRAYS" : (PDP11.BYTEARRAYS? ",BYTEARRAYS" : ",LONGARRAYS")) + ')'); + this.println(Web.getUserAgent()); + break; + } + fError = true; + break; + case '?': + if (asArgs[1]) { + this.doPrint(sCmd.substr(1)); + break; + } + this.doHelp(); + break; + case 'n': + if (!COMPILED && sCmd == "nodebug") { + window.DEBUG = false; + this.println("DEBUG checks off"); + break; + } + if (this.doInfo(asArgs)) break; + /* falls through */ + default: + fError = true; + break; + } + if (fError) { + this.println("unknown command: " + sCmd); + result = false; + } + } + } catch(e) { + this.println("debugger error: " + (e.stack || e.message)); + result = false; + } + return result; + } + + /** + * doCommands(sCmds, fSave) + * + * @this {DebuggerPDP11} + * @param {string} sCmds + * @param {boolean} [fSave] + * @return {boolean} true if all commands processed, false if not + */ + doCommands(sCmds, fSave) + { + var a = this.parseCommand(sCmds, fSave); + for (var s in a) { + if (!this.doCommand(a[+s])) return false; + } + return true; + } + + /** + * DebuggerPDP11.init() + * + * This function operates on every HTML element of class "debugger", extracting the + * JSON-encoded parameters for the Debugger constructor from the element's "data-value" + * attribute, invoking the constructor to create a Debugger component, and then binding + * any associated HTML controls to the new component. + */ + static init() + { + var aeDbg = Component.getElementsByClass(document, PDP11.APPCLASS, "debugger"); + for (var iDbg = 0; iDbg < aeDbg.length; iDbg++) { + var eDbg = aeDbg[iDbg]; + var parmsDbg = Component.getComponentParms(eDbg); + var dbg = new DebuggerPDP11(parmsDbg); + Component.bindComponentControls(dbg, eDbg, PDP11.APPCLASS); + } + } } if (DEBUGGER) { - Component.subclass(DebuggerPDP11, Debugger); - /* * NOTE: Every DebuggerPDP11 property from here to the first prototype function definition (initBus()) is * considered a "class constant"; most of them use our "all-caps" convention (and all of them SHOULD, but @@ -482,3881 +4369,11 @@ if (DEBUGGER) { DebuggerPDP11.HISTORY_LIMIT = DEBUG? 100000 : 1000; - /** - * initBus(bus, cpu, dbg) - * - * @this {DebuggerPDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ - DebuggerPDP11.prototype.initBus = function(cmp, bus, cpu, dbg) - { - this.bus = bus; - this.cmp = cmp; - this.cpu = cpu; - this.panel = cmp.panel; - - /* - * Re-initialize Debugger message support if necessary - */ - var sMessages = cmp.getMachineParm('messages'); - if (sMessages) this.messageInit(sMessages); - - this.opTable = DebuggerPDP11.OPTABLE; - this.aOpReserved = this.cpu.model < PDP11.MODEL_1145? DebuggerPDP11.OP1145 : []; - - this.messageDump(MessagesPDP11.BUS, function onDumpBus(asArgs) { dbg.dumpBus(asArgs); }); - - this.setReady(); - }; - - /** - * setBinding(sType, sBinding, control, sValue) - * - * @this {DebuggerPDP11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "debugInput") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ - DebuggerPDP11.prototype.setBinding = function(sType, sBinding, control, sValue) - { - var dbg = this; - switch (sBinding) { - - case "debugInput": - this.bindings[sBinding] = control; - this.controlDebug = control; - /* - * For halted machines, this is fine, but for auto-start machines, it can be annoying. - * - * control.focus(); - */ - control.onkeydown = function onKeyDownDebugInput(event) { - var sCmd; - if (event.keyCode == Keys.KEYCODE.CR) { - sCmd = control.value; - control.value = ""; - dbg.doCommands(sCmd, true); - } - else if (event.keyCode == Keys.KEYCODE.ESC) { - control.value = sCmd = ""; - } - else { - if (event.keyCode == Keys.KEYCODE.UP) { - sCmd = dbg.getPrevCommand(); - } - else if (event.keyCode == Keys.KEYCODE.DOWN) { - sCmd = dbg.getNextCommand(); - } - if (sCmd != null) { - var cch = sCmd.length; - control.value = sCmd; - control.setSelectionRange(cch, cch); - } - } - if (sCmd != null && event.preventDefault) event.preventDefault(); - }; - return true; - - case "debugEnter": - this.bindings[sBinding] = control; - web.onClickRepeat( - control, - 500, 100, - function onClickDebugEnter(fRepeat) { - if (dbg.controlDebug) { - var sCmd = dbg.controlDebug.value; - dbg.controlDebug.value = ""; - dbg.doCommands(sCmd, true); - return true; - } - if (DEBUG) dbg.log("no debugger input buffer"); - return false; - } - ); - return true; - - case "step": - this.bindings[sBinding] = control; - web.onClickRepeat( - control, - 500, 100, - function onClickStep(fRepeat) { - var fCompleted = false; - if (!dbg.isBusy(true)) { - dbg.setBusy(true); - fCompleted = dbg.stepCPU(fRepeat? 1 : 0, null); - dbg.setBusy(false); - } - return fCompleted; - } - ); - return true; - - default: - break; - } - return false; - }; - - /** - * setFocus(fScroll) - * - * @this {DebuggerPDP11} - * @param {boolean} [fScroll] (true if you really want the control scrolled into view) - */ - DebuggerPDP11.prototype.setFocus = function(fScroll) - { - if (this.controlDebug) { - /* - * This is the recommended work-around to prevent the browser from scrolling the focused element - * into view. The CPU is not a visual component, so when the CPU wants to set focus, the primary intent - * is to ensure that keyboard input is fielded properly. - */ - var x = 0, y = 0; - if (!fScroll && window) { - x = window.scrollX; - y = window.scrollY; - } - - this.controlDebug.focus(); - - if (!fScroll && window) { - window.scrollTo(x, y); - } - } - }; - - /** - * getAddr(dbgAddr, fWrite, nb) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11|null|undefined} dbgAddr - * @param {boolean} [fWrite] - * @param {number} [nb] number of bytes to check (1 or 2); default is 1 - * @return {number} is the corresponding linear address, or PDP11.ADDR_INVALID - */ - DebuggerPDP11.prototype.getAddr = function(dbgAddr, fWrite, nb) - { - var addr = dbgAddr && dbgAddr.addr; - if (addr == null) { - addr = PDP11.ADDR_INVALID; - } - return addr; - }; - - /** - * mapUnibus(addr) - * - * @this {DebuggerPDP11} - * @param {number} addr - * @return {number} - */ - DebuggerPDP11.prototype.mapUnibus = function(addr) - { - return this.cpu.mapUnibus(addr); - }; - - /** - * getByte(dbgAddr, inc) - * - * We must route all our memory requests through the CPU now, in case paging is enabled. - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {number} [inc] - * @return {number} - */ - DebuggerPDP11.prototype.getByte = function(dbgAddr, inc) - { - var b = 0xff; - var addr = this.getAddr(dbgAddr, false, 1); - if (addr !== PDP11.ADDR_INVALID) { - b = (dbgAddr.fPhysical || addr > 0xffff)? this.bus.getByteDirect(this.mapUnibus(addr)) : this.cpu.getByteSafe(addr); - if (inc) this.incAddr(dbgAddr, inc); - } - return b; - }; - - /** - * getWord(dbgAddr, inc) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {number} [inc] - * @return {number} - */ - DebuggerPDP11.prototype.getWord = function(dbgAddr, inc) - { - var w = 0xffff; - var addr = this.getAddr(dbgAddr, false, 2); - if (addr !== PDP11.ADDR_INVALID) { - w = (dbgAddr.fPhysical || addr > 0xffff)? this.bus.getWordDirect(this.mapUnibus(addr)) : this.cpu.getWordSafe(addr); - if (inc) this.incAddr(dbgAddr, inc); - } - return w; - }; - - /** - * setByte(dbgAddr, b, inc) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {number} b - * @param {number} [inc] - */ - DebuggerPDP11.prototype.setByte = function(dbgAddr, b, inc) - { - var addr = this.getAddr(dbgAddr, true, 1); - if (addr !== PDP11.ADDR_INVALID) { - if (dbgAddr.fPhysical || addr > 0xffff) { - this.bus.setByteDirect(this.mapUnibus(addr), b); - } else { - this.cpu.setByteSafe(addr, b); - } - if (inc) this.incAddr(dbgAddr, inc); - this.cmp.updateDisplays(-1); - } - }; - - /** - * setWord(dbgAddr, w, inc) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {number} w - * @param {number} [inc] - */ - DebuggerPDP11.prototype.setWord = function(dbgAddr, w, inc) - { - var addr = this.getAddr(dbgAddr, true, 2); - if (addr !== PDP11.ADDR_INVALID) { - if (dbgAddr.fPhysical || addr > 0xffff) { - this.bus.setWordDirect(this.mapUnibus(addr), w); - } else { - this.cpu.setWordSafe(addr, w); - } - if (inc) this.incAddr(dbgAddr, inc); - this.cmp.updateDisplays(-1); - } - }; - - /** - * newAddr(addr, fPhysical) - * - * Returns a NEW DbgAddrPDP11 object, initialized with specified values and/or defaults. - * - * @this {DebuggerPDP11} - * @param {number} [addr] - * @param {boolean} [fPhysical] - * @return {DbgAddrPDP11} - */ - DebuggerPDP11.prototype.newAddr = function(addr, fPhysical) - { - return {addr: addr, fPhysical: fPhysical, fTemporary: false}; - }; - - /** - * setAddr(dbgAddr, addr) - * - * Updates an EXISTING DbgAddrPDP11 object, initialized with specified values and/or defaults. - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {number} addr - * @return {DbgAddrPDP11} - */ - DebuggerPDP11.prototype.setAddr = function(dbgAddr, addr) - { - dbgAddr.addr = addr; - dbgAddr.fTemporary = false; - return dbgAddr; - }; - - /** - * packAddr(dbgAddr) - * - * Packs a DbgAddrPDP11 object into an Array suitable for saving in a machine state object. - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @return {Array} - */ - DebuggerPDP11.prototype.packAddr = function(dbgAddr) - { - return [dbgAddr.addr, dbgAddr.fTemporary]; - }; - - /** - * unpackAddr(aAddr) - * - * Unpacks a DbgAddrPDP11 object from an Array created by packAddr() and restored from a saved machine state. - * - * @this {DebuggerPDP11} - * @param {Array} aAddr - * @return {DbgAddrPDP11} - */ - DebuggerPDP11.prototype.unpackAddr = function(aAddr) - { - return {addr: aAddr[0], fTemporary: aAddr[1]}; - }; - - /** - * parseAddr(sAddr, fCode, fNoChecks, fPrint) - * - * Address evaluation and validation (eg, range checks) are no longer performed at this stage. That's - * done later, by getAddr(), which returns PDP11.ADDR_INVALID for invalid segments, out-of-range offsets, - * etc. The Debugger's low-level get/set memory functions verify all getAddr() results, but even if an - * invalid address is passed through to the Bus memory interfaces, the address will simply be masked with - * bus.nBusMask; in the case of PDP11.ADDR_INVALID, that will generally refer to the top of the physical - * address space. - * - * @this {DebuggerPDP11} - * @param {string|undefined} sAddr - * @param {boolean} [fCode] (true if target is code, false if target is data) - * @param {boolean} [fNoChecks] (true when setting breakpoints that may not be valid now, but will be later) - * @param {boolean} [fPrint] - * @return {DbgAddrPDP11|null|undefined} - */ - DebuggerPDP11.prototype.parseAddr = function(sAddr, fCode, fNoChecks, fPrint) - { - var dbgAddr; - var dbgAddrNext = (fCode? this.dbgAddrNextCode : this.dbgAddrNextData); - var addr = dbgAddrNext.addr; - var fPhysical = false, nBase; - if (sAddr !== undefined) { - sAddr = this.parseReference(sAddr); - var ch = sAddr.charAt(0); - if (ch == '%') { - fPhysical = true; - sAddr = sAddr.substr(1); - } - dbgAddr = this.findSymbolAddr(sAddr); - if (dbgAddr) return dbgAddr; - if (sAddr.indexOf("0x") >= 0) { - nBase = 16 - } else if (sAddr.indexOf("0o") >= 0) { - nBase = 8; - } else if (sAddr.indexOf('.') >= 0) { - nBase = 10; - } - addr = this.parseExpression(sAddr, fPrint); - } - if (addr != null) { - dbgAddr = this.newAddr(addr, fPhysical); - dbgAddr.nBase = nBase; - } - return dbgAddr; - }; - - /** - * parseAddrOptions(dbdAddr, sOptions) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {string} [sOptions] - */ - DebuggerPDP11.prototype.parseAddrOptions = function(dbgAddr, sOptions) - { - if (sOptions) { - var a = sOptions.match(/(['"])(.*?)\1/); - if (a) { - dbgAddr.aCmds = this.parseCommand(dbgAddr.sCmd = a[2]); - } - } - }; - - /** - * incAddr(dbgAddr, inc) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {number} [inc] contains value to increment dbgAddr by (default is 1) - */ - DebuggerPDP11.prototype.incAddr = function(dbgAddr, inc) - { - if (dbgAddr.addr != null) { - dbgAddr.addr += (inc || 1); - } - }; - - /** - * toStrOffset(off) - * - * @this {DebuggerPDP11} - * @param {number|null|undefined} [off] - * @return {string} the hex representation of off - */ - DebuggerPDP11.prototype.toStrOffset = function(off) - { - return this.toStrBase(off); - }; - - /** - * toStrAddr(dbgAddr) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @return {string} the hex representation of the address - */ - DebuggerPDP11.prototype.toStrAddr = function(dbgAddr) - { - return (dbgAddr.fPhysical? '%' : '') + this.toStrOffset(dbgAddr.addr); - }; - - /** - * getSZ(dbgAddr, cchMax) - * - * Gets zero-terminated (aka "ASCIIZ") string from dbgAddr. It also stops at the first '$', in case this is - * a '$'-terminated string -- mainly because I'm lazy and didn't feel like writing a separate get() function. - * Yes, a zero-terminated string containing a '$' will be prematurely terminated, and no, I don't care. - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {number} [cchMax] (default is 256) - * @return {string} (and dbgAddr advanced past the terminating zero) - */ - DebuggerPDP11.prototype.getSZ = function(dbgAddr, cchMax) - { - var s = ""; - cchMax = cchMax || 256; - while (s.length < cchMax) { - var b = this.getByte(dbgAddr, 1); - if (!b || b == 0x24 || b >= 127) break; - s += (b >= 32? String.fromCharCode(b) : '.'); - } - return s; - }; - - /** - * dumpBlocks(aBlocks, sAddr) - * - * @this {DebuggerPDP11} - * @param {Array} aBlocks - * @param {string} [sAddr] (optional block address) - */ - DebuggerPDP11.prototype.dumpBlocks = function(aBlocks, sAddr) - { - var addr = 0, i = 0, n = aBlocks.length; - - if (sAddr) { - addr = this.getAddr(this.parseAddr(sAddr)); - if (addr === PDP11.ADDR_INVALID) { - this.println("invalid address: " + sAddr); - return; - } - i = addr >>> this.bus.nBlockShift; - n = 1; - } - - this.println("blockid physical blockaddr used size type"); - this.println("-------- --------- --------- ------ ------ ----"); - - var typePrev = -1, cPrev = 0; - while (n--) { - var block = aBlocks[i]; - if (block.type == typePrev) { - if (!cPrev++) this.println("..."); - } else { - typePrev = block.type; - var sType = MemoryPDP11.TYPE_NAMES[typePrev]; - if (block) { - this.println(str.toHex(block.id, 8) + " %" + str.toHex(i << this.bus.nBlockShift, 8) + " %" + str.toHex(block.addr, 8) + " " + str.toHexWord(block.used) + " " + str.toHexWord(block.size) + " " + sType); - } - if (typePrev != MemoryPDP11.TYPE.NONE) typePrev = -1; - cPrev = 0; - } - addr += this.bus.nBlockSize; - i++; - } - }; - - /** - * dumpBus(asArgs) - * - * Dumps Bus allocations. - * - * @this {DebuggerPDP11} - * @param {Array.} asArgs (asArgs[0] is an optional block address) - */ - DebuggerPDP11.prototype.dumpBus = function(asArgs) - { - this.dumpBlocks(this.bus.aBusBlocks, asArgs[0]); - }; - - /** - * dumpHistory(sPrev, sLines) - * - * If sLines is not a number, it can be a instruction filter. However, for the moment, the only - * supported filter is "call", which filters the history buffer for all CALL and RET instructions - * from the specified previous point forward. - * - * @this {DebuggerPDP11} - * @param {string} [sPrev] is a (decimal) number of instructions to rewind to (default is 10) - * @param {string} [sLines] is a (decimal) number of instructions to print (default is, again, 10) - */ - DebuggerPDP11.prototype.dumpHistory = function(sPrev, sLines) - { - var sMore = ""; - var cHistory = 0; - var iHistory = this.iInstructionHistory; - var aHistory = this.aInstructionHistory; - - if (aHistory.length) { - var nPrev = +sPrev || this.nextHistory; - var nLines = +sLines || 10; - - if (isNaN(nPrev)) { - nPrev = nLines; - } else { - sMore = "more "; - } - - if (nPrev > aHistory.length) { - this.println("note: only " + aHistory.length + " available"); - nPrev = aHistory.length; - } - - iHistory -= nPrev; - if (iHistory < 0) { - /* - * If the dbgAddr of the last aHistory element contains a valid selector, wrap around. - */ - if (aHistory[aHistory.length - 1].addr == null) { - nPrev = iHistory + nPrev; - iHistory = 0; - } else { - iHistory += aHistory.length; - } - } - - var aFilters = []; - if (sLines == "call") { - nLines = 100000; - aFilters = ["CALL"]; - } - - if (sPrev !== undefined) { - this.println(nPrev + " instructions earlier:"); - } - - /* - * TODO: The following is necessary to prevent dumpHistory() from causing additional (or worse, recursive) - * faults due to segmented addresses that are no longer valid, but the only alternative is to dramatically - * increase the amount of memory used to store instruction history (eg, storing copies of all the instruction - * bytes alongside the execution addresses). - * - * For now, we're living dangerously, so that our history dumps actually work. - * - * this.nSuppressBreaks++; - * - * If you re-enable this protection, be sure to re-enable the decrement below, too. - */ - while (nLines > 0 && iHistory != this.iInstructionHistory) { - - var dbgAddr = aHistory[iHistory++]; - if (dbgAddr.addr == null) break; - - /* - * We must create a new dbgAddr from the address in aHistory, because dbgAddr was - * a reference, not a copy, and we don't want getInstruction() modifying the original. - */ - var dbgAddrNew = this.newAddr(dbgAddr.addr); - - var sComment = "history"; - var nSequence = nPrev--; - - /* - * TODO: Need to some UI to control whether cycle counts are displayed as part of the history. - * It's currently disabled in checkInstruction(), so it's disable here, too. - * - if (DEBUG && dbgAddr.cycleCount != null) { - sComment = "cycles"; - nSequence = dbgAddr.cycleCount; - } - */ - - var sInstruction = this.getInstruction(dbgAddrNew, sComment, nSequence); - - if (!aFilters.length || sInstruction.indexOf(aFilters[0]) >= 0) { - this.println(sInstruction); - } - - /* - * If there were OPERAND or ADDRESS overrides on the previous instruction, getInstruction() - * will have automatically disassembled additional bytes, so skip additional history entries. - */ - if (dbgAddrNew.cOverrides) { - iHistory += dbgAddrNew.cOverrides; nLines -= dbgAddrNew.cOverrides; nPrev -= dbgAddrNew.cOverrides; - } - - if (iHistory >= aHistory.length) iHistory = 0; - this.nextHistory = nPrev; - cHistory++; - nLines--; - } - /* - * See comments above. - * - * this.nSuppressBreaks--; - */ - } - - if (!cHistory) { - this.println("no " + sMore + "history available"); - this.nextHistory = undefined; - } - }; - - /** - * messageInit(sEnable) - * - * @this {DebuggerPDP11} - * @param {string|undefined} sEnable contains zero or more message categories to enable, separated by '|' - */ - DebuggerPDP11.prototype.messageInit = function(sEnable) - { - this.dbg = this; - this.bitsMessage = this.bitsWarning = MessagesPDP11.WARN; - this.sMessagePrev = null; - this.aMessageBuffer = []; - /* - * Internally, we use "key" instead of "keys", since the latter is a method on JavasScript objects, - * but externally, we allow the user to specify "keys"; "kbd" is also allowed as shorthand for "keyboard". - */ - var aEnable = this.parseCommand(sEnable.replace("keys","key").replace("kbd","keyboard"), false, '|'); - if (aEnable.length) { - for (var m in MessagesPDP11.CATEGORIES) { - if (usr.indexOf(aEnable, m) >= 0) { - this.bitsMessage |= MessagesPDP11.CATEGORIES[m]; - this.println(m + " messages enabled"); - } - } - } - }; - - /** - * messageDump(bitMessage, fnDumper) - * - * @this {DebuggerPDP11} - * @param {number} bitMessage is one Messages category flag - * @param {function(Array.)} fnDumper is a function the Debugger can use to dump data for that category - * @return {boolean} true if successfully registered, false if not - */ - DebuggerPDP11.prototype.messageDump = function(bitMessage, fnDumper) - { - for (var m in MessagesPDP11.CATEGORIES) { - if (bitMessage == MessagesPDP11.CATEGORIES[m]) { - this.afnDumpers[m] = fnDumper; - return true; - } - } - return false; - }; - - /** - * getRegIndex(sReg, off) - * - * @this {DebuggerPDP11} - * @param {string} sReg - * @param {number} [off] optional offset into sReg - * @return {number} register index, or -1 if not found - */ - DebuggerPDP11.prototype.getRegIndex = function(sReg, off) - { - sReg = sReg.toUpperCase(); - var iReg = DebuggerPDP11.REGS[sReg]; - if (iReg == null) { - iReg = -1; - if (sReg.charAt(0) == "R") { - iReg = +sReg.charAt(1); - if (iReg < 0 || iReg > 7) iReg = -1; - } - } - return iReg; - }; - - /** - * getRegName(iReg) - * - * @this {DebuggerPDP11} - * @param {number} iReg (0-7; not used for other registers) - * @return {string} - */ - DebuggerPDP11.prototype.getRegName = function(iReg) - { - return (iReg < 6? ("R" + iReg) : (iReg == 6? "SP" : "PC")); - }; - - /** - * getRegValue(iReg) - * - * Register numbers 0-7 are reserved for cpu.regsGen, 8-15 are reserved for cpu.regsAlt, - * 16-19 for cpu.regsAltStack, 20 for regPSW, etc. - * - * @this {DebuggerPDP11} - * @param {number} iReg - * @return {number|undefined} - */ - DebuggerPDP11.prototype.getRegValue = function(iReg) - { - var value; - if (iReg >= 0) { - if (iReg < 8) { - value = this.cpu.regsGen[iReg]; - } - else if (iReg < 16) { - value = this.cpu.regsAlt[iReg-8]; - } - else if (iReg < 20) { - value = this.cpu.regsAltStack[iReg-16]; - } - else { - var cpu = this.cpu; - var panel = this.panel; - switch(iReg) { - case DebuggerPDP11.REG_PS: - value = this.cpu.getPSW(); - break; - case DebuggerPDP11.REG_PI: - value = cpu.getPIR(); - break; - case DebuggerPDP11.REG_ER: - value = cpu.regErr; - break; - case DebuggerPDP11.REG_SL: - value = cpu.getSLR(); - break; - case DebuggerPDP11.REG_M0: - value = cpu.getMMR0(); - break; - case DebuggerPDP11.REG_M1: - value = cpu.getMMR1(); - break; - case DebuggerPDP11.REG_M2: - value = cpu.getMMR2(); - break; - case DebuggerPDP11.REG_M3: - value = cpu.getMMR3(); - break; - case DebuggerPDP11.REG_AR: - if (panel) value = panel.getAR(); - break; - case DebuggerPDP11.REG_DR: - if (panel) value = panel.getDR(); - break; - case DebuggerPDP11.REG_SR: - if (panel && panel.hasSwitches()) { - value = panel.getSR(); - } - break; - } - } - } - return value; - }; - - /** - * replaceRegs(s) - * - * TODO: Implement or eliminate. - * - * @this {DebuggerPDP11} - * @param {string} s - * @return {string} - */ - DebuggerPDP11.prototype.replaceRegs = function(s) - { - return s; - }; - - /** - * message(sMessage, fAddress) - * - * @this {DebuggerPDP11} - * @param {string} sMessage is any caller-defined message string - * @param {boolean} [fAddress] is true to display the current address - */ - DebuggerPDP11.prototype.message = function(sMessage, fAddress) - { - if (fAddress) { - sMessage += " @" + this.toStrAddr(this.newAddr(this.cpu.getLastPC())); - } - - if (this.sMessagePrev && sMessage == this.sMessagePrev) return; - this.sMessagePrev = sMessage; - - if (this.bitsMessage & MessagesPDP11.BUFFER) { - this.aMessageBuffer.push(sMessage); - return; - } - - var fRunning; - if ((this.bitsMessage & MessagesPDP11.HALT) && this.cpu && (fRunning = this.cpu.isRunning()) || this.isBusy(true)) { - this.stopCPU(); - if (fRunning) sMessage += " (cpu halted)"; - } - - this.println(sMessage); // + " (" + this.cpu.getCycles() + " cycles)" - - /* - * We have no idea what the frequency of println() calls might be; all we know is that they easily - * screw up the CPU's careful assumptions about cycles per burst. So we call yieldCPU() after every - * message, to effectively end the current burst and start fresh. - * - * TODO: See CPUPDP11.calcStartTime() for a discussion of why we might want to call yieldCPU() *before* - * we display the message. - */ - if (this.cpu) this.cpu.yieldCPU(); - }; - - /** - * init() - * - * @this {DebuggerPDP11} - * @param {boolean} [fAutoStart] - */ - DebuggerPDP11.prototype.init = function(fAutoStart) - { - this.fInit = true; - this.println("Type ? for help with PDPjs Debugger commands"); - this.updateStatus(); - if (!fAutoStart) this.setFocus(); - if (this.sInitCommands) { - var sCmds = this.sInitCommands; - this.sInitCommands = null; - this.doCommands(sCmds); - } - }; - - /** - * historyInit(fQuiet) - * - * This function is intended to be called by the constructor, reset(), addBreakpoint(), findBreakpoint() - * and any other function that changes the checksEnabled() criteria used to decide whether checkInstruction() - * should be called. - * - * That is, if the history arrays need to be allocated and haven't already been allocated, then allocate them, - * and if the arrays are no longer needed, then deallocate them. - * - * @this {DebuggerPDP11} - * @param {boolean} [fQuiet] - */ - DebuggerPDP11.prototype.historyInit = function(fQuiet) - { - var i; - if (!this.checksEnabled()) { - if (this.aInstructionHistory && this.aInstructionHistory.length && !fQuiet) { - this.println("instruction history buffer freed"); - } - this.iInstructionHistory = 0; - this.aInstructionHistory = []; - return; - } - if (!this.aInstructionHistory || !this.aInstructionHistory.length) { - this.aInstructionHistory = new Array(DebuggerPDP11.HISTORY_LIMIT); - for (i = 0; i < this.aInstructionHistory.length; i++) { - /* - * Preallocate dummy Addr (Array) objects in every history slot, so that - * checkInstruction() doesn't need to call newAddr() on every slot update. - */ - this.aInstructionHistory[i] = this.newAddr(); - } - this.iInstructionHistory = 0; - if (!fQuiet) { - this.println("instruction history buffer allocated"); - } - } - }; - - /** - * startCPU(fUpdateFocus, fQuiet) - * - * @this {DebuggerPDP11} - * @param {boolean} [fUpdateFocus] is true to update focus - * @param {boolean} [fQuiet] - * @return {boolean} true if run request successful, false if not - */ - DebuggerPDP11.prototype.startCPU = function(fUpdateFocus, fQuiet) - { - if (!this.checkCPU(fQuiet)) return false; - this.cpu.startCPU(fUpdateFocus); - return true; - }; - - /** - * stepCPU(nCycles, fRegs, fUpdateDisplays) - * - * @this {DebuggerPDP11} - * @param {number} nCycles (0 for one instruction without checking breakpoints) - * @param {boolean|null} [fRegs] is true to display registers after step (default is false; use null for previous setting) - * @param {boolean} [fUpdateDisplays] is false to disable Computer display updates (default is true) - * @return {boolean} - */ - DebuggerPDP11.prototype.stepCPU = function(nCycles, fRegs, fUpdateDisplays) - { - if (!this.checkCPU()) return false; - - if (fRegs === null) { - fRegs = (!this.sTraceCmdPrev || this.sTraceCmdPrev == "tr"); - } - - this.nCycles = 0; - - if (!nCycles) { - /* - * When single-stepping, the CPU won't call checkInstruction(), which is good for - * avoiding breakpoints, but bad for instruction data collection if checks are enabled. - * So we call checkInstruction() ourselves. - */ - if (this.checksEnabled()) this.checkInstruction(this.cpu.getPC(), 0); - } - /* - * For our typically tiny bursts (usually single instructions), mimic what runCPU() does. - */ - try { - nCycles = this.cpu.getBurstCycles(nCycles); - var nCyclesStep = this.cpu.stepCPU(nCycles); - if (nCyclesStep > 0) { - this.cpu.updateTimers(nCyclesStep); - this.nCycles += nCyclesStep; - this.cpu.addCycles(nCyclesStep, true); - this.cpu.updateChecksum(nCyclesStep); - this.cInstructions++; - } - } - catch(exception) { - /* - * We assume that any numeric exception was explicitly thrown by the CPU to interrupt the - * current instruction. For all other exceptions, we attempt a stack dump. - */ - if (typeof exception != "number") { - var e = exception; - this.nCycles = 0; - this.cpu.setError(e.stack || e.message); - } - } - - /* - * Because we called cpu.stepCPU() and not cpu.startCPU(), we must nudge the Computer's update code, - * and then update our own state. Normally, the only time fUpdateDisplays will be false is when doTrace() - * is calling us in a loop, in which case it will perform its own updateDisplays() when it's done. - */ - if (fUpdateDisplays !== false) { - if (this.panel) this.panel.stop(); - this.cmp.updateDisplays(-1); - } - - this.updateStatus(fRegs || false); - return (this.nCycles > 0); - }; - - /** - * stopCPU() - * - * @this {DebuggerPDP11} - * @param {boolean} [fComplete] - */ - DebuggerPDP11.prototype.stopCPU = function(fComplete) - { - if (this.cpu) this.cpu.stopCPU(fComplete); - }; - - /** - * updateStatus(fRegs) - * - * @this {DebuggerPDP11} - * @param {boolean} [fRegs] (default is true) - */ - DebuggerPDP11.prototype.updateStatus = function(fRegs) - { - if (!this.fInit) return; - - if (fRegs === undefined) fRegs = true; - - var trapStatus = this.cpu.getTrapStatus(); - if (trapStatus) { - var reason = trapStatus >> 8; - var sReason = reason < 0? PDP11.REASONS[-reason] : this.toStrBase(reason); - this.println("trapped to " + this.toStrBase(trapStatus & 0xff, 1) + " (" + sReason + ")"); - } - - this.dbgAddrNextCode = this.newAddr(this.cpu.getPC()); - /* - * this.nStep used to be a simple boolean, but now it's 0 (or undefined) - * if inactive, 1 if stepping over an instruction without a register dump, or 2 - * if stepping over an instruction with a register dump. - */ - if (!fRegs || this.nStep == 1) - this.doUnassemble(); - else { - this.doRegisters(); - } - }; - - /** - * checkCPU(fQuiet) - * - * Make sure the CPU is ready (finished initializing), powered, not already running, and not in an error state. - * - * @this {DebuggerPDP11} - * @param {boolean} [fQuiet] - * @return {boolean} - */ - DebuggerPDP11.prototype.checkCPU = function(fQuiet) - { - if (!this.cpu || !this.cpu.isReady() || !this.cpu.isPowered() || this.cpu.isRunning()) { - if (!fQuiet) this.println("cpu busy or unavailable, command ignored"); - return false; - } - return !this.cpu.isError(); - }; - - /** - * powerUp(data, fRepower) - * - * @this {DebuggerPDP11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ - DebuggerPDP11.prototype.powerUp = function(data, fRepower) - { - if (!fRepower) { - /* - * Because Debugger save/restore support is somewhat limited (and didn't always exist), - * we deviate from the typical save/restore design pattern: instead of reset OR restore, - * we always reset and then perform a (potentially limited) restore. - */ - this.reset(true); - - // this.println(data? "resuming" : "powering up"); - - if (data && this.restore) { - if (!this.restore(data)) return false; - } - } - return true; - }; - - /** - * powerDown(fSave, fShutdown) - * - * @this {DebuggerPDP11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} - */ - DebuggerPDP11.prototype.powerDown = function(fSave, fShutdown) - { - if (fShutdown) this.println(fSave? "suspending" : "shutting down"); - return fSave? this.save() : true; - }; - - /** - * reset(fQuiet) - * - * This is a notification handler, called by the Computer, to inform us of a reset. - * - * @this {DebuggerPDP11} - * @param {boolean} fQuiet (true only when called from our own powerUp handler) - */ - DebuggerPDP11.prototype.reset = function(fQuiet) - { - this.historyInit(); - this.cInstructions = this.cInstructionsStart = 0; - this.sMessagePrev = null; - this.nCycles = 0; - this.dbgAddrNextCode = this.newAddr(this.cpu.getPC()); - /* - * fRunning is set by start() and cleared by stop(). In addition, we clear - * it here, so that if the CPU is reset while running, we can prevent stop() - * from unnecessarily dumping the CPU state. - */ - this.flags.running = false; - this.clearTempBreakpoint(); - if (!fQuiet) this.updateStatus(); - }; - - /** - * save() - * - * This implements (very rudimentary) save support for the Debugger component. - * - * @this {DebuggerPDP11} - * @return {Object} - */ - DebuggerPDP11.prototype.save = function() - { - var state = new State(this); - state.set(0, this.packAddr(this.dbgAddrNextCode)); - state.set(1, this.packAddr(this.dbgAddrAssemble)); - state.set(2, [this.aPrevCmds, this.fAssemble, this.bitsMessage]); - state.set(3, this.aSymbolTable); - return state.data(); - }; - - /** - * restore(data) - * - * This implements (very rudimentary) restore support for the Debugger component. - * - * @this {DebuggerPDP11} - * @param {Object} data - * @return {boolean} true if successful, false if failure - */ - DebuggerPDP11.prototype.restore = function(data) - { - var i = 0; - if (data[2] !== undefined) { - this.dbgAddrNextCode = this.unpackAddr(data[i++]); - this.dbgAddrAssemble = this.unpackAddr(data[i++]); - this.aPrevCmds = data[i][0]; - if (typeof this.aPrevCmds == "string") this.aPrevCmds = [this.aPrevCmds]; - this.fAssemble = data[i][1]; - this.bitsMessage |= data[i][2]; // keep our current message bits set, and simply "add" any extra bits defined by the saved state - } - if (data[3]) this.aSymbolTable = data[3]; - return true; - }; - - /** - * start(ms, nCycles) - * - * This is a notification handler, called by the Computer, to inform us the CPU has started. - * - * @this {DebuggerPDP11} - * @param {number} ms - * @param {number} nCycles - */ - DebuggerPDP11.prototype.start = function(ms, nCycles) - { - if (!this.nStep) this.println("running"); - this.flags.running = true; - this.msStart = ms; - this.nCyclesStart = nCycles; - }; - - /** - * stop(ms, nCycles) - * - * This is a notification handler, called by the Computer, to inform us the CPU has now stopped. - * - * @this {DebuggerPDP11} - * @param {number} ms - * @param {number} nCycles - */ - DebuggerPDP11.prototype.stop = function(ms, nCycles) - { - if (this.flags.running) { - this.flags.running = false; - this.nCycles = nCycles - this.nCyclesStart; - if (!this.nStep) { - var sStopped = "stopped"; - if (this.nCycles) { - var msTotal = ms - this.msStart; - var nCyclesPerSecond = (msTotal > 0? Math.round(this.nCycles * 1000 / msTotal) : 0); - sStopped += " ("; - if (this.checksEnabled()) { - sStopped += this.cInstructions + " instructions, "; - /* - * $ops displays progress by calculating cInstructions - cInstructionsStart, so before - * zeroing cInstructions, we should subtract cInstructions from cInstructionsStart (since - * we're effectively subtracting cInstructions from cInstructions as well). - */ - this.cInstructionsStart -= this.cInstructions; - this.cInstructions = 0; - } - sStopped += this.nCycles + " cycles, " + msTotal + " ms, " + nCyclesPerSecond + " hz)"; - } else { - if (this.messageEnabled(MessagesPDP11.HALT)) { - /* - * It's possible the user is trying to 'g' past a fault that was blocked by helpCheckFault() - * for the Debugger's benefit; if so, it will continue to be blocked, so try displaying a helpful - * message (another helpful tip would be to simply turn off the "halt" message category). - */ - sStopped += " (use the 't' command to execute blocked faults)"; - } - } - this.println(sStopped); - } - this.updateStatus(true); - this.setFocus(); - this.clearTempBreakpoint(this.cpu.getPC()); - this.sMessagePrev = null; - } - }; - - /** - * checksEnabled(fRelease) - * - * This "check" function is called by the CPU; we indicate whether or not every instruction needs to be checked. - * - * Originally, this returned true even when there were only read and/or write breakpoints, but those breakpoints - * no longer require the intervention of checkInstruction(); the Bus component automatically swaps in/out appropriate - * "checked" Memory access functions to deal with those breakpoints in the corresponding Memory blocks. So I've - * simplified the test below. - * - * @this {DebuggerPDP11} - * @param {boolean} [fRelease] is true for release criteria only; default is false (any criteria) - * @return {boolean} true if every instruction needs to pass through checkInstruction(), false if not - */ - DebuggerPDP11.prototype.checksEnabled = function(fRelease) - { - return ((DEBUG && !fRelease)? true : (this.aBreakExec.length > 1 || !!this.nBreakInstructions)); - }; - - /** - * checkInstruction(addr, nState) - * - * This "check" function is called by the CPU to inform us about the next instruction to be executed, - * giving us an opportunity to look for "exec" breakpoints and update opcode instruction history. - * - * @this {DebuggerPDP11} - * @param {number} addr - * @param {number} nState is < 0 if stepping, 0 if starting, or > 0 if running - * @return {boolean} true if breakpoint hit, false if not - */ - DebuggerPDP11.prototype.checkInstruction = function(addr, nState) - { - var opCode = -1; - var cpu = this.cpu; - - /* - * If opHalt() calls our stopInstruction() function, it will effectively rewind the PC back to the HALT, - * purely for our debugging benefit, so we must compensate for that here by advancing the PC past the HALT - * when the machine starts up again. - */ - if (!nState) { - opCode = this.cpu.getWordSafe(addr); - /* - * We have to be careful about this HALT-skipping code, because as fate would have it, I inadvertently - * stopped the following diagnostic with a breakpoint *on* a HALT instruction: - * - * .R EKBEE1 - * EKBEE1.BIC - * - * CEKBEE0 11/70 MEM MGMT - * - * CPU UNDER TEST FOUND TO BE A KB11-CM - * bp 033330 hit - * stopped (28339757 instructions, 123994176 cycles, 19177 ms, 6465775 hz) - * R0=140000 R1=033330 R2=100143 R3=133260 R4=000000 R5=177700 - * SP=000600 PC=033330 PS=140000 IR=000000 SL=000377 T0 N0 Z0 V0 C0 - * 033330: 000000 HALT - * - * Since we haven't executed the HALT yet, it would be wrong (and would cause a diagnostic failure) to - * skip over it. In this particular case, the PDR for the address of the HALT instruction was invalid, - * so the HALT gets fetched but not executed. - * - * My first thought was that maybe we need to probe the address more thoroughly (getWordSafe() does - * not), but it should be sufficient to simply confirm that the PC of the last opcode executed matches - * the addr of this HALT. - * - * Yes, I could save myself this grief by eliminating these PC hacks, both here and in stopInstruction(), - * but I still think it's a useful debugging aid. - */ - if (opCode == PDP11.OPCODE.HALT && this.cpu.getLastPC() == addr) { - addr = this.cpu.advancePC(2); - } - } - - /* - * If the CPU stopped on a breakpoint, we're not interested in stopping again if the machine is starting. - */ - if (nState > 0) { - if (this.nBreakInstructions) { - if (!--this.nBreakInstructions) return true; - } - if (this.checkBreakpoint(addr, 1, this.aBreakExec)) { - return true; - } - } - - /* - * The rest of the instruction tracking logic can only be performed if historyInit() has allocated the - * necessary data structures. Note that there is no explicit UI for enabling/disabling history, other than - * adding/removing breakpoints, simply because it's breakpoints that trigger the call to checkInstruction(); - * well, OK, and a few other things now, like enabling MessagesPDP11.INT messages. - */ - if (nState >= 0 && this.aInstructionHistory.length) { - this.cInstructions++; - if (opCode < 0) { - opCode = this.cpu.getWordSafe(addr); - } - if ((opCode & 0xffff) != PDP11.OPCODE.INVALID) { - var dbgAddr = this.aInstructionHistory[this.iInstructionHistory]; - this.setAddr(dbgAddr, addr); - // if (DEBUG) dbgAddr.cycleCount = cpu.getCycles(); - if (++this.iInstructionHistory == this.aInstructionHistory.length) this.iInstructionHistory = 0; - } - } - return false; - }; - - /** - * stopInstruction(sMessage) - * - * TODO: Currently, the only way to prevent this call from stopping the CPU is when you're single-stepping. - * - * @this {DebuggerPDP11} - * @param {string} [sMessage] - * @return {boolean} true if stopping is enabled, false if not - */ - DebuggerPDP11.prototype.stopInstruction = function(sMessage) - { - var cpu = this.cpu; - if (cpu.isRunning()) { - cpu.setPC(this.cpu.getLastPC()); - if (sMessage) this.println(sMessage); - this.stopCPU(); - /* - * TODO: Review the appropriate-ness of throwing a bogus vector number in order to immediately stop - * the instruction. It's handy, but it also means that we no longer actually return true, so callers - * of either stopInstruction() or undefinedInstruction() may have unreachable code paths. - */ - throw -1; - } - return false; - }; - - /** - * undefinedInstruction(opCode) - * - * @this {DebuggerPDP11} - * @param {number} opCode - * @return {boolean} true if stopping is enabled, false if not - */ - DebuggerPDP11.prototype.undefinedInstruction = function(opCode) - { - if (this.messageEnabled(MessagesPDP11.CPU)) { - this.printMessage("undefined opcode " + this.toStrBase(opCode), true, true); - return this.stopInstruction(); // allow the caller to step over it if they really want a trap generated - } - return false; - }; - - /** - * checkMemoryRead(addr, nb) - * - * This "check" function is called by a Memory block to inform us that a memory read occurred, giving us an - * opportunity to track the read if we want, and look for a matching "read" breakpoint, if any. - * - * In the "old days", it would be an error for this call to fail to find a matching Debugger breakpoint, but now - * Memory blocks have no idea whether the Debugger or the machine's Debug register(s) triggered this "checked" read. - * - * If we return true, we "trump" the machine's Debug register(s); false allows normal Debug register processing. - * - * @this {DebuggerPDP11} - * @param {number} addr - * @param {number} [nb] (# of bytes; default is 1) - * @return {boolean} true if breakpoint hit, false if not - */ - DebuggerPDP11.prototype.checkMemoryRead = function(addr, nb) - { - if (this.checkBreakpoint(addr, nb || 1, this.aBreakRead)) { - this.stopCPU(true); - return true; - } - return false; - }; - - /** - * checkMemoryWrite(addr, nb) - * - * This "check" function is called by a Memory block to inform us that a memory write occurred, giving us an - * opportunity to track the write if we want, and look for a matching "write" breakpoint, if any. - * - * In the "old days", it would be an error for this call to fail to find a matching Debugger breakpoint, but now - * Memory blocks have no idea whether the Debugger or the machine's Debug register(s) triggered this "checked" write. - * - * If we return true, we "trump" the machine's Debug register(s); false allows normal Debug register processing. - * - * @this {DebuggerPDP11} - * @param {number} addr - * @param {number} [nb] (# of bytes; default is 1) - * @return {boolean} true if breakpoint hit, false if not - */ - DebuggerPDP11.prototype.checkMemoryWrite = function(addr, nb) - { - if (this.checkBreakpoint(addr, nb || 1, this.aBreakWrite)) { - this.stopCPU(true); - return true; - } - return false; - }; - - /** - * clearBreakpoints() - * - * @this {DebuggerPDP11} - */ - DebuggerPDP11.prototype.clearBreakpoints = function() - { - var i, dbgAddr, addr; - this.aBreakExec = ["bp"]; - if (this.aBreakRead !== undefined) { - for (i = 1; i < this.aBreakRead.length; i++) { - dbgAddr = this.aBreakRead[i]; - addr = this.getAddr(dbgAddr); - if (!dbgAddr.fPhysical) { - this.cpu.removeMemBreak(addr, false); - } else { - this.bus.removeMemBreak(addr, false); - } - } - } - this.aBreakRead = ["br"]; - if (this.aBreakWrite !== undefined) { - for (i = 1; i < this.aBreakWrite.length; i++) { - dbgAddr = this.aBreakWrite[i]; - addr = this.getAddr(dbgAddr); - if (!dbgAddr.fPhysical) { - this.cpu.removeMemBreak(addr, true); - } else { - this.bus.removeMemBreak(addr, true); - } - } - } - this.aBreakWrite = ["bw"]; - /* - * nSuppressBreaks ensures we can't get into an infinite loop where a breakpoint lookup - * requires reading memory that triggers more memory reads, which triggers more breakpoint checks. - */ - this.nSuppressBreaks = 0; - }; - - /** - * addBreakpoint(aBreak, dbgAddr, fTemporary) - * - * In case you haven't already figured this out, all our breakpoint commands use the address - * to identify a breakpoint, not an incrementally assigned breakpoint index like other debuggers; - * see doBreak() for details. - * - * This has a few implications, one being that you CANNOT set more than one kind of breakpoint - * on a single address. In practice, that's rarely a problem, because you can almost always set - * a different breakpoint on a neighboring address. - * - * Also, there is one exception to the "one address, one breakpoint" rule, and that involves - * temporary breakpoints (ie, one-time execution breakpoints that either a "p" or "g" command - * may create to step over a chunk of code). Those breakpoints automatically clear themselves, - * so there usually isn't any need to refer to them using breakpoint commands. - * - * TODO: Consider supporting the more "traditional" breakpoint index syntax; the current - * address-based syntax was implemented solely for expediency and consistency. At the same time, - * also consider a more WDEB386-like syntax, where "br" is used to set a variety of access-specific - * breakpoints, using modifiers like "r1", "r2", "w1", "w2, etc. - * - * @this {DebuggerPDP11} - * @param {Array} aBreak - * @param {DbgAddrPDP11} dbgAddr - * @param {boolean} [fTemporary] - * @return {boolean} true if breakpoint added, false if already exists - */ - DebuggerPDP11.prototype.addBreakpoint = function(aBreak, dbgAddr, fTemporary) - { - var fSuccess = true; - - // this.nSuppressBreaks++; - - /* - * Instead of complaining that a breakpoint already exists (as we used to do), we now - * allow breakpoints to be re-set; this makes it easier to update any commands that may - * be associated with the breakpoint. - * - * The only exception: we DO allow a temporary breakpoint at an address where there may - * already be a breakpoint, so that you can easily step ("p" or "g") over such addresses. - */ - if (!fTemporary) { - this.findBreakpoint(aBreak, dbgAddr, true, false, true); - } - - if (aBreak != this.aBreakExec) { - var addr = this.getAddr(dbgAddr); - if (addr === PDP11.ADDR_INVALID) { - this.println("invalid address: " + this.toStrAddr(dbgAddr)); - fSuccess = false; - } else { - var fWrite = (aBreak == this.aBreakWrite); - /* - * We automatically promote any read/write breakpoint address to fPhysical if it's - * outside the 16-bit virtual address range. - */ - if (addr > 0xffff) dbgAddr.fPhysical = true; - if (!dbgAddr.fPhysical) { - this.cpu.addMemBreak(addr, fWrite); - } else { - this.bus.addMemBreak(addr, fWrite); - } - } - } - - if (fSuccess) { - aBreak.push(dbgAddr); - if (fTemporary) { - dbgAddr.fTemporary = true; - } - else { - this.printBreakpoint(aBreak, aBreak.length-1, "set"); - this.historyInit(); - } - } - - // this.nSuppressBreaks--; - - return fSuccess; - }; - - /** - * findBreakpoint(aBreak, dbgAddr, fRemove, fTemporary, fQuiet) - * - * @this {DebuggerPDP11} - * @param {Array} aBreak - * @param {DbgAddrPDP11} dbgAddr - * @param {boolean} [fRemove] - * @param {boolean} [fTemporary] - * @param {boolean} [fQuiet] - * @return {boolean} true if found, false if not - */ - DebuggerPDP11.prototype.findBreakpoint = function(aBreak, dbgAddr, fRemove, fTemporary, fQuiet) - { - var fFound = false; - var addr = this.getAddr(dbgAddr); - for (var i = 1; i < aBreak.length; i++) { - var dbgAddrBreak = aBreak[i]; - if (addr == this.getAddr(dbgAddrBreak)) { - if (!fTemporary || dbgAddrBreak.fTemporary) { - fFound = true; - if (fRemove) { - if (!dbgAddrBreak.fTemporary && !fQuiet) { - this.printBreakpoint(aBreak, i, "cleared"); - } - aBreak.splice(i, 1); - if (aBreak != this.aBreakExec) { - var fWrite = (aBreak == this.aBreakWrite); - if (!dbgAddrBreak.fPhysical) { - this.cpu.removeMemBreak(addr, fWrite); - } else { - this.bus.removeMemBreak(addr, fWrite); - } - } - /* - * We'll mirror the logic in addBreakpoint() and leave the history buffer alone if this - * was a temporary breakpoint. - */ - if (!dbgAddrBreak.fTemporary) { - this.historyInit(); - } - break; - } - if (!fQuiet) this.printBreakpoint(aBreak, i, "exists"); - break; - } - } - } - return fFound; - }; - - /** - * listBreakpoints(aBreak) - * - * @this {DebuggerPDP11} - * @param {Array} aBreak - * @return {number} of breakpoints listed, 0 if none - */ - DebuggerPDP11.prototype.listBreakpoints = function(aBreak) - { - for (var i = 1; i < aBreak.length; i++) { - this.printBreakpoint(aBreak, i); - } - return aBreak.length - 1; - }; - - /** - * printBreakpoint(aBreak, i, sAction) - * - * @this {DebuggerPDP11} - * @param {Array} aBreak - * @param {number} i - * @param {string} [sAction] - */ - DebuggerPDP11.prototype.printBreakpoint = function(aBreak, i, sAction) - { - var dbgAddr = aBreak[i]; - this.println(aBreak[0] + ' ' + this.toStrAddr(dbgAddr) + (sAction? (' ' + sAction) : (dbgAddr.sCmd? (' "' + dbgAddr.sCmd + '"') : ''))); - }; - - /** - * setTempBreakpoint(dbgAddr) - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr of new temp breakpoint - */ - DebuggerPDP11.prototype.setTempBreakpoint = function(dbgAddr) - { - this.addBreakpoint(this.aBreakExec, dbgAddr, true); - }; - - /** - * clearTempBreakpoint(addr) - * - * @this {DebuggerPDP11} - * @param {number|undefined} [addr] clear all temp breakpoints if no address specified - */ - DebuggerPDP11.prototype.clearTempBreakpoint = function(addr) - { - if (addr !== undefined) { - this.checkBreakpoint(addr, 1, this.aBreakExec, true); - this.nStep = 0; - } else { - for (var i = 1; i < this.aBreakExec.length; i++) { - var dbgAddrBreak = this.aBreakExec[i]; - if (dbgAddrBreak.fTemporary) { - if (!this.findBreakpoint(this.aBreakExec, dbgAddrBreak, true, true)) break; - i = 0; - } - } - } - }; - - /** - * checkBreakpoint(addr, nb, aBreak, fTemporary) - * - * @this {DebuggerPDP11} - * @param {number} addr - * @param {number} nb (# of bytes) - * @param {Array} aBreak - * @param {boolean} [fTemporary] - * @return {boolean} true if breakpoint has been hit, false if not - */ - DebuggerPDP11.prototype.checkBreakpoint = function(addr, nb, aBreak, fTemporary) - { - /* - * Time to check for breakpoints; note that this should be done BEFORE updating history data - * (see checkInstruction), since we might not actually execute the current instruction. - */ - var fBreak = false; - - if (!this.nSuppressBreaks++) { - - for (var i = 1; !fBreak && i < aBreak.length; i++) { - - var dbgAddrBreak = aBreak[i]; - - if (fTemporary && !dbgAddrBreak.fTemporary) continue; - - /* - * If we're checking an execution address, which is always virtual, and virtual - * addresses are always restricted to 16 bits, let's mask the breakpoint address to match - * (the user should know better, but we'll be nice). - */ - var addrBreak = this.getAddr(dbgAddrBreak) & (aBreak == this.aBreakExec? 0xffff : -1); - for (var n = 0; n < nb; n++) { - - if ((addr + n) != addrBreak) continue; - - var a; - fBreak = true; - if (dbgAddrBreak.fTemporary) { - this.findBreakpoint(aBreak, dbgAddrBreak, true, true); - fTemporary = true; - } - if (a = dbgAddrBreak.aCmds) { - /* - * When one or more commands are attached to a breakpoint, we don't halt by default. - * Instead, we set fBreak to true only if, at the completion of all the commands, the - * CPU is halted; in other words, you should include "h" as one of the breakpoint commands - * if you want the breakpoint to stop execution. - * - * Another useful command is "if", which will return false if the expression is false, - * at which point we'll jump ahead to the next "else" command, and if there isn't an "else", - * we abort. - */ - fBreak = false; - for (var j = 0; j < a.length; j++) { - if (!this.doCommand(a[j], true)) { - if (a[j].indexOf("if")) { - fBreak = true; // the failed command wasn't "if", so abort - break; - } - var k = j + 1; - for (; k < a.length; k++) { - if (!a[k].indexOf("else")) break; - j++; - } - if (k == a.length) { // couldn't find an "else" after the "if", so abort - fBreak = true; - break; - } - /* - * If we're still here, we'll execute the "else" command (which is just a no-op), - * followed by any remaining commands. - */ - } - } - if (!this.cpu.isRunning()) fBreak = true; - } - if (fBreak) { - if (!fTemporary) this.printBreakpoint(aBreak, i, "hit"); - break; - } - } - } - } - - this.nSuppressBreaks--; - - return fBreak; - }; - - /** - * getInstruction(dbgAddr, sComment, nSequence) - * - * Get the next instruction, by decoding the opcode and any operands. - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {string} [sComment] is an associated comment - * @param {number|null} [nSequence] is an associated sequence number, undefined if none - * @return {string} (and dbgAddr is updated to the next instruction) - */ - DebuggerPDP11.prototype.getInstruction = function(dbgAddr, sComment, nSequence) - { - var opNames = DebuggerPDP11.OPNAMES; - var dbgAddrOp = this.newAddr(dbgAddr.addr); - var opCode = this.getWord(dbgAddr, 2); - - var opDesc; - for (var mask in this.opTable) { - var opMasks = this.opTable[mask]; - opDesc = opMasks[opCode & mask]; - if (opDesc) break; - } - - if (!opDesc) { - opDesc = DebuggerPDP11.OPNONE; - } - - var opNum = opDesc[0]; - if (this.aOpReserved.indexOf(opNum) >= 0) { - opDesc = DebuggerPDP11.OPNONE; - opNum = opDesc[0]; - } - - var sOperands = "", sTarget = ""; - var sOpName = opNames[opNum]; - var cOperands = opDesc.length - 1; - - if (!opNum && !cOperands) { - sOperands = this.toStrBase(opCode); - } - - for (var iOperand = 1; iOperand <= cOperands; iOperand++) { - - var opType = opDesc[iOperand]; - if (opType === undefined) continue; - - var sOperand = this.getOperand(opCode, opType, dbgAddr); - - if (!sOperand || !sOperand.length) { - sOperands = "INVALID"; - break; - } - - /* - * If getOperand() returns an Array rather than a string, then the first element is the original - * operand, and the second element contains additional information (eg, the target) of the operand. - */ - if (typeof sOperand != "string") { - sTarget = sOperand[1]; - sOperand = sOperand[0]; - } - - if (sOperands.length > 0) sOperands += ','; - sOperands += (sOperand || "???"); - } - - var sOpCodes = ""; - var sLine = this.toStrAddr(dbgAddrOp) + ":"; - if (dbgAddrOp.addr !== PDP11.ADDR_INVALID && dbgAddr.addr !== PDP11.ADDR_INVALID) { - do { - sOpCodes += ' ' + this.toStrBase(this.getWord(dbgAddrOp, 2)); - if (dbgAddrOp.addr == null) break; - } while (dbgAddrOp.addr != dbgAddr.addr); - } - - sLine += str.pad(sOpCodes, 24); - sLine += str.pad(sOpName, 5); - if (sOperands) sLine += ' ' + sOperands; - - if (sComment || sTarget) { - sLine = str.pad(sLine, 60) + ';' + (sComment || ""); - if (!this.cpu.flags.checksum) { - sLine += (nSequence != null? '=' + nSequence.toString() : ""); - } else { - var nCycles = this.cpu.getCycles(); - sLine += "cycles=" + nCycles.toString() + " cs=" + str.toHex(this.cpu.nChecksum); - } - if (sTarget) { - if (sLine.slice(-1) != ';') sLine += ' '; - sLine += sTarget; - } - } - return sLine; - }; - - /** - * getOperand(opCode, opType, dbgAddr) - * - * If getOperand() returns an Array rather than a string, then the first element is the original - * operand, and the second element is a comment containing additional information (eg, the target) - * of the operand. - * - * @this {DebuggerPDP11} - * @param {number} opCode - * @param {number} opType - * @param {DbgAddrPDP11} dbgAddr - * @return {string|Array.} - */ - DebuggerPDP11.prototype.getOperand = function(opCode, opType, dbgAddr) - { - var sOperand = "", disp, addr; - /* - * Take care of OP_OTHER opcodes first; then all we'll have to worry about - * next are OP_SRC or OP_DST opcodes. - */ - var opTypeOther = opType & DebuggerPDP11.OP_OTHER; - if (opTypeOther == DebuggerPDP11.OP_BRANCH) { - disp = ((opCode & 0xff) << 24) >> 23; - addr = (dbgAddr.addr + disp) & 0xffff; - sOperand = this.toStrBase(addr); - } - else if (opTypeOther == DebuggerPDP11.OP_DSTOFF) { - disp = (opCode & 0x3f) << 1; - addr = (dbgAddr.addr - disp) & 0xffff; - sOperand = this.toStrBase(addr); - } - else if (opTypeOther == DebuggerPDP11.OP_DSTNUM3) { - disp = (opCode & 0x07); - sOperand = this.toStrBase(disp, 1); - } - else if (opTypeOther == DebuggerPDP11.OP_DSTNUM6) { - disp = (opCode & 0x3f); - sOperand = this.toStrBase(disp, 1); - } - else if (opTypeOther == DebuggerPDP11.OP_DSTNUM8) { - disp = (opCode & 0xff); - sOperand = this.toStrBase(disp, 1); - } - else { - /* - * Isolate all OP_SRC or OP_DST bits from opcode in the opMode variable. - */ - var opMode = opCode & opType; - - /* - * Convert OP_SRC bits into OP_DST bits, since they use the same format. - */ - if (opType & DebuggerPDP11.OP_SRC) { - opMode >>= 6; - opType >>= 6; - } - if (opType & DebuggerPDP11.OP_DST) { - var wIndex; - var sTarget = null; - var reg = opMode & DebuggerPDP11.OP_DSTREG; - /* - * Note that opcodes that specify only REG bits in the opType mask (ie, no MOD bits) - * will automatically default to OPMODE_REG below. - */ - switch((opMode & DebuggerPDP11.OP_DSTMODE)) { - - case PDP11.OPMODE.REG: // 0x0: REGISTER - sOperand = this.getRegName(reg); - break; - - case PDP11.OPMODE.REGD: // 0x1: REGISTER DEFERRED - sOperand = '@' + this.getRegName(reg); - sTarget = this.getTarget(this.cpu.regsGen[reg]); - break; - - case PDP11.OPMODE.POSTINC: // 0x2: POST-INCREMENT - if (reg < 7) { - sOperand = '(' + this.getRegName(reg) + ")+"; - } else { - /* - * When using R7 (aka PC), POST-INCREMENT is known as IMMEDIATE - */ - wIndex = this.getWord(dbgAddr, 2); - sOperand = '#' + this.toStrBase(wIndex, 0, true); - } - break; - - case PDP11.OPMODE.POSTINCD: // 0x3: POST-INCREMENT DEFERRED - if (reg < 7) { - sOperand = "@(" + this.getRegName(reg) + ")+"; - } else { - /* - * When using R7 (aka PC), POST-INCREMENT DEFERRED is known as ABSOLUTE - */ - wIndex = this.getWord(dbgAddr, 2); - sOperand = "@#" + this.toStrBase(wIndex, 0, true); - sTarget = this.getTarget(wIndex); - } - break; - - case PDP11.OPMODE.PREDEC: // 0x4: PRE-DECREMENT - sOperand = "-(" + this.getRegName(reg) + ")"; - break; - - case PDP11.OPMODE.PREDECD: // 0x5: PRE-DECREMENT DEFERRED - sOperand = "@-(" + this.getRegName(reg) + ")"; - break; - - case PDP11.OPMODE.INDEX: // 0x6: INDEX - wIndex = this.getWord(dbgAddr, 2); - sOperand = this.toStrBase(wIndex, 0, true) + '(' + this.getRegName(reg) + ')'; - if (reg == 7) { - /* - * When using R7 (aka PC), INDEX is known as RELATIVE. However, instead of displaying - * such an instruction like this: - * - * 016156: 010167 001300 MOV R1,1300(PC) ; @017462 - * - * with the effective address display to the far right, let's display it like this instead: - * - * 016156: 010167 001300 MOV R1,017462 - * - * because you can still clearly see PC-relative offset (eg, 001300) as part of the disassembly. - * - * sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)]; - */ - sOperand = this.toStrBase(wIndex = (wIndex + dbgAddr.addr) & 0xffff); - sTarget = this.getTarget(wIndex); - } - break; - - case PDP11.OPMODE.INDEXD: // 0x7: INDEX DEFERRED - wIndex = this.getWord(dbgAddr, 2); - sOperand = '@' + this.toStrBase(wIndex) + '(' + this.getRegName(reg) + ')'; - if (reg == 7) { - /* - * When using R7 (aka PC), INDEX DEFERRED is known as RELATIVE DEFERRED. And for the same - * reasons articulated above, we now display the effective address inline. - * - * sOperand = [sOperand, this.toStrBase((wIndex + dbgAddr.addr) & 0xffff)]; - */ - sOperand = '@' + this.toStrBase(wIndex = (wIndex + dbgAddr.addr) & 0xffff); - sTarget = this.getTarget(this.cpu.getWordSafe(wIndex)); - } - break; - - default: - this.assert(false); - break; - } - - if (sTarget) sOperand = [sOperand, sTarget]; - } - else { - this.assert(false); - } - } - return sOperand; - }; - - /** - * getTarget(addr) - * - * @this {DebuggerPDP11} - * @param {number} addr - * @return {string|null} - */ - DebuggerPDP11.prototype.getTarget = function(addr) - { - var sTarget = null; - var a = this.cpu.getAddrInfo(addr); - var addrPhysical = a[0]; - if (addrPhysical >= this.cpu.addrIOPage && addrPhysical < this.bus.addrIOPage) { - addrPhysical = (addrPhysical - this.cpu.addrIOPage) + this.bus.addrIOPage; - } - return this.bus.getAddrInfo(addrPhysical); - }; - - /** - * parseInstruction(sOp, sOperand, addr) - * - * TODO: Unimplemented. See parseInstruction() in modules/c1pjs/lib/debugger.js for a sample implementation. - * - * @this {DebuggerPDP11} - * @param {string} sOp - * @param {string|undefined} sOperand - * @param {DbgAddrPDP11} dbgAddr of memory where this instruction is being assembled - * @return {Array.} of opcode bytes; if the instruction can't be parsed, the array will be empty - */ - DebuggerPDP11.prototype.parseInstruction = function(sOp, sOperand, dbgAddr) - { - var aOpBytes = []; - this.println("not supported yet"); - return aOpBytes; - }; - - /** - * getFlagOutput(sFlag) - * - * @this {DebuggerPDP11} - * @param {string} sFlag - * @return {string} value of flag - */ - DebuggerPDP11.prototype.getFlagOutput = function(sFlag) - { - var b; - switch (sFlag) { - case 'N': - b = this.cpu.getNF(); - break; - case 'Z': - b = this.cpu.getZF(); - break; - case 'V': - b = this.cpu.getVF(); - break; - case 'C': - b = this.cpu.getCF(); - break; - default: - b = 0; - break; - } - return sFlag.charAt(0) + (b? '1' : '0') + ' '; - }; - - /** - * getRegOutput(iReg) - * - * @this {DebuggerPDP11} - * @param {number} iReg - * @return {string} - */ - DebuggerPDP11.prototype.getRegOutput = function(iReg) - { - var sReg = ""; - var cpu = this.cpu; - - if (iReg < 8) { - sReg = this.getRegName(iReg); - sReg += '=' + this.toStrBase(cpu.regsGen[iReg]); - } - else if (iReg < 13) { - sReg = "A" + (iReg - 8) + '=' + this.toStrBase(cpu.regsAlt[iReg - 8]); - } - else if (iReg >= 16 && iReg < 20) { - sReg = "S" + (iReg - 16) + '=' + this.toStrBase(cpu.regsAltStack[iReg - 16]); - } - else { - switch(iReg) { - case DebuggerPDP11.REG_PS: - sReg = "PS=" + this.toStrBase(cpu.getPSW()); - break; - case DebuggerPDP11.REG_PI: - sReg = "PI=" + this.toStrBase(cpu.getPIR()); - break; - case DebuggerPDP11.REG_ER: - sReg = "ER=" + this.toStrBase(cpu.regErr); - break; - case DebuggerPDP11.REG_SL: - sReg = "SL=" + this.toStrBase(cpu.getSLR()); - break; - case DebuggerPDP11.REG_M0: - sReg = "M0=" + this.toStrBase(cpu.getMMR0()); - break; - case DebuggerPDP11.REG_M1: - sReg = "M1=" + this.toStrBase(cpu.getMMR1()); - break; - case DebuggerPDP11.REG_M2: - sReg = "M2=" + this.toStrBase(cpu.getMMR2()); - break; - case DebuggerPDP11.REG_M3: - sReg = "M3=" + this.toStrBase(cpu.getMMR3()); - break; - case DebuggerPDP11.REG_AR: - if (this.panel) { - sReg = "AR=" + this.toStrBase(this.panel.getAR(), 3); - } - break; - case DebuggerPDP11.REG_DR: - if (this.panel) { - sReg = "DR=" + this.toStrBase(this.panel.getDR()); - } - break; - case DebuggerPDP11.REG_SR: - if (this.panel && this.panel.hasSwitches()) { - sReg = "SR=" + this.toStrBase(this.panel.getSR(), 3); - } - break; - } - } - if (sReg) sReg += ' '; - return sReg; - }; - - /** - * getMiscDump() - * - * Sample register dump: - * - * M0=xxxxxx M1=xxxxxx M2=xxxxxx M3=xxxxxx ER=xxxxxx - * - * @this {DebuggerPDP11} - * @return {string} - */ - DebuggerPDP11.prototype.getMiscDump = function() - { - var sDump = ""; - sDump += this.getRegOutput(DebuggerPDP11.REG_M0) + this.getRegOutput(DebuggerPDP11.REG_M1); - sDump += this.getRegOutput(DebuggerPDP11.REG_M2) + this.getRegOutput(DebuggerPDP11.REG_M3) + this.getRegOutput(DebuggerPDP11.REG_ER); - sDump += '\n'; - sDump += this.getRegOutput(DebuggerPDP11.REG_SR) + this.getRegOutput(DebuggerPDP11.REG_AR) + this.getRegOutput(DebuggerPDP11.REG_DR); - return sDump; - }; - - /** - * getRegDump(fMisc) - * - * Sample register dump: - * - * R0=xxxxxx R1=xxxxxx R2=xxxxxx R3=xxxxxx R4=xxxxxx R5=xxxxxx - * SP=xxxxxx PC=xxxxxx PS=xxxxxx PI=xxxxxx SL=xxxxxx T0 N0 Z0 V0 C0 - * - * @this {DebuggerPDP11} - * @param {boolean} [fMisc] (true to include misc registers) - * @return {string} - */ - DebuggerPDP11.prototype.getRegDump = function(fMisc) - { - var i; - var sDump = ""; - for (i = 0; i < PDP11.REG.SP; i++) { - sDump += this.getRegOutput(i); - } - sDump += '\n'; - sDump += this.getRegOutput(PDP11.REG.SP) + this.getRegOutput(PDP11.REG.PC); - sDump += this.getRegOutput(DebuggerPDP11.REG_PS) + this.getRegOutput(DebuggerPDP11.REG_PI) + this.getRegOutput(DebuggerPDP11.REG_SL); - sDump += this.getFlagOutput('T') + this.getFlagOutput('N') + this.getFlagOutput('Z') + this.getFlagOutput('V') + this.getFlagOutput('C'); - if (fMisc) sDump += '\n' + this.getMiscDump(); - return sDump; - }; - - /** - * comparePairs(p1, p2) - * - * @this {DebuggerPDP11} - * @param {number|string|Array|Object} p1 - * @param {number|string|Array|Object} p2 - * @return {number} - */ - DebuggerPDP11.prototype.comparePairs = function(p1, p2) - { - return p1[0] > p2[0]? 1 : p1[0] < p2[0]? -1 : 0; - }; - - /** - * addSymbols(sModule, addr, len, aSymbols) - * - * As filedump.js (formerly convrom.php) explains, aSymbols is a JSON-encoded object whose properties consist - * of all the symbols (in upper-case), and the values of those properties are objects containing any or all of - * the following properties: - * - * 'v': the value of an absolute (unsized) value - * 'b': either 1, 2, 4 or undefined if an unsized value - * 's': either a hard-coded segment or undefined - * 'o': the offset of the symbol within the associated address space - * 'l': the original-case version of the symbol, present only if it wasn't originally upper-case - * 'a': annotation for the specified offset; eg, the original assembly language, with optional comment - * - * To that list of properties, we also add: - * - * 'p': the physical address (calculated whenever both 's' and 'o' properties are defined) - * - * Note that values for any 'v', 'b', 's' and 'o' properties are unquoted decimal values, and the values - * for any 'l' or 'a' properties are quoted strings. Also, if double-quotes were used in any of the original - * annotation ('a') values, they will have been converted to two single-quotes, so we're responsible for - * converting them back to individual double-quotes. - * - * For example: - * { - * 'HF_PORT': { - * 'v':800 - * }, - * 'HDISK_INT': { - * 'b':4, 's':0, 'o':52 - * }, - * 'ORG_VECTOR': { - * 'b':4, 's':0, 'o':76 - * }, - * 'CMD_BLOCK': { - * 'b':1, 's':64, 'o':66 - * }, - * 'DISK_SETUP': { - * 'o':3 - * }, - * '.40': { - * 'o':40, 'a':"MOV AX,WORD PTR ORG_VECTOR ;GET DISKETTE VECTOR" - * } - * } - * - * If a symbol only has an offset, then that offset value can be assigned to the symbol property directly: - * - * 'DISK_SETUP': 3 - * - * The last property is an example of an "anonymous" entry, for offsets where there is no associated symbol. - * Such entries are identified by a period followed by a unique number (usually the offset of the entry), and - * they usually only contain offset ('o') and annotation ('a') properties. I could eliminate the leading - * period, but it offers a very convenient way of quickly discriminating among genuine vs. anonymous symbols. - * - * We add all these entries to our internal symbol table, which is an array of 4-element arrays, each of which - * look like: - * - * [addr, len, aSymbols, aOffsets] - * - * There are two basic symbol operations: findSymbol(), which takes an address and finds the symbol, if any, - * at that address, and findSymbolAddr(), which takes a string and attempts to match it to a non-anonymous - * symbol with a matching offset ('o') property. - * - * To implement findSymbol() efficiently, addSymbols() creates an array of [offset, sSymbol] pairs - * (aOffsets), one pair for each symbol that corresponds to an offset within the specified address space. - * - * We guarantee the elements of aOffsets are in offset order, because we build it using binaryInsert(); - * it's quite likely that the MAP file already ordered all its symbols in offset order, but since they're - * hand-edited files, we can't assume that, and we need to ensure that findSymbol()'s binarySearch() operates - * properly. - * - * @this {DebuggerPDP11} - * @param {string|null} sModule - * @param {number|null} addr (physical address where the symbols are located, if the memory is physical; eg, ROM) - * @param {number} len (the size of the region, in bytes) - * @param {Object} aSymbols (collection of symbols in this group; the format of this collection is described below) - */ - DebuggerPDP11.prototype.addSymbols = function(sModule, addr, len, aSymbols) - { - var dbgAddr = {}; - var aOffsets = []; - for (var sSymbol in aSymbols) { - var symbol = aSymbols[sSymbol]; - if (typeof symbol == "number") { - aSymbols[sSymbol] = symbol = {'o': symbol}; - } - var offSymbol = symbol['o']; - var sAnnotation = symbol['a']; - if (offSymbol !== undefined) { - usr.binaryInsert(aOffsets, [offSymbol >>> 0, sSymbol], this.comparePairs); - } - if (sAnnotation) symbol['a'] = sAnnotation.replace(/''/g, "\""); - } - var symbolTable = { - sModule: sModule, - addr: addr, - len: len, - aSymbols: aSymbols, - aOffsets: aOffsets - }; - this.aSymbolTable.push(symbolTable); - }; - - /** - * dumpSymbols() - * - * TODO: Add "numerical" and "alphabetical" dump options. This is simply dumping them in whatever - * order they appeared in the original MAP file. - * - * @this {DebuggerPDP11} - */ - DebuggerPDP11.prototype.dumpSymbols = function() - { - for (var iTable = 0; iTable < this.aSymbolTable.length; iTable++) { - var symbolTable = this.aSymbolTable[iTable]; - for (var sSymbol in symbolTable.aSymbols) { - if (sSymbol.charAt(0) == '.') continue; - var symbol = symbolTable.aSymbols[sSymbol]; - var offSymbol = symbol['o']; - if (offSymbol === undefined) continue; - var sSymbolOrig = symbolTable.aSymbols[sSymbol]['l']; - if (sSymbolOrig) sSymbol = sSymbolOrig; - this.println(this.toStrOffset(offSymbol) + ' ' + sSymbol); - } - } - }; - - /** - * findSymbol(dbgAddr, fNearest) - * - * Search aSymbolTable for dbgAddr, and return an Array for the corresponding symbol (empty if not found). - * - * If fNearest is true, and no exact match was found, then the Array returned will contain TWO sets of - * entries: [0]-[3] will refer to closest preceding symbol, and [4]-[7] will refer to the closest subsequent symbol. - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @param {boolean} [fNearest] - * @return {Array} where [0] == symbol name, [1] == symbol value, [2] == any annotation, and [3] == any associated comment - */ - DebuggerPDP11.prototype.findSymbol = function(dbgAddr, fNearest) - { - var aSymbol = []; - var addrSymbol = this.getAddr(dbgAddr) >>> 0; - for (var iTable = 0; iTable < this.aSymbolTable.length; iTable++) { - var symbolTable = this.aSymbolTable[iTable]; - var addr = symbolTable.addr >>> 0; - var len = symbolTable.len; - if (addrSymbol >= addr && addrSymbol < addr + len) { - var offSymbol = addrSymbol - addr; - var result = usr.binarySearch(symbolTable.aOffsets, [offSymbol], this.comparePairs); - if (result >= 0) { - this.returnSymbol(iTable, result, aSymbol); - } - else if (fNearest) { - result = ~result; - this.returnSymbol(iTable, result-1, aSymbol); - this.returnSymbol(iTable, result, aSymbol); - } - break; - } - } - return aSymbol; - }; - - /** - * findSymbolAddr(sSymbol) - * - * Search our symbol tables for sSymbol, and if found, return a dbgAddr (same as parseAddr()). - * - * @this {DebuggerPDP11} - * @param {string} sSymbol - * @return {DbgAddrPDP11|undefined} - */ - DebuggerPDP11.prototype.findSymbolAddr = function(sSymbol) - { - var dbgAddr; - var offSymbol = this.bus.getAddrByName(sSymbol); - - if (offSymbol == null && sSymbol.match(/^[a-z_][a-z0-9_]*$/i)) { - var sUpperCase = sSymbol.toUpperCase(); - for (var iTable = 0; iTable < this.aSymbolTable.length; iTable++) { - var symbolTable = this.aSymbolTable[iTable]; - var symbol = symbolTable.aSymbols[sUpperCase]; - if (symbol != null) { - offSymbol = symbol['o']; - /* - * If the symbol matched but there's no 'o' offset (ie, it wasn't for an address), there's - * no point looking any farther, since each symbol appears only once. - * - * NOTE: We assume that every ROM is ORG'ed at 0x0000, and therefore unless the symbol has an - * explicitly-defined segment, we return the segment associated with the entire group; for a ROM, - * that segment is normally "addrROM >>> 4". Down the road, we may want/need to support a special - * symbol entry (eg, ".ORG") that defines an alternate origin. - */ - break; - } - } - } - if (offSymbol != null) { - dbgAddr = this.newAddr(offSymbol); - } - return dbgAddr; - }; - - /** - * returnSymbol(iTable, iOffset, aSymbol) - * - * Helper function for findSymbol(). - * - * @param {number} iTable - * @param {number} iOffset - * @param {Array} aSymbol is updated with the specified symbol, if it exists - */ - DebuggerPDP11.prototype.returnSymbol = function(iTable, iOffset, aSymbol) - { - var symbol = {}; - var aOffsets = this.aSymbolTable[iTable].aOffsets; - var offset = 0, sSymbol = null; - if (iOffset >= 0 && iOffset < aOffsets.length) { - offset = aOffsets[iOffset][0]; - sSymbol = aOffsets[iOffset][1]; - } - if (sSymbol) { - symbol = this.aSymbolTable[iTable].aSymbols[sSymbol]; - sSymbol = (sSymbol.charAt(0) == '.'? null : (symbol['l'] || sSymbol)); - } - aSymbol.push(sSymbol); - aSymbol.push(offset); - aSymbol.push(symbol['a']); - aSymbol.push(symbol['c']); - }; - - /** - * doHelp() - * - * @this {DebuggerPDP11} - */ - DebuggerPDP11.prototype.doHelp = function() - { - var s = "commands:"; - for (var sCommand in DebuggerPDP11.COMMANDS) { - s += '\n' + str.pad(sCommand, 9) + DebuggerPDP11.COMMANDS[sCommand]; - } - if (!this.checksEnabled()) s += "\nnote: history disabled if no exec breakpoints"; - this.println(s); - }; - - /** - * doAssemble(asArgs) - * - * This always receives the complete argument array, where the order of the arguments is: - * - * [0]: the assemble command (assumed to be "a") - * [1]: the target address (eg, "200") - * [2]: the operation code, aka instruction name (eg, "adc") - * [3]: the operation mode operand, if any (eg, "14", "[1234]", etc) - * - * The Debugger enters "assemble mode" whenever only the first (or first and second) arguments are present. - * As long as "assemble mode is active, the user can omit the first two arguments on all later assemble commands - * until "assemble mode" is cancelled with an empty command line; the command processor automatically prepends "a" - * and the next available target address to the argument array. - * - * Entering "assemble mode" is optional; one could enter a series of fully-qualified assemble commands; eg: - * - * a ff00 cld - * a ff01 ldx 28 - * ... - * - * without ever entering "assemble mode", but of course, that requires more typing and doesn't take advantage - * of automatic target address advancement (see dbgAddrAssemble). - * - * NOTE: As the previous example implies, you can even assemble new instructions into ROM address space; - * as our setByte() function explains, the ROM write-notification handlers only refuse writes from the CPU. - * - * @this {DebuggerPDP11} - * @param {Array.} asArgs is the complete argument array, beginning with the "a" command in asArgs[0] - */ - DebuggerPDP11.prototype.doAssemble = function(asArgs) - { - var dbgAddr = this.parseAddr(asArgs[1], true); - if (!dbgAddr) return; - - this.dbgAddrAssemble = dbgAddr; - if (asArgs[2] === undefined) { - this.println("begin assemble at " + this.toStrAddr(dbgAddr)); - this.fAssemble = true; - this.cmp.updateDisplays(); - return; - } - - var aOpBytes = this.parseInstruction(asArgs[2], asArgs[3], dbgAddr); - if (aOpBytes.length) { - for (var i = 0; i < aOpBytes.length; i++) { - this.setByte(dbgAddr, aOpBytes[i], 1); - } - /* - * Since getInstruction() also updates the specified address, dbgAddrAssemble is automatically advanced. - */ - this.println(this.getInstruction(this.dbgAddrAssemble)); - } - }; - - /** - * doBreak(sCmd, sAddr, sOptions) - * - * As the "help" output below indicates, the following breakpoint commands are supported: - * - * bp [a] set exec breakpoint on linear addr [a] - * br [a] set read breakpoint on linear addr [a] - * bw [a] set write breakpoint on linear addr [a] - * bc [a] clear breakpoint on linear addr [a] (use "*" for all breakpoints) - * bl list breakpoints - * - * to which we have recently added the following I/O breakpoint commands: - * - * bi [p] toggle input breakpoint on port [p] (use "*" for all input ports) - * bo [p] toggle output breakpoint on port [p] (use "*" for all output ports) - * - * These two new commands operate as toggles so that if "*" is used to trap all input (or output), - * you can also use these commands to NOT trap specific ports. - * - * bn [n] break after [n] instructions - * - * TODO: Update the "bl" command to include any/all I/O breakpoints, and the "bc" command to - * clear them. Because "bi" and "bo" commands are piggy-backing on Bus functions, those breakpoints - * are currently outside the realm of what the "bl" and "bc" commands are aware of. - * - * @this {DebuggerPDP11} - * @param {string} sCmd - * @param {string|undefined} [sAddr] - * @param {string} [sOptions] (the rest of the breakpoint command-line) - */ - DebuggerPDP11.prototype.doBreak = function(sCmd, sAddr, sOptions) - { - if (sAddr == '?') { - this.println("breakpoint commands:"); - this.println("\tbp [#]\tset exec breakpoint at addr #"); - this.println("\tbr [#]\tset read breakpoint at addr #"); - this.println("\tbw [#]\tset write breakpoint at addr #"); - this.println("\tbc [#]\tclear breakpoint at addr #"); - this.println("\tbl\tlist all breakpoints"); - this.println("\tbn [#]\tbreak after # instruction(s)"); - return; - } - - var sParm = sCmd.charAt(1); - if (sParm == 'l') { - var cBreaks = 0; - cBreaks += this.listBreakpoints(this.aBreakExec); - cBreaks += this.listBreakpoints(this.aBreakRead); - cBreaks += this.listBreakpoints(this.aBreakWrite); - if (!cBreaks) this.println("no breakpoints"); - return; - } - - if (sParm == 'n') { - this.nBreakInstructions = this.parseValue(sAddr); - this.println("break after " + this.nBreakInstructions + " instruction(s)"); - return; - } - - if (sAddr === undefined) { - this.println("missing breakpoint address"); - return; - } - - var dbgAddr = this.newAddr(); - if (sAddr != '*') { - dbgAddr = this.parseAddr(sAddr, true, true); - if (!dbgAddr) return; - } - - if (sParm == 'c') { - if (dbgAddr.addr == null) { - this.clearBreakpoints(); - this.println("all breakpoints cleared"); - return; - } - if (this.findBreakpoint(this.aBreakExec, dbgAddr, true)) - return; - if (this.findBreakpoint(this.aBreakRead, dbgAddr, true)) - return; - if (this.findBreakpoint(this.aBreakWrite, dbgAddr, true)) - return; - this.println("breakpoint missing: " + this.toStrAddr(dbgAddr)); - return; - } - - if (dbgAddr.addr == null) return; - - this.parseAddrOptions(dbgAddr, sOptions); - - if (sParm == 'p') { - this.addBreakpoint(this.aBreakExec, dbgAddr); - return; - } - if (sParm == 'r') { - this.addBreakpoint(this.aBreakRead, dbgAddr); - return; - } - if (sParm == 'w') { - this.addBreakpoint(this.aBreakWrite, dbgAddr); - return; - } - this.println("unknown breakpoint command: " + sParm); - }; - - /** - * doClear(sCmd) - * - * @this {DebuggerPDP11} - * @param {string} [sCmd] (eg, "cls" or "clear") - */ - DebuggerPDP11.prototype.doClear = function(sCmd) - { - /* - * TODO: There should be a clear() component method that the Control Panel overrides to perform this function. - */ - if (this.controlPrint) this.controlPrint.value = ""; - }; - - /** - * doDump(asArgs) - * - * The length parameter is interpreted as a number of bytes (or words, or dwords) to dump, - * and it is interpreted using the current base. - * - * @this {DebuggerPDP11} - * @param {Array.} asArgs (formerly sCmd, [sAddr], [sLen] and [sBytes]) - */ - DebuggerPDP11.prototype.doDump = function(asArgs) - { - var m; - var sCmd = asArgs[0]; - var sAddr = asArgs[1]; - var sLen = asArgs[2]; - var sBytes = asArgs[3]; - - if (sAddr == '?') { - var sDumpers = ""; - for (m in MessagesPDP11.CATEGORIES) { - if (this.afnDumpers[m]) { - if (sDumpers) sDumpers += ','; - sDumpers = sDumpers + m; - } - } - sDumpers += ",state,symbols"; - this.println("dump memory commands:"); - this.println("\tda [a] dump info for address a"); - this.println("\tdb [a] [n] dump n bytes at address a"); - this.println("\tdw [a] [n] dump n words at address a"); - this.println("\tdd [a] [n] dump n dwords at address a"); - this.println("\tds [a] [n] dump n words at address a as JSON"); - this.println("\tdh [p] [n] dump n instructions from history position p"); - if (sDumpers.length) this.println("dump extension commands:\n\t" + sDumpers); - return; - } - - if (sAddr == "state") { - var sState = this.cmp.powerOff(true); - if (sLen == "console") { - /* - * Console buffers are notoriously small, and even the following code, which breaks the - * data into parts (eg, "d state console 1", "d state console 2", etc) just isn't that helpful. - * - * var nPart = +sBytes; - * if (nPart) sState = sState.substr(1000000 * (nPart-1), 1000000); - * - * So, the best way to capture a large machine state is to use the new "Save Machine" link - * that downloads a machine's entire state. Alternatively, run your own local server and use - * server-side storage. Take a look at the "Save" binding in computer.js, which binds an HTML - * control to the computer.powerOff() and computer.saveServerState() functions. - */ - console.log(sState); - } else { - this.doClear(); - this.println(sState); - } - return; - } - - if (sAddr == "symbols") { - this.dumpSymbols(); - return; - } - - if (sCmd == "d") { - for (m in MessagesPDP11.CATEGORIES) { - if (asArgs[1] == m) { - var fnDumper = this.afnDumpers[m]; - if (fnDumper) { - asArgs.shift(); - asArgs.shift(); - fnDumper(asArgs); - } else { - this.println("no dump registered for " + sAddr); - } - return; - } - } - if (!sAddr) sCmd = this.sCmdDumpPrev || "dw"; - } else { - this.sCmdDumpPrev = sCmd; - } - - if (sCmd == "dh") { - this.dumpHistory(sAddr, sLen); - return; - } - - var dbgAddr = this.parseAddr(sAddr); - if (!dbgAddr) return; - - if (sCmd == "da") { - /* - * Sample output for a virtual address ("da 23042"): - * - * 00,010,011,000,100,010 00023042 - * OFFSET: 0,011,000,100,010 00003042 - * + KIPAR1: 0,000,001,101,111,010,000,000 00157200 - * & MMUMASK: 1,111,111,111,111,111,111,111 17777777 - * = PHYSICAL: 0,000,001,110,010,010,100,010 00162242 - * - * and sample output for a physical address (eg, "da %37772"; note the % prefix): - * - * 0,000,000,011,111,111,111,010 00037772 - * OFFSET: 1,111,111,111,010 00017772 - * UNIMAP[01]: 1,111,100,001,110,111,000,000 17416700 - * PHYSICAL: 1,111,100,011,110,110,111,010 17436672 - * - * TODO: Tweak this output to accommodate 18-bit machines as well as 22-bit machines. - */ - var fPhysical = (dbgAddr.fPhysical || dbgAddr.addr > 0xffff); - var a = this.cpu.getAddrInfo(dbgAddr.addr, fPhysical); - this.println(str.pad("", fPhysical? 12: 19) + str.toBin(dbgAddr.addr, fPhysical? 22 : 17, 3) + " " + str.toOct(dbgAddr.addr, 8)); - if (a.length < 6) { - if (a.length > 2) { - this.println(" OFFSET: " + str.toBin(a[3], 13, 3) + " " + str.toOct(a[3], 8)); - this.println("UNIMAP[" + str.toDec(a[1], 2) + "]: " + str.toBin(a[2], 22, 3) + " " + str.toOct(a[2], 8)); - } - this.println(" PHYSICAL: " + str.toBin(a[0], 22, 3) + " " + str.toOct(a[0], 8)) - } else { - this.println(" OFFSET: " + str.toBin(a[1], 13, 3) + " " + str.toOct(a[1], 8)); - this.println("+ " + DebuggerPDP11.MODES[a[2]] + "PAR" + a[3] + ": " + str.toBin(a[4], 22, 3) + " " + str.toOct(a[4], 8)); - this.println("& MMUMASK: " + str.toBin(a[5], 22, 3) + " " + str.toOct(a[5], 8)); - this.println("= PHYSICAL: " + str.toBin(a[0], 22, 3) + " " + str.toOct(a[0], 8)) - } - return; - } - - var len = 0; - var fJSON = (sCmd == "ds"); - - if (sLen) { - if (sLen.charAt(0) == 'l') { - sLen = sLen.substr(1) || sBytes; - len = this.parseValue(sLen); - } - else { - var dbgAddrEnd = this.parseAddr(sLen); - if (dbgAddrEnd) len = dbgAddrEnd.addr - dbgAddr.addr; - } - if (len < 0) len = 0; - if (len > 0x10000) len = 0x10000; - } - - var nBase = this.nBase; - if (dbgAddr.nBase) this.nBase = dbgAddr.nBase; - - /* - * I've changed the code below to effectively make "dw" the default if only "d" is specified, - * since this is primarily a word-oriented machine. - */ - var size = (sCmd == "dd"? 4 : (sCmd == "db"? 1 : 2)); - var nBytes = (size * len) || 128; - var nBytesPerLine = fJSON? 16 : this.nBase; - var nLines = (((nBytes + nBytesPerLine - 1) / nBytesPerLine)|0) || 1; - - var sDump = ""; - while (nLines-- && nBytes > 0) { - var sData = "", sChars = ""; - sAddr = this.toStrAddr(dbgAddr); - /* - * Dump 8 bytes per line when using base 8, and dump 16 bytes when using base 16. - * - * And while we used to always call getByte() and assemble them into words or dwords as appropriate, I've - * changed the logic below to honor "dw" by calling getWord(), since the Bus interfaces have been updated - * to prevent generating traps due to to Debugger access of unaligned memory and/or undefined IOPAGE addresses. - * - * Besides, it's nice for "db" and "dw" to generate the same Bus activity that typical byte and word reads do. - */ - var i = nBytesPerLine; - var data = 0, shift = 0; - while (i > 0 && nBytes > 0) { - var n = 1; - var v = size == 1? this.getByte(dbgAddr, n) : this.getWord(dbgAddr, (n = 2)); - data |= (v << (shift << 3)); - shift += n; - if (shift == size) { - if (fJSON) { - if (sData) sData += ","; - sData += "0x"+ str.toHex(data, size * 2); - } else { - sData += this.toStrBase(data, size); - sData += (size == 1? (i == 9? '-' : ' ') : " "); - } - data = shift = 0; - } - i -= n; nBytes -= n; - while (size == 1 && n--) { - var c = v & 0xff; - sChars += (c >= 32 && c < 128? String.fromCharCode(c) : '.'); - v >>= 8; - } - } - if (sDump) sDump += "\n"; - if (fJSON) { - sDump += sData + ","; - } else { - sDump += sAddr + ": " + sData + ((i == 0)? (' ' + sChars) : ""); - } - } - - if (sDump) this.println(sDump); - - this.dbgAddrNextData = dbgAddr; - this.nBase = nBase; - }; - - /** - * doEdit(asArgs) - * - * @this {DebuggerPDP11} - * @param {Array.} asArgs - */ - DebuggerPDP11.prototype.doEdit = function(asArgs) - { - var size, mask; - var fnGet, fnSet; - var sCmd = asArgs[0]; - var sAddr = asArgs[1]; - if (sCmd == "eb") { - size = 1; - mask = 0xff; - fnGet = this.getByte; - fnSet = this.setByte; - } - else if (sCmd == "e" || sCmd == "ew") { - size = 2; - mask = 0xffff; - fnGet = this.getWord; - fnSet = this.setWord; - } else { - sAddr = null; - } - if (sAddr == null) { - this.println("edit memory commands:"); - this.println("\teb [a] [...] edit bytes at address a"); - this.println("\tew [a] [...] edit words at address a"); - return; - } - var dbgAddr = this.parseAddr(sAddr); - if (!dbgAddr) return; - for (var i = 2; i < asArgs.length; i++) { - var vNew = this.parseExpression(asArgs[i]); - if (vNew === undefined) { - this.println("unrecognized value: " + asArgs[i]); - break; - } - if (vNew & ~mask) { - this.println("warning: " + str.toHex(vNew) + " exceeds " + size + "-byte value"); - } - this.println("changing " + this.toStrAddr(dbgAddr) + (this.messageEnabled(MessagesPDP11.BUS)? "" : (" from " + this.toStrBase(fnGet.call(this, dbgAddr), size))) + " to " + this.toStrBase(vNew, size)); - fnSet.call(this, dbgAddr, vNew, size); - } - }; - - /** - * doHalt(fQuiet) - * - * @this {DebuggerPDP11} - * @param {boolean} [fQuiet] - */ - DebuggerPDP11.prototype.doHalt = function(fQuiet) - { - var sMsg; - if (this.flags.running) { - if (!fQuiet) this.println("halting"); - this.stopCPU(); - } else { - if (this.isBusy(true)) return; - if (!fQuiet) this.println("already halted"); - } - }; - - /** - * doIf(sCmd, fQuiet) - * - * NOTE: Don't forget that the default base for all numeric constants is 16 (hex), so when you evaluate - * an expression like "a==10", it will compare the value of the variable "a" to 0x10; use a trailing period - * (eg, "10.") if you really intend decimal. - * - * Also, if no variable named "a" exists, "a" will evaluate to 0x0A, so the expression "a==10" becomes - * "0x0A==0x10" (false), whereas the expression "a==10." becomes "0x0A==0x0A" (true). - * - * @this {DebuggerPDP11} - * @param {string} sCmd - * @param {boolean} [fQuiet] - * @return {boolean} true if expression is non-zero, false if zero (or undefined due to a parse error) - */ - DebuggerPDP11.prototype.doIf = function(sCmd, fQuiet) - { - sCmd = str.trim(sCmd); - if (!this.parseExpression(sCmd)) { - if (!fQuiet) this.println("false: " + sCmd); - return false; - } - if (!fQuiet) this.println("true: " + sCmd); - return true; - }; - - /** - * doInfo(asArgs) - * - * @this {DebuggerPDP11} - * @param {Array.} asArgs - * @return {boolean} true only if the instruction info command ("n") is supported - */ - DebuggerPDP11.prototype.doInfo = function(asArgs) - { - if (DEBUG) { - this.println("msPerYield: " + this.cpu.msPerYield); - this.println("nCyclesPerYield: " + this.cpu.nCyclesPerYield); - return true; - } - return false; - }; - - /** - * doVar(sCmd) - * - * The command must be of the form "{variable} = [{expression}]", where expression may contain constants, - * operators, registers, symbols, other variables, or nothing at all; in the latter case, the variable, if - * any, is deleted. - * - * Other supported shorthand: "var" with no parameters prints the values of all variables, and "var {variable}" - * prints the value of the specified variable. - * - * @this {DebuggerPDP11} - * @param {string} sCmd - * @return {boolean} true if valid "var" assignment, false if not - */ - DebuggerPDP11.prototype.doVar = function(sCmd) - { - var a = sCmd.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i); - if (a) { - if (!a[1]) { - if (!this.printVariable()) this.println("no variables"); - return true; // it's not considered an error to print an empty list of variables - } - if (!a[2]) { - return this.printVariable(a[1]); - } - if (!a[3]) { - this.delVariable(a[1]); - return true; // it's not considered an error to delete a variable that didn't exist - } - var v = this.parseExpression(a[3]); - if (v !== undefined) { - this.setVariable(a[1], v); - return true; - } - return false; - } - this.println("invalid assignment:" + sCmd); - return false; - }; - - /** - * doList(sAddr, fPrint) - * - * @this {DebuggerPDP11} - * @param {string} sAddr - * @param {boolean} [fPrint] - * @return {string|null} - */ - DebuggerPDP11.prototype.doList = function(sAddr, fPrint) - { - var sSymbol = null; - - var dbgAddr = this.parseAddr(sAddr, true); - if (dbgAddr) { - var addr = this.getAddr(dbgAddr); - var aSymbol = this.findSymbol(dbgAddr, true); - if (aSymbol.length) { - var nDelta, sDelta, s; - if (aSymbol[0]) { - sDelta = ""; - nDelta = dbgAddr.addr - aSymbol[1]; - if (nDelta) sDelta = " + " + str.toHexWord(nDelta); - s = aSymbol[0] + " (" + this.toStrOffset(aSymbol[1]) + ')' + sDelta; - if (fPrint) this.println(s); - sSymbol = s; - } - if (aSymbol.length > 4 && aSymbol[4]) { - sDelta = ""; - nDelta = aSymbol[5] - dbgAddr.addr; - if (nDelta) sDelta = " - " + str.toHexWord(nDelta); - s = aSymbol[4] + " (" + this.toStrOffset(aSymbol[5]) + ')' + sDelta; - if (fPrint) this.println(s); - if (!sSymbol) sSymbol = s; - } - } else { - if (fPrint) this.println("no symbols"); - } - } - return sSymbol; - }; - - /** - * doMessages(asArgs) - * - * @this {DebuggerPDP11} - * @param {Array.} asArgs - */ - DebuggerPDP11.prototype.doMessages = function(asArgs) - { - var m; - var fCriteria = null; - var sCategory = asArgs[1]; - if (sCategory == '?') sCategory = undefined; - - if (sCategory !== undefined) { - var bitsMessage = 0; - if (sCategory == "all") { - bitsMessage = (0xffffffff|0) & ~(MessagesPDP11.HALT | MessagesPDP11.KEYS | MessagesPDP11.LOG); - sCategory = null; - } else if (sCategory == "on") { - fCriteria = true; - sCategory = null; - } else if (sCategory == "off") { - fCriteria = false; - sCategory = null; - } else { - /* - * Internally, we use "key" instead of "keys", since the latter is a method on JavasScript objects, - * but externally, we allow the user to specify "keys"; "kbd" is also allowed as shorthand for "keyboard". - */ - if (sCategory == "keys") sCategory = "key"; - if (sCategory == "kbd") sCategory = "keyboard"; - for (m in MessagesPDP11.CATEGORIES) { - if (sCategory == m) { - bitsMessage = MessagesPDP11.CATEGORIES[m]; - fCriteria = !!(this.bitsMessage & bitsMessage); - break; - } - } - if (!bitsMessage) { - this.println("unknown message category: " + sCategory); - return; - } - } - if (bitsMessage) { - if (asArgs[2] == "on") { - this.bitsMessage |= bitsMessage; - fCriteria = true; - } - else if (asArgs[2] == "off") { - this.bitsMessage &= ~bitsMessage; - fCriteria = false; - if (bitsMessage == MessagesPDP11.BUFFER) { - var i = this.aMessageBuffer.length >= 1000? this.aMessageBuffer.length - 1000 : 0; - while (i < this.aMessageBuffer.length) { - this.println(this.aMessageBuffer[i++]); - } - this.aMessageBuffer = []; - } - } - } - } - - /* - * Display those message categories that match the current criteria (on or off) - */ - var n = 0; - var sCategories = ""; - for (m in MessagesPDP11.CATEGORIES) { - if (!sCategory || sCategory == m) { - var bitMessage = MessagesPDP11.CATEGORIES[m]; - var fEnabled = !!(this.bitsMessage & bitMessage); - if (fCriteria !== null && fCriteria != fEnabled) continue; - if (sCategories) sCategories += ','; - if (!(++n % 10)) sCategories += "\n\t"; // jshint ignore:line - /* - * Internally, we use "key" instead of "keys", since the latter is a method on JavasScript objects, - * but externally, we allow the user to specify "keys". - */ - if (m == "key") m = "keys"; - sCategories += m; - } - } - - if (sCategory === undefined) { - this.println("message commands:\n\tm [category] [on|off]\tturn categories on/off"); - } - - this.println((fCriteria !== null? (fCriteria? "messages on: " : "messages off: ") : "message categories:\n\t") + (sCategories || "none")); - - this.historyInit(); // call this just in case MessagesPDP11.INT was turned on - }; - - /** - * doOptions(asArgs) - * - * @this {DebuggerPDP11} - * @param {Array.} asArgs - */ - DebuggerPDP11.prototype.doOptions = function(asArgs) - { - switch (asArgs[1]) { - - case "base": - if (asArgs[2]) { - var nBase = +asArgs[2]; - if (nBase == 8 || nBase == 10 || nBase == 16) { - this.nBase = nBase; - } else { - this.println("invalid base: " + nBase); - break; - } - } - this.println("default base: " + this.nBase); - break; - - case "cs": - var nCycles; - if (asArgs[3] !== undefined) nCycles = +asArgs[3]; // warning: decimal instead of hex conversion - switch (asArgs[2]) { - case "int": - this.cpu.nCyclesChecksumInterval = nCycles; - break; - case "start": - this.cpu.nCyclesChecksumStart = nCycles; - break; - case "stop": - this.cpu.nCyclesChecksumStop = nCycles; - break; - default: - this.println("unknown cs option"); - return; - } - if (nCycles !== undefined) { - this.cpu.resetChecksum(); - } - this.println("checksums " + (this.cpu.flags.checksum? "enabled" : "disabled")); - return; - - case "sp": - if (asArgs[2] !== undefined) { - if (!this.cpu.setSpeed(+asArgs[2])) { - this.println("warning: using 1x multiplier, previous target not reached"); - } - } - this.println("target speed: " + this.cpu.getSpeedTarget() + " (" + this.cpu.getSpeed() + "x)"); - return; - - default: - if (asArgs[1]) { - this.println("unknown option: " + asArgs[1]); - return; - } - /* falls through */ - - case "?": - this.println("debugger options:"); - this.println("\tbase #\t\tset default base to #"); - this.println("\tcs int #\tset checksum cycle interval to #"); - this.println("\tcs start #\tset checksum cycle start count to #"); - this.println("\tcs stop #\tset checksum cycle stop count to #"); - this.println("\tsp #\t\tset speed multiplier to #"); - break; - } - }; - - /** - * doRegisters(asArgs, fInstruction) - * - * @this {DebuggerPDP11} - * @param {Array.} [asArgs] - * @param {boolean} [fInstruction] (true to include the current instruction; default is true) - */ - DebuggerPDP11.prototype.doRegisters = function(asArgs, fInstruction) - { - if (asArgs && asArgs[1] == '?') { - this.println("register commands:"); - this.println("\tr\tdump registers"); - this.println("\trm\tdump misc registers"); - this.println("\trx [#]\tset flag or register x to [#]"); - return; - } - - var fMisc = false; - var cpu = this.cpu; - if (fInstruction == null) fInstruction = true; - - if (asArgs != null && asArgs.length > 1) { - var sReg = asArgs[1]; - - if (sReg == 'm') { - fMisc = true; - } - else { - var sValue = null; - var i = sReg.indexOf('='); - if (i > 0) { - sValue = sReg.substr(i + 1); - sReg = sReg.substr(0, i); - } - else if (asArgs.length > 2) { - sValue = asArgs[2]; - } - else { - this.println("missing value for " + asArgs[1]); - return; - } - - var w = this.parseExpression(sValue); - if (w === undefined) return; - - var sRegMatch = sReg.toUpperCase(); - switch (sRegMatch) { - case "SP": - case "R6": - cpu.setSP(w); - break; - case "PC": - case "R7": - cpu.setPC(w); - this.dbgAddrNextCode = this.newAddr(cpu.getPC()); - break; - case "N": - if (w) cpu.setNF(); else cpu.clearNF(); - break; - case "Z": - if (w) cpu.setZF(); else cpu.clearZF(); - break; - case "V": - if (w) cpu.setVF(); else cpu.clearVF(); - break; - case "C": - if (w) cpu.setCF(); else cpu.clearCF(); - break; - case "PS": - cpu.setPSW(w); - break; - case "PI": - cpu.setPIR(w); - break; - case "ER": - cpu.regErr = w; - fMisc = true; - break; - case "SL": - cpu.setSLR(w); - break; - case "M0": - cpu.setMMR0(w); - fMisc = true; - break; - case "M3": - cpu.setMMR3(w); - fMisc = true; - break; - case "AR": - if (this.panel) this.panel.setAR(w); - fMisc = true; - break; - case "DR": - if (this.panel) this.panel.setDR(w); - fMisc = true; - break; - case "SR": - if (this.panel && this.panel.hasSwitches()) { - this.panel.setSR(w); - fMisc = true; - break; - } - /* falls through */ - default: - if (sRegMatch.charAt(0) == 'R') { - var iReg = +sRegMatch.charAt(1); - if (iReg >= 0 && iReg < 6) { - cpu.regsGen[iReg] = w & 0xffff; - break; - } - } - this.println("unknown register: " + sReg); - return; - } - this.cmp.updateDisplays(); - this.println("updated registers:"); - } - } - - this.println(this.getRegDump(fMisc)); - - if (fInstruction) { - this.dbgAddrNextCode = this.newAddr(cpu.getPC()); - this.doUnassemble(this.toStrAddr(this.dbgAddrNextCode)); - } - }; - - /** - * doRun(sCmd, sAddr, sOptions, fQuiet) - * - * @this {DebuggerPDP11} - * @param {string} sCmd - * @param {string|undefined} [sAddr] - * @param {string} [sOptions] (the rest of the breakpoint command-line) - * @param {boolean} [fQuiet] - */ - DebuggerPDP11.prototype.doRun = function(sCmd, sAddr, sOptions, fQuiet) - { - if (sCmd == "gt") { - this.fIgnoreNextCheckFault = true; - } - if (sAddr !== undefined) { - var dbgAddr = this.parseAddr(sAddr, true); - if (!dbgAddr) return; - this.parseAddrOptions(dbgAddr, sOptions); - this.setTempBreakpoint(dbgAddr); - } - this.startCPU(true, fQuiet); - }; - - /** - * doPrint(sCmd) - * - * NOTE: If the string to print is a quoted string, then we run it through replaceRegs(), so that - * you can take advantage of all the special replacement options used for software interrupt logging. - * - * @this {DebuggerPDP11} - * @param {string} sCmd - */ - DebuggerPDP11.prototype.doPrint = function(sCmd) - { - sCmd = str.trim(sCmd); - var a = sCmd.match(/^(['"])(.*?)\1$/); - if (!a) { - this.parseExpression(sCmd, true); - } else { - if (a[2].length > 1) { - this.println(this.replaceRegs(a[2])); - } else { - this.printValue(null, a[2].charCodeAt(0)); - } - } - }; - - /** - * doStep(sCmd, sOption) - * - * @this {DebuggerPDP11} - * @param {string} [sCmd] "p" or "pr" - * @param {string} [sOption] - */ - DebuggerPDP11.prototype.doStep = function(sCmd, sOption) - { - if (sOption == '?') { - this.println("step commands:"); - this.println("\tp\tstep over instruction"); - this.println("\tpr\tstep over instruction with register update"); - return; - } - - var fCallStep = true; - var nRegs = (sCmd == "pr"? 1 : 0); - /* - * Set up the value for this.nStep (ie, 1 or 2) depending on whether the user wants - * a subsequent register dump ("pr") or not ("p"). - */ - var nStep = 1 + nRegs; - - if (!this.nStep) { - var dbgAddr = this.newAddr(this.cpu.getPC()); - var opCode = this.getWord(dbgAddr); - - if (opCode == PDP11.OPCODE.BPT || opCode == PDP11.OPCODE.IOT || - (opCode & PDP11.OPCODE.EMT_MASK) == PDP11.OPCODE.EMT_OP || - (opCode & PDP11.OPCODE.SOB_MASK) == PDP11.OPCODE.SOB_OP || - (opCode & PDP11.OPCODE.TRAP_MASK) == PDP11.OPCODE.TRAP_OP) { - if (fCallStep) { - this.nStep = nStep; - this.incAddr(dbgAddr, 2); - } - } else if ((opCode & PDP11.OPCODE.JSR_MASK) == PDP11.OPCODE.JSR_OP) { - var s = this.getInstruction(dbgAddr); - this.assert(s.indexOf("JSR") >= 0); - if (fCallStep) { - this.nStep = nStep; - } - } - - if (this.nStep) { - this.setTempBreakpoint(dbgAddr); - if (!this.startCPU()) { - if (this.cmp) this.cmp.setFocus(); - this.nStep = 0; - } - /* - * A successful run will ultimately call stop(), which will in turn call clearTempBreakpoint(), - * which will clear nStep, so there's your assurance that nStep will be reset. Now we may have - * stopped for reasons unrelated to the temporary breakpoint, but that's OK. - */ - } else { - this.doTrace(nRegs? "tr" : "t"); - } - } else { - this.println("step in progress"); - } - }; - - /** - * getCall(dbgAddr) - * - * Given a possible return address (typically from the stack), look for a matching CALL (or INT) that - * immediately precedes that address. - * - * @this {DebuggerPDP11} - * @param {DbgAddrPDP11} dbgAddr - * @return {string|null} CALL instruction at or near dbgAddr, or null if none - */ - DebuggerPDP11.prototype.getCall = function(dbgAddr) - { - var sCall = null; - var addr = dbgAddr.addr; - var addrOrig = addr; - for (var n = 1; n <= 6 && !!addr; n++) { - if (n > 2) { - dbgAddr.addr = addr; - var s = this.getInstruction(dbgAddr); - if (s.indexOf("JSR") >= 0) { - /* - * Verify that the length of this call, when added to the address of the call, matches - * the original return address. We do this by getting the string index of the opcode bytes, - * subtracting that from the string index of the next space, and dividing that difference - * by two, to yield the length of the CALL (or INT) instruction, in bytes. - */ - var i = s.indexOf(' '); - var j = s.indexOf(' ', i+1); - if (addr + (j - i - 1)/2 == addrOrig) { - sCall = s; - break; - } - } - } - addr -= 2; - } - dbgAddr.addr = addrOrig; - return sCall; - }; - - /** - * doStackTrace(sCmd, sAddr) - * - * Use "k" for a normal stack trace and "ks" for a stack trace with symbolic info. - * - * @this {DebuggerPDP11} - * @param {string} [sCmd] - * @param {string} [sAddr] (not used yet) - */ - DebuggerPDP11.prototype.doStackTrace = function(sCmd, sAddr) - { - if (sAddr == '?') { - this.println("stack trace commands:"); - this.println("\tk\tshow frame addresses"); - this.println("\tks\tshow symbol information"); - return; - } - - var nFrames = 10, cFrames = 0; - var dbgAddrCall = this.newAddr(); - var dbgAddrStack = this.newAddr(this.cpu.getSP()); - this.println("stack trace for " + this.toStrAddr(dbgAddrStack)); - - while (cFrames < nFrames) { - var sCall = null, sCallPrev = null, cTests = 256; - while ((dbgAddrStack.addr >>> 0) < 0x10000) { - dbgAddrCall.addr = this.getWord(dbgAddrStack, 2); - /* - * Because we're using the auto-increment feature of getWord(), and because that will automatically - * wrap the offset around the end of the segment, we must also check the addr property to detect the wrap. - */ - if (dbgAddrStack.addr == null || !cTests--) break; - if (dbgAddrCall.addr & 0x1) continue; // an odd address on the PDP-11 is not a valid instruction boundary - sCall = this.getCall(dbgAddrCall); - if (sCall) break; - } - /* - * The sCallPrev check eliminates duplicate sequential calls, which are usually (but not always) - * indicative of a false positive, in which case the previous call is probably bogus as well, but - * at least we won't duplicate that mistake. Of course, there are always exceptions, recursion - * being one of them, but it's rare that we're debugging recursive code. - */ - if (!sCall || sCall == sCallPrev) break; - var sSymbol = null; - if (sCmd == "ks") { - var a = sCall.match(/[0-9A-F]+$/); - if (a) sSymbol = this.doList(a[0]); - } - sCall = str.pad(sCall, 50) + " ;" + (sSymbol || "stack=" + this.toStrAddr(dbgAddrStack)); // + " return=" + this.toStrAddr(dbgAddrCall)); - this.println(sCall); - sCallPrev = sCall; - cFrames++; - } - if (!cFrames) this.println("no return addresses found"); - }; - - /** - * doTrace(sCmd, sCount) - * - * The "t" and "tr" commands interpret the count as a number of instructions, and since - * we call the Debugger's stepCPU() for each iteration, a single instruction includes - * any/all prefixes; the CPU's stepCPU() treats prefixes as discrete operations. The only - * difference between "t" and "tr": the former displays only the next instruction, while - * the latter also displays the (updated) registers. - * - * The "tc" command interprets the count as a number of cycles rather than instructions, - * allowing you to quickly execute large chunks of instructions with a single command; it - * doesn't display anything until the the chunk has finished. "tc 1" is also a useful - * command in that it doesn't inhibit interrupts like "t" or "tr" does. - * - * However, generally a more useful command is "bn", which allows you to break after some - * number of instructions have been executed (as opposed to some number of cycles). - * - * @this {DebuggerPDP11} - * @param {string} [sCmd] ("t", "tc", or "tr") - * @param {string} [sCount] # of instructions to step - */ - DebuggerPDP11.prototype.doTrace = function(sCmd, sCount) - { - if (sCount == '?') { - this.println("trace commands:"); - this.println("\tt [#]\ttrace # instructions"); - this.println("\ttr [#]\ttrace # instructions with register updates"); - this.println("\ttc [#]\ttrace # cycles"); - this.println("note: bn [#] breaks after # instructions without updates"); - return; - } - - var dbg = this; - var fRegs = (sCmd != "t"); - var nCount = this.parseValue(sCount, null, true) || 1; - - /* - * We used to set nCycles to 1 when a count > 1 was specified, because nCycles set - * to 0 used to mean "execute the next instruction without checking for interrupts". - * Well, this machine's stepCPU() doesn't do that; it ALWAYS checks for interrupts, - * so we should leave nCycles set to 0, so that if an interrupt is dispatched, we will - * get to see the first instruction of the interrupt handler. - */ - var nCycles = 0; // (nCount == 1? 0 : 1); - - if (sCmd == "tc") { - nCycles = nCount; - nCount = 1; - } - this.sTraceCmdPrev = sCmd; - - web.onCountRepeat( - nCount, - function onCountStep() { - return dbg.setBusy(true) && dbg.stepCPU(nCycles, fRegs, false); - }, - function onCountStepComplete() { - /* - * We explicitly called stepCPU() with fUpdateDisplays set to false, because repeatedly - * calling updateDisplays() can be very slow, especially if a Control Panel is present with - * displayLiveRegs enabled, so once the repeat count has been exhausted, we must perform - * a final updateDisplays(). - */ - if (dbg.panel) dbg.panel.stop(); - dbg.cmp.updateDisplays(-1); - dbg.setBusy(false); - } - ); - }; - - /** - * doUnassemble(sAddr, sAddrEnd, nLines) - * - * @this {DebuggerPDP11} - * @param {string} [sAddr] - * @param {string} [sAddrEnd] - * @param {number} [nLines] - */ - DebuggerPDP11.prototype.doUnassemble = function(sAddr, sAddrEnd, nLines) - { - var dbgAddr = this.parseAddr(sAddr, true); - if (!dbgAddr) return; - - if (nLines === undefined) nLines = 1; - - var nBytes = 0x100; - if (sAddrEnd !== undefined) { - - if (sAddrEnd.charAt(0) == 'l') { - var n = this.parseValue(sAddrEnd.substr(1)); - if (n != null) nLines = n; - } - else { - var dbgAddrEnd = this.parseAddr(sAddrEnd, true); - if (!dbgAddrEnd || dbgAddrEnd.addr < dbgAddr.addr) return; - - nBytes = dbgAddrEnd.addr - dbgAddr.addr; - if (!DEBUG && nBytes > 0x100) { - /* - * Limiting the amount of disassembled code to 256 bytes in non-DEBUG builds is partly to - * prevent the user from wedging the browser by dumping too many lines, but also a recognition - * that, in non-DEBUG builds, this.println() keeps print output buffer truncated to 8Kb anyway. - */ - this.println("range too large"); - return; - } - nLines = -1; - } - } - - var nPrinted = 0; - var sInstruction; - - while (nBytes > 0 && nLines--) { - - var nSequence = (this.isBusy(false) || this.nStep)? this.nCycles : null; - var sComment = (nSequence != null? "cycles" : null); - var aSymbol = this.findSymbol(dbgAddr); - - var addr = dbgAddr.addr; // we snap dbgAddr.addr *after* calling findSymbol(), which re-evaluates it - - if (aSymbol[0] && nLines) { - if (!nPrinted && nLines || aSymbol[0].indexOf('+') < 0) { - var sLabel = aSymbol[0] + ':'; - if (aSymbol[2]) sLabel += ' ' + aSymbol[2]; - this.println(sLabel); - } - } - - if (aSymbol[3]) { - sComment = aSymbol[3]; - nSequence = null; - } - - sInstruction = this.getInstruction(dbgAddr, sComment, nSequence); - - this.println(sInstruction); - this.dbgAddrNextCode = dbgAddr; - nBytes -= dbgAddr.addr - addr; - nPrinted++; - } - }; - - /** - * splitArgs(sCmd) - * - * @this {DebuggerPDP11} - * @param {string} sCmd - * @return {Array.} - */ - DebuggerPDP11.prototype.splitArgs = function(sCmd) - { - var asArgs = sCmd.replace(/ +/g, ' ').split(' '); - asArgs[0] = asArgs[0].toLowerCase(); - if (asArgs && asArgs.length) { - var s0 = asArgs[0]; - var ch0 = s0.charAt(0); - for (var i = 1; i < s0.length; i++) { - var ch = s0.charAt(i); - if (ch0 == '?' || ch0 == 'r' || ch < 'a' || ch > 'z') { - asArgs[0] = s0.substr(i); - asArgs.unshift(s0.substr(0, i)); - break; - } - } - } - return asArgs; - }; - - /** - * doCommand(sCmd, fQuiet) - * - * @this {DebuggerPDP11} - * @param {string} sCmd - * @param {boolean} [fQuiet] - * @return {boolean} true if command processed, false if unrecognized - */ - DebuggerPDP11.prototype.doCommand = function(sCmd, fQuiet) - { - var result = true; - - try { - if (!sCmd.length || sCmd == "end") { - if (this.fAssemble) { - this.println("ended assemble at " + this.toStrAddr(this.dbgAddrAssemble)); - this.dbgAddrNextCode = this.dbgAddrAssemble; - this.fAssemble = false; - } - sCmd = ""; - } - else if (!fQuiet) { - var sPrompt = ">> "; - this.println(sPrompt + sCmd); - } - - var ch = sCmd.charAt(0); - if (ch == '"' || ch == "'") return true; - - /* - * Zap the previous message buffer to ensure the new command's output is not tossed out as a repeat. - */ - this.sMessagePrev = null; - - /* - * I've relaxed the !isBusy() requirement, to maximize our ability to issue Debugger commands externally. - */ - if (this.isReady() /* && !this.isBusy(true) */ && sCmd.length > 0) { - - if (this.fAssemble) { - sCmd = "a " + this.toStrAddr(this.dbgAddrAssemble) + ' ' + sCmd; - } - - var fError = false; - var asArgs = this.splitArgs(sCmd); - - switch (asArgs[0].charAt(0)) { - case 'a': - this.doAssemble(asArgs); - break; - case 'b': - this.doBreak(asArgs[0], asArgs[1], sCmd); - break; - case 'c': - this.doClear(asArgs[0]); - break; - case 'd': - if (!COMPILED && sCmd == "debug") { - window.DEBUG = true; - this.println("DEBUG checks on"); - break; - } - this.doDump(asArgs); - break; - case 'e': - if (asArgs[0] == "else") break; - this.doEdit(asArgs); - break; - case 'g': - this.doRun(asArgs[0], asArgs[1], sCmd, fQuiet); - break; - case 'h': - this.doHalt(fQuiet); - break; - case 'i': - if (asArgs[0] == "if") { - if (!this.doIf(sCmd.substr(2), fQuiet)) { - result = false; - } - break; - } - fError = true; - break; - case 'k': - this.doStackTrace(asArgs[0], asArgs[1]); - break; - case 'l': - if (asArgs[0] == "ln") { - this.doList(asArgs[1], true); - break; - } - fError = true; - break; - case 'm': - this.doMessages(asArgs); - break; - case 'p': - if (asArgs[0] == "print") { - this.doPrint(sCmd.substr(5)); - break; - } - this.doStep(asArgs[0], asArgs[1]); - break; - case 'r': - if (sCmd == "reset") { - if (this.cmp) this.cmp.reset(); - break; - } - this.doRegisters(asArgs); - break; - case 's': - this.doOptions(asArgs); - break; - case 't': - this.doTrace(asArgs[0], asArgs[1]); - break; - case 'u': - this.doUnassemble(asArgs[1], asArgs[2], 8); - break; - case 'v': - if (asArgs[0] == "var") { - if (!this.doVar(sCmd.substr(3))) { - result = false; - } - break; - } - if (asArgs[0] == "ver") { - this.println((PDP11.APPNAME || "PDP11") + " version " + (XMLVERSION || PDP11.APPVERSION) + " (" + this.cpu.model + (PDP11.COMPILED? ",RELEASE" : (PDP11.DEBUG? ",DEBUG" : ",NODEBUG")) + (PDP11.TYPEDARRAYS? ",TYPEDARRAYS" : (PDP11.BYTEARRAYS? ",BYTEARRAYS" : ",LONGARRAYS")) + ')'); - this.println(web.getUserAgent()); - break; - } - fError = true; - break; - case '?': - if (asArgs[1]) { - this.doPrint(sCmd.substr(1)); - break; - } - this.doHelp(); - break; - case 'n': - if (!COMPILED && sCmd == "nodebug") { - window.DEBUG = false; - this.println("DEBUG checks off"); - break; - } - if (this.doInfo(asArgs)) break; - /* falls through */ - default: - fError = true; - break; - } - if (fError) { - this.println("unknown command: " + sCmd); - result = false; - } - } - } catch(e) { - this.println("debugger error: " + (e.stack || e.message)); - result = false; - } - return result; - }; - - /** - * doCommands(sCmds, fSave) - * - * @this {DebuggerPDP11} - * @param {string} sCmds - * @param {boolean} [fSave] - * @return {boolean} true if all commands processed, false if not - */ - DebuggerPDP11.prototype.doCommands = function(sCmds, fSave) - { - var a = this.parseCommand(sCmds, fSave); - for (var s in a) { - if (!this.doCommand(a[+s])) return false; - } - return true; - }; - - /** - * DebuggerPDP11.init() - * - * This function operates on every HTML element of class "debugger", extracting the - * JSON-encoded parameters for the Debugger constructor from the element's "data-value" - * attribute, invoking the constructor to create a Debugger component, and then binding - * any associated HTML controls to the new component. - */ - DebuggerPDP11.init = function() - { - var aeDbg = Component.getElementsByClass(document, PDP11.APPCLASS, "debugger"); - for (var iDbg = 0; iDbg < aeDbg.length; iDbg++) { - var eDbg = aeDbg[iDbg]; - var parmsDbg = Component.getComponentParms(eDbg); - var dbg = new DebuggerPDP11(parmsDbg); - Component.bindComponentControls(dbg, eDbg, PDP11.APPCLASS); - } - }; - /* * Initialize every Debugger module on the page (as IF there's ever going to be more than one ;-)) */ - web.onInit(DebuggerPDP11.init); + Web.onInit(DebuggerPDP11.init); } // endif DEBUGGER -if (NODE) module.exports = DebuggerPDP11; +export default DebuggerPDP11; diff --git a/modules/pdp11/lib/defines.js b/modules/pdp11/lib/defines.js index a0829c663..3d8d94037 100644 --- a/modules/pdp11/lib/defines.js +++ b/modules/pdp11/lib/defines.js @@ -883,13 +883,4 @@ PDP11.ACCESS.UPDATE_BYTE = PDP11.ACCESS.BYTE | PDP11.ACCESS.UPDATE; // forme */ PDP11.PSW.FLAGS = (PDP11.PSW.NF | PDP11.PSW.ZF | PDP11.PSW.VF | PDP11.PSW.CF); -if (NODE) { - global.APPCLASS = APPCLASS; - global.APPNAME = APPNAME; - global.DEBUGGER = DEBUGGER; - global.BYTEARRAYS = BYTEARRAYS; - global.TYPEDARRAYS = TYPEDARRAYS; - global.PDP11 = PDP11; - - module.exports = PDP11; -} +export default PDP11; diff --git a/modules/pdp11/lib/device.js b/modules/pdp11/lib/device.js index b80df13f1..e6e1da0fd 100644 --- a/modules/pdp11/lib/device.js +++ b/modules/pdp11/lib/device.js @@ -32,1074 +32,1105 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var BusPDP11 = require("./bus"); - var MemoryPDP11 = require("./memory"); - var MessagesPDP11 = require("./messages"); - var PC11 = require("./pc11"); - var RL11 = require("./rl11"); -} +import Str from "../../shared/es6/strlib"; +import Web from "../../shared/es6/weblib"; +import Component from "../../shared/es6/component"; +import BusPDP11 from "./bus"; +import MemoryPDP11 from "./memory"; +import MessagesPDP11 from "./messages"; +import PC11 from "./pc11"; +import RL11 from "./rl11"; -/** - * DevicePDP11(parmsDevice) - * - * The Device component implements the following "default" devices: - * - * KW11 (KW11-L Line Time Clock) - * - * as well providing access to all the MMU and CPU registers, PSW, etc. - * - * @constructor - * @extends Component - * @param {Object} parmsDevice - */ -function DevicePDP11(parmsDevice) -{ - Component.call(this, "Device", parmsDevice, DevicePDP11, MessagesPDP11.DEVICE); +class DevicePDP11 extends Component { + /** + * DevicePDP11(parmsDevice) + * + * The Device component implements the following "default" devices: + * + * KW11 (KW11-L Line Time Clock) + * + * as well providing access to all the MMU and CPU registers, PSW, etc. + * + * @param {Object} parmsDevice + */ + constructor(parmsDevice) + { + super("Device", parmsDevice, DevicePDP11, MessagesPDP11.DEVICE); - this.kw11 = { // KW11 registers - csr: 0, - timer: -1 // initBus() will initialize this timer ID - }; -} + this.kw11 = { // KW11 registers + csr: 0, + timer: -1 // initBus() will initialize this timer ID + }; + } -Component.subclass(DevicePDP11); + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {DevicePDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.bus = bus; + this.cmp = cmp; + this.cpu = cpu; + this.dbg = dbg; -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {DevicePDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -DevicePDP11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.bus = bus; - this.cmp = cmp; - this.cpu = cpu; - this.dbg = dbg; - - var device = this; - this.kw11.timer = cpu.addTimer(function() { - device.interruptKW11(); - }); - - this.kw11.irq = cpu.addIRQ(PDP11.KW11.VEC, PDP11.KW11.PRI, MessagesPDP11.KW11); - - bus.addIOTable(this, DevicePDP11.UNIBUS_IOTABLE); - bus.addResetHandler(this.reset.bind(this)); - - if (DEBUGGER && dbg) { - dbg.messageDump(MessagesPDP11.MMU, function onDumpMMU(asArgs) { - device.dumpMMU(asArgs); + var device = this; + this.kw11.timer = cpu.addTimer(function() { + device.interruptKW11(); }); - } - this.setReady(); -}; -/** - * dumpMMU(asArgs) - * - * @this {DevicePDP11} - * @param {Array.} asArgs - */ -DevicePDP11.prototype.dumpMMU = function(asArgs) -{ - if (DEBUGGER) { - var cpu = this.cpu; - this.dumpRegs("KIPDR", cpu.mmuPDR[0], 0, asArgs[0]); - this.dumpRegs("KDPDR", cpu.mmuPDR[0], 8, asArgs[0]); - this.dumpRegs("KIPAR", cpu.mmuPAR[0], 0, asArgs[0]); - this.dumpRegs("KDPAR", cpu.mmuPAR[0], 8, asArgs[0], true); - this.dumpRegs("SIPDR", cpu.mmuPDR[1], 0, asArgs[0]); - this.dumpRegs("SDPDR", cpu.mmuPDR[1], 8, asArgs[0]); - this.dumpRegs("SIPAR", cpu.mmuPAR[1], 0, asArgs[0]); - this.dumpRegs("SDPAR", cpu.mmuPAR[1], 8, asArgs[0], true); - this.dumpRegs("UIPDR", cpu.mmuPDR[3], 0, asArgs[0]); - this.dumpRegs("UDPDR", cpu.mmuPDR[3], 8, asArgs[0]); - this.dumpRegs("UIPAR", cpu.mmuPAR[3], 0, asArgs[0]); - this.dumpRegs("UDPAR", cpu.mmuPAR[3], 8, asArgs[0], true); - if (cpu.regMMR3 & PDP11.MMR3.UNIBUS_MAP) { - this.dumpRegs("UNIMAP", cpu.regsUniMap, -1, asArgs[0]); - } - } -}; + this.kw11.irq = cpu.addIRQ(PDP11.KW11.VEC, PDP11.KW11.PRI, MessagesPDP11.KW11); -/** - * dumpRegs(sName, aRegs, offset, sFilter, fBreak) - * - * @this {DevicePDP11} - * @param {string} sName - * @param {Array.} aRegs - * @param {number} offset - * @param {string} sFilter - * @param {boolean} [fBreak] - */ -DevicePDP11.prototype.dumpRegs = function(sName, aRegs, offset, sFilter, fBreak) -{ - if (DEBUGGER) { - var dbg = this.dbg; - if (sFilter && sName.indexOf(sFilter.toUpperCase()) < 0) return; - var nRegs = 8; - var sDump = ""; - var fIndex = false; - var nBytes = 0; - var nWidth = 8; - if (offset < 0) { - nRegs = aRegs.length; - offset = 0; - fIndex = true; - nBytes = 3; - nWidth = 4; + bus.addIOTable(this, DevicePDP11.UNIBUS_IOTABLE); + bus.addResetHandler(this.reset.bind(this)); + + if (DEBUGGER && dbg) { + dbg.messageDump(MessagesPDP11.MMU, function onDumpMMU(asArgs) { + device.dumpMMU(asArgs); + }); } - for (var i = 0; i < nRegs; i++) { - if (i % nWidth == 0) { - if (sDump) sDump += '\n'; - sDump += sName + (fIndex? ('[' + str.toDec(i, 2) + ']') : '') + ':'; + this.setReady(); + } + + /** + * dumpMMU(asArgs) + * + * @this {DevicePDP11} + * @param {Array.} asArgs + */ + dumpMMU(asArgs) + { + if (DEBUGGER) { + var cpu = this.cpu; + this.dumpRegs("KIPDR", cpu.mmuPDR[0], 0, asArgs[0]); + this.dumpRegs("KDPDR", cpu.mmuPDR[0], 8, asArgs[0]); + this.dumpRegs("KIPAR", cpu.mmuPAR[0], 0, asArgs[0]); + this.dumpRegs("KDPAR", cpu.mmuPAR[0], 8, asArgs[0], true); + this.dumpRegs("SIPDR", cpu.mmuPDR[1], 0, asArgs[0]); + this.dumpRegs("SDPDR", cpu.mmuPDR[1], 8, asArgs[0]); + this.dumpRegs("SIPAR", cpu.mmuPAR[1], 0, asArgs[0]); + this.dumpRegs("SDPAR", cpu.mmuPAR[1], 8, asArgs[0], true); + this.dumpRegs("UIPDR", cpu.mmuPDR[3], 0, asArgs[0]); + this.dumpRegs("UDPDR", cpu.mmuPDR[3], 8, asArgs[0]); + this.dumpRegs("UIPAR", cpu.mmuPAR[3], 0, asArgs[0]); + this.dumpRegs("UDPAR", cpu.mmuPAR[3], 8, asArgs[0], true); + if (cpu.regMMR3 & PDP11.MMR3.UNIBUS_MAP) { + this.dumpRegs("UNIMAP", cpu.regsUniMap, -1, asArgs[0]); } - sDump += ' ' + dbg.toStrBase(aRegs[offset + i], nBytes); } - dbg.println(sDump + (fBreak? '\n' : '')); } -}; -/** - * reset() - * - * @this {DevicePDP11} - */ -DevicePDP11.prototype.reset = function() -{ - this.kw11.lks = PDP11.KW11.LKS.MON; - this.cpu.setTimer(this.kw11.timer, 1000/60, true); -}; - -/** - * interruptKW11() - * - * We used to call this function only when the the KW11's "Interrupt Enable" bit was set, - * but now we call it at 60Hz regardless. In part, this was so we could piggy-back on it - * to drive display updates, but more importantly, the KW11's "Monitor" bit is supposed to - * be set at the "line frequency" independent of whether KW11 interrupts are enabled or not. - * - * @this {DevicePDP11} - */ -DevicePDP11.prototype.interruptKW11 = function() -{ - this.kw11.lks |= PDP11.KW11.LKS.MON; - if (this.kw11.lks & PDP11.KW11.LKS.IE) { - this.cpu.setIRQ(this.kw11.irq); - } - if (this.cmp) this.cmp.updateDisplays(1); - this.cpu.setTimer(this.kw11.timer, 1000/60); -}; - -/** - * readLKS(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.LKS or 177546) - * @return {number} - */ -DevicePDP11.prototype.readLKS = function(addr) -{ - /* - * NOTE: The original code always cleared LKS.MON (bit 7) after snapping the value for the read, - * but based on DEC's "Non-Interrupt Mode" programming examples, it's clear that's not how LKS.MON - * operates; if the caller wants to clear it, they must explicitly clear it with a write. - */ - return this.kw11.lks; -}; - -/** - * writeLKS(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.LKS or 177546) - */ -DevicePDP11.prototype.writeLKS = function(data, addr) -{ - /* - * NOTE: The original code always cleared LKS.MON (bit 7) as part of any write, but based on DEC's - * "Non-Interrupt Mode" programming examples, which explicitly CLRB after TSTB reveals LKS.MON is set, - * I think that was wrong, and that all a write should do is mask off all the other (non-writable) bits. - */ - this.kw11.lks = data & PDP11.KW11.LKS.MASK; - if (!(this.kw11.lks & PDP11.KW11.LKS.IE)) this.cpu.clearIRQ(this.kw11.irq); -}; - -/** - * readMMR0(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.MMR0 or 177572) - * @return {number} - */ -DevicePDP11.prototype.readMMR0 = function(addr) -{ - return this.cpu.getMMR0(); -}; - -/** - * writeMMR0(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.MMR0 or 177572) - */ -DevicePDP11.prototype.writeMMR0 = function(data, addr) -{ - this.cpu.setMMR0((data & ~PDP11.MMR0.COMPLETED) | (this.cpu.regMMR0 & PDP11.MMR0.COMPLETED)); -}; - -/** - * readMMR1(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.MMR1 or 177574) - * @return {number} - */ -DevicePDP11.prototype.readMMR1 = function(addr) -{ - return this.cpu.getMMR1(); -}; - -/** - * readMMR2(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.MMR2 or 177576) - * @return {number} - */ -DevicePDP11.prototype.readMMR2 = function(addr) -{ - return this.cpu.getMMR2(); -}; - -/** - * readMMR3(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.MMR3 or 172516) - * @return {number} - */ -DevicePDP11.prototype.readMMR3 = function(addr) -{ - return this.cpu.getMMR3(); -}; - -/** - * writeMMR3(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.MMR3 or 172516) - */ -DevicePDP11.prototype.writeMMR3 = function(data, addr) -{ - this.cpu.setMMR3(data); -}; - -/** - * readUNIMAP(addr) - * - * NOTE: The UNIBUS map ("UNIMAP") is 32 registers spread across 64 words, so we first calculate the word index. - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.UNIMAP) - * @return {number} - */ -DevicePDP11.prototype.readUNIMAP = function(addr) -{ - var word = (addr >> 1) & 0x3f, reg = word >> 1; - var data = this.cpu.regsUniMap[reg]; - return (word & 1)? (data >> 16) : (data & 0xffff); -}; - -/** - * writeUNIMAP(data, addr) - * - * NOTE: The UNIBUS map ("UNIMAP") is 32 registers spread across 64 words, so we first calculate the word index. - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.UNIMAP) - */ -DevicePDP11.prototype.writeUNIMAP = function(data, addr) -{ - var word = (addr >> 1) & 0x3f, reg = word >> 1; - if (word & 1) { - this.cpu.regsUniMap[reg] = (this.cpu.regsUniMap[reg] & 0xffff) | ((data & 0x003f) << 16); - } else { - this.cpu.regsUniMap[reg] = (this.cpu.regsUniMap[reg] & ~0xffff) | (data & 0xfffe); - } -}; - -/** - * readSIPDR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.SIPDR0--SIPDR7 or 172200--172216) - * @return {number} - */ -DevicePDP11.prototype.readSIPDR = function(addr) -{ - var reg = (addr >> 1) & 7; - return this.cpu.mmuPDR[1][reg]; -}; - -/** - * writeSIPDR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.SIPDR0--SIPDR7 or 172200--172216) - */ -DevicePDP11.prototype.writeSIPDR = function(data, addr) -{ - var reg = (addr >> 1) & 7; - this.cpu.mmuPDR[1][reg] = data & 0xff0f; -}; - -/** - * readSDPDR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.SDPDR0--SDPDR7 or 172220--172236) - * @return {number} - */ -DevicePDP11.prototype.readSDPDR = function(addr) -{ - var reg = ((addr >> 1) & 7) + 8; - return this.cpu.mmuPDR[1][reg]; -}; - -/** - * writeSDPDR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.SDPDR0--SDPDR7 or 172220--172236) - */ -DevicePDP11.prototype.writeSDPDR = function(data, addr) -{ - var reg = ((addr >> 1) & 7) + 8; - this.cpu.mmuPDR[1][reg] = data & 0xff0f; -}; - -/** - * readSIPAR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.SIPAR0--SIPAR7 or 172240--172256) - * @return {number} - */ -DevicePDP11.prototype.readSIPAR = function(addr) -{ - var reg = (addr >> 1) & 7; - return this.cpu.mmuPAR[1][reg]; -}; - -/** - * writeSIPAR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.SIPAR0--SIPAR7 or 172240--172256) - */ -DevicePDP11.prototype.writeSIPAR = function(data, addr) -{ - var reg = (addr >> 1) & 7; - this.cpu.mmuPAR[1][reg] = data; - this.cpu.mmuPDR[1][reg] &= 0xff0f; - -}; - -/** - * readSDPAR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.SDPAR0--SDPAR7 or 172260--172276) - * @return {number} - */ -DevicePDP11.prototype.readSDPAR = function(addr) -{ - var reg = ((addr >> 1) & 7) + 8; - return this.cpu.mmuPAR[1][reg]; -}; - -/** - * writeSDPAR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.SDPAR0--SDPAR7 or 172260--172276) - */ -DevicePDP11.prototype.writeSDPAR = function(data, addr) -{ - var reg = ((addr >> 1) & 7) + 8; - this.cpu.mmuPAR[1][reg] = data; - this.cpu.mmuPDR[1][reg] &= 0xff0f; -}; - -/** - * readKIPDR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.KIPDR0--KIPDR7 or 172300--172316) - * @return {number} - */ -DevicePDP11.prototype.readKIPDR = function(addr) -{ - var reg = (addr >> 1) & 7; - return this.cpu.mmuPDR[0][reg]; -}; - -/** - * writeKIPDR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.KIPDR0--KIPDR7 or 172300--172316) - */ -DevicePDP11.prototype.writeKIPDR = function(data, addr) -{ - var reg = (addr >> 1) & 7; - this.cpu.mmuPDR[0][reg] = data & 0xff0f; -}; - -/** - * readKDPDR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.KDPDR0--KDPDR7 or 172320--172336) - * @return {number} - */ -DevicePDP11.prototype.readKDPDR = function(addr) -{ - var reg = ((addr >> 1) & 7) + 8; - return this.cpu.mmuPDR[0][reg]; -}; - -/** - * writeKDPDR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.KDPDR0--KDPDR7 or 172320--172336) - */ -DevicePDP11.prototype.writeKDPDR = function(data, addr) -{ - var reg = ((addr >> 1) & 7) + 8; - this.cpu.mmuPDR[0][reg] = data & 0xff0f; -}; - -/** - * readKIPAR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.KIPAR0--KIPAR7 or 172340--172356) - * @return {number} - */ -DevicePDP11.prototype.readKIPAR = function(addr) -{ - var reg = (addr >> 1) & 7; - return this.cpu.mmuPAR[0][reg]; -}; - -/** - * writeKIPAR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.KIPAR0--KIPAR7 or 172340--172356) - */ -DevicePDP11.prototype.writeKIPAR = function(data, addr) -{ - var reg = (addr >> 1) & 7; - this.cpu.mmuPAR[0][reg] = data; - this.cpu.mmuPDR[0][reg] &= 0xff0f; - -}; - -/** - * readKDPAR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.KDPAR0--KDPAR7 or 172360--172376) - * @return {number} - */ -DevicePDP11.prototype.readKDPAR = function(addr) -{ - var reg = ((addr >> 1) & 7) + 8; - return this.cpu.mmuPAR[0][reg]; -}; - -/** - * writeKDPAR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.KDPAR0--KDPAR7 or 172360--172376) - */ -DevicePDP11.prototype.writeKDPAR = function(data, addr) -{ - var reg = ((addr >> 1) & 7) + 8; - this.cpu.mmuPAR[0][reg] = data; - this.cpu.mmuPDR[0][reg] &= 0xff0f; -}; - -/** - * readUIPDR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.UIPDR0--UIPDR7 or 177600--177616) - * @return {number} - */ -DevicePDP11.prototype.readUIPDR = function(addr) -{ - var reg = (addr >> 1) & 7; - return this.cpu.mmuPDR[3][reg]; -}; - -/** - * writeUIPDR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.UIPDR0--UIPDR7 or 177600--177616) - */ -DevicePDP11.prototype.writeUIPDR = function(data, addr) -{ - var reg = (addr >> 1) & 7; - this.cpu.mmuPDR[3][reg] = data & 0xff0f; -}; - -/** - * readUDPDR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.UDPDR0--UDPDR7 or 177620--177636) - * @return {number} - */ -DevicePDP11.prototype.readUDPDR = function(addr) -{ - var reg = ((addr >> 1) & 7) + 8; - return this.cpu.mmuPDR[3][reg]; -}; - -/** - * writeUDPDR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.UDPDR0--UDPDR7 or 177620--177636) - */ -DevicePDP11.prototype.writeUDPDR = function(data, addr) -{ - var reg = ((addr >> 1) & 7) + 8; - this.cpu.mmuPDR[3][reg] = data & 0xff0f; -}; - -/** - * readUIPAR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.UIPAR0--UIPAR7 or 177640--177656) - * @return {number} - */ -DevicePDP11.prototype.readUIPAR = function(addr) -{ - var reg = (addr >> 1) & 7; - return this.cpu.mmuPAR[3][reg]; -}; - -/** - * writeUIPAR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.UIPAR0--UIPAR7 or 177640--177656) - */ -DevicePDP11.prototype.writeUIPAR = function(data, addr) -{ - var reg = (addr >> 1) & 7; - this.cpu.mmuPAR[3][reg] = data; - this.cpu.mmuPDR[3][reg] &= 0xff0f; - -}; - -/** - * readUDPAR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.UDPAR0--UDPAR7 or 177660--177676) - * @return {number} - */ -DevicePDP11.prototype.readUDPAR = function(addr) -{ - var reg = ((addr >> 1) & 7) + 8; - return this.cpu.mmuPAR[3][reg]; -}; - -/** - * writeUDPAR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.UDPAR0--UDPAR7 or 177660--177676) - */ -DevicePDP11.prototype.writeUDPAR = function(data, addr) -{ - var reg = ((addr >> 1) & 7) + 8; - this.cpu.mmuPAR[3][reg] = data; - this.cpu.mmuPDR[3][reg] &= 0xff0f; -}; - -/** - * readRSET0(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.R0SET0--R5SET0 or 177700--177705) - * @return {number} - */ -DevicePDP11.prototype.readRSET0 = function(addr) -{ - var data; - var reg = addr & 7; - if (this.cpu.regPSW & PDP11.PSW.REGSET) { - data = this.cpu.regsAlt[reg]; - } else { - data = this.cpu.regsGen[reg]; - } - return data; -}; - -/** - * writeRSET0(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.R0SET0--R5SET0 or 177700--177705) - */ -DevicePDP11.prototype.writeRSET0 = function(data, addr) -{ - var reg = addr & 7; - if (this.cpu.regPSW & PDP11.PSW.REGSET) { - this.cpu.regsAlt[reg] = data; - } else { - this.cpu.regsGen[reg] = data; - } -}; - -/** - * readR6KERNEL(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.R6KERNEL or 177706) - * @return {number} - */ -DevicePDP11.prototype.readR6KERNEL = function(addr) -{ - var data; - if (!(this.cpu.regPSW & PDP11.PSW.CMODE)) { // Kernel Mode - data = this.cpu.regsGen[6]; - } else { - data = this.cpu.regsAltStack[0]; - } - return data; -}; - -/** - * writeR6KERNEL(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.R6KERNEL or 177706) - */ -DevicePDP11.prototype.writeR6KERNEL = function(data, addr) -{ - if (!(this.cpu.regPSW & PDP11.PSW.CMODE)) { // Kernel Mode - this.cpu.regsGen[6] = data; - } else { - this.cpu.regsAltStack[0] = data; - } -}; - -/** - * readR7KERNEL(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.R7KERNEL or 177707) - * @return {number} - */ -DevicePDP11.prototype.readR7KERNEL = function(addr) -{ - return this.cpu.regsGen[7]; -}; - -/** - * writeR7KERNEL(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.R7KERNEL or 177707) - */ -DevicePDP11.prototype.writeR7KERNEL = function(data, addr) -{ - this.cpu.regsGen[7] = data; -}; - -/** - * readRSET1(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.R0SET1--R5SET1 or 177710--177715) - * @return {number} - */ -DevicePDP11.prototype.readRSET1 = function(addr) -{ - var data; - var reg = addr & 7; - if (this.cpu.regPSW & PDP11.PSW.REGSET) { - data = this.cpu.regsGen[reg]; - } else { - data = this.cpu.regsAlt[reg]; - } - return data; -}; - -/** - * writeRSET1(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.R0SET1--R5SET1 or 177710--177715) - */ -DevicePDP11.prototype.writeRSET1 = function(data, addr) -{ - var reg = addr & 7; - if (this.cpu.regPSW & PDP11.PSW.REGSET) { - this.cpu.regsGen[reg] = data; - } else { - this.cpu.regsAlt[reg] = data; - } -}; - -/** - * readR6SUPER(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.R6SUPER or 177716) - * @return {number} - */ -DevicePDP11.prototype.readR6SUPER = function(addr) -{ - var data; - if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.SUPER) { - data = this.cpu.regsGen[6]; - } else { - data = this.cpu.regsAltStack[1]; - } - return data; -}; - -/** - * writeR6SUPER(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.R6SUPER or 177716) - */ -DevicePDP11.prototype.writeR6SUPER = function(data, addr) -{ - if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.SUPER) { - this.cpu.regsGen[6] = data; - } else { - this.cpu.regsAltStack[1] = data; - } -}; - -/** - * readR6USER(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.R6USER or 177717) - * @return {number} - */ -DevicePDP11.prototype.readR6USER = function(addr) -{ - var data; - if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.USER) { - data = this.cpu.regsGen[6]; - } else { - data = this.cpu.regsAltStack[3]; - } - return data; -}; - -/** - * writeR6USER(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.R6USER or 177717) - */ -DevicePDP11.prototype.writeR6USER = function(data, addr) -{ - if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.USER) { - this.cpu.regsGen[6] = data; - } else { - this.cpu.regsAltStack[3] = data; - } -}; - -/** - * readCTRL(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.LAERR--UNDEF2 or 177740--177756) - * @return {number} - */ -DevicePDP11.prototype.readCTRL = function(addr) -{ - var reg = (addr - PDP11.UNIBUS.CTRL) >> 1; - return this.cpu.regsControl[reg]; -}; - -/** - * writeCTRL(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.LAERR--UNDEF2 or 177740--177756) - */ -DevicePDP11.prototype.writeCTRL = function(data, addr) -{ - var reg = (addr - PDP11.UNIBUS.CTRL) >> 1; - this.cpu.regsControl[reg] = data; -}; - -/** - * readSIZE(addr) - * - * We're adhering to DEC's documentation, which says: - * - * This read-only register specifies the memory size of the system. It is defined to indicate the - * last addressable block of 32 words in memory (bit 0 is equivalent to bit 6 of the Physical Address). - * - * Looking at the Memory Clear "toggle-in" code in /devices/pdp11/machine/1170/panel/debugger/README.md, the - * memory loop gives up when the block number stored in KIPAR0 is >= LSIZE, suggesting that LSIZE is actually - * the total number of 64-byte blocks, rather than the block number of the last block. But that code is - * not conclusive, since it writes 8192 bytes at a time rather than 64, so it doesn't really matter if LSIZE - * is off by one. - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.LSIZE--HSIZE or 177760--177762) - * @return {number} - */ -DevicePDP11.prototype.readSIZE = function(addr) -{ - return addr == PDP11.UNIBUS.LSIZE? ((this.bus.getMemoryLimit(MemoryPDP11.TYPE.RAM) >> 6) - 1) : 0; -}; - -/** - * writeSIZE(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.LSIZE--HSIZE or 177760--177762) - */ -DevicePDP11.prototype.writeSIZE = function(data, addr) -{ -}; - -/** - * readSYSID(addr) - * - * TODO: For SYSID, we currently ignore writes and return 1 on reads - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.SYSID or 177764) - * @return {number} - */ -DevicePDP11.prototype.readSYSID = function(addr) -{ - return 1; -}; - -/** - * writeSYSID(data, addr) - * - * TODO: For SYSID, we currently ignore writes and return 1 on reads - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.SYSID or 177764) - */ -DevicePDP11.prototype.writeSYSID = function(data, addr) -{ -}; - -/** - * readCPUERR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.CPUERR or 177766) - * @return {number} - */ -DevicePDP11.prototype.readCPUERR = function(addr) -{ - return this.cpu.regErr; -}; - -/** - * writeCPUERR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.CPUERR or 177766) - */ -DevicePDP11.prototype.writeCPUERR = function(data, addr) -{ - this.cpu.regErr = 0; // TODO: Confirm that writes always zero the register -}; - -/** - * readMBR(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.MB or 177770) - * @return {number} - */ -DevicePDP11.prototype.readMBR = function(addr) -{ - return this.cpu.regMBR; -}; - -/** - * writeMBR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.MB or 177770) - */ -DevicePDP11.prototype.writeMBR = function(data, addr) -{ - if (!(addr & 0x1)) { - data &= 0xff; // required for KB11-CM without MFPT instruction - } - this.cpu.regMBR = data; -}; - -/** - * readPIR(addr, fPreWrite) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.PIR or 177772) - * @param {boolean} [fPreWrite] - * @return {number} - */ -DevicePDP11.prototype.readPIR = function(addr, fPreWrite) -{ - if (fPreWrite) return 0; - return this.cpu.getPIR(); -}; - -/** - * writePIR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.PIR or 177772) - */ -DevicePDP11.prototype.writePIR = function(data, addr) -{ - this.cpu.setPIR(data); -}; - -/** - * readSLR(addr, fPreWrite) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.SL or 177774) - * @param {boolean} [fPreWrite] - * @return {number} - */ -DevicePDP11.prototype.readSLR = function(addr, fPreWrite) -{ - if (fPreWrite) return 0; - return this.cpu.getSLR(); -}; - -/** - * writeSLR(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.SL or 177774) - */ -DevicePDP11.prototype.writeSLR = function(data, addr) -{ - this.cpu.setSLR(data); -}; - -/** - * readPSW(addr) - * - * @this {DevicePDP11} - * @param {number} addr (eg, PDP11.UNIBUS.PSW or 177776) - * @return {number} - */ -DevicePDP11.prototype.readPSW = function(addr) -{ - return this.cpu.getPSW(); -}; - -/** - * writePSW(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.PSW or 177776) - */ -DevicePDP11.prototype.writePSW = function(data, addr) -{ - /* - * pdp11.js disallowed PSW.TF in addition to PSW.UNUSED, but DEC's "TRAP TEST" expects the - * following instruction to trap: + /** + * dumpRegs(sName, aRegs, offset, sFilter, fBreak) * - * 004174: 052767 000020 173574 BIS #20,177776 - * - * Since that test was written for the PDP-11/20, it's possible that newer machines have a different - * behavior, but for now, we assume that all machines allow setting PSW.TF. - * - * Moreover, we have changed setPSW() to disallow the setting of any bits not supported by the current - * CPU model, so it seems rather pointless to do any masking of bits here. + * @this {DevicePDP11} + * @param {string} sName + * @param {Array.} aRegs + * @param {number} offset + * @param {string} sFilter + * @param {boolean} [fBreak] */ - this.cpu.setPSW(data); -}; - -/** - * writeIgnored(data, addr) - * - * @this {DevicePDP11} - * @param {number} data - * @param {number} addr - */ -DevicePDP11.prototype.writeIgnored = function(data, addr) -{ - if (this.messageEnabled()) { - this.printMessage("writeIgnored(" + str.toOct(addr) + "): " + str.toOct(data), true, true); + dumpRegs(sName, aRegs, offset, sFilter, fBreak) + { + if (DEBUGGER) { + var dbg = this.dbg; + if (sFilter && sName.indexOf(sFilter.toUpperCase()) < 0) return; + var nRegs = 8; + var sDump = ""; + var fIndex = false; + var nBytes = 0; + var nWidth = 8; + if (offset < 0) { + nRegs = aRegs.length; + offset = 0; + fIndex = true; + nBytes = 3; + nWidth = 4; + } + for (var i = 0; i < nRegs; i++) { + if (i % nWidth == 0) { + if (sDump) sDump += '\n'; + sDump += sName + (fIndex? ('[' + Str.toDec(i, 2) + ']') : '') + ':'; + } + sDump += ' ' + dbg.toStrBase(aRegs[offset + i], nBytes); + } + dbg.println(sDump + (fBreak? '\n' : '')); + } } -}; + + /** + * reset() + * + * @this {DevicePDP11} + */ + reset() + { + this.kw11.lks = PDP11.KW11.LKS.MON; + this.cpu.setTimer(this.kw11.timer, 1000/60, true); + } + + /** + * interruptKW11() + * + * We used to call this function only when the the KW11's "Interrupt Enable" bit was set, + * but now we call it at 60Hz regardless. In part, this was so we could piggy-back on it + * to drive display updates, but more importantly, the KW11's "Monitor" bit is supposed to + * be set at the "line frequency" independent of whether KW11 interrupts are enabled or not. + * + * @this {DevicePDP11} + */ + interruptKW11() + { + this.kw11.lks |= PDP11.KW11.LKS.MON; + if (this.kw11.lks & PDP11.KW11.LKS.IE) { + this.cpu.setIRQ(this.kw11.irq); + } + if (this.cmp) this.cmp.updateDisplays(1); + this.cpu.setTimer(this.kw11.timer, 1000/60); + } + + /** + * readLKS(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.LKS or 177546) + * @return {number} + */ + readLKS(addr) + { + /* + * NOTE: The original code always cleared LKS.MON (bit 7) after snapping the value for the read, + * but based on DEC's "Non-Interrupt Mode" programming examples, it's clear that's not how LKS.MON + * operates; if the caller wants to clear it, they must explicitly clear it with a write. + */ + return this.kw11.lks; + } + + /** + * writeLKS(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.LKS or 177546) + */ + writeLKS(data, addr) + { + /* + * NOTE: The original code always cleared LKS.MON (bit 7) as part of any write, but based on DEC's + * "Non-Interrupt Mode" programming examples, which explicitly CLRB after TSTB reveals LKS.MON is set, + * I think that was wrong, and that all a write should do is mask off all the other (non-writable) bits. + */ + this.kw11.lks = data & PDP11.KW11.LKS.MASK; + if (!(this.kw11.lks & PDP11.KW11.LKS.IE)) this.cpu.clearIRQ(this.kw11.irq); + } + + /** + * readMMR0(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.MMR0 or 177572) + * @return {number} + */ + readMMR0(addr) + { + return this.cpu.getMMR0(); + } + + /** + * writeMMR0(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.MMR0 or 177572) + */ + writeMMR0(data, addr) + { + this.cpu.setMMR0((data & ~PDP11.MMR0.COMPLETED) | (this.cpu.regMMR0 & PDP11.MMR0.COMPLETED)); + } + + /** + * readMMR1(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.MMR1 or 177574) + * @return {number} + */ + readMMR1(addr) + { + return this.cpu.getMMR1(); + } + + /** + * readMMR2(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.MMR2 or 177576) + * @return {number} + */ + readMMR2(addr) + { + return this.cpu.getMMR2(); + } + + /** + * readMMR3(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.MMR3 or 172516) + * @return {number} + */ + readMMR3(addr) + { + return this.cpu.getMMR3(); + } + + /** + * writeMMR3(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.MMR3 or 172516) + */ + writeMMR3(data, addr) + { + this.cpu.setMMR3(data); + } + + /** + * readUNIMAP(addr) + * + * NOTE: The UNIBUS map ("UNIMAP") is 32 registers spread across 64 words, so we first calculate the word index. + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.UNIMAP) + * @return {number} + */ + readUNIMAP(addr) + { + var word = (addr >> 1) & 0x3f, reg = word >> 1; + var data = this.cpu.regsUniMap[reg]; + return (word & 1)? (data >> 16) : (data & 0xffff); + } + + /** + * writeUNIMAP(data, addr) + * + * NOTE: The UNIBUS map ("UNIMAP") is 32 registers spread across 64 words, so we first calculate the word index. + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.UNIMAP) + */ + writeUNIMAP(data, addr) + { + var word = (addr >> 1) & 0x3f, reg = word >> 1; + if (word & 1) { + this.cpu.regsUniMap[reg] = (this.cpu.regsUniMap[reg] & 0xffff) | ((data & 0x003f) << 16); + } else { + this.cpu.regsUniMap[reg] = (this.cpu.regsUniMap[reg] & ~0xffff) | (data & 0xfffe); + } + } + + /** + * readSIPDR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.SIPDR0--SIPDR7 or 172200--172216) + * @return {number} + */ + readSIPDR(addr) + { + var reg = (addr >> 1) & 7; + return this.cpu.mmuPDR[1][reg]; + } + + /** + * writeSIPDR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.SIPDR0--SIPDR7 or 172200--172216) + */ + writeSIPDR(data, addr) + { + var reg = (addr >> 1) & 7; + this.cpu.mmuPDR[1][reg] = data & 0xff0f; + } + + /** + * readSDPDR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.SDPDR0--SDPDR7 or 172220--172236) + * @return {number} + */ + readSDPDR(addr) + { + var reg = ((addr >> 1) & 7) + 8; + return this.cpu.mmuPDR[1][reg]; + } + + /** + * writeSDPDR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.SDPDR0--SDPDR7 or 172220--172236) + */ + writeSDPDR(data, addr) + { + var reg = ((addr >> 1) & 7) + 8; + this.cpu.mmuPDR[1][reg] = data & 0xff0f; + } + + /** + * readSIPAR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.SIPAR0--SIPAR7 or 172240--172256) + * @return {number} + */ + readSIPAR(addr) + { + var reg = (addr >> 1) & 7; + return this.cpu.mmuPAR[1][reg]; + } + + /** + * writeSIPAR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.SIPAR0--SIPAR7 or 172240--172256) + */ + writeSIPAR(data, addr) + { + var reg = (addr >> 1) & 7; + this.cpu.mmuPAR[1][reg] = data; + this.cpu.mmuPDR[1][reg] &= 0xff0f; + + } + + /** + * readSDPAR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.SDPAR0--SDPAR7 or 172260--172276) + * @return {number} + */ + readSDPAR(addr) + { + var reg = ((addr >> 1) & 7) + 8; + return this.cpu.mmuPAR[1][reg]; + } + + /** + * writeSDPAR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.SDPAR0--SDPAR7 or 172260--172276) + */ + writeSDPAR(data, addr) + { + var reg = ((addr >> 1) & 7) + 8; + this.cpu.mmuPAR[1][reg] = data; + this.cpu.mmuPDR[1][reg] &= 0xff0f; + } + + /** + * readKIPDR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.KIPDR0--KIPDR7 or 172300--172316) + * @return {number} + */ + readKIPDR(addr) + { + var reg = (addr >> 1) & 7; + return this.cpu.mmuPDR[0][reg]; + } + + /** + * writeKIPDR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.KIPDR0--KIPDR7 or 172300--172316) + */ + writeKIPDR(data, addr) + { + var reg = (addr >> 1) & 7; + this.cpu.mmuPDR[0][reg] = data & 0xff0f; + } + + /** + * readKDPDR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.KDPDR0--KDPDR7 or 172320--172336) + * @return {number} + */ + readKDPDR(addr) + { + var reg = ((addr >> 1) & 7) + 8; + return this.cpu.mmuPDR[0][reg]; + } + + /** + * writeKDPDR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.KDPDR0--KDPDR7 or 172320--172336) + */ + writeKDPDR(data, addr) + { + var reg = ((addr >> 1) & 7) + 8; + this.cpu.mmuPDR[0][reg] = data & 0xff0f; + } + + /** + * readKIPAR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.KIPAR0--KIPAR7 or 172340--172356) + * @return {number} + */ + readKIPAR(addr) + { + var reg = (addr >> 1) & 7; + return this.cpu.mmuPAR[0][reg]; + } + + /** + * writeKIPAR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.KIPAR0--KIPAR7 or 172340--172356) + */ + writeKIPAR(data, addr) + { + var reg = (addr >> 1) & 7; + this.cpu.mmuPAR[0][reg] = data; + this.cpu.mmuPDR[0][reg] &= 0xff0f; + + } + + /** + * readKDPAR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.KDPAR0--KDPAR7 or 172360--172376) + * @return {number} + */ + readKDPAR(addr) + { + var reg = ((addr >> 1) & 7) + 8; + return this.cpu.mmuPAR[0][reg]; + } + + /** + * writeKDPAR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.KDPAR0--KDPAR7 or 172360--172376) + */ + writeKDPAR(data, addr) + { + var reg = ((addr >> 1) & 7) + 8; + this.cpu.mmuPAR[0][reg] = data; + this.cpu.mmuPDR[0][reg] &= 0xff0f; + } + + /** + * readUIPDR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.UIPDR0--UIPDR7 or 177600--177616) + * @return {number} + */ + readUIPDR(addr) + { + var reg = (addr >> 1) & 7; + return this.cpu.mmuPDR[3][reg]; + } + + /** + * writeUIPDR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.UIPDR0--UIPDR7 or 177600--177616) + */ + writeUIPDR(data, addr) + { + var reg = (addr >> 1) & 7; + this.cpu.mmuPDR[3][reg] = data & 0xff0f; + } + + /** + * readUDPDR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.UDPDR0--UDPDR7 or 177620--177636) + * @return {number} + */ + readUDPDR(addr) + { + var reg = ((addr >> 1) & 7) + 8; + return this.cpu.mmuPDR[3][reg]; + } + + /** + * writeUDPDR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.UDPDR0--UDPDR7 or 177620--177636) + */ + writeUDPDR(data, addr) + { + var reg = ((addr >> 1) & 7) + 8; + this.cpu.mmuPDR[3][reg] = data & 0xff0f; + } + + /** + * readUIPAR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.UIPAR0--UIPAR7 or 177640--177656) + * @return {number} + */ + readUIPAR(addr) + { + var reg = (addr >> 1) & 7; + return this.cpu.mmuPAR[3][reg]; + } + + /** + * writeUIPAR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.UIPAR0--UIPAR7 or 177640--177656) + */ + writeUIPAR(data, addr) + { + var reg = (addr >> 1) & 7; + this.cpu.mmuPAR[3][reg] = data; + this.cpu.mmuPDR[3][reg] &= 0xff0f; + + } + + /** + * readUDPAR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.UDPAR0--UDPAR7 or 177660--177676) + * @return {number} + */ + readUDPAR(addr) + { + var reg = ((addr >> 1) & 7) + 8; + return this.cpu.mmuPAR[3][reg]; + } + + /** + * writeUDPAR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.UDPAR0--UDPAR7 or 177660--177676) + */ + writeUDPAR(data, addr) + { + var reg = ((addr >> 1) & 7) + 8; + this.cpu.mmuPAR[3][reg] = data; + this.cpu.mmuPDR[3][reg] &= 0xff0f; + } + + /** + * readRSET0(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.R0SET0--R5SET0 or 177700--177705) + * @return {number} + */ + readRSET0(addr) + { + var data; + var reg = addr & 7; + if (this.cpu.regPSW & PDP11.PSW.REGSET) { + data = this.cpu.regsAlt[reg]; + } else { + data = this.cpu.regsGen[reg]; + } + return data; + } + + /** + * writeRSET0(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.R0SET0--R5SET0 or 177700--177705) + */ + writeRSET0(data, addr) + { + var reg = addr & 7; + if (this.cpu.regPSW & PDP11.PSW.REGSET) { + this.cpu.regsAlt[reg] = data; + } else { + this.cpu.regsGen[reg] = data; + } + } + + /** + * readR6KERNEL(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.R6KERNEL or 177706) + * @return {number} + */ + readR6KERNEL(addr) + { + var data; + if (!(this.cpu.regPSW & PDP11.PSW.CMODE)) { // Kernel Mode + data = this.cpu.regsGen[6]; + } else { + data = this.cpu.regsAltStack[0]; + } + return data; + } + + /** + * writeR6KERNEL(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.R6KERNEL or 177706) + */ + writeR6KERNEL(data, addr) + { + if (!(this.cpu.regPSW & PDP11.PSW.CMODE)) { // Kernel Mode + this.cpu.regsGen[6] = data; + } else { + this.cpu.regsAltStack[0] = data; + } + } + + /** + * readR7KERNEL(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.R7KERNEL or 177707) + * @return {number} + */ + readR7KERNEL(addr) + { + return this.cpu.regsGen[7]; + } + + /** + * writeR7KERNEL(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.R7KERNEL or 177707) + */ + writeR7KERNEL(data, addr) + { + this.cpu.regsGen[7] = data; + } + + /** + * readRSET1(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.R0SET1--R5SET1 or 177710--177715) + * @return {number} + */ + readRSET1(addr) + { + var data; + var reg = addr & 7; + if (this.cpu.regPSW & PDP11.PSW.REGSET) { + data = this.cpu.regsGen[reg]; + } else { + data = this.cpu.regsAlt[reg]; + } + return data; + } + + /** + * writeRSET1(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.R0SET1--R5SET1 or 177710--177715) + */ + writeRSET1(data, addr) + { + var reg = addr & 7; + if (this.cpu.regPSW & PDP11.PSW.REGSET) { + this.cpu.regsGen[reg] = data; + } else { + this.cpu.regsAlt[reg] = data; + } + } + + /** + * readR6SUPER(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.R6SUPER or 177716) + * @return {number} + */ + readR6SUPER(addr) + { + var data; + if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.SUPER) { + data = this.cpu.regsGen[6]; + } else { + data = this.cpu.regsAltStack[1]; + } + return data; + } + + /** + * writeR6SUPER(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.R6SUPER or 177716) + */ + writeR6SUPER(data, addr) + { + if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.SUPER) { + this.cpu.regsGen[6] = data; + } else { + this.cpu.regsAltStack[1] = data; + } + } + + /** + * readR6USER(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.R6USER or 177717) + * @return {number} + */ + readR6USER(addr) + { + var data; + if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.USER) { + data = this.cpu.regsGen[6]; + } else { + data = this.cpu.regsAltStack[3]; + } + return data; + } + + /** + * writeR6USER(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.R6USER or 177717) + */ + writeR6USER(data, addr) + { + if (((this.cpu.regPSW & PDP11.PSW.CMODE) >> PDP11.PSW.SHIFT.CMODE) == PDP11.MODE.USER) { + this.cpu.regsGen[6] = data; + } else { + this.cpu.regsAltStack[3] = data; + } + } + + /** + * readCTRL(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.LAERR--UNDEF2 or 177740--177756) + * @return {number} + */ + readCTRL(addr) + { + var reg = (addr - PDP11.UNIBUS.CTRL) >> 1; + return this.cpu.regsControl[reg]; + } + + /** + * writeCTRL(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.LAERR--UNDEF2 or 177740--177756) + */ + writeCTRL(data, addr) + { + var reg = (addr - PDP11.UNIBUS.CTRL) >> 1; + this.cpu.regsControl[reg] = data; + } + + /** + * readSIZE(addr) + * + * We're adhering to DEC's documentation, which says: + * + * This read-only register specifies the memory size of the system. It is defined to indicate the + * last addressable block of 32 words in memory (bit 0 is equivalent to bit 6 of the Physical Address). + * + * Looking at the Memory Clear "toggle-in" code in /devices/pdp11/machine/1170/panel/debugger/README.md, the + * memory loop gives up when the block number stored in KIPAR0 is >= LSIZE, suggesting that LSIZE is actually + * the total number of 64-byte blocks, rather than the block number of the last block. But that code is + * not conclusive, since it writes 8192 bytes at a time rather than 64, so it doesn't really matter if LSIZE + * is off by one. + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.LSIZE--HSIZE or 177760--177762) + * @return {number} + */ + readSIZE(addr) + { + return addr == PDP11.UNIBUS.LSIZE? ((this.bus.getMemoryLimit(MemoryPDP11.TYPE.RAM) >> 6) - 1) : 0; + } + + /** + * writeSIZE(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.LSIZE--HSIZE or 177760--177762) + */ + writeSIZE(data, addr) + { + } + + /** + * readSYSID(addr) + * + * TODO: For SYSID, we currently ignore writes and return 1 on reads + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.SYSID or 177764) + * @return {number} + */ + readSYSID(addr) + { + return 1; + } + + /** + * writeSYSID(data, addr) + * + * TODO: For SYSID, we currently ignore writes and return 1 on reads + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.SYSID or 177764) + */ + writeSYSID(data, addr) + { + } + + /** + * readCPUERR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.CPUERR or 177766) + * @return {number} + */ + readCPUERR(addr) + { + return this.cpu.regErr; + } + + /** + * writeCPUERR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.CPUERR or 177766) + */ + writeCPUERR(data, addr) + { + this.cpu.regErr = 0; // TODO: Confirm that writes always zero the register + } + + /** + * readMBR(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.MB or 177770) + * @return {number} + */ + readMBR(addr) + { + return this.cpu.regMBR; + } + + /** + * writeMBR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.MB or 177770) + */ + writeMBR(data, addr) + { + if (!(addr & 0x1)) { + data &= 0xff; // required for KB11-CM without MFPT instruction + } + this.cpu.regMBR = data; + } + + /** + * readPIR(addr, fPreWrite) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.PIR or 177772) + * @param {boolean} [fPreWrite] + * @return {number} + */ + readPIR(addr, fPreWrite) + { + if (fPreWrite) return 0; + return this.cpu.getPIR(); + } + + /** + * writePIR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.PIR or 177772) + */ + writePIR(data, addr) + { + this.cpu.setPIR(data); + } + + /** + * readSLR(addr, fPreWrite) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.SL or 177774) + * @param {boolean} [fPreWrite] + * @return {number} + */ + readSLR(addr, fPreWrite) + { + if (fPreWrite) return 0; + return this.cpu.getSLR(); + } + + /** + * writeSLR(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.SL or 177774) + */ + writeSLR(data, addr) + { + this.cpu.setSLR(data); + } + + /** + * readPSW(addr) + * + * @this {DevicePDP11} + * @param {number} addr (eg, PDP11.UNIBUS.PSW or 177776) + * @return {number} + */ + readPSW(addr) + { + return this.cpu.getPSW(); + } + + /** + * writePSW(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.PSW or 177776) + */ + writePSW(data, addr) + { + /* + * pdp11.js disallowed PSW.TF in addition to PSW.UNUSED, but DEC's "TRAP TEST" expects the + * following instruction to trap: + * + * 004174: 052767 000020 173574 BIS #20,177776 + * + * Since that test was written for the PDP-11/20, it's possible that newer machines have a different + * behavior, but for now, we assume that all machines allow setting PSW.TF. + * + * Moreover, we have changed setPSW() to disallow the setting of any bits not supported by the current + * CPU model, so it seems rather pointless to do any masking of bits here. + */ + this.cpu.setPSW(data); + } + + /** + * writeIgnored(data, addr) + * + * @this {DevicePDP11} + * @param {number} data + * @param {number} addr + */ + writeIgnored(data, addr) + { + if (this.messageEnabled()) { + this.printMessage("writeIgnored(" + Str.toOct(addr) + "): " + Str.toOct(data), true, true); + } + } + + /** + * DevicePDP11.init() + * + * This function operates on every HTML element of class "device", extracting the + * JSON-encoded parameters for the DevicePDP11 constructor from the element's "data-value" + * attribute, invoking the constructor to create a DevicePDP11 component, and then binding + * any associated HTML controls to the new component. + */ + static init() + { + var aeDevice = Component.getElementsByClass(document, PDP11.APPCLASS, "device"); + for (var iDevice = 0; iDevice < aeDevice.length; iDevice++) { + var device; + var eDevice = aeDevice[iDevice]; + var parmsDevice = Component.getComponentParms(eDevice); + switch(parmsDevice['type']) { + case 'default': + device = new DevicePDP11(parmsDevice); + Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); + break; + case 'pc11': + device = new PC11(parmsDevice); + Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); + break; + case 'rl11': + device = new RL11(parmsDevice); + Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); + break; + case 'rk11': + device = new RK11(parmsDevice); + Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); + break; + } + } + } +} /* * ES6 ALERT: As you can see below, I've finally started using computed property names. @@ -1150,45 +1181,9 @@ DevicePDP11.UNIBUS_IOTABLE = { [PDP11.UNIBUS.PSW]: /* 177776 */ [null, null, DevicePDP11.prototype.readPSW, DevicePDP11.prototype.writePSW, "PSW"] }; -/** - * DevicePDP11.init() - * - * This function operates on every HTML element of class "device", extracting the - * JSON-encoded parameters for the DevicePDP11 constructor from the element's "data-value" - * attribute, invoking the constructor to create a DevicePDP11 component, and then binding - * any associated HTML controls to the new component. - */ -DevicePDP11.init = function() -{ - var aeDevice = Component.getElementsByClass(document, PDP11.APPCLASS, "device"); - for (var iDevice = 0; iDevice < aeDevice.length; iDevice++) { - var device; - var eDevice = aeDevice[iDevice]; - var parmsDevice = Component.getComponentParms(eDevice); - switch(parmsDevice['type']) { - case 'default': - device = new DevicePDP11(parmsDevice); - Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); - break; - case 'pc11': - device = new PC11(parmsDevice); - Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); - break; - case 'rl11': - device = new RL11(parmsDevice); - Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); - break; - case 'rk11': - device = new RK11(parmsDevice); - Component.bindComponentControls(device, eDevice, PDP11.APPCLASS); - break; - } - } -}; - /* * Initialize all the DevicePDP11 modules on the page. */ -web.onInit(DevicePDP11.init); +Web.onInit(DevicePDP11.init); -if (NODE) module.exports = DevicePDP11; +export default DevicePDP11; diff --git a/modules/pdp11/lib/disk.js b/modules/pdp11/lib/disk.js index 2ed0242fb..655924ca2 100644 --- a/modules/pdp11/lib/disk.js +++ b/modules/pdp11/lib/disk.js @@ -26,6 +26,8 @@ * as to their contents. */ +"use strict"; + /* * The DiskPDP11 component provides methods for: * @@ -43,75 +45,12 @@ * to further reduce some of the duplication between them, but the above functionality is a good start. */ -"use strict"; - -if (NODE) { - var str = require("../../shared/lib/strlib"); - var usr = require("../../shared/lib/usrlib"); - var web = require("../../shared/lib/weblib"); - var DiskAPI = require("../../shared/lib/diskapi"); - var DumpAPI = require("../../shared/lib/dumpapi"); - var Component = require("../../shared/lib/component"); - var MessagesPDP11 = require("./messages"); -} - -/** - * DiskPDP11(controller, drive, mode) - * - * Disk contents are stored as an array (aDiskData) of cylinders, each of which is an array of - * heads, each of which is an array of sector objects; the latter contain sector numbers and - * sector data, where sector data is an array of dwords. The format does not impose any - * limitations on number of cylinders, number of heads, sectors per track, or bytes per sector. - * - * WARNING: All accesses to disk sector properties must be via their string names, not their - * "dot" names, otherwise code will break after it's been processed by the Closure Compiler, - * and any dumped disks may be unmountable. This is a side-effect of how we mount and dump - * disk images (ie, as JSON-encoded streams). - * - * This means, for example, that all references to "track[iSector].data" must actually appear as - * "track[iSector]['data']". - * - * @constructor - * @extends Component - * @param {RK11|RL11} controller - * @param {Object} drive - * @param {string} mode - */ -function DiskPDP11(controller, drive, mode) -{ - Component.call(this, "Disk", {'id': controller.idMachine + ".disk" + str.toHex(++DiskPDP11.nDisks, 4)}, DiskPDP11, MessagesPDP11.DISK); - - /* - * Route all non-Debugger messages (eg, notice() and println() calls) through - * this.controller (eg, controller.notice() and controller.println()), because - * the Computer component is unaware of any Disk objects and therefore will not - * set up the usual overrides when a Control Panel is installed. - */ - this.controller = controller; - this.cmp = controller.cmp; - this.dbg = controller.dbg; - this.drive = drive; - - /* - * We pull out a number of drive properties that we may or may not need as defaults. - */ - this.sDiskName = drive.name; - this.fRemovable = drive.fRemovable; - - /* - * Initialize the disk contents - */ - this.create(mode, drive.nCylinders, drive.nHeads, drive.nSectors, drive.cbSector); - - this.setReady(); -} - -/* - * A global disk count, used to form unique Disk component IDs (totally optional; for debugging purposes only) - */ -DiskPDP11.nDisks = 0; - -Component.subclass(DiskPDP11); +import Str from "../../shared/es6/strlib"; +import Web from "../../shared/es6/weblib"; +import DiskAPI from "../../shared/es6/diskapi"; +import DumpAPI from "../../shared/es6/dumpapi"; +import Component from "../../shared/es6/component"; +import MessagesPDP11 from "./messages"; /** * Every Sector object (once loaded, parsed, and "normalized") should have ALL of the following named properties: @@ -145,1092 +84,1158 @@ Component.subclass(DiskPDP11); */ var SectorInfo; -/** - * initBus(cmp, bus, cpu, dbg) - * - * We have no real interest in this notification, other than to obtain a reference to the Debugger - * for every disk loaded BEFORE the initBus() phase; any disk loaded AFTER that point will get its Debugger - * reference, if any, from the disk controller passed to the DiskPDP11() constructor. - * - * @this {DiskPDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -DiskPDP11.prototype.initBus = function(cmp, bus, cpu, dbg) { - this.dbg = dbg; -}; - -/** - * create() - * - * @this {DiskPDP11} - * @param {string} mode - * @param {number} nCylinders - * @param {number} nHeads - * @param {number} nSectors (per track) - * @param {number} cbSector - * - * Initializes the disk contents according to the current drive mode and parameters. - */ -DiskPDP11.prototype.create = function(mode, nCylinders, nHeads, nSectors, cbSector) -{ - this.mode = mode; - this.nCylinders = nCylinders; - this.nHeads = nHeads; - this.nSectors = nSectors; - this.cbSector = cbSector; - this.aDiskData = []; - /* - * If the drive is using PRELOAD mode, then it will use the load()/mount() process to initialize the disk contents; - * it wouldn't hurt to let create() do its thing, too, but it's a waste of time. +class DiskPDP11 extends Component { + /** + * DiskPDP11(controller, drive, mode) + * + * Disk contents are stored as an array (aDiskData) of cylinders, each of which is an array of + * heads, each of which is an array of sector objects; the latter contain sector numbers and + * sector data, where sector data is an array of dwords. The format does not impose any + * limitations on number of cylinders, number of heads, sectors per track, or bytes per sector. + * + * WARNING: All accesses to disk sector properties must be via their string names, not their + * "dot" names, otherwise code will break after it's been processed by the Closure Compiler, + * and any dumped disks may be unmountable. This is a side-effect of how we mount and dump + * disk images (ie, as JSON-encoded streams). + * + * This means, for example, that all references to "track[iSector].data" must actually appear as + * "track[iSector]['data']". + * + * @param {RK11|RL11} controller + * @param {Object} drive + * @param {string} mode */ - if (this.mode != DiskAPI.MODE.PRELOAD) { - if (DEBUG && this.messageEnabled()) { - this.printMessage("blank disk for \"" + this.sDiskName + "\": " + this.nCylinders + " cylinders, " + this.nHeads + " head(s)"); - } - var aCylinders = new Array(this.nCylinders); - for (var iCylinder = 0; iCylinder < aCylinders.length; iCylinder++) { - var aHeads = new Array(this.nHeads); - for (var iHead = 0; iHead < aHeads.length; iHead++) { - var aSectors = new Array(this.nSectors); - for (var iSector = 1; iSector <= aSectors.length; iSector++) { - /* - * Now that our read() and write() functions can deal with unallocated data - * arrays, and can read/write the specified pattern on-the-fly, we no longer need - * to pre-allocate and pre-initialize the 'data' array. - */ - aSectors[iSector - 1] = this.initSector(null, iCylinder, iHead, iSector, this.cbSector, 0); - } - aHeads[iHead] = aSectors; - } - aCylinders[iCylinder] = aHeads; - } - this.aDiskData = aCylinders; - } - this.dwChecksum = null; -}; + constructor(controller, drive, mode) + { + super("Disk", {'id': controller.idMachine + ".disk" + Str.toHex(++DiskPDP11.nDisks, 4)}, DiskPDP11, MessagesPDP11.DISK); -/** - * load(sDiskName, sDiskPath, file, fnNotify) - * - * TODO: Figure out how we can strongly type fnNotify, because the Closure Compiler has issues with: - * - * param {function(Component,Object,Disk,string,string)} fnNotify - * - * for: - * - * this.fnNotify.call(this.controller, this.drive, disk, this.sDiskName, this.sDiskPath); - * - * Also, while we're at it, learn if there are ways to: - * - * 1) declare a function taking NO parameters (ie, generate a warning if any parameters are specified) - * 2) declare a type for a function's return value - * - * @this {DiskPDP11} - * @param {string} sDiskName - * @param {string} sDiskPath - * @param {File} [file] is set if there's an associated File object - * @param {function(...)} [fnNotify] - * @param {Component} [controller] - * @return {boolean} true if load completed (successfully or not), false if queued - */ -DiskPDP11.prototype.load = function(sDiskName, sDiskPath, file, fnNotify, controller) -{ - var sDiskURL = sDiskPath; - - /* - * We could use this.log() as well, but it wouldn't display which component initiated the load. - */ - if (DEBUG) { - var sMessage = 'load("' + sDiskName + '","' + sDiskPath + '")'; - this.controller.log(sMessage); - this.printMessage(sMessage); - } - - if (this.fnNotify) { - if (DEBUG) this.controller.log('too many load requests for "' + sDiskName + '" (' + sDiskPath + ')'); - return true; - } - - this.sDiskName = sDiskName; - this.sDiskPath = sDiskPath; - this.sDiskFile = str.getBaseName(sDiskPath); - - var disk = this; - this.fnNotify = fnNotify; - this.controllerNotify = controller || this.controller; - - if (file) { - var reader = new FileReader(); - reader.onload = function() { - disk.build(reader.result, true); - }; - reader.readAsArrayBuffer(file); - return true; - } - - /* - * If there's an occurrence of API_ENDPOINT anywhere in the path, we assume we can use it as-is; - * ie, that the user has already formed a URL of the type we use ourselves for unconverted disk images. - */ - if (sDiskPath.indexOf(DumpAPI.ENDPOINT) < 0) { /* - * If the selected disk image has a "json" extension, then we assume it's a pre-converted - * JSON-encoded disk image, so we load it as-is; otherwise, we ask our server-side disk image - * converter to return the corresponding JSON-encoded data. + * Route all non-Debugger messages (eg, notice() and println() calls) through + * this.controller (eg, controller.notice() and controller.println()), because + * the Computer component is unaware of any Disk objects and therefore will not + * set up the usual overrides when a Control Panel is installed. */ - var sDiskExt = str.getExtension(sDiskPath); - if (sDiskExt == DumpAPI.FORMAT.JSON || sDiskExt == DumpAPI.FORMAT.JSON_GZ) { - sDiskURL = encodeURI(sDiskPath); + this.controller = controller; + this.cmp = controller.cmp; + this.dbg = controller.dbg; + this.drive = drive; + + /* + * We pull out a number of drive properties that we may or may not need as defaults. + */ + this.sDiskName = drive.name; + this.sDiskPath = this.sDiskFile = ""; + this.fRemovable = drive.fRemovable; + + /* + * Initialize the disk contents + */ + this.mode = 0; + this.nCylinders = this.nHeads = this.nSectors = this.cbSector = 0; + this.aDiskData = []; + this.dwChecksum = null; + this.fWriteProtected = false; + this.create(mode, drive.nCylinders, drive.nHeads, drive.nSectors, drive.cbSector); + + this.fnNotify = this.controllerNotify = null; + + this.setReady(); + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * We have no real interest in this notification, other than to obtain a reference to the Debugger + * for every disk loaded BEFORE the initBus() phase; any disk loaded AFTER that point will get its Debugger + * reference, if any, from the disk controller passed to the DiskPDP11() constructor. + * + * @this {DiskPDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.dbg = dbg; + } + + /** + * create() + * + * @this {DiskPDP11} + * @param {string} mode + * @param {number} nCylinders + * @param {number} nHeads + * @param {number} nSectors (per track) + * @param {number} cbSector + * + * Initializes the disk contents according to the current drive mode and parameters. + */ + create(mode, nCylinders, nHeads, nSectors, cbSector) + { + this.mode = mode; + this.nCylinders = nCylinders; + this.nHeads = nHeads; + this.nSectors = nSectors; + this.cbSector = cbSector; + this.aDiskData = []; + /* + * If the drive is using PRELOAD mode, then it will use the load()/mount() process to initialize the disk contents; + * it wouldn't hurt to let create() do its thing, too, but it's a waste of time. + */ + if (this.mode != DiskAPI.MODE.PRELOAD) { + if (DEBUG && this.messageEnabled()) { + this.printMessage("blank disk for \"" + this.sDiskName + "\": " + this.nCylinders + " cylinders, " + this.nHeads + " head(s)"); + } + var aCylinders = new Array(this.nCylinders); + for (var iCylinder = 0; iCylinder < aCylinders.length; iCylinder++) { + var aHeads = new Array(this.nHeads); + for (var iHead = 0; iHead < aHeads.length; iHead++) { + var aSectors = new Array(this.nSectors); + for (var iSector = 1; iSector <= aSectors.length; iSector++) { + /* + * Now that our read() and write() functions can deal with unallocated data + * arrays, and can read/write the specified pattern on-the-fly, we no longer need + * to pre-allocate and pre-initialize the 'data' array. + */ + aSectors[iSector - 1] = this.initSector(null, iCylinder, iHead, iSector, this.cbSector, 0); + } + aHeads[iHead] = aSectors; + } + aCylinders[iCylinder] = aHeads; + } + this.aDiskData = aCylinders; + } + this.dwChecksum = null; + } + + /** + * load(sDiskName, sDiskPath, file, fnNotify) + * + * TODO: Figure out how we can strongly type fnNotify, because the Closure Compiler has issues with: + * + * param {function(Component,Object,Disk,string,string)} fnNotify + * + * for: + * + * this.fnNotify.call(this.controller, this.drive, disk, this.sDiskName, this.sDiskPath); + * + * Also, while we're at it, learn if there are ways to: + * + * 1) declare a function taking NO parameters (ie, generate a warning if any parameters are specified) + * 2) declare a type for a function's return value + * + * @this {DiskPDP11} + * @param {string} sDiskName + * @param {string} sDiskPath + * @param {File} [file] is set if there's an associated File object + * @param {function(...)} [fnNotify] + * @param {Component} [controller] + * @return {boolean} true if load completed (successfully or not), false if queued + */ + load(sDiskName, sDiskPath, file, fnNotify, controller) + { + var sDiskURL = sDiskPath; + + /* + * We could use this.log() as well, but it wouldn't display which component initiated the load. + */ + if (DEBUG) { + var sMessage = 'load("' + sDiskName + '","' + sDiskPath + '")'; + this.controller.log(sMessage); + this.printMessage(sMessage); + } + + if (this.fnNotify) { + if (DEBUG) this.controller.log('too many load requests for "' + sDiskName + '" (' + sDiskPath + ')'); + return true; + } + + this.sDiskName = sDiskName; + this.sDiskPath = sDiskPath; + this.sDiskFile = Str.getBaseName(sDiskPath); + + var disk = this; + this.fnNotify = fnNotify; + this.controllerNotify = controller || this.controller; + + if (file) { + var reader = new FileReader(); + reader.onload = function() { + disk.build(reader.result, true); + }; + reader.readAsArrayBuffer(file); + return true; + } + + /* + * If there's an occurrence of API_ENDPOINT anywhere in the path, we assume we can use it as-is; + * ie, that the user has already formed a URL of the type we use ourselves for unconverted disk images. + */ + if (sDiskPath.indexOf(DumpAPI.ENDPOINT) < 0) { + /* + * If the selected disk image has a "json" extension, then we assume it's a pre-converted + * JSON-encoded disk image, so we load it as-is; otherwise, we ask our server-side disk image + * converter to return the corresponding JSON-encoded data. + */ + var sDiskExt = Str.getExtension(sDiskPath); + if (sDiskExt == DumpAPI.FORMAT.JSON || sDiskExt == DumpAPI.FORMAT.JSON_GZ) { + sDiskURL = encodeURI(sDiskPath); + } else { + var sDiskParm = DumpAPI.QUERY.PATH; + var sSizeParm = '&' + DumpAPI.QUERY.MBHD + "=10"; + /* + * 'mbhd' is a new parm added for hard drive support. In the case of 'file' or 'dir' requests, + * 'mbhd' informs DumpAPI.ENDPOINT that it should create a hard disk image, and one not larger than + * the specified size (eg, 10mb). In fact, until DumpAPI.ENDPOINT is changed to create custom hard + * disk BPBs, you'll always get a standard PC XT 10mb disk image, so if the 'file' or 'dir' contains + * more than 10mb of data, the request will fail. Ultimately, I want to honor the controller's + * driveConfig 'size' parm, or to match the capacity required by the driveConfig 'type' parameter. + * + * If a 'disk' is specified, we pass mbhd=0, because the actual size will depend on the image. + * However, I don't currently have any "dsk" or "img" files containing hard disk images; those formats + * were really intended for floppy disk images. If I never create any hard disk image files, then + * we can simply eliminate sSizeParm in the 'disk' case. + * + * Added more extensions to the list of paths-treated-as-disk-images, so that URLs to files located here: + * + * ftp://ftp.oldskool.org/pub/TOPBENCH/dskimage/ + * + * can be used as-is. TODO: There's a TODO in netlib.getFile() regarding remote support that needs + * to be resolved first; DiskDump relies on that function for its remote requests, and it currently + * supports only HTTP. + */ + if (!sDiskPath.indexOf("http:") || !sDiskPath.indexOf("ftp:") || ["dsk", "ima", "img", "360", "720", "12", "144"].indexOf(sDiskExt) >= 0) { + sDiskParm = DumpAPI.QUERY.DISK; + sSizeParm = '&' + DumpAPI.QUERY.MBHD + "=0"; + } else if (Str.endsWith(sDiskPath, '/')) { + sDiskParm = DumpAPI.QUERY.DIR; + } + sDiskURL = Web.getHost() + DumpAPI.ENDPOINT + '?' + sDiskParm + '=' + encodeURIComponent(sDiskPath) + (this.fRemovable ? "" : sSizeParm) + "&" + DumpAPI.QUERY.FORMAT + "=" + DumpAPI.FORMAT.JSON; + } + } + return !!Web.getResource(sDiskURL, null, true, function(sURL, sResponse, nErrorCode) { + disk.doneLoad(sURL, sResponse, nErrorCode); + }); + } + + /** + * build(buffer, fModified) + * + * Builds a disk image from an ArrayBuffer (eg, from a FileReader object), rather than from JSON-encoded data. + * + * @this {DiskPDP11} + * @param {?} buffer (we KNOW this is an ArrayBuffer, but we can't seem to convince the Closure Compiler) + * @param {boolean} [fModified] is true if we should mark the entire disk modified (to ensure that we save/restore it) + */ + build(buffer, fModified) + { + var disk; + var cbDiskData = buffer? buffer.byteLength : 0; + var diskFormat = DiskAPI.DISK_FORMATS[cbDiskData]; + + if (diskFormat) { + this.nCylinders = diskFormat[0]; + this.nHeads = diskFormat[1]; + this.nSectors = diskFormat[2]; + this.cbSector = (diskFormat[3] || 512); + + var cdw = this.cbSector >> 2, dwPattern = 0, dwChecksum = 0; + var ib = 0; + var dv = new DataView(buffer, 0, cbDiskData); + + this.aDiskData = new Array(this.nCylinders); + for (var iCylinder = 0; iCylinder < this.aDiskData.length; iCylinder++) { + var cylinder = this.aDiskData[iCylinder] = new Array(this.nHeads); + for (var iHead = 0; iHead < cylinder.length; iHead++) { + var head = cylinder[iHead] = new Array(this.nSectors); + for (var iSector = 0; iSector < head.length; iSector++) { + var sector = this.initSector(null, iCylinder, iHead, iSector + 1, this.cbSector, dwPattern); + var adw = sector['data']; + for (var idw = 0; idw < cdw; idw++, ib += 4) { + var dw = adw[idw] = dv.getInt32(ib, true); + dwChecksum = (dwChecksum + dw) & (0xffffffff|0); + } + if (fModified) sector.cModify = cdw; + head[iSector] = sector; + } + } + } + this.dwChecksum = dwChecksum; + disk = this; } else { - var sDiskParm = DumpAPI.QUERY.PATH; - var sSizeParm = '&' + DumpAPI.QUERY.MBHD + "=10"; - /* - * 'mbhd' is a new parm added for hard drive support. In the case of 'file' or 'dir' requests, - * 'mbhd' informs DumpAPI.ENDPOINT that it should create a hard disk image, and one not larger than - * the specified size (eg, 10mb). In fact, until DumpAPI.ENDPOINT is changed to create custom hard - * disk BPBs, you'll always get a standard PC XT 10mb disk image, so if the 'file' or 'dir' contains - * more than 10mb of data, the request will fail. Ultimately, I want to honor the controller's - * driveConfig 'size' parm, or to match the capacity required by the driveConfig 'type' parameter. - * - * If a 'disk' is specified, we pass mbhd=0, because the actual size will depend on the image. - * However, I don't currently have any "dsk" or "img" files containing hard disk images; those formats - * were really intended for floppy disk images. If I never create any hard disk image files, then - * we can simply eliminate sSizeParm in the 'disk' case. - * - * Added more extensions to the list of paths-treated-as-disk-images, so that URLs to files located here: - * - * ftp://ftp.oldskool.org/pub/TOPBENCH/dskimage/ - * - * can be used as-is. TODO: There's a TODO in netlib.getFile() regarding remote support that needs - * to be resolved first; DiskDump relies on that function for its remote requests, and it currently - * supports only HTTP. - */ - if (!sDiskPath.indexOf("http:") || !sDiskPath.indexOf("ftp:") || ["dsk", "ima", "img", "360", "720", "12", "144"].indexOf(sDiskExt) >= 0) { - sDiskParm = DumpAPI.QUERY.DISK; - sSizeParm = '&' + DumpAPI.QUERY.MBHD + "=0"; - } else if (str.endsWith(sDiskPath, '/')) { - sDiskParm = DumpAPI.QUERY.DIR; - } - sDiskURL = web.getHost() + DumpAPI.ENDPOINT + '?' + sDiskParm + '=' + encodeURIComponent(sDiskPath) + (this.fRemovable ? "" : sSizeParm) + "&" + DumpAPI.QUERY.FORMAT + "=" + DumpAPI.FORMAT.JSON; - } - } - return !!web.getResource(sDiskURL, null, true, function(sURL, sResponse, nErrorCode) { - disk.doneLoad(sURL, sResponse, nErrorCode); - }); -}; - -/** - * build(buffer, fModified) - * - * Builds a disk image from an ArrayBuffer (eg, from a FileReader object), rather than from JSON-encoded data. - * - * @this {DiskPDP11} - * @param {?} buffer (we KNOW this is an ArrayBuffer, but we can't seem to convince the Closure Compiler) - * @param {boolean} [fModified] is true if we should mark the entire disk modified (to ensure that we save/restore it) - */ -DiskPDP11.prototype.build = function(buffer, fModified) -{ - var disk; - var cbDiskData = buffer? buffer.byteLength : 0; - var diskFormat = DiskAPI.DISK_FORMATS[cbDiskData]; - - if (diskFormat) { - this.nCylinders = diskFormat[0]; - this.nHeads = diskFormat[1]; - this.nSectors = diskFormat[2]; - this.cbSector = (diskFormat[3] || 512); - - var cdw = this.cbSector >> 2, dwPattern = 0, dwChecksum = 0; - var ib = 0; - var dv = new DataView(buffer, 0, cbDiskData); - - this.aDiskData = new Array(this.nCylinders); - for (var iCylinder = 0; iCylinder < this.aDiskData.length; iCylinder++) { - var cylinder = this.aDiskData[iCylinder] = new Array(this.nHeads); - for (var iHead = 0; iHead < cylinder.length; iHead++) { - var head = cylinder[iHead] = new Array(this.nSectors); - for (var iSector = 0; iSector < head.length; iSector++) { - var sector = this.initSector(null, iCylinder, iHead, iSector + 1, this.cbSector, dwPattern); - var adw = sector['data']; - for (var idw = 0; idw < cdw; idw++, ib += 4) { - var dw = adw[idw] = dv.getInt32(ib, true); - dwChecksum = (dwChecksum + dw) & (0xffffffff|0); - } - if (fModified) sector.cModify = cdw; - head[iSector] = sector; - } - } - } - this.dwChecksum = dwChecksum; - disk = this; - } else { - this.notice("Unrecognized disk format (" + cbDiskData + " bytes)"); - } - - if (this.fnNotify) { - this.fnNotify.call(this.controller, this.drive, disk, this.sDiskName, this.sDiskPath); - this.fnNotify = null; - } -}; - -/** - * doneLoad(sURL, sDiskData, nErrorCode) - * - * This function was originally called mount(). If the mount is successful, we pass the Disk object to the - * caller's fnNotify handler; otherwise, we pass null. - * - * @this {DiskPDP11} - * @param {string} sURL - * @param {string} sDiskData - * @param {number} nErrorCode (response from server if anything other than 200) - */ -DiskPDP11.prototype.doneLoad = function(sURL, sDiskData, nErrorCode) -{ - var disk = null; - this.fWriteProtected = false; - var fPrintOnly = (nErrorCode < 0 && this.cmp && !this.cmp.flags.powered); - - if (nErrorCode) { - /* - * This can happen for innocuous reasons, such as the user switching away too quickly, forcing - * the request to be cancelled. And unfortunately, the browser cancels XMLHttpRequest requests - * BEFORE it notifies any page event handlers, so if the Computer's being powered down, we won't know - * that yet. For now, we rely on the lack of a specific error (nErrorCode < 0), and suppress the - * notify() alert if there's no specific error AND the computer is not powered up yet. - */ - this.controller.notice("Unable to load disk \"" + this.sDiskName + "\" (error " + nErrorCode + ": " + sURL + ")", fPrintOnly); - } else { - if (DEBUG && this.messageEnabled()) { - this.printMessage('doneLoad("' + this.sDiskPath + '")'); + this.notice("Unrecognized disk format (" + cbDiskData + " bytes)"); } - Component.addMachineResource(this.controller.idMachine, sURL, sDiskData); + if (this.fnNotify) { + this.fnNotify.call(this.controller, this.drive, disk, this.sDiskName, this.sDiskPath); + this.fnNotify = null; + } + } - try { + /** + * doneLoad(sURL, sDiskData, nErrorCode) + * + * This function was originally called mount(). If the mount is successful, we pass the Disk object to the + * caller's fnNotify handler; otherwise, we pass null. + * + * @this {DiskPDP11} + * @param {string} sURL + * @param {string} sDiskData + * @param {number} nErrorCode (response from server if anything other than 200) + */ + doneLoad(sURL, sDiskData, nErrorCode) + { + var disk = null; + var fPrintOnly = (nErrorCode < 0 && !!this.cmp && !this.cmp.flags.powered); + + this.fWriteProtected = false; + + if (nErrorCode) { /* - * The following code was a hack to turn on write-protection for a disk image if there was - * an initial comment line containing the string "write-protected". However, since comments - * are technically not allowed in JSON, I needed an alternative solution. So, if the basename - * contains the suffix "-readonly", then I'll turn on write-protection for that disk as well. - * - * TODO: Provide some UI for turning write-protection on/off for disks at will, and provide - * an XML-based solution (ie, a per-disk XML configuration option) for controlling it as well. + * This can happen for innocuous reasons, such as the user switching away too quickly, forcing + * the request to be cancelled. And unfortunately, the browser cancels XMLHttpRequest requests + * BEFORE it notifies any page event handlers, so if the Computer's being powered down, we won't know + * that yet. For now, we rely on the lack of a specific error (nErrorCode < 0), and suppress the + * notify() alert if there's no specific error AND the computer is not powered up yet. */ - var sBaseName = str.getBaseName(this.sDiskFile, true).toLowerCase(); - if (sBaseName.indexOf("-readonly") > 0) { - this.fWriteProtected = true; - } else { - var iEOL = sDiskData.indexOf("\n"); - if (iEOL > 0 && iEOL < 1024) { - var sConfig = sDiskData.substring(0, iEOL); - if (sConfig.indexOf("write-protected") > 0) { - this.fWriteProtected = true; - } - } + this.controller.notice("Unable to load disk \"" + this.sDiskName + "\" (error " + nErrorCode + ": " + sURL + ")", fPrintOnly); + } else { + if (DEBUG && this.messageEnabled()) { + this.printMessage('doneLoad("' + this.sDiskPath + '")'); } - /* - * The most likely source of any exception will be here, where we're parsing the disk data. - */ - var aDiskData; - if (sDiskData.substr(0, 1) == "<") { // if the "data" begins with a "<"... + + Component.addMachineResource(this.controller.idMachine, sURL, sDiskData); + + try { /* - * Early server configs reported an error (via the nErrorCode parameter) if a disk URL was invalid, - * but more recent server configs now display a somewhat friendlier HTML error page. The downside, - * however, is that the original error has been buried, and we've received "data" that isn't actually - * disk data. + * The following code was a hack to turn on write-protection for a disk image if there was + * an initial comment line containing the string "write-protected". However, since comments + * are technically not allowed in JSON, I needed an alternative solution. So, if the basename + * contains the suffix "-readonly", then I'll turn on write-protection for that disk as well. * - * So, if the data we've received appears to be "HTML-like", all we can really do is assume that the - * disk image is missing. And so we pretend we received an error message to that effect. + * TODO: Provide some UI for turning write-protection on/off for disks at will, and provide + * an XML-based solution (ie, a per-disk XML configuration option) for controlling it as well. */ - aDiskData = ["Missing disk image: " + this.sDiskName]; - } else { - /* - * TODO: IE9 is rather unfriendly and restrictive with regard to how much data it's willing to - * eval(). In particular, the 10Mb disk image we use for the Windows 1.01 demo config fails in - * IE9 with an "Out of memory" exception. One work-around would be to chop the data into chunks - * (perhaps one track per chunk, using regular expressions) and then manually re-assemble it. - * - * However, it turns out that using JSON.parse(sDiskData) instead of eval("(" + sDiskData + ")") - * is a much easier fix. The only drawback is that we must first quote any unquoted property names - * and remove any comments, because while eval() was cool with them, JSON.parse() is more particular; - * the following RegExp replacements take care of those requirements. - * - * The use of hex values is something else that eval() was OK with, but JSON.parse() is not, and - * while I've stopped using hex values in DumpAPI responses (at least when "format=json" is specified), - * I can't guarantee they won't show up in "legacy" images, and there's no simple RegExp replacement - * for transforming hex values into decimal values, so I cop out and fall back to eval() if I detect - * any hex prefixes ("0x") in the sequence. Ditto for error messages, which appear like so: - * - * ["unrecognized disk path: test.img"] - */ - if (sDiskData.indexOf("0x") < 0 && sDiskData.substr(0, 2) != "[\"") { - aDiskData = JSON.parse(sDiskData.replace(/([a-z]+):/gm, "\"$1\":").replace(/\/\/[^\n]*/gm, "")); + var sBaseName = Str.getBaseName(this.sDiskFile, true).toLowerCase(); + if (sBaseName.indexOf("-readonly") > 0) { + this.fWriteProtected = true; } else { - aDiskData = eval("(" + sDiskData + ")"); - } - } - - if (!aDiskData.length) { - Component.error("Empty disk image: " + this.sDiskName); - } - else if (aDiskData.length == 1) { - Component.error(aDiskData[0]); - } - /* - * aDiskData is an array of cylinders, each of which is an array of heads, each of which - * is an array of sector objects. The format does not impose any limitations on number of - * cylinders, number of heads, or number of bytes in any of the sector object byte-arrays. - * - * WARNING: All accesses to sector object properties must be via their string names, not their - * "dot" names, otherwise code will break after it's been processed by the Closure Compiler. - * - * Sector object properties include: - * - * 'sector' the sector number (1-based, not required to be sequential) - * 'length' the byte-length (ie, formatted length) of the sector - * 'data' the dword-array containing the sector data - * 'pattern' if the dword-array length is less than 'length'/4, this value must be used - * to pad out the sector; if no 'pattern' is specified, it's assumed to be zero - * - * We still support the older JSON encoding, where sector data was encoded as an array of 'bytes' - * rather than a dword 'data' array. However, our support is strictly limited to an on-the-fly - * conversion to a forward-compatible 'data' array. - */ - else { - if (DEBUG && this.messageEnabled(MessagesPDP11.DISK | MessagesPDP11.LOG)) { - var sCylinders = aDiskData.length + " track" + (aDiskData.length > 1 ? "s" : ""); - var nHeads = aDiskData[0].length; - var sHeads = nHeads + " head" + (nHeads > 1 ? "s" : ""); - var nSectorsPerTrack = aDiskData[0][0].length; - var sSectorsPerTrack = nSectorsPerTrack + " sector" + (nSectorsPerTrack > 1 ? "s" : "") + "/track"; - this.printMessage(sCylinders + ", " + sHeads + ", " + sSectorsPerTrack); - } - /* - * Before the image is usable, we must "normalize" all the sectors. In the past, this meant - * "inflating" them all. However, that's no longer strictly necessary. Mainly, it just means - * setting 'length', 'data', and 'pattern' properties, so that all the sectors are well-defined. - * This includes detecting sector data in older formats (eg, the old array of 'bytes' instead - * of the new 'data' array of dwords) and converting them on-the-fly to the current format. - */ - this.nCylinders = aDiskData.length; - this.nHeads = aDiskData[0].length; - this.nSectors = aDiskData[0][0].length; - var sector = aDiskData[0][0][0]; - this.cbSector = (sector && sector['length']) || 512; - - var dwChecksum = 0; - for (var iCylinder = 0; iCylinder < this.nCylinders; iCylinder++) { - for (var iHead = 0; iHead < this.nHeads; iHead++) { - for (var iSector = 0; iSector < this.nSectors; iSector++) { - sector = aDiskData[iCylinder][iHead][iSector]; - if (!sector) continue; // non-standard (eg, XDF) disk images may have "unused" (null) sectors - var length = sector['length']; - if (length === undefined) { // provide backward-compatibility with older JSON... - length = sector['length'] = 512; - } - length >>= 2; // convert length from a byte-length to a dword-length - var dwPattern = sector['pattern']; - if (dwPattern === undefined) { - dwPattern = sector['pattern'] = 0; - } - var adw = sector['data']; - if (adw === undefined) { - var ab = sector['bytes']; - if (ab === undefined || !ab.length) { - /* - * It would be odd if there was neither a 'bytes' nor 'data' array; I'm just - * being paranoid. It's more likely that the 'bytes' array is simply empty, - * in which case we need only create an empty 'data' array and turn the byte - * pattern, if any, into a dword pattern. - */ - adw = []; - this.assert((dwPattern & 0xff) == dwPattern); - dwPattern = sector['pattern'] = (dwPattern | (dwPattern << 8) | (dwPattern << 16) | (dwPattern << 24)); - sector['data'] = adw; - } else { - /* - * To keep the conversion code simple, we'll do any necessary pattern-filling first, - * to fully "inflate" the sector, eliminating the possibility of partial dwords and - * saving any code downstream from dealing with byte-size patterns. - */ - var cb = length << 2; - for (var ib = ab.length; ib < cb; ib++) { - ab[ib] = dwPattern; // the pattern for byte-arrays was only a byte - } - this.fill(sector, ab, 0); - } - delete sector['bytes']; - } - this.initSector(sector, iCylinder, iHead); - /* - * For the disk as a whole, we maintain a checksum of the original unmodified data: - * - * dwChecksum: summation of all dwords in all non-empty sectors - * - * Pattern-filling of sectors is deferred until absolutely necessary (eg, when a sector is - * being written). So all we need to do at this point is checksum all the initial sector data. - */ - for (var idw = 0; idw < adw.length; idw++) { - dwChecksum = (dwChecksum + adw[idw]) & (0xffffffff|0); - } + var iEOL = sDiskData.indexOf("\n"); + if (iEOL > 0 && iEOL < 1024) { + var sConfig = sDiskData.substring(0, iEOL); + if (sConfig.indexOf("write-protected") > 0) { + this.fWriteProtected = true; } } } - this.aDiskData = aDiskData; - this.dwChecksum = dwChecksum; - disk = this; - } - } catch (e) { - Component.error("Disk image error (" + sURL + "): " + e.message); - } - } - - if (this.fnNotify) { - this.fnNotify.call(this.controllerNotify, this.drive, disk, this.sDiskName, this.sDiskPath); - this.fnNotify = null; - } -}; - -/** - * getSectorString(sector, off, len) - * - * WARNING: This function is restricted to reading a string contained ENTIRELY within the specified sector. - * - * @this {DiskPDP11} - * @param {Object} sector - * @param {number} off (byte offset) - * @param {number} len (use -1 to read a null-terminated string) - * @return {string} - */ -DiskPDP11.prototype.getSectorString = function(sector, off, len) -{ - var s = ""; - while (len--) { - var b = this.read(sector, off++); - if (b <= 0) break; - s += String.fromCharCode(b); - } - return s; -}; - -/** - * initSector(sector, iCylinder, iHead, iSector, cbSector, dwPattern) - * - * Ensures every sector has ALL the properties of a proper Sector object; ie: - * - * 'sector': sector number - * 'length': size of the sector, in bytes - * 'data': array of dwords - * 'pattern': dword pattern to use for empty or partial sectors - * - * In addition, we will maintain the following information on a per-sector basis, - * as sectors are modified: - * - * iModify: index of first modified dword in sector - * cModify: number of modified dwords in sector - * fDirty: true if sector is dirty, false if clean (or cleaning in progress) - * - * @this {DiskPDP11} - * @param {Object} sector - * @param {number} iCylinder - * @param {number} iHead - * @param {number} [iSector] - * @param {number} [cbSector] - * @param {number|null} [dwPattern] - * @return {Object} - */ -DiskPDP11.prototype.initSector = function(sector, iCylinder, iHead, iSector, cbSector, dwPattern) -{ - if (!sector) { - sector = {'sector': iSector, 'length': cbSector, 'data': [], 'pattern': dwPattern}; - } - sector.iCylinder = iCylinder; - sector.iHead = iHead; - sector.iModify = sector.cModify = 0; - sector.fDirty = false; - return sector; -}; - -/** - * info() - * - * TODO: Decide whether deprecate this in favor of accessing the nCylinders, nHeads, nSectors, and cbSector - * properties of the Disk object directly. - * - * @this {DiskPDP11} - * @return {Array} containing: [nCylinders, nHeads, nSectorsPerTrack, nBytesPerSector] - */ -DiskPDP11.prototype.info = function() -{ - if (!this.aDiskData.length) { - return [0, 0, 0, 0]; - } - return [this.aDiskData.length, this.aDiskData[0].length, this.aDiskData[0][0].length, this.aDiskData[0][0][0]['length']]; -}; - -/** - * seek(iCylinder, iHead, iSector, fWrite, done) - * - * TODO: There's some dodgy code in seek() that allows floppy images to be dynamically - * reconfigured with more heads and/or sectors/track, and it does so by peeking at more drive - * properties. That code used to be in the FDC component, where it was perfectly reasonable - * to access those properties. We need a cleaner interface back to the drive, similar to the - * info() interface we provide to the controller. - * - * Whether or not the "dynamic reconfiguration" feature itself is perfectly reasonable is, - * of course, a separate question. - * - * @this {DiskPDP11} - * @param {number} iCylinder - * @param {number} iHead - * @param {number} iSector - * @param {boolean} [fWrite] - * @param {function(Object,boolean)} [done] - * @return {Object|null} is the requested sector, or null if not found (or not available yet) - */ -DiskPDP11.prototype.seek = function(iCylinder, iHead, iSector, fWrite, done) -{ - var sector = null; - var drive = this.drive; - var cylinder = this.aDiskData[iCylinder]; - if (cylinder) { - var i; - var track = cylinder[iHead]; - /* - * The following code allows a single-sided diskette image to be reformatted (ie, "expanded") - * as a double-sided image, provided the drive has more than one head (see drive.nHeads). - */ - if (!track && drive.bFormatting && iHead < drive.nHeads) { - track = cylinder[iHead] = new Array(drive.bSectorEnd); - for (i = 0; i < track.length; i++) { - track[i] = this.initSector(null, iCylinder, iHead, i + 1, drive.nBytes, 0); - } - } - if (track) { - for (i = 0; i < track.length; i++) { - if (track[i] && track[i]['sector'] == iSector) { + /* + * The most likely source of any exception will be here, where we're parsing the disk data. + */ + var aDiskData; + if (sDiskData.substr(0, 1) == "<") { // if the "data" begins with a "<"... /* - * If the sector's pattern is null, then this sector's true contents have not yet - * been fetched from the server. + * Early server configs reported an error (via the nErrorCode parameter) if a disk URL was invalid, + * but more recent server configs now display a somewhat friendlier HTML error page. The downside, + * however, is that the original error has been buried, and we've received "data" that isn't actually + * disk data. + * + * So, if the data we've received appears to be "HTML-like", all we can really do is assume that the + * disk image is missing. And so we pretend we received an error message to that effect. */ - sector = track[i]; + aDiskData = ["Missing disk image: " + this.sDiskName]; + } else { + /* + * TODO: IE9 is rather unfriendly and restrictive with regard to how much data it's willing to + * eval(). In particular, the 10Mb disk image we use for the Windows 1.01 demo config fails in + * IE9 with an "Out of memory" exception. One work-around would be to chop the data into chunks + * (perhaps one track per chunk, using regular expressions) and then manually re-assemble it. + * + * However, it turns out that using JSON.parse(sDiskData) instead of eval("(" + sDiskData + ")") + * is a much easier fix. The only drawback is that we must first quote any unquoted property names + * and remove any comments, because while eval() was cool with them, JSON.parse() is more particular; + * the following RegExp replacements take care of those requirements. + * + * The use of hex values is something else that eval() was OK with, but JSON.parse() is not, and + * while I've stopped using hex values in DumpAPI responses (at least when "format=json" is specified), + * I can't guarantee they won't show up in "legacy" images, and there's no simple RegExp replacement + * for transforming hex values into decimal values, so I cop out and fall back to eval() if I detect + * any hex prefixes ("0x") in the sequence. Ditto for error messages, which appear like so: + * + * ["unrecognized disk path: test.img"] + */ + if (sDiskData.indexOf("0x") < 0 && sDiskData.substr(0, 2) != "[\"") { + aDiskData = JSON.parse(sDiskData.replace(/([a-z]+):/gm, "\"$1\":").replace(/\/\/[^\n]*/gm, "")); + } else { + aDiskData = eval("(" + sDiskData + ")"); + } + } + + if (!aDiskData.length) { + Component.error("Empty disk image: " + this.sDiskName); + } + else if (aDiskData.length == 1) { + Component.error(aDiskData[0]); + } + /* + * aDiskData is an array of cylinders, each of which is an array of heads, each of which + * is an array of sector objects. The format does not impose any limitations on number of + * cylinders, number of heads, or number of bytes in any of the sector object byte-arrays. + * + * WARNING: All accesses to sector object properties must be via their string names, not their + * "dot" names, otherwise code will break after it's been processed by the Closure Compiler. + * + * Sector object properties include: + * + * 'sector' the sector number (1-based, not required to be sequential) + * 'length' the byte-length (ie, formatted length) of the sector + * 'data' the dword-array containing the sector data + * 'pattern' if the dword-array length is less than 'length'/4, this value must be used + * to pad out the sector; if no 'pattern' is specified, it's assumed to be zero + * + * We still support the older JSON encoding, where sector data was encoded as an array of 'bytes' + * rather than a dword 'data' array. However, our support is strictly limited to an on-the-fly + * conversion to a forward-compatible 'data' array. + */ + else { + if (DEBUG && this.messageEnabled(MessagesPDP11.DISK | MessagesPDP11.LOG)) { + var sCylinders = aDiskData.length + " track" + (aDiskData.length > 1 ? "s" : ""); + var nHeads = aDiskData[0].length; + var sHeads = nHeads + " head" + (nHeads > 1 ? "s" : ""); + var nSectorsPerTrack = aDiskData[0][0].length; + var sSectorsPerTrack = nSectorsPerTrack + " sector" + (nSectorsPerTrack > 1 ? "s" : "") + "/track"; + this.printMessage(sCylinders + ", " + sHeads + ", " + sSectorsPerTrack); + } + /* + * Before the image is usable, we must "normalize" all the sectors. In the past, this meant + * "inflating" them all. However, that's no longer strictly necessary. Mainly, it just means + * setting 'length', 'data', and 'pattern' properties, so that all the sectors are well-defined. + * This includes detecting sector data in older formats (eg, the old array of 'bytes' instead + * of the new 'data' array of dwords) and converting them on-the-fly to the current format. + */ + this.nCylinders = aDiskData.length; + this.nHeads = aDiskData[0].length; + this.nSectors = aDiskData[0][0].length; + var sector = aDiskData[0][0][0]; + this.cbSector = (sector && sector['length']) || 512; + + var dwChecksum = 0; + for (var iCylinder = 0; iCylinder < this.nCylinders; iCylinder++) { + for (var iHead = 0; iHead < this.nHeads; iHead++) { + for (var iSector = 0; iSector < this.nSectors; iSector++) { + sector = aDiskData[iCylinder][iHead][iSector]; + if (!sector) continue; // non-standard (eg, XDF) disk images may have "unused" (null) sectors + var length = sector['length']; + if (length === undefined) { // provide backward-compatibility with older JSON... + length = sector['length'] = 512; + } + length >>= 2; // convert length from a byte-length to a dword-length + var dwPattern = sector['pattern']; + if (dwPattern === undefined) { + dwPattern = sector['pattern'] = 0; + } + var adw = sector['data']; + if (adw === undefined) { + var ab = sector['bytes']; + if (ab === undefined || !ab.length) { + /* + * It would be odd if there was neither a 'bytes' nor 'data' array; I'm just + * being paranoid. It's more likely that the 'bytes' array is simply empty, + * in which case we need only create an empty 'data' array and turn the byte + * pattern, if any, into a dword pattern. + */ + adw = []; + this.assert((dwPattern & 0xff) == dwPattern); + dwPattern = sector['pattern'] = (dwPattern | (dwPattern << 8) | (dwPattern << 16) | (dwPattern << 24)); + sector['data'] = adw; + } else { + /* + * To keep the conversion code simple, we'll do any necessary pattern-filling first, + * to fully "inflate" the sector, eliminating the possibility of partial dwords and + * saving any code downstream from dealing with byte-size patterns. + */ + var cb = length << 2; + for (var ib = ab.length; ib < cb; ib++) { + ab[ib] = dwPattern; // the pattern for byte-arrays was only a byte + } + this.fill(sector, ab, 0); + } + delete sector['bytes']; + } + this.initSector(sector, iCylinder, iHead); + /* + * For the disk as a whole, we maintain a checksum of the original unmodified data: + * + * dwChecksum: summation of all dwords in all non-empty sectors + * + * Pattern-filling of sectors is deferred until absolutely necessary (eg, when a sector is + * being written). So all we need to do at this point is checksum all the initial sector data. + */ + for (var idw = 0; idw < adw.length; idw++) { + dwChecksum = (dwChecksum + adw[idw]) & (0xffffffff|0); + } + } + } + } + this.aDiskData = aDiskData; + this.dwChecksum = dwChecksum; + disk = this; + } + } catch (e) { + Component.error("Disk image error (" + sURL + "): " + e.message); + } + } + + if (this.fnNotify) { + this.fnNotify.call(this.controllerNotify, this.drive, disk, this.sDiskName, this.sDiskPath); + this.fnNotify = null; + } + } + + /** + * getSectorString(sector, off, len) + * + * WARNING: This function is restricted to reading a string contained ENTIRELY within the specified sector. + * + * @this {DiskPDP11} + * @param {Object} sector + * @param {number} off (byte offset) + * @param {number} len (use -1 to read a null-terminated string) + * @return {string} + */ + getSectorString(sector, off, len) + { + var s = ""; + while (len--) { + var b = this.read(sector, off++); + if (b <= 0) break; + s += String.fromCharCode(b); + } + return s; + } + + /** + * initSector(sector, iCylinder, iHead, iSector, cbSector, dwPattern) + * + * Ensures every sector has ALL the properties of a proper Sector object; ie: + * + * 'sector': sector number + * 'length': size of the sector, in bytes + * 'data': array of dwords + * 'pattern': dword pattern to use for empty or partial sectors + * + * In addition, we will maintain the following information on a per-sector basis, + * as sectors are modified: + * + * iModify: index of first modified dword in sector + * cModify: number of modified dwords in sector + * fDirty: true if sector is dirty, false if clean (or cleaning in progress) + * + * @this {DiskPDP11} + * @param {Object} sector + * @param {number} iCylinder + * @param {number} iHead + * @param {number} [iSector] + * @param {number} [cbSector] + * @param {number|null} [dwPattern] + * @return {Object} + */ + initSector(sector, iCylinder, iHead, iSector, cbSector, dwPattern) + { + if (!sector) { + sector = {'sector': iSector, 'length': cbSector, 'data': [], 'pattern': dwPattern}; + } + sector.iCylinder = iCylinder; + sector.iHead = iHead; + sector.iModify = sector.cModify = 0; + sector.fDirty = false; + return sector; + } + + /** + * info() + * + * TODO: Decide whether deprecate this in favor of accessing the nCylinders, nHeads, nSectors, and cbSector + * properties of the Disk object directly. + * + * @this {DiskPDP11} + * @return {Array} containing: [nCylinders, nHeads, nSectorsPerTrack, nBytesPerSector] + */ + info() + { + if (!this.aDiskData.length) { + return [0, 0, 0, 0]; + } + return [this.aDiskData.length, this.aDiskData[0].length, this.aDiskData[0][0].length, this.aDiskData[0][0][0]['length']]; + } + + /** + * seek(iCylinder, iHead, iSector, fWrite, done) + * + * TODO: There's some dodgy code in seek() that allows floppy images to be dynamically + * reconfigured with more heads and/or sectors/track, and it does so by peeking at more drive + * properties. That code used to be in the FDC component, where it was perfectly reasonable + * to access those properties. We need a cleaner interface back to the drive, similar to the + * info() interface we provide to the controller. + * + * Whether or not the "dynamic reconfiguration" feature itself is perfectly reasonable is, + * of course, a separate question. + * + * @this {DiskPDP11} + * @param {number} iCylinder + * @param {number} iHead + * @param {number} iSector + * @param {boolean} [fWrite] + * @param {function(Object,boolean)} [done] + * @return {Object|null} is the requested sector, or null if not found (or not available yet) + */ + seek(iCylinder, iHead, iSector, fWrite, done) + { + var sector = null; + var drive = this.drive; + var cylinder = this.aDiskData[iCylinder]; + if (cylinder) { + var i; + var track = cylinder[iHead]; + /* + * The following code allows a single-sided diskette image to be reformatted (ie, "expanded") + * as a double-sided image, provided the drive has more than one head (see drive.nHeads). + */ + if (!track && drive.bFormatting && iHead < drive.nHeads) { + track = cylinder[iHead] = new Array(drive.bSectorEnd); + for (i = 0; i < track.length; i++) { + track[i] = this.initSector(null, iCylinder, iHead, i + 1, drive.nBytes, 0); + } + } + if (track) { + for (i = 0; i < track.length; i++) { + if (track[i] && track[i]['sector'] == iSector) { + /* + * If the sector's pattern is null, then this sector's true contents have not yet + * been fetched from the server. + */ + sector = track[i]; + break; + } + } + /* + * The following code allows an 8-sector track to be reformatted (ie, "expanded") as a 9-sector track. + */ + if (!sector && drive.bFormatting && drive.bSector == 9) { + sector = track[i] = this.initSector(null, iCylinder, iHead, drive.bSector, drive.nBytes, 0); + } + } + } + if (done) done(sector, false); + return sector; + } + + /** + * fill(sector, ab, off) + * + * @this {DiskPDP11} + * @param {Object} sector + * @param {*} ab (technically, this should be typed as Array. but I'm having trouble coercing JSON.parse() to that) + * @param {number} off + */ + fill(sector, ab, off) + { + var cdw = sector['length'] >> 2; + var adw = new Array(cdw); + for (var idw = 0; idw < cdw; idw++) { + adw[idw] = ab[off] | (ab[off + 1] << 8) | (ab[off + 2] << 16) | (ab[off + 3] << 24); + off += 4; + } + sector['data'] = adw; + /* + * TODO: Consider taking this opportunity to shrink 'data' down by the number of dwords at the end of the buffer that + * contain the same pattern, and setting 'pattern' accordingly. + */ + } + + /** + * toBytes(sector) + * + * @this {DiskPDP11} + * @param {Object} sector + * @return {Array.} is an array of bytes + */ + toBytes(sector) + { + var cb = sector['length']; + var ab = new Array(cb); + var ib = 0; + var cdw = cb >> 2; + var adw = sector['data']; + var dwPattern = sector['pattern']; + for (var idw = 0; idw < cdw; idw++) { + var dw = (idw < adw.length? adw[idw] : dwPattern); + ab[ib++] = dw & 0xff; + ab[ib++] = (dw >> 8) & 0xff; + ab[ib++] = (dw >> 16) & 0xff; + ab[ib++] = (dw >> 24) & 0xff; + } + return ab; + } + + /** + * read(sector, ibSector, fCompare) + * + * @this {DiskPDP11} + * @param {Object} sector (returned from a previous seek) + * @param {number} ibSector a byte index within the given sector + * @param {boolean} [fCompare] is true if this write-compare read + * @return {number} the specified (unsigned) byte, or -1 if no more data in the sector + */ + read(sector, ibSector, fCompare) + { + var b = -1; + if (sector) { + if (ibSector < sector['length']) { + var adw = sector['data']; + var idw = ibSector >> 2; + var dw = (idw < adw.length ? adw[idw] : sector['pattern']); + b = ((dw >> ((ibSector & 0x3) << 3)) & 0xff); + } + if (DEBUG && !fCompare && this.messageEnabled()) { + this.printMessage('read("' + this.sDiskFile + '",CHS=' + sector.iCylinder + ':' + sector.iHead + ':' + sector['sector'] + ',index=' + ibSector + ',value=' + Str.toHexByte(b) + ')'); + } + } + return b; + } + + /** + * write(sector, ibSector, b) + * + * @this {DiskPDP11} + * @param {Object} sector (returned from a previous seek) + * @param {number} ibSector a byte index within the given sector + * @param {number} b the byte value to write + * @return {boolean|null} true if write successful, false if write-protected, null if out of bounds + */ + write(sector, ibSector, b) + { + if (this.fWriteProtected) + return false; + + if (DEBUG && this.messageEnabled()) { + this.printMessage('write("' + this.sDiskFile + '",CHS=' + sector.iCylinder + ':' + sector.iHead + ':' + sector['sector'] + ',index=' + ibSector + ',value=' + Str.toHexByte(b) + ')'); + } + + if (ibSector < sector['length']) { + if (b != this.read(sector, ibSector, true)) { + var adw = sector['data']; + var dwPattern = sector['pattern']; + var idw = ibSector >> 2; + var nShift = (ibSector & 0x3) << 3; + + /* + * Ensure every byte up to the specified byte is properly initialized. + */ + for (var i = adw.length; i <= idw; i++) adw[i] = dwPattern; + + if (!sector.cModify) { + sector.iModify = idw; + sector.cModify = 1; + } else if (idw < sector.iModify) { + sector.cModify += sector.iModify - idw; + sector.iModify = idw; + } else if (idw >= sector.iModify + sector.cModify) { + sector.cModify += idw - (sector.iModify + sector.cModify) + 1; + } + adw[idw] = (adw[idw] & ~(0xff << nShift)) | (b << nShift); + } + return true; + } + return null; + } + + /** + * getSector(pba) + * + * @this {DiskPDP11} + * @param {number} pba (physical block address) + * @return {Object|null} sector + */ + getSector(pba) + { + var nSectorsPerCylinder = this.nHeads * this.nSectors; + var iCylinder = (pba / nSectorsPerCylinder) | 0; + if (iCylinder < this.nCylinders) { + var nSectorsRemaining = (pba % nSectorsPerCylinder); + var iHead = (nSectorsRemaining / this.nSectors) | 0; + /* + * PBA numbers are 0-based, but the sector numbers in CHS addressing are 1-based, so add one to iSector + */ + var iSector = (nSectorsRemaining % this.nSectors) + 1; + return this.seek(iCylinder, iHead, iSector); + } + return null; + } + + /** + * getSectorData(sector, off, len) + * + * WARNING: This function is restricted to reading data contained ENTIRELY within the specified sector. + * + * NOTE: Yes, this function is not the most efficient way to read a byte/word/dword value from within a sector, + * but given the different states a sector may be in, it's certainly the simplest and safest, and since this is + * only used by buildFileTable() and its progeny, it's not clear that we need to be superfast anyway. + * + * @this {DiskPDP11} + * @param {Object} sector + * @param {number} off (byte offset) + * @param {number} len (1 to 4 bytes) + * @return {number} + */ + getSectorData(sector, off, len) + { + var dw = 0; + var nShift = 0; + this.assert(len > 0 && len <= 4); + while (len--) { + this.assert(off < sector['length']); + var b = this.read(sector, off++); + this.assert(b >= 0); + if (b < 0) break; + dw |= (b << nShift); + nShift += 8; + } + return dw; + } + + /** + * encodeAsBase64() + * + * @this {DiskPDP11} + * @return {string} + */ + encodeAsBase64() + { + /* + * Gross, but simple; more importantly, it works -- at least for disks of typical floppy magnitude. + */ + var s = "", pba = 0, sector; + while ((sector = this.getSector(pba++))) { + for (var off = 0, len = sector['length']; off < len; off++) { + s += String.fromCharCode(this.getSectorData(sector, off, 1)); + } + } + return btoa(s); + } + + /** + * save() + * + * The first array entry contains some disk information: + * + * [sDiskPath, dwChecksum, nCylinders, nHeads, nSectors, cbSector] + * + * Each subsequent entry in the returned array contains the following: + * + * [iCylinder, iHead, iSector, iModify, [...]] + * + * where [...] is an array of modified dword(s) in the corresponding sector. + * + * @this {DiskPDP11} + * @return {Array} of modified sectors + */ + save() + { + var i = 0; + var deltas = []; + deltas[i++] = [this.sDiskPath, this.dwChecksum, this.nCylinders, this.nHeads, this.nSectors, this.cbSector]; + if (!this.fWriteProtected) { + var aDiskData = this.aDiskData; + for (var iCylinder = 0; iCylinder < aDiskData.length; iCylinder++) { + for (var iHead = 0; iHead < aDiskData[iCylinder].length; iHead++) { + for (var iSector = 0; iSector < aDiskData[iCylinder][iHead].length; iSector++) { + var sector = aDiskData[iCylinder][iHead][iSector]; + if (sector && sector.cModify) { + var mods = [], n = 0; + var iModify = sector.iModify, iModifyLimit = sector.iModify + sector.cModify; + while (iModify < iModifyLimit) { + mods[n++] = sector['data'][iModify++]; + } + deltas[i++] = [iCylinder, iHead, iSector, sector.iModify, mods]; + } + } + } + } + } + if (DEBUG && this.messageEnabled()) { + this.printMessage('save("' + this.sDiskName + '"): saved ' + (deltas.length - 1) + ' change(s)'); + } + return deltas; + } + + /** + * restore(deltas) + * + * The first array entry contains some disk information: + * + * [sDiskPath, dwChecksum, nCylinders, nHeads, nSectors, cbSector] + * + * Each subsequent entry in the supplied array contains the following: + * + * [iCylinder, iHead, iSector, iModify, [...]] + * + * where [...] is an array of modified dword(s) in the corresponding sector. + * + * @this {DiskPDP11} + * @param {Array} deltas + * @return {number} 0 if no changes applied, -1 if an error occurred, otherwise the number of sectors modified + */ + restore(deltas) + { + /* + * If deltas is undefined, that's not necessarily an error; the controller may simply be (re)initializing + * itself (although neither controller should be calling restore() under those conditions anymore). + */ + var nChanges = 0; + var sReason = "unsupported restore format"; + /* + * I originally added a check for aDiskData here on the assumption that if there was an error loading + * a disk image, we will have already notified the user, so any additional errors about differing checksums, + * failure to restore the disk state, etc, would just be annoying. HOWEVER, HDC will create an empty disk + * image if its initialization code discovers that no disk was loaded earlier (see verifyDrive). So while + * checking aDiskData is still a good idea, be aware that it won't necessarily avoid redundant error messages + * (at least in the case of HDC). + */ + if (deltas && deltas.length > 0) { + + var i = 0; + var aDiskInfo = deltas[i++]; + + if (aDiskInfo && aDiskInfo.length >= 2) { + /* + * Before getting to the checksum, we have to deal with a new situation: restoring an uninitialized + * disk image from a complete set of deltas. And that is only possible if the disk was saved with the + * original disk geometry. + */ + if (!this.aDiskData.length && aDiskInfo.length >= 6) { + this.create(DiskAPI.MODE.LOCAL, aDiskInfo[2], aDiskInfo[3], aDiskInfo[4], aDiskInfo[5]); + /* + * TODO: Consider setting a flag here that we can check at the end of the restore() function + * that indicates we should recalculate dwChecksum, because we currently have an inconsistency + * between local disks that are mounted via build() and the same disks that are "remounted" + * later by this code; the former has the correct checksum, while the latter has a null checksum. + * + * As you can see below, we currently deal with this by simply ignoring null checksums.... + */ + } + /* + * v1.01 failed to indicate an error if either one of these failure conditions occurred. Although maybe that's + * just as well, since v1.01 also failed to properly deal with situations where the user mounted different diskette(s) + * prior to exiting (hopefully fixed in v1.02). + */ + else if (aDiskInfo[1] != null && this.dwChecksum != null && aDiskInfo[1] != this.dwChecksum) { + sReason = "original checksum (" + aDiskInfo[1] + ") differs from current checksum (" + this.dwChecksum + ")"; + nChanges = -2; + } + /* + * Checksum is more important than disk path, and for now, I want the flexibility to move disk images. + * + else if (aDiskInfo[0] != this.sDiskPath) { + sReason = "original path '" + aDiskInfo[0] + "' differs from current path '" + this.sDiskPath + "'"; + nChanges = -1; + } + */ + } + + if (!this.aDiskData.length) nChanges = -1; + + while (i < deltas.length && nChanges >= 0) { + var m = 0; + var mod = deltas[i++]; + var iCylinder = mod[m++]; + var iHead = mod[m++]; + var iSector = mod[m++]; + /* + * Note the buried test for write-protection. Yes, an invariant condition should be tested + * outside the loop, not inside, but (a) it's a trivial test, (b) the test should never fail + * because save() should never generate any mods for a write-protected disk, and (c) it + * centralizes all the failure conditions we're currently checking (which, admittedly, ain't much). + */ + if (iCylinder >= this.aDiskData.length || iHead >= this.aDiskData[iCylinder].length || iSector >= this.aDiskData[iCylinder][iHead].length) { + sReason = "sector (CHS=" + iCylinder + ':' + iHead + ':' + iSector + ") out of range (" + nChanges + " changes applied)"; + nChanges = -1; break; } - } - /* - * The following code allows an 8-sector track to be reformatted (ie, "expanded") as a 9-sector track. - */ - if (!sector && drive.bFormatting && drive.bSector == 9) { - sector = track[i] = this.initSector(null, iCylinder, iHead, drive.bSector, drive.nBytes, 0); - } - } - } - if (done) done(sector, false); - return sector; -}; - -/** - * fill(sector, ab, off) - * - * @this {DiskPDP11} - * @param {Object} sector - * @param {*} ab (technically, this should be typed as Array. but I'm having trouble coercing JSON.parse() to that) - * @param {number} off - */ -DiskPDP11.prototype.fill = function(sector, ab, off) -{ - var cdw = sector['length'] >> 2; - var adw = new Array(cdw); - for (var idw = 0; idw < cdw; idw++) { - adw[idw] = ab[off] | (ab[off + 1] << 8) | (ab[off + 2] << 16) | (ab[off + 3] << 24); - off += 4; - } - sector['data'] = adw; - /* - * TODO: Consider taking this opportunity to shrink 'data' down by the number of dwords at the end of the buffer that - * contain the same pattern, and setting 'pattern' accordingly. - */ -}; - -/** - * toBytes(sector) - * - * @this {DiskPDP11} - * @param {Object} sector - * @return {Array.} is an array of bytes - */ -DiskPDP11.prototype.toBytes = function(sector) -{ - var cb = sector['length']; - var ab = new Array(cb); - var ib = 0; - var cdw = cb >> 2; - var adw = sector['data']; - var dwPattern = sector['pattern']; - for (var idw = 0; idw < cdw; idw++) { - var dw = (idw < adw.length? adw[idw] : dwPattern); - ab[ib++] = dw & 0xff; - ab[ib++] = (dw >> 8) & 0xff; - ab[ib++] = (dw >> 16) & 0xff; - ab[ib++] = (dw >> 24) & 0xff; - } - return ab; -}; - -/** - * read(sector, ibSector, fCompare) - * - * @this {DiskPDP11} - * @param {Object} sector (returned from a previous seek) - * @param {number} ibSector a byte index within the given sector - * @param {boolean} [fCompare] is true if this write-compare read - * @return {number} the specified (unsigned) byte, or -1 if no more data in the sector - */ -DiskPDP11.prototype.read = function(sector, ibSector, fCompare) -{ - var b = -1; - if (sector) { - if (ibSector < sector['length']) { - var adw = sector['data']; - var idw = ibSector >> 2; - var dw = (idw < adw.length ? adw[idw] : sector['pattern']); - b = ((dw >> ((ibSector & 0x3) << 3)) & 0xff); - } - if (DEBUG && !fCompare && this.messageEnabled()) { - this.printMessage('read("' + this.sDiskFile + '",CHS=' + sector.iCylinder + ':' + sector.iHead + ':' + sector['sector'] + ',index=' + ibSector + ',value=' + str.toHexByte(b) + ')'); - } - } - return b; -}; - -/** - * write(sector, ibSector, b) - * - * @this {DiskPDP11} - * @param {Object} sector (returned from a previous seek) - * @param {number} ibSector a byte index within the given sector - * @param {number} b the byte value to write - * @return {boolean|null} true if write successful, false if write-protected, null if out of bounds - */ -DiskPDP11.prototype.write = function(sector, ibSector, b) -{ - if (this.fWriteProtected) - return false; - - if (DEBUG && this.messageEnabled()) { - this.printMessage('write("' + this.sDiskFile + '",CHS=' + sector.iCylinder + ':' + sector.iHead + ':' + sector['sector'] + ',index=' + ibSector + ',value=' + str.toHexByte(b) + ')'); - } - - if (ibSector < sector['length']) { - if (b != this.read(sector, ibSector, true)) { - var adw = sector['data']; - var dwPattern = sector['pattern']; - var idw = ibSector >> 2; - var nShift = (ibSector & 0x3) << 3; - - /* - * Ensure every byte up to the specified byte is properly initialized. - */ - for (var i = adw.length; i <= idw; i++) adw[i] = dwPattern; - - if (!sector.cModify) { - sector.iModify = idw; - sector.cModify = 1; - } else if (idw < sector.iModify) { - sector.cModify += sector.iModify - idw; - sector.iModify = idw; - } else if (idw >= sector.iModify + sector.cModify) { - sector.cModify += idw - (sector.iModify + sector.cModify) + 1; - } - adw[idw] = (adw[idw] & ~(0xff << nShift)) | (b << nShift); - } - return true; - } - return null; -}; - -/** - * getSector(pba) - * - * @this {DiskPDP11} - * @param {number} pba (physical block address) - * @return {Object|null} sector - */ -DiskPDP11.prototype.getSector = function(pba) -{ - var nSectorsPerCylinder = this.nHeads * this.nSectors; - var iCylinder = (pba / nSectorsPerCylinder) | 0; - if (iCylinder < this.nCylinders) { - var nSectorsRemaining = (pba % nSectorsPerCylinder); - var iHead = (nSectorsRemaining / this.nSectors) | 0; - /* - * PBA numbers are 0-based, but the sector numbers in CHS addressing are 1-based, so add one to iSector - */ - var iSector = (nSectorsRemaining % this.nSectors) + 1; - return this.seek(iCylinder, iHead, iSector); - } - return null; -}; - -/** - * getSectorData(sector, off, len) - * - * WARNING: This function is restricted to reading data contained ENTIRELY within the specified sector. - * - * NOTE: Yes, this function is not the most efficient way to read a byte/word/dword value from within a sector, - * but given the different states a sector may be in, it's certainly the simplest and safest, and since this is - * only used by buildFileTable() and its progeny, it's not clear that we need to be superfast anyway. - * - * @this {DiskPDP11} - * @param {Object} sector - * @param {number} off (byte offset) - * @param {number} len (1 to 4 bytes) - * @return {number} - */ -DiskPDP11.prototype.getSectorData = function(sector, off, len) -{ - var dw = 0; - var nShift = 0; - this.assert(len > 0 && len <= 4); - while (len--) { - this.assert(off < sector['length']); - var b = this.read(sector, off++); - this.assert(b >= 0); - if (b < 0) break; - dw |= (b << nShift); - nShift += 8; - } - return dw; -}; - -/** - * encodeAsBase64() - * - * @this {DiskPDP11} - * @return {string} - */ -DiskPDP11.prototype.encodeAsBase64 = function() -{ - /* - * Gross, but simple; more importantly, it works -- at least for disks of typical floppy magnitude. - */ - var s = "", pba = 0, sector; - while ((sector = this.getSector(pba++))) { - for (var off = 0, len = sector['length']; off < len; off++) { - s += String.fromCharCode(this.getSectorData(sector, off, 1)); - } - } - return btoa(s); -}; - -/** - * save() - * - * The first array entry contains some disk information: - * - * [sDiskPath, dwChecksum, nCylinders, nHeads, nSectors, cbSector] - * - * Each subsequent entry in the returned array contains the following: - * - * [iCylinder, iHead, iSector, iModify, [...]] - * - * where [...] is an array of modified dword(s) in the corresponding sector. - * - * @this {DiskPDP11} - * @return {Array} of modified sectors - */ -DiskPDP11.prototype.save = function() -{ - var i = 0; - var deltas = []; - deltas[i++] = [this.sDiskPath, this.dwChecksum, this.nCylinders, this.nHeads, this.nSectors, this.cbSector]; - if (!this.fWriteProtected) { - var aDiskData = this.aDiskData; - for (var iCylinder = 0; iCylinder < aDiskData.length; iCylinder++) { - for (var iHead = 0; iHead < aDiskData[iCylinder].length; iHead++) { - for (var iSector = 0; iSector < aDiskData[iCylinder][iHead].length; iSector++) { - var sector = aDiskData[iCylinder][iHead][iSector]; - if (sector && sector.cModify) { - var mods = [], n = 0; - var iModify = sector.iModify, iModifyLimit = sector.iModify + sector.cModify; - while (iModify < iModifyLimit) { - mods[n++] = sector['data'][iModify++]; - } - deltas[i++] = [iCylinder, iHead, iSector, sector.iModify, mods]; - } + if (this.fWriteProtected) { + sReason = "unable to modify write-protected disk"; + nChanges = -1; + break; } - } - } - } - if (DEBUG && this.messageEnabled()) { - this.printMessage('save("' + this.sDiskName + '"): saved ' + (deltas.length - 1) + ' change(s)'); - } - return deltas; -}; - -/** - * restore(deltas) - * - * The first array entry contains some disk information: - * - * [sDiskPath, dwChecksum, nCylinders, nHeads, nSectors, cbSector] - * - * Each subsequent entry in the supplied array contains the following: - * - * [iCylinder, iHead, iSector, iModify, [...]] - * - * where [...] is an array of modified dword(s) in the corresponding sector. - * - * @this {DiskPDP11} - * @param {Array} deltas - * @return {number} 0 if no changes applied, -1 if an error occurred, otherwise the number of sectors modified - */ -DiskPDP11.prototype.restore = function(deltas) -{ - /* - * If deltas is undefined, that's not necessarily an error; the controller may simply be (re)initializing - * itself (although neither controller should be calling restore() under those conditions anymore). - */ - var nChanges = 0; - var sReason = "unsupported restore format"; - /* - * I originally added a check for aDiskData here on the assumption that if there was an error loading - * a disk image, we will have already notified the user, so any additional errors about differing checksums, - * failure to restore the disk state, etc, would just be annoying. HOWEVER, HDC will create an empty disk - * image if its initialization code discovers that no disk was loaded earlier (see verifyDrive). So while - * checking aDiskData is still a good idea, be aware that it won't necessarily avoid redundant error messages - * (at least in the case of HDC). - */ - if (deltas && deltas.length > 0) { - - var i = 0; - var aDiskInfo = deltas[i++]; - - if (aDiskInfo && aDiskInfo.length >= 2) { - /* - * Before getting to the checksum, we have to deal with a new situation: restoring an uninitialized - * disk image from a complete set of deltas. And that is only possible if the disk was saved with the - * original disk geometry. - */ - if (!this.aDiskData.length && aDiskInfo.length >= 6) { - this.create(DiskAPI.MODE.LOCAL, aDiskInfo[2], aDiskInfo[3], aDiskInfo[4], aDiskInfo[5]); + var iModify = mod[m++]; + var mods = mod[m++]; + var iModifyLimit = iModify + mods.length; + var sector = this.aDiskData[iCylinder][iHead][iSector]; + if (!sector) continue; /* - * TODO: Consider setting a flag here that we can check at the end of the restore() function - * that indicates we should recalculate dwChecksum, because we currently have an inconsistency - * between local disks that are mounted via build() and the same disks that are "remounted" - * later by this code; the former has the correct checksum, while the latter has a null checksum. - * - * As you can see below, we currently deal with this by simply ignoring null checksums.... + * Since write() now deals with empty/partial sectors, we no longer need to completely "inflate" + * the sector prior to applying modifications. So let's just make sure that the sector is "inflated" + * up to iModify. */ + var idw = sector['data'].length; + while (idw < iModify) { + sector['data'][idw++] = sector['pattern']; + } + var n = 0; + sector.iModify = iModify; + sector.cModify = mods.length; + while (iModify < iModifyLimit) { + sector['data'][iModify++] = mods[n++]; + } + nChanges++; } - /* - * v1.01 failed to indicate an error if either one of these failure conditions occurred. Although maybe that's - * just as well, since v1.01 also failed to properly deal with situations where the user mounted different diskette(s) - * prior to exiting (hopefully fixed in v1.02). - */ - else if (aDiskInfo[1] != null && this.dwChecksum != null && aDiskInfo[1] != this.dwChecksum) { - sReason = "original checksum (" + aDiskInfo[1] + ") differs from current checksum (" + this.dwChecksum + ")"; - nChanges = -2; - } - /* - * Checksum is more important than disk path, and for now, I want the flexibility to move disk images. - * - else if (aDiskInfo[0] != this.sDiskPath) { - sReason = "original path '" + aDiskInfo[0] + "' differs from current path '" + this.sDiskPath + "'"; - nChanges = -1; - } - */ } - if (!this.aDiskData.length) nChanges = -1; - - while (i < deltas.length && nChanges >= 0) { - var m = 0; - var mod = deltas[i++]; - var iCylinder = mod[m++]; - var iHead = mod[m++]; - var iSector = mod[m++]; + if (nChanges < 0) { /* - * Note the buried test for write-protection. Yes, an invariant condition should be tested - * outside the loop, not inside, but (a) it's a trivial test, (b) the test should never fail - * because save() should never generate any mods for a write-protected disk, and (c) it - * centralizes all the failure conditions we're currently checking (which, admittedly, ain't much). + * We're suppressing checksum messages for the general public for now.... */ - if (iCylinder >= this.aDiskData.length || iHead >= this.aDiskData[iCylinder].length || iSector >= this.aDiskData[iCylinder][iHead].length) { - sReason = "sector (CHS=" + iCylinder + ':' + iHead + ':' + iSector + ") out of range (" + nChanges + " changes applied)"; - nChanges = -1; - break; + if (DEBUG || nChanges != -2) { + this.controller.notice("Unable to restore disk '" + this.sDiskName + ": " + sReason); } - if (this.fWriteProtected) { - sReason = "unable to modify write-protected disk"; - nChanges = -1; - break; + } else { + if (DEBUG && this.messageEnabled()) { + this.printMessage('restore("' + this.sDiskName + '"): restored ' + nChanges + ' change(s)'); } - var iModify = mod[m++]; - var mods = mod[m++]; - var iModifyLimit = iModify + mods.length; - var sector = this.aDiskData[iCylinder][iHead][iSector]; - if (!sector) continue; - /* - * Since write() now deals with empty/partial sectors, we no longer need to completely "inflate" - * the sector prior to applying modifications. So let's just make sure that the sector is "inflated" - * up to iModify. - */ - var idw = sector['data'].length; - while (idw < iModify) { - sector['data'][idw++] = sector['pattern']; - } - var n = 0; - sector.iModify = iModify; - sector.cModify = mods.length; - while (iModify < iModifyLimit) { - sector['data'][iModify++] = mods[n++]; - } - nChanges++; } + return nChanges; } - if (nChanges < 0) { + /** + * toJSON() + * + * We perform some RegExp massaging on the JSON data to eliminate unnecessary properties + * (eg, 'length' values of 512, 'pattern' values of 0, since those are defaults). + * + * In addition, we first check every sector to see if it can be "deflated". Sectors that were + * initially "deflated" should remain that way unless/until they were modified, so technically, + * we could call deflateSector() just for modified sectors, but this isn't a common operation, + * so it doesn't hurt to check every sector. + * + * @this {DiskPDP11} + * @return {string} containing the entire disk image as JSON-encoded data + */ + toJSON() + { + var s, pba = 0, sector, sectorLast; + + while ((sector = this.getSector(pba++))) { + this.deflateSector(sector); + } + + s = JSON.stringify(this.aDiskData, function(key, value) { + /* + * If BACKTRACK support is enabled, we have to filter out any 'file' properties that may + * be attached to the sector objects, lest we risk blowing the stack due to circular references. + */ + if (key == 'file') { + return undefined; + } + return value; + }); + /* - * We're suppressing checksum messages for the general public for now.... + * Eliminate unnecessary default properties (eg, 'length' values of 512, 'pattern' values of 0). */ - if (DEBUG || nChanges != -2) { - this.controller.notice("Unable to restore disk '" + this.sDiskName + ": " + sReason); - } - } else { - if (DEBUG && this.messageEnabled()) { - this.printMessage('restore("' + this.sDiskName + '"): restored ' + nChanges + ' change(s)'); - } - } - return nChanges; -}; + s = s.replace(/,"length":512/gm, "").replace(/,"pattern":0/gm, ""); -/** - * toJSON() - * - * We perform some RegExp massaging on the JSON data to eliminate unnecessary properties - * (eg, 'length' values of 512, 'pattern' values of 0, since those are defaults). - * - * In addition, we first check every sector to see if it can be "deflated". Sectors that were - * initially "deflated" should remain that way unless/until they were modified, so technically, - * we could call deflateSector() just for modified sectors, but this isn't a common operation, - * so it doesn't hurt to check every sector. - * - * @this {DiskPDP11} - * @return {string} containing the entire disk image as JSON-encoded data - */ -DiskPDP11.prototype.toJSON = function() -{ - var s, pba = 0, sector, sectorLast; - - while ((sector = this.getSector(pba++))) { - this.deflateSector(sector); - } - - s = JSON.stringify(this.aDiskData, function(key, value) { /* - * If BACKTRACK support is enabled, we have to filter out any 'file' properties that may - * be attached to the sector objects, lest we risk blowing the stack due to circular references. + * I don't really want to strip quotes from disk image property names, since I would have to put them + * back again during mount() -- or whenever JSON.parse() is used instead of eval(). But I still remove + * them temporarily, so that any remaining property names (eg, "iModify", "cModify", "fDirty") can + * easily be stripped out, by virtue of their being the only quoted properties left. We then "requote" + * all the property names that remain. */ - if (key == 'file') { - return undefined; - } - return value; - }); + s = s.replace(/"(sector|length|data|pattern)":/gm, "$1:"); - /* - * Eliminate unnecessary default properties (eg, 'length' values of 512, 'pattern' values of 0). + /* + * The next line will remove any other numeric or boolean properties that were added at runtime, although + * they may have completely different ("minified") names if the code has been compiled. + */ + s = s.replace(/,"[^"]*":([0-9]+|true|false)/gm, ""); + s = s.replace(/(sector|length|data|pattern):/gm, "\"$1\":"); + + /* + * Last but not least, insert line breaks after every object definition, to ease the pain on text editors. + */ + s = s.replace(/([\]}]),/gm, "$1,\n"); + return s; + } + + /** + * deflateSector(sector) + * + * This is just the first revision: it currently looks only at fully inflated sectors. + * + * @this {DiskPDP11} + * @param {Object} sector */ - s = s.replace(/,"length":512/gm, "").replace(/,"pattern":0/gm, ""); - - /* - * I don't really want to strip quotes from disk image property names, since I would have to put them - * back again during mount() -- or whenever JSON.parse() is used instead of eval(). But I still remove - * them temporarily, so that any remaining property names (eg, "iModify", "cModify", "fDirty") can - * easily be stripped out, by virtue of their being the only quoted properties left. We then "requote" - * all the property names that remain. - */ - s = s.replace(/"(sector|length|data|pattern)":/gm, "$1:"); - - /* - * The next line will remove any other numeric or boolean properties that were added at runtime, although - * they may have completely different ("minified") names if the code has been compiled. - */ - s = s.replace(/,"[^"]*":([0-9]+|true|false)/gm, ""); - s = s.replace(/(sector|length|data|pattern):/gm, "\"$1\":"); - - /* - * Last but not least, insert line breaks after every object definition, to ease the pain on text editors. - */ - s = s.replace(/([\]}]),/gm, "$1,\n"); - return s; -}; - -/** - * deflateSector(sector) - * - * This is just the first revision: it currently looks only at fully inflated sectors. - * - * @this {DiskPDP11} - * @param {Object} sector - */ -DiskPDP11.prototype.deflateSector = function(sector) -{ - var adw = sector['data']; - var cdw = adw.length; - if ((cdw << 2) == sector['length']) { - var idw = cdw - 1; - var dwPattern = adw[idw], cDupes = 0; - while (idw--) { - if (adw[idw] !== dwPattern) break; - cDupes++; - } - if (cDupes++) { - adw.length = cdw - cDupes; - sector['pattern'] = dwPattern; + deflateSector(sector) + { + var adw = sector['data']; + var cdw = adw.length; + if ((cdw << 2) == sector['length']) { + var idw = cdw - 1; + var dwPattern = adw[idw], cDupes = 0; + while (idw--) { + if (adw[idw] !== dwPattern) break; + cDupes++; + } + if (cDupes++) { + adw.length = cdw - cDupes; + sector['pattern'] = dwPattern; + } } } -}; -/** - * dumpSector(sector, pba, sDesc) - * - * @this {DiskPDP11} - * @param {Object} sector (returned from a previous seek) - * @param {number} [pba] - * @param {string} [sDesc] - * @return {string} - */ -DiskPDP11.prototype.dumpSector = function(sector, pba, sDesc) -{ - var sDump = ""; - if (DEBUG && sector) { - if (pba != null) sDump += "sector " + pba + (sDesc? (" for " + sDesc) : "") + ':'; - var sBytes = "", sChars = ""; - var cbSector = sector['length']; - var cdwData = sector['data'].length; - var dw = 0; - for (var i = 0; i < cbSector; i++) { - if ((i % 16) === 0) { - if (sDump) sDump += sBytes + ' ' + sChars + '\n'; - sDump += str.toHex(i, 4) + ": "; - sBytes = sChars = ""; + /** + * dumpSector(sector, pba, sDesc) + * + * @this {DiskPDP11} + * @param {Object} sector (returned from a previous seek) + * @param {number} [pba] + * @param {string} [sDesc] + * @return {string} + */ + dumpSector(sector, pba, sDesc) + { + var sDump = ""; + if (DEBUG && sector) { + if (pba != null) sDump += "sector " + pba + (sDesc? (" for " + sDesc) : "") + ':'; + var sBytes = "", sChars = ""; + var cbSector = sector['length']; + var cdwData = sector['data'].length; + var dw = 0; + for (var i = 0; i < cbSector; i++) { + if ((i % 16) === 0) { + if (sDump) sDump += sBytes + ' ' + sChars + '\n'; + sDump += Str.toHex(i, 4) + ": "; + sBytes = sChars = ""; + } + if ((i % 4) === 0) { + var idw = i >> 2; + dw = (idw < cdwData? sector['data'][idw] : sector['pattern']); + } + var b = dw & 0xff; + dw >>>= 8; + sBytes += Str.toHex(b, 2) + (i % 16 == 7? "-" : " "); + sChars += (b >= 32 && b < 128? String.fromCharCode(b) : "."); } - if ((i % 4) === 0) { - var idw = i >> 2; - dw = (idw < cdwData? sector['data'][idw] : sector['pattern']); - } - var b = dw & 0xff; - dw >>>= 8; - sBytes += str.toHex(b, 2) + (i % 16 == 7? "-" : " "); - sChars += (b >= 32 && b < 128? String.fromCharCode(b) : "."); + if (sBytes) sDump += sBytes + ' ' + sChars; } - if (sBytes) sDump += sBytes + ' ' + sChars; + return sDump; } - return sDump; -}; +} -if (NODE) module.exports = DiskPDP11; +/* + * A global disk count, used to form unique Disk component IDs (totally optional; for debugging purposes only) + */ +DiskPDP11.nDisks = 0; + +export default DiskPDP11; diff --git a/modules/pdp11/lib/keyboard.js b/modules/pdp11/lib/keyboard.js index 59bd4978d..687daff8c 100644 --- a/modules/pdp11/lib/keyboard.js +++ b/modules/pdp11/lib/keyboard.js @@ -32,86 +32,80 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var Component = require("../../shared/lib/component"); - var Keys = require("../../shared/lib/keys"); - var PDP11 = require("./defines"); - var MessagesPDP11 = require("./messages"); +import Web from "../../shared/es6/weblib"; +import Component from "../../shared/es6/component"; +import PDP11 from "./defines"; +import MessagesPDP11 from "./messages"; + +class KeyboardPDP11 extends Component { + /** + * KeyboardPDP11(parmsKbd) + * + * @param {Object} parmsKbd + */ + constructor(parmsKbd) + { + super("Keyboard", parmsKbd, KeyboardPDP11, MessagesPDP11.KEYBOARD); + + this.setReady(); + } + + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {KeyboardPDP11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "esc") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + return false; + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {KeyboardPDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.cmp = cmp; + this.cpu = cpu; + this.dbg = dbg; // NOTE: The "dbg" property must be set for the message functions to work + } + + /** + * KeyboardPDP11.init() + * + * This function operates on every HTML element of class "keyboard", extracting the + * JSON-encoded parameters for the Keyboard constructor from the element's "data-value" + * attribute, invoking the constructor to create a Keyboard component, and then binding + * any associated HTML controls to the new component. + */ + static init() + { + var aeKbd = Component.getElementsByClass(document, PDP11.APPCLASS, "keyboard"); + for (var iKbd = 0; iKbd < aeKbd.length; iKbd++) { + var eKbd = aeKbd[iKbd]; + var parmsKbd = Component.getComponentParms(eKbd); + var kbd = new KeyboardPDP11(parmsKbd); + Component.bindComponentControls(kbd, eKbd, PDP11.APPCLASS); + } + } } -/** - * KeyboardPDP11(parmsKbd) - * - * @constructor - * @extends Component - * @param {Object} parmsKbd - */ -function KeyboardPDP11(parmsKbd) -{ - Component.call(this, "Keyboard", parmsKbd, KeyboardPDP11, MessagesPDP11.KEYBOARD); - - this.setReady(); -} - -Component.subclass(KeyboardPDP11); - KeyboardPDP11.MINPRESSTIME = 100; // 100ms -/** - * setBinding(sType, sBinding, control, sValue) - * - * @this {KeyboardPDP11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "esc") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ -KeyboardPDP11.prototype.setBinding = function(sType, sBinding, control, sValue) -{ - return false; -}; - -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {KeyboardPDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -KeyboardPDP11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.cmp = cmp; - this.cpu = cpu; - this.dbg = dbg; // NOTE: The "dbg" property must be set for the message functions to work -}; - -/** - * KeyboardPDP11.init() - * - * This function operates on every HTML element of class "keyboard", extracting the - * JSON-encoded parameters for the Keyboard constructor from the element's "data-value" - * attribute, invoking the constructor to create a Keyboard component, and then binding - * any associated HTML controls to the new component. - */ -KeyboardPDP11.init = function() -{ - var aeKbd = Component.getElementsByClass(document, PDP11.APPCLASS, "keyboard"); - for (var iKbd = 0; iKbd < aeKbd.length; iKbd++) { - var eKbd = aeKbd[iKbd]; - var parmsKbd = Component.getComponentParms(eKbd); - var kbd = new KeyboardPDP11(parmsKbd); - Component.bindComponentControls(kbd, eKbd, PDP11.APPCLASS); - } -}; - /* * Initialize every Keyboard module on the page. */ -web.onInit(KeyboardPDP11.init); +Web.onInit(KeyboardPDP11.init); -if (NODE) module.exports = KeyboardPDP11; +export default KeyboardPDP11; diff --git a/modules/pdp11/lib/memory.js b/modules/pdp11/lib/memory.js index 44d689153..16694658d 100644 --- a/modules/pdp11/lib/memory.js +++ b/modules/pdp11/lib/memory.js @@ -32,12 +32,9 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var Component = require("../../shared/lib/component"); - var PDP11 = require("./defines"); - var MessagesPDP11 = require("./messages"); -} +import Component from "../../shared/lib/component"; +import PDP11 from "./defines"; +import MessagesPDP11 from "./messages"; /** * @class DataView @@ -48,140 +45,878 @@ if (NODE) { * @property {function(number,boolean):number} getInt32 * @property {function(number,number,boolean)} setInt32 */ - -var littleEndian = (TYPEDARRAYS? (function() { - var buffer = new ArrayBuffer(2); - new DataView(buffer).setUint16(0, 256, true); - return new Uint16Array(buffer)[0] === 256; -})() : false); - -/** - * MemoryPDP11(bus, addr, used, size, type, controller) - * - * The Bus component allocates Memory objects so that each has a memory buffer with a - * block-granular starting address and an address range equal to bus.nBlockSize; however, - * the size of any given Memory object's underlying buffer can be either zero or bus.nBlockSize; - * memory read/write functions for empty (buffer-less) blocks are mapped to readNone/writeNone. - * - * The Bus allocates empty blocks for the entire address space during initialization, so that - * any reads/writes to undefined addresses will have no effect. Later, the ROM and RAM - * components will ask the Bus to allocate memory for specific ranges, and the Bus will allocate - * as many new blockSize Memory objects as the ranges require. Partial Memory blocks could - * also be supported in theory, but in practice, they're not. - * - * Because Memory blocks now allow us to have a "sparse" address space, we could choose to - * take the memory hit of allocating 4K arrays per block, where each element stores only one byte, - * instead of the more frugal but slightly slower approach of allocating arrays of 32-bit dwords - * (LONGARRAYS) and shifting/masking bytes/words to/from dwords; in theory, byte accesses would - * be faster and word accesses somewhat less faster. - * - * However, preliminary testing of that feature (BYTEARRAYS) did not yield significantly faster - * performance, so it is OFF by default to minimize our memory consumption. Using TYPEDARRAYS - * would seem best, but as discussed in defines.js, it's off by default, because it doesn't perform - * as well as LONGARRAYS; the other advantage of TYPEDARRAYS is that it should theoretically use - * about 1/2 the memory of LONGARRAYS (32-bit elements vs 64-bit numbers), but I value speed over - * size at this point. Also, not all JavaScript implementations support TYPEDARRAYS (IE9 is probably - * the only real outlier: it lacks typed arrays but otherwise has all the necessary HTML5 support). - * - * WARNING: Since Memory blocks are low-level objects that have no UI requirements, they - * do not inherit from the Component class, so if you want to use any Component class methods, - * such as Component.assert(), use the corresponding Debugger methods instead (assuming a debugger - * is available). - * - * @constructor - * @param {BusPDP11} bus - * @param {number|null} [addr] of lowest used address in block - * @param {number} [used] portion of block in bytes (0 for none); must be a multiple of 4 - * @param {number} [size] of block's buffer in bytes (0 for none); must be a multiple of 4 - * @param {number} [type] is one of the MemoryPDP11.TYPE constants (default is MemoryPDP11.TYPE.NONE) - * @param {Object} [controller] is an optional memory controller component - */ -function MemoryPDP11(bus, addr, used, size, type, controller) -{ - var a, i; - this.bus = bus; - this.id = (MemoryPDP11.idBlock += 2); - this.adw = null; - this.offset = 0; - this.addr = addr; - this.used = used; - this.size = size || 0; - this.type = type || MemoryPDP11.TYPE.NONE; - this.fReadOnly = (type == MemoryPDP11.TYPE.ROM); - this.controller = null; - this.copyBreakpoints(); // initialize the block's Debugger info; the caller will reinitialize - - /* - * TODO: Study the impact of dirty block tracking. The original purposes were to allow saveMemory() - * to save only dirty blocks, and to enable the Video component to quickly detect changes to the video buffer. - * But the benefit to saveMemory() is minimal, and the Video component has other options; for example, it now - * uses a custom memory controller for all EGA/VGA video modes, which performs its own dirty block tracking, - * and that could easily be extended to the older MDA/CGA video modes, which still use conventional memory blocks. - * Alternatively, we could restrict the use of dirty block tracking to certain memory types (eg, VIDEO memory). +class MemoryPDP11 { + /** + * MemoryPDP11(bus, addr, used, size, type, controller) * - * However, a quick test with dirty block tracking disabled didn't yield a noticeable improvement in performance, - * so I think the overhead of our block-based architecture is swamping the impact of these micro-updates. - */ - this.fDirty = this.fDirtyEver = false; - - /* - * For empty memory blocks, all we need to do is ensure all access functions are mapped to "none" handlers. - */ - if (!this.size) { - this.setAccess(); - return; - } - - /* - * When a controller is specified, the controller must provide a buffer, via getControllerBuffer(), - * and memory access functions, via getControllerAccess(). - */ - if (controller) { - this.controller = controller; - a = controller.getControllerBuffer(addr); - this.adw = a[0]; - this.offset = a[1]; - this.setAccess(controller.getControllerAccess()); - return; - } - - /* - * This is the normal case: allocate a buffer that provides 8 bits of data per address; - * no controller is required because our default memory access functions (see afnMemory) - * know how to deal with this simple 1-1 mapping of addresses to bytes and words. + * The Bus component allocates Memory objects so that each has a memory buffer with a + * block-granular starting address and an address range equal to bus.nBlockSize; however, + * the size of any given Memory object's underlying buffer can be either zero or bus.nBlockSize; + * memory read/write functions for empty (buffer-less) blocks are mapped to readNone/writeNone. * - * TODO: Consider initializing the memory array to random (or pseudo-random) values in DEBUG - * mode; pseudo-random might be best, to help make any bugs reproducible. + * The Bus allocates empty blocks for the entire address space during initialization, so that + * any reads/writes to undefined addresses will have no effect. Later, the ROM and RAM + * components will ask the Bus to allocate memory for specific ranges, and the Bus will allocate + * as many new blockSize Memory objects as the ranges require. Partial Memory blocks could + * also be supported in theory, but in practice, they're not. + * + * Because Memory blocks now allow us to have a "sparse" address space, we could choose to + * take the memory hit of allocating 4K arrays per block, where each element stores only one byte, + * instead of the more frugal but slightly slower approach of allocating arrays of 32-bit dwords + * (LONGARRAYS) and shifting/masking bytes/words to/from dwords; in theory, byte accesses would + * be faster and word accesses somewhat less faster. + * + * However, preliminary testing of that feature (BYTEARRAYS) did not yield significantly faster + * performance, so it is OFF by default to minimize our memory consumption. Using TYPEDARRAYS + * would seem best, but as discussed in defines.js, it's off by default, because it doesn't perform + * as well as LONGARRAYS; the other advantage of TYPEDARRAYS is that it should theoretically use + * about 1/2 the memory of LONGARRAYS (32-bit elements vs 64-bit numbers), but I value speed over + * size at this point. Also, not all JavaScript implementations support TYPEDARRAYS (IE9 is probably + * the only real outlier: it lacks typed arrays but otherwise has all the necessary HTML5 support). + * + * WARNING: Since Memory blocks are low-level objects that have no UI requirements, they + * do not inherit from the Component class, so if you want to use any Component class methods, + * such as Component.assert(), use the corresponding Debugger methods instead (assuming a debugger + * is available). + * + * @param {BusPDP11} bus + * @param {number|null} [addr] of lowest used address in block + * @param {number} [used] portion of block in bytes (0 for none); must be a multiple of 4 + * @param {number} [size] of block's buffer in bytes (0 for none); must be a multiple of 4 + * @param {number} [type] is one of the MemoryPDP11.TYPE constants (default is MemoryPDP11.TYPE.NONE) + * @param {Object} [controller] is an optional memory controller component */ - if (TYPEDARRAYS) { - this.buffer = new ArrayBuffer(this.size); - this.dv = new DataView(this.buffer, 0, this.size); + constructor(bus, addr, used, size, type, controller) + { + var a, i; + this.bus = bus; + this.id = (MemoryPDP11.idBlock += 2); + this.adw = null; + this.offset = 0; + this.addr = addr; + this.used = used; + this.size = size || 0; + this.type = type || MemoryPDP11.TYPE.NONE; + this.fReadOnly = (type == MemoryPDP11.TYPE.ROM); + this.controller = null; + this.dbg = null; + this.readByte = this.readByteDirect = this.readNone; + this.readWord = this.readWordDirect = this.readWordDefault; + this.writeByte = this.writeByteDirect = this.writeNone; + this.writeWord = this.writeWordDirect = this.writeWordDefault; + this.cReadBreakpoints = this.cWriteBreakpoints = 0; + this.copyBreakpoints(); // initialize the block's Debugger info; the caller will reinitialize + /* - * If littleEndian is true, we can use ab[], aw[] and adw[] directly; well, we can use them - * whenever the offset is a multiple of 1, 2 or 4, respectively. Otherwise, we must fallback to - * dv.getUint8()/dv.setUint8(), dv.getUint16()/dv.setUint16() and dv.getInt32()/dv.setInt32(). + * TODO: Study the impact of dirty block tracking. The original purposes were to allow saveMemory() + * to save only dirty blocks, and to enable the Video component to quickly detect changes to the video buffer. + * But the benefit to saveMemory() is minimal, and the Video component has other options; for example, it can + * now use a custom memory controller that performs its own dirty block tracking. + * + * However, a quick test with dirty block tracking disabled didn't yield a noticeable improvement in performance, + * so I think the overhead of our block-based architecture is swamping the impact of these micro-updates. */ - this.ab = new Uint8Array(this.buffer, 0, this.size); - this.aw = new Uint16Array(this.buffer, 0, this.size >> 1); - this.adw = new Int32Array(this.buffer, 0, this.size >> 2); - this.setAccess(littleEndian? MemoryPDP11.afnArrayLE : MemoryPDP11.afnArrayBE); - } else { + this.fDirty = this.fDirtyEver = false; + /* - * NOTE: An ArrayBuffer is defined as being zero-initialized, but the elements of a new - * Array are not, so this code path takes care of zero-initialization ourselves. + * For empty memory blocks, all we need to do is ensure all access functions are mapped to "none" handlers. */ - if (BYTEARRAYS) { - a = this.ab = new Array(this.size); + if (!this.size) { + this.setAccess(); + return; + } + + /* + * When a controller is specified, the controller must provide a buffer, via getControllerBuffer(), + * and memory access functions, via getControllerAccess(). + */ + if (controller) { + this.controller = controller; + a = controller.getControllerBuffer(addr); + this.adw = a[0]; + this.offset = a[1]; + this.setAccess(controller.getControllerAccess()); + return; + } + + /* + * This is the normal case: allocate a buffer that provides 8 bits of data per address; + * no controller is required because our default memory access functions (see afnMemory) + * know how to deal with this simple 1-1 mapping of addresses to bytes and words. + * + * TODO: Consider initializing the memory array to random (or pseudo-random) values in DEBUG + * mode; pseudo-random might be best, to help make any bugs reproducible. + */ + if (TYPEDARRAYS) { + this.buffer = new ArrayBuffer(this.size); + this.dv = new DataView(this.buffer, 0, this.size); + /* + * If littleEndian is true, we can use ab[], aw[] and adw[] directly; well, we can use them + * whenever the offset is a multiple of 1, 2 or 4, respectively. Otherwise, we must fallback to + * dv.getUint8()/dv.setUint8(), dv.getUint16()/dv.setUint16() and dv.getInt32()/dv.setInt32(). + */ + this.ab = new Uint8Array(this.buffer, 0, this.size); + this.aw = new Uint16Array(this.buffer, 0, this.size >> 1); + this.adw = new Int32Array(this.buffer, 0, this.size >> 2); + this.setAccess(littleEndian? MemoryPDP11.afnArrayLE : MemoryPDP11.afnArrayBE); } else { /* - * NOTE: This used to be the default mode of operation (!TYPEDARRAYS && !BYTEARRAYS), because - * it seemed to provide the best performance; however, that was then, and this is now. TYPEDARRAYS - * is more efficient. + * NOTE: An ArrayBuffer is defined as being zero-initialized, but the elements of a new + * Array are not, so this code path takes care of zero-initialization ourselves. */ - a = this.adw = new Array(this.size >> 2); + if (BYTEARRAYS) { + a = this.ab = new Array(this.size); + } else { + /* + * NOTE: This used to be the default mode of operation (!TYPEDARRAYS && !BYTEARRAYS), because + * it seemed to provide the best performance; however, that was then, and this is now. TYPEDARRAYS + * is more efficient. + */ + a = this.adw = new Array(this.size >> 2); + } + for (i = 0; i < a.length; i++) a[i] = 0; + this.setAccess(MemoryPDP11.afnMemory); + } + } + + /** + * init(addr) + * + * Quick reinitializer when reusing a Memory block. + * + * @this {MemoryPDP11} + * @param {number} addr + */ + init(addr) + { + this.addr = addr; + } + + /** + * clone(mem, type, dbg) + * + * Converts the current Memory block (this) into a clone of the given Memory block (mem), + * and optionally overrides the current block's type with the specified type. + * + * @this {MemoryPDP11} + * @param {MemoryPDP11} mem + * @param {number} [type] + * @param {DebuggerPDP11} [dbg] + */ + clone(mem, type, dbg) + { + /* + * Original memory block IDs are even; cloned memory block IDs are odd; + * the original ID of the current block is lost, but that's OK, since it was presumably + * produced merely to become a clone. + */ + this.id = mem.id | 0x1; + this.used = mem.used; + this.size = mem.size; + if (type) { + this.type = type; + this.fReadOnly = (type == MemoryPDP11.TYPE.ROM); + } + if (TYPEDARRAYS) { + this.buffer = mem.buffer; + this.dv = mem.dv; + this.ab = mem.ab; + this.aw = mem.aw; + this.adw = mem.adw; + this.setAccess(littleEndian? MemoryPDP11.afnArrayLE : MemoryPDP11.afnArrayBE); + } else { + if (BYTEARRAYS) { + this.ab = mem.ab; + } else { + this.adw = mem.adw; + } + this.setAccess(MemoryPDP11.afnMemory); + } + this.copyBreakpoints(dbg, mem); + } + + /** + * save() + * + * This gets the contents of a Memory block as an array of 32-bit values; used by Bus.saveMemory(), + * which in turn is called by CPUState.save(). + * + * Memory blocks with custom memory controllers do NOT save their contents; that's the responsibility + * of the controller component. + * + * @this {MemoryPDP11} + * @return {Array|Int32Array|null} + */ + save() + { + var adw, i; + if (this.controller) { + adw = null; + } + else if (BYTEARRAYS) { + adw = new Array(this.size >> 2); + var off = 0; + for (i = 0; i < adw.length; i++) { + adw[i] = this.ab[off] | (this.ab[off + 1] << 8) | (this.ab[off + 2] << 16) | (this.ab[off + 3] << 24); + off += 4; + } + } + else if (TYPEDARRAYS) { + /* + * It might be tempting to just return a copy of Int32Array(this.buffer, 0, this.size >> 2), + * but we can't be sure of the "endianness" of an Int32Array -- which would be OK if the array + * was always saved/restored on the same machine, but there's no guarantee of that, either. + * So we use getInt32() and require little-endian values. + * + * Moreover, an Int32Array isn't treated by JSON.stringify() and JSON.parse() exactly like + * a normal array; it's serialized as an Object rather than an Array, so it lacks a "length" + * property and causes problems for State.store() and State.parse(). + */ + adw = new Array(this.size >> 2); + for (i = 0; i < adw.length; i++) { + adw[i] = this.dv.getInt32(i << 2, true); + } + } + else { + adw = this.adw; + } + return adw; + } + + /** + * restore(adw) + * + * This restores the contents of a Memory block from an array of 32-bit values; + * used by Bus.restoreMemory(), which is called by CPUState.restore(), after all other + * components have been restored and thus all Memory blocks have been allocated + * by their respective components. + * + * @this {MemoryPDP11} + * @param {Array|null} adw + * @return {boolean} true if successful, false if block size mismatch + */ + restore(adw) + { + if (this.controller) { + return (adw == null); + } + /* + * At this point, it's a consistency error for adw to be null; it's happened once already, + * when there was a restore bug in the Video component that added the frame buffer at the video + * card's "spec'ed" address instead of the programmed address, so there were no controller-owned + * memory blocks installed at the programmed address, and so we arrived here at a block with + * no controller AND no data. + */ + Component.assert(adw != null); + + if (adw && this.size == adw.length << 2) { + var i; + if (BYTEARRAYS) { + var off = 0; + for (i = 0; i < adw.length; i++) { + this.ab[off] = adw[i] & 0xff; + this.ab[off + 1] = (adw[i] >> 8) & 0xff; + this.ab[off + 2] = (adw[i] >> 16) & 0xff; + this.ab[off + 3] = (adw[i] >> 24) & 0xff; + off += 4; + } + } else if (TYPEDARRAYS) { + for (i = 0; i < adw.length; i++) { + this.dv.setInt32(i << 2, adw[i], true); + } + } else { + this.adw = adw; + } + this.fDirty = true; + return true; + } + return false; + } + + /** + * zero(off, len, pattern) + * + * Zeros the block. Supporting off and len parameters is probably overkill, and makes more + * work in the non-TYPEDARRAY, non-BYTEARRAY case, but that's not the typical case. The other + * exception is controller-based blocks, which may not have any array backing at all. + * + * @this {MemoryPDP11} + * @param {number} [off] (optional starting byte offset within block) + * @param {number} [len] (optional maximum number of bytes; default is the entire block) + * @param {number} [pattern] + */ + zero(off, len, pattern) + { + var i; + off = off || 0; + pattern = (pattern || 0) & 0xff; // pattern & 0xff wasn't good enough for the Closure Compiler + /* + * NOTE: If len happens to be larger than the block, that's OK, because we also bounds-check the index. + */ + if (len === undefined) len = this.size; + Component.assert(off >= 0 && off < this.size); + if ((TYPEDARRAYS || BYTEARRAYS) && this.ab) { + for (i = off; len-- && i < this.ab.length; i++) this.ab[i] = pattern; + } else { + for (i = off; len-- && i < this.size; i++) this.writeByteDirect(off, pattern, this.addr + off); + } + } + + /** + * setAccess(afn, fDirect) + * + * The afn parameter should be a 4-entry function table containing two byte handlers and + * two word handlers. See the static afnMemory table for an example. + * + * If no function table is specified, a default is selected based on the Memory type; + * similarly, any undefined entries in the table are filled with default handlers that fall + * back to the byte handlers, and if one or both byte handlers are undefined, they default + * to handlers that simply ignore the access. + * + * fDirect indicates that both the default AND the direct handlers should be updated. Direct + * handlers normally match the default handlers, except when "checked" handlers are installed; + * this allows "checked" handlers to know where to dispatch the call after performing checks. + * Examples of checks are read/write breakpoints, but it's really up to the Debugger to decide + * what the check consists of. + * + * @this {MemoryPDP11} + * @param {Array.} [afn] function table + * @param {boolean} [fDirect] (true to update direct access functions as well; default is true) + */ + setAccess(afn, fDirect) + { + if (!afn) { + Component.assert(this.type == MemoryPDP11.TYPE.NONE); + afn = MemoryPDP11.afnNone; + } + this.setReadAccess(afn, fDirect); + this.setWriteAccess(afn, fDirect); + } + + /** + * setReadAccess(afn, fDirect) + * + * @this {MemoryPDP11} + * @param {Array.} afn + * @param {boolean} [fDirect] + */ + setReadAccess(afn, fDirect) + { + if (!fDirect || !this.cReadBreakpoints) { + this.readByte = afn[0] || this.readNone; + this.readWord = afn[2] || this.readWordDefault; + } + if (fDirect || fDirect === undefined) { + this.readByteDirect = afn[0] || this.readNone; + this.readWordDirect = afn[2] || this.readWordDefault; + } + } + + /** + * setWriteAccess(afn, fDirect) + * + * @this {MemoryPDP11} + * @param {Array.} afn + * @param {boolean} [fDirect] + */ + setWriteAccess(afn, fDirect) + { + if (!fDirect || !this.cWriteBreakpoints) { + this.writeByte = !this.fReadOnly && afn[1] || this.writeNone; + this.writeWord = !this.fReadOnly && afn[3] || this.writeWordDefault; + } + if (fDirect || fDirect === undefined) { + this.writeByteDirect = afn[1] || this.writeNone; + this.writeWordDirect = afn[3] || this.writeWordDefault; + } + } + + /** + * resetReadAccess() + * + * @this {MemoryPDP11} + */ + resetReadAccess() + { + this.readByte = this.readByteDirect; + this.readWord = this.readWordDirect; + } + + /** + * resetWriteAccess() + * + * @this {MemoryPDP11} + */ + resetWriteAccess() + { + this.writeByte = this.fReadOnly? this.writeNone : this.writeByteDirect; + this.writeWord = this.fReadOnly? this.writeWordDefault : this.writeWordDirect; + } + + /** + * printAddr(sMessage) + * + * @this {MemoryPDP11} + * @param {string} sMessage + */ + printAddr(sMessage) + { + if (DEBUG && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { + this.dbg.printMessage(sMessage + ' ' + (this.addr != null? ('@' + this.dbg.toStrBase(this.addr)) : '#' + this.id), true); + } + } + + /** + * addBreakpoint(off, fWrite) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {boolean} fWrite + */ + addBreakpoint(off, fWrite) + { + if (!fWrite) { + if (this.cReadBreakpoints++ === 0) { + this.setReadAccess(MemoryPDP11.afnChecked, false); + } + if (DEBUG) this.printAddr("read breakpoint added to memory block"); + } + else { + if (this.cWriteBreakpoints++ === 0) { + this.setWriteAccess(MemoryPDP11.afnChecked, false); + } + if (DEBUG) this.printAddr("write breakpoint added to memory block"); + } + } + + /** + * removeBreakpoint(off, fWrite) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {boolean} fWrite + */ + removeBreakpoint(off, fWrite) + { + if (!fWrite) { + if (--this.cReadBreakpoints === 0) { + this.resetReadAccess(); + if (DEBUG) this.printAddr("all read breakpoints removed from memory block"); + } + Component.assert(this.cReadBreakpoints >= 0); + } + else { + if (--this.cWriteBreakpoints === 0) { + this.resetWriteAccess(); + if (DEBUG) this.printAddr("all write breakpoints removed from memory block"); + } + Component.assert(this.cWriteBreakpoints >= 0); + } + } + + /** + * copyBreakpoints(dbg, mem) + * + * @this {MemoryPDP11} + * @param {DebuggerPDP11} [dbg] + * @param {MemoryPDP11} [mem] (outgoing MemoryPDP11 block to copy breakpoints from, if any) + */ + copyBreakpoints(dbg, mem) + { + this.dbg = dbg; + this.cReadBreakpoints = this.cWriteBreakpoints = 0; + if (mem) { + if ((this.cReadBreakpoints = mem.cReadBreakpoints)) { + this.setReadAccess(MemoryPDP11.afnChecked, false); + } + if ((this.cWriteBreakpoints = mem.cWriteBreakpoints)) { + this.setWriteAccess(MemoryPDP11.afnChecked, false); + } + } + } + + /** + * readNone(off) + * + * Previously, this always returned 0x00, but the initial memory probe by the COMPAQ DeskPro 386 ROM BIOS + * writes 0x0000 to the first word of every 64Kb block in the nearly 16Mb address space it supports, and + * if it reads back 0x0000, it will initially think that LOTS of RAM exists, only to be disappointed later + * when it performs a more exhaustive memory test, generating unwanted error messages in the process. + * + * TODO: Determine if we should have separate readByteNone(), readWordNone() and readLongNone() functions + * to return 0xff, 0xffff and 0xffffffff|0, respectively. This seems sufficient for now, as it seems unlikely + * that a system would require nonexistent memory locations to return ALL bits set. However, another factor + * is whether or not ODDADDR faults take precedence over NOMEMORY faults; if they do, then we need separate + * interfaces. + * + * Also, I'm reluctant to address that potential issue by simply returning -1, because to date, the above + * Memory interfaces have always returned values that are properly masked to 8, 16 or 32 bits, respectively. + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readNone(off, addr) + { + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) { + this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true); + } + this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.READ); + return 0xff; + } + + /** + * writeNone(off, v, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} v (could be either a byte or word value, since we use the same handler for both kinds of accesses) + * @param {number} addr + */ + writeNone(off, v, addr) + { + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) { + this.dbg.printMessage("attempt to write " + this.dbg.toStrBase(v) + " to invalid addresses " + this.dbg.toStrBase(addr), true); + } + this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.WRITE); + } + + /** + * readWordDefault(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readWordDefault(off, addr) + { + return this.readByte(off++, addr++) | (this.readByte(off, addr) << 8); + } + + /** + * writeWordDefault(off, w, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} w + * @param {number} addr + */ + writeWordDefault(off, w, addr) + { + this.writeByte(off++, w & 0xff, addr++); + this.writeByte(off, w >> 8, addr); + } + + /** + * readByteMemory(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readByteMemory(off, addr) + { + if (BYTEARRAYS) { + return this.ab[off]; + } + return ((this.adw[off >> 2] >>> ((off & 0x3) << 3)) & 0xff); + } + + /** + * readWordMemory(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readWordMemory(off, addr) + { + if (PDP11.MEMFAULT && (off & 0x1)) { + this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.READ_WORD); + } + if (BYTEARRAYS) { + return this.ab[off] | (this.ab[off + 1] << 8); + } + var w; + var idw = off >> 2; + var nShift = (off & 0x3) << 3; + var dw = (this.adw[idw] >> nShift); + if (nShift < 24) { + w = dw & 0xffff; + } else { + w = (dw & 0xff) | ((this.adw[idw + 1] & 0xff) << 8); + } + return w; + } + + /** + * writeByteMemory(off, b, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} b + * @param {number} addr + */ + writeByteMemory(off, b, addr) + { + if (BYTEARRAYS) { + this.ab[off] = b; + } else { + var idw = off >> 2; + var nShift = (off & 0x3) << 3; + this.adw[idw] = (this.adw[idw] & ~(0xff << nShift)) | (b << nShift); + } + this.fDirty = true; + } + + /** + * writeWordMemory(off, w, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} w + * @param {number} addr + */ + writeWordMemory(off, w, addr) + { + if (PDP11.MEMFAULT && (off & 0x1)) { + this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.WRITE_WORD); + } + if (BYTEARRAYS) { + this.ab[off] = (w & 0xff); + this.ab[off + 1] = (w >> 8); + } else { + var idw = off >> 2; + var nShift = (off & 0x3) << 3; + if (nShift < 24) { + this.adw[idw] = (this.adw[idw] & ~(0xffff << nShift)) | (w << nShift); + } else { + this.adw[idw] = (this.adw[idw] & 0x00ffffff) | (w << 24); + idw++; + this.adw[idw] = (this.adw[idw] & (0xffffff00|0)) | (w >> 8); + } + } + this.fDirty = true; + } + + /** + * readByteChecked(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readByteChecked(off, addr) + { + if (DEBUGGER && this.dbg && this.addr != null) { + this.dbg.checkMemoryRead(this.addr + off); + } + return this.readByteDirect(off, addr); + } + + /** + * readWordChecked(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readWordChecked(off, addr) + { + if (DEBUGGER && this.dbg && this.addr != null) { + this.dbg.checkMemoryRead(this.addr + off, 2); + } + return this.readWordDirect(off, addr); + } + + /** + * writeByteChecked(off, b, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @param {number} b + */ + writeByteChecked(off, b, addr) + { + if (DEBUGGER && this.dbg && this.addr != null) { + this.dbg.checkMemoryWrite(this.addr + off); + } + if (this.fReadOnly) this.writeNone(off, b, addr); else this.writeByteDirect(off, b, addr); + } + + /** + * writeWordChecked(off, w, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @param {number} w + */ + writeWordChecked(off, w, addr) + { + if (DEBUGGER && this.dbg && this.addr != null) { + this.dbg.checkMemoryWrite(this.addr + off, 2) + } + if (this.fReadOnly) this.writeNone(off, w, addr); else this.writeWordDirect(off, w, addr); + } + + /** + * readByteBE(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readByteBE(off, addr) + { + return this.ab[off]; + } + + /** + * readByteLE(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readByteLE(off, addr) + { + var b = this.ab[off]; + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { + this.dbg.printMessage("Memory.readByte(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true); + } + return b; + } + + /** + * readWordBE(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readWordBE(off, addr) + { + if (PDP11.MEMFAULT && (off & 0x1)) { + this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.READ_WORD); + } + return this.dv.getUint16(off, true); + } + + /** + * readWordLE(off, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @return {number} + */ + readWordLE(off, addr) + { + var w; + if (PDP11.MEMFAULT && (off & 0x1)) { + this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.READ_WORD); + } + /* + * TODO: For non-WORDBUS machines, it remains to be seen if there's any advantage to checking the offset + * for an aligned read vs. always reading the bytes separately. + */ + if (PDP11.WORDBUS || !(off & 0x1)) { + w = this.aw[off >> 1]; + } else { + w = this.ab[off] | (this.ab[off+1] << 8); + } + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { + this.dbg.printMessage("Memory.readWord(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true); + } + return w; + } + + /** + * writeByteBE(off, b, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} b + * @param {number} addr + */ + writeByteBE(off, b, addr) + { + this.ab[off] = b; + this.fDirty = true; + } + + /** + * writeByteLE(off, b, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @param {number} b + */ + writeByteLE(off, b, addr) + { + this.ab[off] = b; + this.fDirty = true; + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { + this.dbg.printMessage("Memory.writeByte(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true); + } + } + + /** + * writeWordBE(off, w, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @param {number} w + */ + writeWordBE(off, w, addr) + { + if (PDP11.MEMFAULT && (off & 0x1)) { + this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.WRITE_WORD); + } + this.dv.setUint16(off, w, true); + this.fDirty = true; + } + + /** + * writeWordLE(off, w, addr) + * + * @this {MemoryPDP11} + * @param {number} off + * @param {number} addr + * @param {number} w + */ + writeWordLE(off, w, addr) + { + if (PDP11.MEMFAULT && (off & 0x1)) { + this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.WRITE_WORD); + } + /* + * TODO: For non-WORDBUS machines, it remains to be seen if there's any advantage to checking the offset + * for an aligned write vs. always writing the bytes separately. + */ + if (PDP11.WORDBUS || !(off & 0x1)) { + this.aw[off >> 1] = w; + } else { + this.ab[off] = w; + this.ab[off+1] = w >> 8; + } + this.fDirty = true; + if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { + this.dbg.printMessage("Memory.writeWord(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true); } - for (i = 0; i < a.length; i++) a[i] = 0; - this.setAccess(MemoryPDP11.afnMemory); } } @@ -222,696 +957,6 @@ MemoryPDP11.TYPE_NAMES = ["NONE", "RAM", "ROM", "VID", "H/W"]; */ MemoryPDP11.idBlock = 0; -/** - * adjustEndian(dw) - * - * @param {number} dw - * @return {number} - */ -MemoryPDP11.adjustEndian = function(dw) { - if (TYPEDARRAYS && !littleEndian) { - dw = (dw << 24) | ((dw << 8) & 0x00ff0000) | ((dw >> 8) & 0x0000ff00) | (dw >>> 24); - } - return dw; -}; - -MemoryPDP11.prototype = { - constructor: MemoryPDP11, - parent: null, - /** - * init(addr) - * - * Quick reinitializer when reusing a Memory block. - * - * @this {MemoryPDP11} - * @param {number} addr - */ - init: function(addr) { - this.addr = addr; - }, - /** - * clone(mem, type, dbg) - * - * Converts the current Memory block (this) into a clone of the given Memory block (mem), - * and optionally overrides the current block's type with the specified type. - * - * @this {MemoryPDP11} - * @param {MemoryPDP11} mem - * @param {number} [type] - * @param {DebuggerPDP11} [dbg] - */ - clone: function(mem, type, dbg) { - /* - * Original memory block IDs are even; cloned memory block IDs are odd; - * the original ID of the current block is lost, but that's OK, since it was presumably - * produced merely to become a clone. - */ - this.id = mem.id | 0x1; - this.used = mem.used; - this.size = mem.size; - if (type) { - this.type = type; - this.fReadOnly = (type == MemoryPDP11.TYPE.ROM); - } - if (TYPEDARRAYS) { - this.buffer = mem.buffer; - this.dv = mem.dv; - this.ab = mem.ab; - this.aw = mem.aw; - this.adw = mem.adw; - this.setAccess(littleEndian? MemoryPDP11.afnArrayLE : MemoryPDP11.afnArrayBE); - } else { - if (BYTEARRAYS) { - this.ab = mem.ab; - } else { - this.adw = mem.adw; - } - this.setAccess(MemoryPDP11.afnMemory); - } - this.copyBreakpoints(dbg, mem); - }, - /** - * save() - * - * This gets the contents of a Memory block as an array of 32-bit values; used by Bus.saveMemory(), - * which in turn is called by CPUState.save(). - * - * Memory blocks with custom memory controllers do NOT save their contents; that's the responsibility - * of the controller component. - * - * @this {MemoryPDP11} - * @return {Array|Int32Array|null} - */ - save: function() { - var adw, i; - if (this.controller) { - adw = null; - } - else if (BYTEARRAYS) { - adw = new Array(this.size >> 2); - var off = 0; - for (i = 0; i < adw.length; i++) { - adw[i] = this.ab[off] | (this.ab[off + 1] << 8) | (this.ab[off + 2] << 16) | (this.ab[off + 3] << 24); - off += 4; - } - } - else if (TYPEDARRAYS) { - /* - * It might be tempting to just return a copy of Int32Array(this.buffer, 0, this.size >> 2), - * but we can't be sure of the "endianness" of an Int32Array -- which would be OK if the array - * was always saved/restored on the same machine, but there's no guarantee of that, either. - * So we use getInt32() and require little-endian values. - * - * Moreover, an Int32Array isn't treated by JSON.stringify() and JSON.parse() exactly like - * a normal array; it's serialized as an Object rather than an Array, so it lacks a "length" - * property and causes problems for State.store() and State.parse(). - */ - adw = new Array(this.size >> 2); - for (i = 0; i < adw.length; i++) { - adw[i] = this.dv.getInt32(i << 2, true); - } - } - else { - adw = this.adw; - } - return adw; - }, - /** - * restore(adw) - * - * This restores the contents of a Memory block from an array of 32-bit values; - * used by Bus.restoreMemory(), which is called by CPUState.restore(), after all other - * components have been restored and thus all Memory blocks have been allocated - * by their respective components. - * - * @this {MemoryPDP11} - * @param {Array|null} adw - * @return {boolean} true if successful, false if block size mismatch - */ - restore: function(adw) { - if (this.controller) { - return (adw == null); - } - /* - * At this point, it's a consistency error for adw to be null; it's happened once already, - * when there was a restore bug in the Video component that added the frame buffer at the video - * card's "spec'ed" address instead of the programmed address, so there were no controller-owned - * memory blocks installed at the programmed address, and so we arrived here at a block with - * no controller AND no data. - */ - Component.assert(adw != null); - - if (adw && this.size == adw.length << 2) { - var i; - if (BYTEARRAYS) { - var off = 0; - for (i = 0; i < adw.length; i++) { - this.ab[off] = adw[i] & 0xff; - this.ab[off + 1] = (adw[i] >> 8) & 0xff; - this.ab[off + 2] = (adw[i] >> 16) & 0xff; - this.ab[off + 3] = (adw[i] >> 24) & 0xff; - off += 4; - } - } else if (TYPEDARRAYS) { - for (i = 0; i < adw.length; i++) { - this.dv.setInt32(i << 2, adw[i], true); - } - } else { - this.adw = adw; - } - this.fDirty = true; - return true; - } - return false; - }, - /** - * zero(off, len, pattern) - * - * Zeros the block. Supporting off and len parameters is probably overkill, and makes more - * work in the non-TYPEDARRAY, non-BYTEARRAY case, but that's not the typical case. The other - * exception is controller-based blocks, which may not have any array backing at all. - * - * @this {MemoryPDP11} - * @param {number} [off] (optional starting byte offset within block) - * @param {number} [len] (optional maximum number of bytes; default is the entire block) - * @param {number} [pattern] - */ - zero: function(off, len, pattern) { - var i; - off = off || 0; - pattern &= 0xff; - /* - * NOTE: If len happens to be larger than the block, that's OK, because we also bounds-check the index. - */ - if (len === undefined) len = this.size; - Component.assert(off >= 0 && off < this.size); - if ((TYPEDARRAYS || BYTEARRAYS) && this.ab) { - for (i = off; len-- && i < this.ab.length; i++) this.ab[i] = pattern; - } else { - for (i = off; len-- && i < this.size; i++) this.writeByteDirect(off, pattern, this.addr + off); - } - }, - /** - * setAccess(afn, fDirect) - * - * The afn parameter should be a 4-entry function table containing two byte handlers and - * two word handlers. See the static afnMemory table for an example. - * - * If no function table is specified, a default is selected based on the Memory type; - * similarly, any undefined entries in the table are filled with default handlers that fall - * back to the byte handlers, and if one or both byte handlers are undefined, they default - * to handlers that simply ignore the access. - * - * fDirect indicates that both the default AND the direct handlers should be updated. Direct - * handlers normally match the default handlers, except when "checked" handlers are installed; - * this allows "checked" handlers to know where to dispatch the call after performing checks. - * Examples of checks are read/write breakpoints, but it's really up to the Debugger to decide - * what the check consists of. - * - * @this {MemoryPDP11} - * @param {Array.} [afn] function table - * @param {boolean} [fDirect] (true to update direct access functions as well; default is true) - */ - setAccess: function(afn, fDirect) { - if (!afn) { - Component.assert(this.type == MemoryPDP11.TYPE.NONE); - afn = MemoryPDP11.afnNone; - } - this.setReadAccess(afn, fDirect); - this.setWriteAccess(afn, fDirect); - }, - /** - * setReadAccess(afn, fDirect) - * - * @this {MemoryPDP11} - * @param {Array.} afn - * @param {boolean} [fDirect] - */ - setReadAccess: function(afn, fDirect) { - if (!fDirect || !this.cReadBreakpoints) { - this.readByte = afn[0] || this.readNone; - this.readWord = afn[2] || this.readWordDefault; - } - if (fDirect || fDirect === undefined) { - this.readByteDirect = afn[0] || this.readNone; - this.readWordDirect = afn[2] || this.readWordDefault; - } - }, - /** - * setWriteAccess(afn, fDirect) - * - * @this {MemoryPDP11} - * @param {Array.} afn - * @param {boolean} [fDirect] - */ - setWriteAccess: function(afn, fDirect) { - if (!fDirect || !this.cWriteBreakpoints) { - this.writeByte = !this.fReadOnly && afn[1] || this.writeNone; - this.writeWord = !this.fReadOnly && afn[3] || this.writeWordDefault; - } - if (fDirect || fDirect === undefined) { - this.writeByteDirect = afn[1] || this.writeNone; - this.writeWordDirect = afn[3] || this.writeWordDefault; - } - }, - /** - * resetReadAccess() - * - * @this {MemoryPDP11} - */ - resetReadAccess: function() { - this.readByte = this.readByteDirect; - this.readWord = this.readWordDirect; - }, - /** - * resetWriteAccess() - * - * @this {MemoryPDP11} - */ - resetWriteAccess: function() { - this.writeByte = this.fReadOnly? this.writeNone : this.writeByteDirect; - this.writeWord = this.fReadOnly? this.writeWordDefault : this.writeWordDirect; - }, - /** - * printAddr(sMessage) - * - * @this {MemoryPDP11} - * @param {string} sMessage - */ - printAddr: function(sMessage) { - if (DEBUG && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { - this.dbg.printMessage(sMessage + ' ' + (this.addr != null? ('@' + this.dbg.toStrBase(this.addr)) : '#' + this.id), true); - } - }, - /** - * addBreakpoint(off, fWrite) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {boolean} fWrite - */ - addBreakpoint: function(off, fWrite) { - if (!fWrite) { - if (this.cReadBreakpoints++ === 0) { - this.setReadAccess(MemoryPDP11.afnChecked, false); - } - if (DEBUG) this.printAddr("read breakpoint added to memory block"); - } - else { - if (this.cWriteBreakpoints++ === 0) { - this.setWriteAccess(MemoryPDP11.afnChecked, false); - } - if (DEBUG) this.printAddr("write breakpoint added to memory block"); - } - }, - /** - * removeBreakpoint(off, fWrite) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {boolean} fWrite - */ - removeBreakpoint: function(off, fWrite) { - if (!fWrite) { - if (--this.cReadBreakpoints === 0) { - this.resetReadAccess(); - if (DEBUG) this.printAddr("all read breakpoints removed from memory block"); - } - Component.assert(this.cReadBreakpoints >= 0); - } - else { - if (--this.cWriteBreakpoints === 0) { - this.resetWriteAccess(); - if (DEBUG) this.printAddr("all write breakpoints removed from memory block"); - } - Component.assert(this.cWriteBreakpoints >= 0); - } - }, - /** - * copyBreakpoints(dbg, mem) - * - * @this {MemoryPDP11} - * @param {DebuggerPDP11} [dbg] - * @param {MemoryPDP11} [mem] (outgoing MemoryPDP11 block to copy breakpoints from, if any) - */ - copyBreakpoints: function(dbg, mem) { - this.dbg = dbg; - this.cReadBreakpoints = this.cWriteBreakpoints = 0; - if (mem) { - if ((this.cReadBreakpoints = mem.cReadBreakpoints)) { - this.setReadAccess(MemoryPDP11.afnChecked, false); - } - if ((this.cWriteBreakpoints = mem.cWriteBreakpoints)) { - this.setWriteAccess(MemoryPDP11.afnChecked, false); - } - } - }, - /** - * readNone(off) - * - * Previously, this always returned 0x00, but the initial memory probe by the COMPAQ DeskPro 386 ROM BIOS - * writes 0x0000 to the first word of every 64Kb block in the nearly 16Mb address space it supports, and - * if it reads back 0x0000, it will initially think that LOTS of RAM exists, only to be disappointed later - * when it performs a more exhaustive memory test, generating unwanted error messages in the process. - * - * TODO: Determine if we should have separate readByteNone(), readWordNone() and readLongNone() functions - * to return 0xff, 0xffff and 0xffffffff|0, respectively. This seems sufficient for now, as it seems unlikely - * that a system would require nonexistent memory locations to return ALL bits set. However, another factor - * is whether or not ODDADDR faults take precedence over NOMEMORY faults; if they do, then we need separate - * interfaces. - * - * Also, I'm reluctant to address that potential issue by simply returning -1, because to date, the above - * Memory interfaces have always returned values that are properly masked to 8, 16 or 32 bits, respectively. - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readNone: function readNone(off, addr) { - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) { - this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true); - } - this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.READ); - return 0xff; - }, - /** - * writeNone(off, v, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} v (could be either a byte or word value, since we use the same handler for both kinds of accesses) - * @param {number} addr - */ - writeNone: function writeNone(off, v, addr) { - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) { - this.dbg.printMessage("attempt to write " + this.dbg.toStrBase(v) + " to invalid addresses " + this.dbg.toStrBase(addr), true); - } - this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.WRITE); - }, - /** - * readWordDefault(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readWordDefault: function readWordDefault(off, addr) { - return this.readByte(off++, addr++) | (this.readByte(off, addr) << 8); - }, - /** - * writeWordDefault(off, w, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} w - * @param {number} addr - */ - writeWordDefault: function writeWordDefault(off, w, addr) { - this.writeByte(off++, w & 0xff, addr++); - this.writeByte(off, w >> 8, addr); - }, - /** - * readByteMemory(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readByteMemory: function readByteMemory(off, addr) { - if (BYTEARRAYS) { - return this.ab[off]; - } - return ((this.adw[off >> 2] >>> ((off & 0x3) << 3)) & 0xff); - }, - /** - * readWordMemory(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readWordMemory: function readWordMemory(off, addr) { - if (PDP11.MEMFAULT && (off & 0x1)) { - this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.READ_WORD); - } - if (BYTEARRAYS) { - return this.ab[off] | (this.ab[off + 1] << 8); - } - var w; - var idw = off >> 2; - var nShift = (off & 0x3) << 3; - var dw = (this.adw[idw] >> nShift); - if (nShift < 24) { - w = dw & 0xffff; - } else { - w = (dw & 0xff) | ((this.adw[idw + 1] & 0xff) << 8); - } - return w; - }, - /** - * writeByteMemory(off, b, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} b - * @param {number} addr - */ - writeByteMemory: function writeByteMemory(off, b, addr) { - if (BYTEARRAYS) { - this.ab[off] = b; - } else { - var idw = off >> 2; - var nShift = (off & 0x3) << 3; - this.adw[idw] = (this.adw[idw] & ~(0xff << nShift)) | (b << nShift); - } - this.fDirty = true; - }, - /** - * writeWordMemory(off, w, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} w - * @param {number} addr - */ - writeWordMemory: function writeWordMemory(off, w, addr) { - if (PDP11.MEMFAULT && (off & 0x1)) { - this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.WRITE_WORD); - } - if (BYTEARRAYS) { - this.ab[off] = (w & 0xff); - this.ab[off + 1] = (w >> 8); - } else { - var idw = off >> 2; - var nShift = (off & 0x3) << 3; - if (nShift < 24) { - this.adw[idw] = (this.adw[idw] & ~(0xffff << nShift)) | (w << nShift); - } else { - this.adw[idw] = (this.adw[idw] & 0x00ffffff) | (w << 24); - idw++; - this.adw[idw] = (this.adw[idw] & (0xffffff00|0)) | (w >> 8); - } - } - this.fDirty = true; - }, - /** - * readByteChecked(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readByteChecked: function readByteChecked(off, addr) { - if (DEBUGGER && this.dbg && this.addr != null) { - this.dbg.checkMemoryRead(this.addr + off); - } - return this.readByteDirect(off, addr); - }, - /** - * readWordChecked(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readWordChecked: function readWordChecked(off, addr) { - if (DEBUGGER && this.dbg && this.addr != null) { - this.dbg.checkMemoryRead(this.addr + off, 2); - } - return this.readWordDirect(off, addr); - }, - /** - * writeByteChecked(off, b, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @param {number} b - */ - writeByteChecked: function writeByteChecked(off, b, addr) { - if (DEBUGGER && this.dbg && this.addr != null) { - this.dbg.checkMemoryWrite(this.addr + off); - } - if (this.fReadOnly) this.writeNone(off, b, addr); else this.writeByteDirect(off, b, addr); - }, - /** - * writeWordChecked(off, w, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @param {number} w - */ - writeWordChecked: function writeWordChecked(off, w, addr) { - if (DEBUGGER && this.dbg && this.addr != null) { - this.dbg.checkMemoryWrite(this.addr + off, 2) - } - if (this.fReadOnly) this.writeNone(off, w, addr); else this.writeWordDirect(off, w, addr); - }, - /** - * readByteBE(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readByteBE: function readByteBE(off, addr) { - return this.ab[off]; - }, - /** - * readByteLE(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readByteLE: function readByteLE(off, addr) { - var b = this.ab[off]; - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { - this.dbg.printMessage("Memory.readByte(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true); - } - return b; - }, - /** - * readWordBE(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readWordBE: function readWordBE(off, addr) { - if (PDP11.MEMFAULT && (off & 0x1)) { - this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.READ_WORD); - } - return this.dv.getUint16(off, true); - }, - /** - * readWordLE(off, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @return {number} - */ - readWordLE: function readWordLE(off, addr) { - var w; - if (PDP11.MEMFAULT && (off & 0x1)) { - this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.READ_WORD); - } - /* - * TODO: For non-WORDBUS machines, it remains to be seen if there's any advantage to checking the offset - * for an aligned read vs. always reading the bytes separately. - */ - if (PDP11.WORDBUS || !(off & 0x1)) { - w = this.aw[off >> 1]; - } else { - w = this.ab[off] | (this.ab[off+1] << 8); - } - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { - this.dbg.printMessage("Memory.readWord(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true); - } - return w; - }, - /** - * writeByteBE(off, b, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} b - * @param {number} addr - */ - writeByteBE: function writeByteBE(off, b, addr) { - this.ab[off] = b; - this.fDirty = true; - }, - /** - * writeByteLE(off, b, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @param {number} b - */ - writeByteLE: function writeByteLE(off, b, addr) { - this.ab[off] = b; - this.fDirty = true; - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { - this.dbg.printMessage("Memory.writeByte(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true); - } - }, - /** - * writeWordBE(off, w, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @param {number} w - */ - writeWordBE: function writeWordBE(off, w, addr) { - if (PDP11.MEMFAULT && (off & 0x1)) { - this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.WRITE_WORD); - } - this.dv.setUint16(off, w, true); - this.fDirty = true; - }, - /** - * writeWordLE(off, w, addr) - * - * @this {MemoryPDP11} - * @param {number} off - * @param {number} addr - * @param {number} w - */ - writeWordLE: function writeWordLE(off, w, addr) { - if (PDP11.MEMFAULT && (off & 0x1)) { - this.bus.fault(addr, PDP11.CPUERR.ODDADDR, PDP11.ACCESS.WRITE_WORD); - } - /* - * TODO: For non-WORDBUS machines, it remains to be seen if there's any advantage to checking the offset - * for an aligned write vs. always writing the bytes separately. - */ - if (PDP11.WORDBUS || !(off & 0x1)) { - this.aw[off >> 1] = w; - } else { - this.ab[off] = w; - this.ab[off+1] = w >> 8; - } - this.fDirty = true; - if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY)) { - this.dbg.printMessage("Memory.writeWord(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true); - } - } -}; - /* * This is the effective definition of afnNone, but we need not fully define it, because setAccess() * uses these defaults when any of the 4 handlers (ie, 2 byte handlers and 2 word handlers) are undefined. @@ -955,4 +1000,10 @@ if (TYPEDARRAYS) { ]; } -if (NODE) module.exports = MemoryPDP11; +var littleEndian = (TYPEDARRAYS? (function() { + var buffer = new ArrayBuffer(2); + new DataView(buffer).setUint16(0, 256, true); + return new Uint16Array(buffer)[0] === 256; +})() : false); + +export default MemoryPDP11; diff --git a/modules/pdp11/lib/messages.js b/modules/pdp11/lib/messages.js index 94659475a..bc8415545 100644 --- a/modules/pdp11/lib/messages.js +++ b/modules/pdp11/lib/messages.js @@ -117,4 +117,4 @@ MessagesPDP11.CATEGORIES = { "halt": MessagesPDP11.HALT }; -if (NODE) module.exports = MessagesPDP11; +export default MessagesPDP11; diff --git a/modules/pdp11/lib/panel.js b/modules/pdp11/lib/panel.js index b8d8e3312..aab68f7d5 100644 --- a/modules/pdp11/lib/panel.js +++ b/modules/pdp11/lib/panel.js @@ -32,116 +32,1079 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var usr = require("../../shared/lib/usrlib"); - var web = require("../../shared/lib/weblib"); - var Component = require("../../shared/lib/component"); - var PDP11 = require("./defines"); - var BusPDP11 = require("./bus"); - var MemoryPDP11 = require("./memory"); - var MessagesPDP11 = require("./messages"); -} +import Str from "../../shared/lib/strlib"; +import Web from "../../shared/lib/weblib"; +import Component from "../../shared/es6/component"; +import PDP11 from "./defines"; +import BusPDP11 from "./bus"; +import MessagesPDP11 from "./messages"; -/** - * PanelPDP11(parmsPanel) - * - * The PanelPDP11 component has no required (parmsPanel) properties. - * - * @constructor - * @extends Component - * @param {Object} parmsPanel - */ -function PanelPDP11(parmsPanel) -{ - Component.call(this, "Panel", parmsPanel, PanelPDP11, MessagesPDP11.PANEL); - - /* - * If there are any live registers, LEDs, etc, to display, this will provide a count. - * TODO: Add some UI for fDisplayLiveRegs (either an XML property, or a UI checkbox, or both). +class PanelPDP11 extends Component { + /** + * PanelPDP11(parmsPanel) + * + * The PanelPDP11 component has no required (parmsPanel) properties. + * + * @param {Object} parmsPanel */ - this.cLiveRegs = 0; - this.nDisplayCount = 0; - this.nDisplayLimit = 60; - this.fDisplayLiveRegs = true; + constructor(parmsPanel) + { + super("Panel", parmsPanel, PanelPDP11, MessagesPDP11.PANEL); - /* - * regSwitches contains the Front Panel (aka Console) SWITCH register, which is also available - * as a read-only register at 177570 (but only the low 16 bits). regDisplay contains the DISPLAY - * register, a write-only register at the same address. - * - * regAddr is an internal register containing the contents of the Front Panel's ADDRESS display, - * and regData corresponds to the DATA display. They are updated by updateAddr() and updateData(), - * which in turn take care of calling updateLEDArray(). - * - * The state of ALL switches is maintained in this.switches, and likewise all LED states are - * maintained in this.leds, but for convenience, we also mirror some of those states in dedicated - * variables (eg, regSwitches for the SWITCH register, fLEDTest for the 'TEST' switch, etc). - */ - this.regDisplay = 0; - this.regSwitches = 0; - this.regAddr = this.regData = 0; + /* + * If there are any live registers, LEDs, etc, to display, this will provide a count. + * TODO: Add some UI for fDisplayLiveRegs (either an XML property, or a UI checkbox, or both). + */ + this.cLiveRegs = 0; + this.nDisplayCount = 0; + this.nDisplayLimit = 60; + this.fDisplayLiveRegs = true; - /* - * The panel hardware has the following additional (supported) state; note that there are several - * settings on a real Front Panel that we don't support (eg, stepping one cycle vs. one instruction). - * - * While my initial intent is to eventually support all the ADDRSEL switch settings, I probably - * won't bother with any DATASEL switch settings; instead, I will automatically display the DISPLAY - * register (regDisplay) [the equivalent of selecting 'DISPLAY REGISTER'] except when data is being - * examined or deposited [the equivalent of selecting 'DATA PATHS']. - */ - this.fLEDTest = false; // LED (lamp) test in progress - this.fExamine = false; // true if the previously pressed switch was the 'EXAM' switch - this.fDeposit = false; // true if the previously pressed switch was the 'DEP' switch - this.nAddrSel = PanelPDP11.ADDRSEL.CONS_PHY; + /* + * regSwitches contains the Front Panel (aka Console) SWITCH register, which is also available + * as a read-only register at 177570 (but only the low 16 bits). regDisplay contains the DISPLAY + * register, a write-only register at the same address. + * + * regAddr is an internal register containing the contents of the Front Panel's ADDRESS display, + * and regData corresponds to the DATA display. They are updated by updateAddr() and updateData(), + * which in turn take care of calling updateLEDArray(). + * + * The state of ALL switches is maintained in this.switches, and likewise all LED states are + * maintained in this.leds, but for convenience, we also mirror some of those states in dedicated + * variables (eg, regSwitches for the SWITCH register, fLEDTest for the 'TEST' switch, etc). + */ + this.regDisplay = 0; + this.regSwitches = 0; + this.regAddr = this.regData = 0; - /* - * Every LED has a simple numeric value, assigned when setBinding() is called: - * - * zero if "off", non-zero if "on" - * - * initBus() will call displayLEDs() to ensure that every LED is set to its initial value. - */ - this.leds = {}; + /* + * The panel hardware has the following additional (supported) state; note that there are several + * settings on a real Front Panel that we don't support (eg, stepping one cycle vs. one instruction). + * + * While my initial intent is to eventually support all the ADDRSEL switch settings, I probably + * won't bother with any DATASEL switch settings; instead, I will automatically display the DISPLAY + * register (regDisplay) [the equivalent of selecting 'DISPLAY REGISTER'] except when data is being + * examined or deposited [the equivalent of selecting 'DATA PATHS']. + */ + this.fLEDTest = false; // LED (lamp) test in progress + this.fExamine = false; // true if the previously pressed switch was the 'EXAM' switch + this.fDeposit = false; // true if the previously pressed switch was the 'DEP' switch + this.nAddrSel = PanelPDP11.ADDRSEL.CONS_PHY; - /* - * Every switch has an array associated with it: + /* + * Every LED has a simple numeric value, assigned when setBinding() is called: + * + * zero if "off", non-zero if "on" + * + * initBus() will call displayLEDs() to ensure that every LED is set to its initial value. + */ + this.leds = {}; + + /* + * Every switch has an array associated with it: + * + * [0]: initial value of switch (0 if "down", 1 if "up") + * [1]: current value of switch + * [2]: true if the switch is momentary, false if not + * [3]: true if the switch is currently pressed, false if released + * [4]: optional handler to call whenever the switch is pressed or released + * [5]: optional switch index (used with CNSW switches 'S0' through 'S21') + * + * initBus() will call displaySwitches() to ensure that every switch is the position represented below. + * + * NOTE: Not all switches have the same "process" criteria. For example, 'TEST' will perform a LED test + * when it is momentarily pressed "up", whereas 'LOAD [ADRS]' will load the ADDRESS register from the + * SWITCH register when it is momentarily pressed "down". + * + * This means that processLEDTest(value) must act when value == 1 ("up"), whereas processLoadAddr(value) + * must act when value == 0 ("down"). You can infer all this from the table below, because the initial value + * of any momentary switch is its "inactive" value, so the opposite is its "active" value. + */ + this.switches = { + 'START': [1, 1, true, false, this.processStart], + 'STEP': [1, 1, false, false, this.processStep], + 'ENABLE': [1, 1, false, false, this.processEnable], + 'CONT': [1, 1, true, false, this.processContinue], + 'DEP': [0, 0, true, false, this.processDeposit], + 'EXAM': [1, 1, true, false, this.processExamine], + 'LOAD': [1, 1, true, false, this.processLoadAddr], + 'TEST': [0, 0, true, false, this.processLEDTest] + }; + for (var i = 0; i < 22; i++) { + this.switches['S'+i] = [0, 0, false, false, this.processSwitchReg, i]; + } + + /** @type {ComputerPDP11} */ + this.cmp = null; + + /** @type {BusPDP11} */ + this.bus = null; + + /** @type {CPUStatePDP11} */ + this.cpu = null; + + /** @type {DebuggerPDP11} */ + this.dbg = null; + } + + /** + * getAR() * - * [0]: initial value of switch (0 if "down", 1 if "up") - * [1]: current value of switch - * [2]: true if the switch is momentary, false if not - * [3]: true if the switch is currently pressed, false if released - * [4]: optional handler to call whenever the switch is pressed or released - * [5]: optional switch index (used with CNSW switches 'S0' through 'S21') - * - * initBus() will call displaySwitches() to ensure that every switch is the position represented below. - * - * NOTE: Not all switches have the same "process" criteria. For example, 'TEST' will perform a LED test - * when it is momentarily pressed "up", whereas 'LOAD [ADRS]' will load the ADDRESS register from the - * SWITCH register when it is momentarily pressed "down". - * - * This means that processLEDTest(value) must act when value == 1 ("up"), whereas processLoadAddr(value) - * must act when value == 0 ("down"). You can infer all this from the table below, because the initial value - * of any momentary switch is its "inactive" value, so the opposite is its "active" value. + * @this {PanelPDP11} + * @return {number} (current ADDRESS register) */ - this.switches = { - 'START': [1, 1, true, false, this.processStart], - 'STEP': [1, 1, false, false, this.processStep], - 'ENABLE': [1, 1, false, false, this.processEnable], - 'CONT': [1, 1, true, false, this.processContinue], - 'DEP': [0, 0, true, false, this.processDeposit], - 'EXAM': [1, 1, true, false, this.processExamine], - 'LOAD': [1, 1, true, false, this.processLoadAddr], - 'TEST': [0, 0, true, false, this.processLEDTest] - }; - for (var i = 0; i < 22; i++) { - this.switches['S'+i] = [0, 0, false, false, this.processSwitchReg, i]; + getAR() + { + return this.regAddr; + } + + /** + * setAR(value) + * + * @this {PanelPDP11} + * @param {number} value (new ADDRESS register) + */ + setAR(value) + { + this.updateAddr(this.regAddr = value); + } + + /** + * getDR() + * + * @this {PanelPDP11} + * @return {number} (current DISPLAY register) + */ + getDR() + { + return this.regDisplay; + } + + /** + * setDR(value) + * + * @this {PanelPDP11} + * @param {number} value (new DISPLAY register) + */ + setDR(value) + { + this.updateData(this.regDisplay = value); + } + + /** + * getSR() + * + * @this {PanelPDP11} + * @return {number} (current SWITCH register) + */ + getSR() + { + return this.regSwitches; + } + + /** + * setSR(value) + * + * @this {PanelPDP11} + * @param {number} value (new SWITCH register) + */ + setSR(value) + { + this.setSwitches(value); + } + + /** + * getSwitch(name) + * + * @this {PanelPDP11} + * @param {string} name + * @return {number|undefined} 0 if switch is off ("down"), 1 if on ("up"), or undefined if unrecognized + */ + getSwitch(name) + { + return this.switches[name] && this.switches[name][1]; + } + + /** + * reset() + * + * NOTE: Since we've registered our handler with the Bus component, we will be called twice whenever + * the entire machine is reset: once when the Computer's reset() handler calls the Bus's reset() handler, + * and again when the Computer's reset() handler calls us directly. Multiple resets should be harmless. + * + * @this {PanelPDP11} + */ + reset() + { + /* + * Simulate a call to our stop() handler, to update the panel's ADDRESS register with the current PC. + */ + this.stop(); + } + + /** + * setBinding(sType, sBinding, control, sValue) + * + * Some panel layouts don't have bindings of their own, and even when they do, there may still be some + * components (eg, the CPU) that prefer to update their own bindings, so we pass along all binding requests + * to the Computer, CPU, Keyboard and Debugger components first. The order shouldn't matter, since any + * component that doesn't recognize the specified binding should simply ignore it. + * + * @this {PanelPDP11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "reset") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + if (this.cmp && this.cmp.setBinding(sType, sBinding, control, sValue)) { + return true; + } + if (this.cpu && this.cpu.setBinding(sType, sBinding, control, sValue)) { + return true; + } + if (DEBUGGER && this.dbg && this.dbg.setBinding(sType, sBinding, control, sValue)) { + return true; + } + + switch (sBinding) { + 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.bindings[sBinding] = control; + this.cLiveRegs++; + return true; + + default: + /* + * Square ("led") or round ("rled") LEDs are defined in machine XML files like so: + * + * + * + * Only *type* and *binding* attributes are required; if *value* is omitted, the default value is 0 ("off"). + */ + if (sType == "led" || sType == "rled") { + this.bindings[sBinding] = control; + this.leds[sBinding] = sValue? 1 : 0; + this.cLiveRegs++; + return true; + } + /* + * Switches are defined in machine XML files like so: + * + * + * + * Only *type* and *binding* attributes are required; if *value* is omitted, the default value is 0 ("down"). + * + * Currently, there is no XML attribute to indicate whether a switch is "momentary"; only recognized switches + * in our internal table can have that attribute. + */ + if (sType == "switch") { + /* + * Like LEDs, we allow unrecognized switches to be defined as well, but they won't do anything useful, + * since only recognized switches will have handlers that perform the appropriate operations. + */ + if (this.switches[sBinding] === undefined) { + this.switches[sBinding] = [sValue? 1 : 0, sValue? 1 : 0]; + } + this.bindings[sBinding] = control; + var parent = control.parentElement || control; + parent = parent.parentElement || parent; + parent.onmousedown = function(panel, sBinding) { + return function onPressSwitch() { + panel.pressSwitch(sBinding); + }; + }(this, sBinding); + parent.onmouseup = parent.onmouseout = function(panel, sBinding) { + return function onReleaseSwitch() { + panel.releaseSwitch(sBinding); + }; + }(this, sBinding); + parent.ontouchstart = function(panel, sBinding) { + return function onPressSwitch(event) { + panel.pressSwitch(sBinding); + event.preventDefault(); + }; + }(this, sBinding); + parent.ontouchend = function(panel, sBinding) { + return function onReleaseSwitch() { + panel.releaseSwitch(sBinding); + }; + }(this, sBinding); + return true; + } + return super.setBinding(sType, sBinding, control, sValue); + } + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {PanelPDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.cmp = cmp; + this.bus = bus; + this.cpu = cpu; + this.dbg = dbg; + + bus.addIOTable(this, PanelPDP11.UNIBUS_IOTABLE); + bus.addResetHandler(this.reset.bind(this)); + + this.displayLEDs(); + this.displaySwitches(); + } + + /** + * powerUp(data, fRepower) + * + * @this {PanelPDP11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (!fRepower) { + /* + * As noted in init(), our powerUp() method gives us a second opportunity to notify any + * components that that might care (eg, CPU, Keyboard, and Debugger) that we have some controls + * they might want to use. + */ + PanelPDP11.init(); + /* + * TODO: Until we implement a restore() function, all we can do is reset() + */ + this.reset(); + } + return true; + } + + /** + * powerDown(fSave, fShutdown) + * + * @this {PanelPDP11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure + */ + powerDown(fSave, fShutdown) + { + return true; + } + + /** + * displayLED(sBinding, value) + * + * @this {PanelPDP11} + * @param {string} sBinding + * @param {boolean|number} value (true or non-zero if the LED should be on, false or zero if off) + */ + displayLED(sBinding, value) + { + var control = this.bindings[sBinding]; + if (control) { + /* + * TODO: Add support for user-definable LED colors? + */ + control.style.backgroundColor = (value? "#ff0000" : "#000000"); + } + } + + /** + * displayLEDs(override) + * + * @this {PanelPDP11} + * @param {boolean|number|null} [override] (true turn on all LEDs, false to turn off all LEDs, null or undefined for normal LED activity) + */ + displayLEDs(override) + { + for (var sBinding in this.leds) { + this.displayLED(sBinding, override != null? override : this.leds[sBinding]); + } + } + + /** + * displaySwitch(sBinding, value) + * + * @this {PanelPDP11} + * @param {string} sBinding + * @param {boolean|number} value (true if the switch should be "up" (on), false if "down" (off)) + */ + displaySwitch(sBinding, value) + { + var control = this.bindings[sBinding]; + if (control) { + control.style.marginTop = (value? "0px" : "20px"); + control.style.backgroundColor = (value? "#00ff00" : "#228B22"); + } + } + + /** + * displaySwitches() + * + * @this {PanelPDP11} + */ + displaySwitches() + { + for (var sBinding in this.switches) { + this.displaySwitch(sBinding, this.switches[sBinding][1]); + } + } + + /** + * displayValue(sLabel, nValue, cch) + * + * This is principally for displaying register values, but in reality, it can be used to display any + * numeric value bound to the given label. + * + * @this {PanelPDP11} + * @param {string} sLabel + * @param {number} nValue + * @param {number} [cch] + */ + displayValue(sLabel, nValue, cch) + { + if (this.bindings[sLabel]) { + if (nValue === undefined) { + this.setError("Value for " + sLabel + " is invalid"); + this.cpu.stopCPU(); + } + var sVal; + var nBase = this.dbg && this.dbg.nBase || 8; + if (!this.cpu.isRunning() || this.fDisplayLiveRegs) { + sVal = nBase == 8? Str.toOct(nValue, cch) : Str.toHex(nValue, cch); + } else { + sVal = "--------".substr(0, cch || 4); + } + /* + * TODO: Determine if this test actually avoids any redrawing when a register hasn't changed, and/or if + * we should maintain our own (numeric) cache of displayed register values (to avoid creating these temporary + * string values that will have to garbage-collected), and/or if this is actually slower, and/or if I'm being + * too obsessive. + */ + if (this.bindings[sLabel].textContent != sVal) this.bindings[sLabel].textContent = sVal; + } + } + + /** + * pressSwitch(sBinding) + * + * @this {PanelPDP11} + * @param {string} sBinding + */ + pressSwitch(sBinding) + { + var sw = this.switches[sBinding]; + + /* + * Set the new switch value in sw[1] and then immediately display it + */ + this.displaySwitch(sBinding, (sw[1] = 1 - sw[1])); + + /* + * Mark the switch as "pressed" + */ + sw[3] = true; + + /* + * Call the appropriate process handler with the current switch value (sw[1]) + */ + if (sw[4]) sw[4].call(this, sw[1], sw[5]); + + /* + * This helps the next 'DEP' or 'EXAM' press determine if the previous press was the same, + * while also ignoring any intervening 'STEP' presses (see processStep() for why we do that). + */ + if (sBinding != PanelPDP11.SWITCH.STEP) { + this.fDeposit = (sBinding == PanelPDP11.SWITCH.DEP); + this.fExamine = (sBinding == PanelPDP11.SWITCH.EXAM); + } + } + + /** + * releaseSwitch(sBinding) + * + * @this {PanelPDP11} + * @param {string} sBinding + */ + releaseSwitch(sBinding) + { + /* + * pressSwitch() is simple: flip the switch's current value in sw[1] and marked it "pressed" in sw[3]. + * + * releaseSwitch() is more complicated, because we must handle both mouseUp and mouseOut events. The first time + * we receive EITHER of those events AND the switch is marked momentary (sw[2]) AND the switch is pressed (sw[3]), + * then we must flip the switch back to its original value. + * + * Otherwise, the only thing we have to do is mark the switch as "released" (ie, set sw[3] to false). + */ + var sw = this.switches[sBinding]; + if (sw[2] && sw[3]) { + /* + * Set the new switch value in sw[1] and then immediately display it + */ + this.displaySwitch(sBinding, (sw[1] = sw[0])); + + /* + * Call the appropriate process handler with the current switch value (sw[1]) + */ + if (sw[4]) sw[4].call(this, sw[1], sw[5]); + } + /* + * Mark the switch as "released" + */ + sw[3] = false; + } + + /** + * processStart(value, index) + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processStart(value, index) + { + if (!value && !this.cpu.isRunning()) { + /* + * TODO: Verify what the PDP-11/70 Handbook means when it says that when the 'START' switch + * is depressed, "the computer system will be cleared." I take it to mean that it performs + * the equivalent of a RESET instruction. + */ + this.cpu.resetCPU(); + /* + * The PDP-11/70 Handbook goes on to say: "If the system needs to be initialized but execution + * is not wanted, the START switch should be depressed while the HALT/ENABLE switch is in the HALT + * position." + */ + if (this.getSwitch(PanelPDP11.SWITCH.ENABLE)) { + this.cpu.startCPU(); + } + } + } + + /** + * processStep(value, index) + * + * If value == 1 (our initial value), then the 'STEP' switch is set to "S INST" (step one instruction); + * otherwise, it's set to "S BUS CYCLE" (step one bus cycle). + * + * However, since we can't currently support cycle-stepping, I've decided to innovate a little and + * change the meaning of this switch: the normal ("up") position means that successive 'EXAM' and 'DEP' + * operations will first add 2 to the ADDRESS register, while the opposite ("down") position means + * they will first subtract 2. + * + * See processLEDTest() for more of these exciting "innovations". ;-) + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processStep(value, index) + { + /* + * There's really nothing for us to do here, because the normal press and release handlers + * already record the state of this switch, so it can be queried as needed, using getSwitch(). + */ + } + + /** + * processEnable(value, index) + * + * If value == 1 (our initial value), then the 'ENABLE'/'HALT' switch is set to 'ENABLE', otherwise 'HALT'. + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processEnable(value, index) + { + /* + * The "down" (0) position is 'HALT', which stops the CPU; however, the "up" (1) position ('ENABLE') + * does NOT start the CPU. You must press 'CONT' to continue execution, which will either continue for + * one instruction if this switch to set to 'HALT' or indefinitely if it is set to 'ENABLE'. + */ + if (!value) { + this.cpu.stopCPU(); + } + } + + /** + * processContinue(value, index) + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processContinue(value, index) + { + if (!value && !this.cpu.isRunning()) { + /* + * TODO: Technically, we're also supposed to check the 'STEP' switch to determine if we should + * step one instruction or just one cycle, but we don't currently have the ability to do the latter. + */ + if (!this.getSwitch(PanelPDP11.SWITCH.ENABLE)) { + /* + * Using the Debugger's stepCPU() function is more convenient, and has the pleasant side-effect + * of updating the debugger's display; however, not all machines with a Front Panel will necessarily + * also have the Debugger loaded. + */ + var dbg = this.dbg; + if (dbg && !dbg.isBusy(true)) { + dbg.setBusy(true); + dbg.stepCPU(0, null); + dbg.setBusy(false); + } + else { + /* + * For this tiny single-instruction burst, mimic what runCPU() does. + */ + try { + var nCyclesStep = this.cpu.stepCPU(1); + if (nCyclesStep > 0) { + this.cpu.updateTimers(nCyclesStep); + this.cpu.addCycles(nCyclesStep, true); + this.cpu.updateChecksum(nCyclesStep); + } + } + catch(exception) { + /* + * We assume that any numeric exception was explicitly thrown by the CPU to interrupt the + * current instruction. For all other exceptions, we attempt a stack dump. + */ + if (typeof exception != "number") { + var e = exception; + this.cpu.setError(e.stack || e.message); + } + } + } + + /* + * Simulate a call to our stop() handler, to update the panel's ADDRESS register with the new PC. + */ + this.stop(); + + /* + * Going through the normal channels (ie, the Computer's updateDisplays() interface) ensures that + * ALL updateDisplay() handlers will be called, including ours. + * + * NOTE: If we used the Debugger's stepCPU() function, then that includes a call to updateDisplay(); + * unfortunately, it will have happened BEFORE we called stop() to update the ADDRESS register, so + * we still need to call it again. + */ + if (this.cmp) this.cmp.updateDisplays(); + } + else { + this.cpu.startCPU(); + } + } + } + + /** + * processDeposit(value, index) + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processDeposit(value, index) + { + if (value && !this.cpu.isRunning()) { + if (this.fDeposit) this.advanceAddr(); + var w = this.updateData(this.regSwitches); + if (this.nAddrSel == PanelPDP11.ADDRSEL.CONS_PHY) { + /* + * TODO: Determine if this needs to take the UNIBUS map into consideration. + */ + this.bus.setWordDirect(this.regAddr, w); + } else { + /* + * TODO: This code is obviously incomplete, since it doesn't take into account the precise ADDRSEL mode. + */ + this.cpu.setWordSafe(this.regAddr, w); + } + } + } + + /** + * processExamine(value, index) + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processExamine(value, index) + { + if (!value && !this.cpu.isRunning()) { + var w; + if (this.fExamine) this.advanceAddr(); + if (this.nAddrSel == PanelPDP11.ADDRSEL.CONS_PHY) { + /* + * TODO: Determine if this needs to take the UNIBUS map into consideration. + */ + w = this.bus.getWordDirect(this.regAddr); + } else { + /* + * TODO: This code is obviously incomplete, since it doesn't take into account the precise ADDRSEL mode. + */ + w = this.cpu.getWordSafe(this.regAddr); + } + this.updateData(w); + } + } + + /** + * processLoadAddr(value, index) + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processLoadAddr(value, index) + { + if (!value && !this.cpu.isRunning()) { + this.updateAddr(this.regSwitches); + } + } + + /** + * processLEDTest(value, index) + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} [index] + */ + processLEDTest(value, index) + { + if (value) { + this.fLEDTest = true; + this.displayLEDs(true); + } else { + this.fLEDTest = false; + this.displayLEDs(); + /* + * This is another one of my "innovations": when you're done testing the LEDs, all the switches reset as well. + */ + this.setSwitches(0); + } + } + + /** + * processSwitchReg(value, index) + * + * @this {PanelPDP11} + * @param {number} value (normally 0 or 1, but we only depend on it being zero or non-zero) + * @param {number} index + */ + processSwitchReg(value, index) + { + if (value) { + this.regSwitches |= 1 << index; + } else { + this.regSwitches &= ~(1 << index); + } + } + + /** + * advanceAddr() + * + * This should also take care of the following Front Panel behaviors when the accessing the general-purpose + * registers: + * + * 1) ADDRESS display incremented by 1 (instead of 2) + * 2) The STEP after the last register is 177700, such that the addresses are looped + * + * A third behavior is NOT emulated: preventing the ADDRESS from stepping to the first General Register (177700) + * from 177676. + * + * @this {PanelPDP11} + * @return {number} + */ + advanceAddr() + { + var nRegs = this.cpu.model < PDP11.MODEL_1145? 8 : 16; + var fGenRegs = (this.regAddr >= PDP11.UNIBUS.R0SET0 /*177700*/ && this.regAddr < PDP11.UNIBUS.R0SET0 + nRegs); + var inc = fGenRegs? 1 : 2; + var mask = fGenRegs? 0xf : this.bus.nBusMask; + if (!this.getSwitch(PanelPDP11.SWITCH.STEP)) inc = -inc; + return this.updateAddr((this.regAddr & ~mask) | ((this.regAddr + inc) & mask)); + } + + /** + * updateAddr(value) + * + * @this {PanelPDP11} + * @param {number} value + * @return {number} + */ + updateAddr(value) + { + this.regAddr = value & this.bus.nBusMask; + this.updateLEDArray("A", this.regAddr, 22); + return this.regAddr; + } + + /** + * updateData(value) + * + * @this {PanelPDP11} + * @param {number} value + * @return {number} + */ + updateData(value) + { + this.regData = value & 0xffff; + this.updateLEDArray("D", this.regData, 16); + return this.regData; + } + + /** + * updateLED(sBinding, value) + * + * @this {PanelPDP11} + * @param {string} sBinding + * @param {number} value + * @return {number} + */ + updateLED(sBinding, value) + { + this.leds[sBinding] = value; + if (!this.fLEDTest) this.displayLED(sBinding, value); + return value; + } + + /** + * updateLEDArray(sPrefix, value, nLEDs) + * + * @this {PanelPDP11} + * @param {string} sPrefix + * @param {number} value + * @param {number} nLEDs + */ + updateLEDArray(sPrefix, value, nLEDs) + { + for (var i = 0; i < nLEDs; i++) { + var sBinding = sPrefix + i; + this.updateLED(sBinding, value & (1 << i)); + } + } + + /** + * hasSwitches(value) + * + * @this {PanelPDP11} + * @return {boolean} + */ + hasSwitches() + { + return this.bindings[PanelPDP11.SWITCH.S0] !== undefined; + } + + /** + * setSwitches(value) + * + * @this {PanelPDP11} + * @param {number} value + */ + setSwitches(value) + { + if (this.hasSwitches()) { + this.regSwitches = value; + for (var i = 0; i < 22; i++) { + this.switches['S'+i][1] = (value & (1 << i))? 1 : 0; + } + this.displaySwitches(); + } + } + + /** + * stop(ms, nCycles) + * + * This is a notification handler, called by the Computer, to inform us the CPU has now stopped. + * + * @this {PanelPDP11} + * @param {number} [ms] + * @param {number} [nCycles] + */ + stop(ms, nCycles) + { + this.updateAddr(this.cpu.regsGen[7]); + } + + /** + * setAddr(value, fActive) + * + * This interface is for passing new addresses to the Front Panel. However, whether or not this will become the + * ADDRESS actually displayed will depend on other settings (see updateStatus() for details). + * + * @this {PanelPDP11} + * @param {number} value + * @param {boolean} [fActive] (true if this should become the "active" ADDRESS regardless of other settings) + */ + setAddr(value, fActive) + { + this.regAddr = value; + } + + /** + * setData(value, fActive) + * + * This interface is for passing new data to the Front Panel. However, whether or not this will become the + * DATA actually displayed will depend on the Front Panel's DATASEL switch setting, as well as the fActive flag. + * + * @this {PanelPDP11} + * @param {number} value + * @param {boolean} [fActive] (true if this should become the "active" DATA regardless of the DATASEL switch setting) + */ + setData(value, fActive) + { + if (!fActive) { + this.regData = value; + } else { + this.regDisplay = value; + } + } + + /** + * updateDisplay(nUpdate) + * + * Called by the Computer component at intervals to update registers, LEDs, etc. + * + * @this {PanelPDP11} + * @param {number} [nUpdate] (< 0 for forced, > 0 for periodic, 0 otherwise) + */ + updateDisplay(nUpdate) + { + if (this.cLiveRegs) { + + var fRunning = this.cpu.isRunning(); + var fWaiting = this.cpu.isWaiting(); + + if (nUpdate < 0 || !fRunning || this.fDisplayLiveRegs) { + + /* + * We arbitrarily separate the display elements into two categories: cheap and expensive. + * + * LEDs are considered cheap, register displays are not. So we'll skip the latter if this + * is a periodic update AND our periodic update counter hasn't reached the periodic update limit. + */ + if (nUpdate <= 0 || (this.nDisplayCount += nUpdate) >= this.nDisplayLimit) { + for (var i = 0; i < this.cpu.regsGen.length; i++) { + this.displayValue('R'+i, this.cpu.regsGen[i]); + } + var regPSW = this.cpu.getPSW(); + this.displayValue("PS", regPSW); + this.displayValue("NF", (regPSW & PDP11.PSW.NF)? 1 : 0, 1); + this.displayValue("ZF", (regPSW & PDP11.PSW.ZF)? 1 : 0, 1); + this.displayValue("VF", (regPSW & PDP11.PSW.VF)? 1 : 0, 1); + this.displayValue("CF", (regPSW & PDP11.PSW.CF)? 1 : 0, 1); + this.nDisplayCount = 0; + } + + /* + * Update the ADDRESS and DATA LEDs by selecting the appropriate values + * + * TODO: There is currently no mechanism for selecting regData over regDisplay; + * we are acting as if the DATASEL switch setting is locked to "DISPLAY REGISTER". + */ + this.updateAddr(nUpdate > 0 && fRunning && !fWaiting? this.cpu.getLastAddr() : this.regAddr); + this.updateData(this.regDisplay); + + var bits = this.cpu.getMMUState(); + /* + * Bit 0 set if 22-bit, bit 1 set if 18-bit, bit 2 set if 16-bit + */ + this.updateLED(PanelPDP11.LED.B22, bits & 1); + this.updateLED(PanelPDP11.LED.B18, bits & 2); + this.updateLED(PanelPDP11.LED.B16, bits & 4); + } + } + } + + /** + * readCNSW(addr, fPreWrite) + * + * If fPreWrite, this is a read-before-write, so we must return the DISPLAY register (ie, regDisplay); + * otherwise, this a normal read, so we should return the SWITCH register (ie, regSwitches). + * + * + * @this {PanelPDP11} + * @param {number} addr (eg, PDP11.UNIBUS.CNSW or 177570) + * @param {boolean} [fPreWrite] + * @return {number} + */ + readCNSW(addr, fPreWrite) + { + return (fPreWrite? this.regDisplay : this.regSwitches) & 0xffff; + } + + /** + * writeCNSW(value, addr) + * + * Handles writes to the DISPLAY register (ie, regDisplay). + * + * @this {PanelPDP11} + * @param {number} value + * @param {number} addr (eg, PDP11.UNIBUS.CNSW or 177570) + */ + writeCNSW(value, addr) + { + this.regDisplay = value; + } + + /** + * PanelPDP11.init() + * + * This function operates on every HTML element of class "panel", extracting the + * JSON-encoded parameters for the PanelPDP11 constructor from the element's "data-value" + * attribute, invoking the constructor to create a PanelPDP11 component, and then binding + * any associated HTML controls to the new component. + * + * NOTE: Unlike most other component init() functions, this one is designed to be + * called multiple times: once at load time, so that we can bind our print() + * function to the panel's output control ASAP, and again when the Computer component + * is verifying that all components are ready and invoking their powerUp() functions. + * + * Our powerUp() method gives us a second opportunity to notify any components that + * that might care (eg, CPU, Keyboard, and Debugger) that we have some controls they + * might want to use. + */ + static init() + { + var fReady = false; + var aePanels = Component.getElementsByClass(document, PDP11.APPCLASS, "panel"); + for (var iPanel=0; iPanel < aePanels.length; iPanel++) { + var ePanel = aePanels[iPanel]; + var parmsPanel = Component.getComponentParms(ePanel); + var panel = Component.getComponentByID(parmsPanel['id']); + if (!panel) { + fReady = true; + panel = new PanelPDP11(parmsPanel); + } + Component.bindComponentControls(panel, ePanel, PDP11.APPCLASS); + if (fReady) panel.setReady(); + } } } -Component.subclass(PanelPDP11); - PanelPDP11.ADDRSEL = { KERNEL_I: 0, // use a 16-bit virtual address where bits 16 to 21 are always OFF KERNEL_D: 1, // use a 16-bit virtual address where bits 16 to 21 are always OFF @@ -176,970 +1139,13 @@ PanelPDP11.LED = { B22: 'B22' }; -/** - * getAR() - * - * @this {PanelPDP11} - * @return {number} (current ADDRESS register) - */ -PanelPDP11.prototype.getAR = function() -{ - return this.regAddr; -}; - -/** - * setAR(value) - * - * @this {PanelPDP11} - * @param {number} value (new ADDRESS register) - */ -PanelPDP11.prototype.setAR = function(value) -{ - this.updateAddr(this.regAddr = value); -}; - -/** - * getDR() - * - * @this {PanelPDP11} - * @return {number} (current DISPLAY register) - */ -PanelPDP11.prototype.getDR = function() -{ - return this.regDisplay; -}; - -/** - * setDR(value) - * - * @this {PanelPDP11} - * @param {number} value (new DISPLAY register) - */ -PanelPDP11.prototype.setDR = function(value) -{ - this.updateData(this.regDisplay = value); -}; - -/** - * getSR() - * - * @this {PanelPDP11} - * @return {number} (current SWITCH register) - */ -PanelPDP11.prototype.getSR = function() -{ - return this.regSwitches; -}; - -/** - * setSR(value) - * - * @this {PanelPDP11} - * @param {number} value (new SWITCH register) - */ -PanelPDP11.prototype.setSR = function(value) -{ - this.setSwitches(value); -}; - -/** - * getSwitch(name) - * - * @this {PanelPDP11} - * @param {string} name - * @return {number|undefined} 0 if switch is off ("down"), 1 if on ("up"), or undefined if unrecognized - */ -PanelPDP11.prototype.getSwitch = function(name) -{ - return this.switches[name] && this.switches[name][1]; -}; - -/** - * reset() - * - * NOTE: Since we've registered our handler with the Bus component, we will be called twice whenever - * the entire machine is reset: once when the Computer's reset() handler calls the Bus's reset() handler, - * and again when the Computer's reset() handler calls us directly. Multiple resets should be harmless. - * - * @this {PanelPDP11} - */ -PanelPDP11.prototype.reset = function() -{ - /* - * Simulate a call to our stop() handler, to update the panel's ADDRESS register with the current PC. - */ - this.stop(); -}; - -/** - * setBinding(sType, sBinding, control, sValue) - * - * Some panel layouts don't have bindings of their own, and even when they do, there may still be some - * components (eg, the CPU) that prefer to update their own bindings, so we pass along all binding requests - * to the Computer, CPU, Keyboard and Debugger components first. The order shouldn't matter, since any - * component that doesn't recognize the specified binding should simply ignore it. - * - * @this {PanelPDP11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "reset") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ -PanelPDP11.prototype.setBinding = function(sType, sBinding, control, sValue) -{ - if (this.cmp && this.cmp.setBinding(sType, sBinding, control, sValue)) { - return true; - } - if (this.cpu && this.cpu.setBinding(sType, sBinding, control, sValue)) { - return true; - } - if (DEBUGGER && this.dbg && this.dbg.setBinding(sType, sBinding, control, sValue)) { - return true; - } - - switch (sBinding) { - 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.bindings[sBinding] = control; - this.cLiveRegs++; - return true; - - default: - /* - * Square ("led") or round ("rled") LEDs are defined in machine XML files like so: - * - * - * - * Only *type* and *binding* attributes are required; if *value* is omitted, the default value is 0 ("off"). - */ - if (sType == "led" || sType == "rled") { - this.bindings[sBinding] = control; - this.leds[sBinding] = sValue? 1 : 0; - this.cLiveRegs++; - return true; - } - /* - * Switches are defined in machine XML files like so: - * - * - * - * Only *type* and *binding* attributes are required; if *value* is omitted, the default value is 0 ("down"). - * - * Currently, there is no XML attribute to indicate whether a switch is "momentary"; only recognized switches - * in our internal table can have that attribute. - */ - if (sType == "switch") { - /* - * Like LEDs, we allow unrecognized switches to be defined as well, but they won't do anything useful, - * since only recognized switches will have handlers that perform the appropriate operations. - */ - if (this.switches[sBinding] === undefined) { - this.switches[sBinding] = [sValue? 1 : 0, sValue? 1 : 0]; - } - this.bindings[sBinding] = control; - var parent = control.parentElement || control; - parent = parent.parentElement || parent; - parent.onmousedown = function(panel, sBinding) { - return function onPressSwitch() { - panel.pressSwitch(sBinding); - }; - }(this, sBinding); - parent.onmouseup = parent.onmouseout = function(panel, sBinding) { - return function onReleaseSwitch() { - panel.releaseSwitch(sBinding); - }; - }(this, sBinding); - parent.ontouchstart = function(panel, sBinding) { - return function onPressSwitch(event) { - panel.pressSwitch(sBinding); - event.preventDefault(); - }; - }(this, sBinding); - parent.ontouchend = function(panel, sBinding) { - return function onReleaseSwitch() { - panel.releaseSwitch(sBinding); - }; - }(this, sBinding); - return true; - } - return this.parent.setBinding.call(this, sType, sBinding, control, sValue); - } -}; - -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {PanelPDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -PanelPDP11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.cmp = cmp; - this.bus = bus; - this.cpu = cpu; - this.dbg = dbg; - - bus.addIOTable(this, PanelPDP11.UNIBUS_IOTABLE); - bus.addResetHandler(this.reset.bind(this)); - - this.displayLEDs(); - this.displaySwitches(); -}; - -/** - * powerUp(data, fRepower) - * - * @this {PanelPDP11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -PanelPDP11.prototype.powerUp = function(data, fRepower) -{ - if (!fRepower) { - /* - * As noted in init(), our powerUp() method gives us a second opportunity to notify any - * components that that might care (eg, CPU, Keyboard, and Debugger) that we have some controls - * they might want to use. - */ - PanelPDP11.init(); - /* - * TODO: Until we implement a restore() function, all we can do is reset() - */ - this.reset(); - } - return true; -}; - -/** - * powerDown(fSave, fShutdown) - * - * @this {PanelPDP11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure - */ -PanelPDP11.prototype.powerDown = function(fSave, fShutdown) -{ - return true; -}; - -/** - * displayLED(sBinding, value) - * - * @this {PanelPDP11} - * @param {string} sBinding - * @param {boolean|number} value (true or non-zero if the LED should be on, false or zero if off) - */ -PanelPDP11.prototype.displayLED = function(sBinding, value) -{ - var control = this.bindings[sBinding]; - if (control) { - /* - * TODO: Add support for user-definable LED colors? - */ - control.style.backgroundColor = (value? "#ff0000" : "#000000"); - } -}; - -/** - * displayLEDs(override) - * - * @this {PanelPDP11} - * @param {boolean|number|null} [override] (true turn on all LEDs, false to turn off all LEDs, null or undefined for normal LED activity) - */ -PanelPDP11.prototype.displayLEDs = function(override) -{ - for (var sBinding in this.leds) { - this.displayLED(sBinding, override != null? override : this.leds[sBinding]); - } -}; - -/** - * displaySwitch(sBinding, value) - * - * @this {PanelPDP11} - * @param {string} sBinding - * @param {boolean|number} value (true if the switch should be "up" (on), false if "down" (off)) - */ -PanelPDP11.prototype.displaySwitch = function(sBinding, value) -{ - var control = this.bindings[sBinding]; - if (control) { - control.style.marginTop = (value? "0px" : "20px"); - control.style.backgroundColor = (value? "#00ff00" : "#228B22"); - } -}; - -/** - * displaySwitches() - * - * @this {PanelPDP11} - */ -PanelPDP11.prototype.displaySwitches = function() -{ - for (var sBinding in this.switches) { - this.displaySwitch(sBinding, this.switches[sBinding][1]); - } -}; - -/** - * displayValue(sLabel, nValue, cch) - * - * This is principally for displaying register values, but in reality, it can be used to display any - * numeric value bound to the given label. - * - * @this {PanelPDP11} - * @param {string} sLabel - * @param {number} nValue - * @param {number} [cch] - */ -PanelPDP11.prototype.displayValue = function(sLabel, nValue, cch) -{ - if (this.bindings[sLabel]) { - if (nValue === undefined) { - this.setError("Value for " + sLabel + " is invalid"); - this.cpu.stopCPU(); - } - var sVal; - var nBase = this.dbg && this.dbg.nBase || 8; - if (!this.cpu.isRunning() || this.fDisplayLiveRegs) { - sVal = nBase == 8? str.toOct(nValue, cch) : str.toHex(nValue, cch); - } else { - sVal = "--------".substr(0, cch || 4); - } - /* - * TODO: Determine if this test actually avoids any redrawing when a register hasn't changed, and/or if - * we should maintain our own (numeric) cache of displayed register values (to avoid creating these temporary - * string values that will have to garbage-collected), and/or if this is actually slower, and/or if I'm being - * too obsessive. - */ - if (this.bindings[sLabel].textContent != sVal) this.bindings[sLabel].textContent = sVal; - } -}; - -/** - * pressSwitch(sBinding) - * - * @this {PanelPDP11} - * @param {string} sBinding - */ -PanelPDP11.prototype.pressSwitch = function(sBinding) -{ - var sw = this.switches[sBinding]; - - /* - * Set the new switch value in sw[1] and then immediately display it - */ - this.displaySwitch(sBinding, (sw[1] = 1 - sw[1])); - - /* - * Mark the switch as "pressed" - */ - sw[3] = true; - - /* - * Call the appropriate process handler with the current switch value (sw[1]) - */ - if (sw[4]) sw[4].call(this, sw[1], sw[5]); - - /* - * This helps the next 'DEP' or 'EXAM' press determine if the previous press was the same, - * while also ignoring any intervening 'STEP' presses (see processStep() for why we do that). - */ - if (sBinding != PanelPDP11.SWITCH.STEP) { - this.fDeposit = (sBinding == PanelPDP11.SWITCH.DEP); - this.fExamine = (sBinding == PanelPDP11.SWITCH.EXAM); - } -}; - -/** - * releaseSwitch(sBinding) - * - * @this {PanelPDP11} - * @param {string} sBinding - */ -PanelPDP11.prototype.releaseSwitch = function(sBinding) -{ - /* - * pressSwitch() is simple: flip the switch's current value in sw[1] and marked it "pressed" in sw[3]. - * - * releaseSwitch() is more complicated, because we must handle both mouseUp and mouseOut events. The first time - * we receive EITHER of those events AND the switch is marked momentary (sw[2]) AND the switch is pressed (sw[3]), - * then we must flip the switch back to its original value. - * - * Otherwise, the only thing we have to do is mark the switch as "released" (ie, set sw[3] to false). - */ - var sw = this.switches[sBinding]; - if (sw[2] && sw[3]) { - /* - * Set the new switch value in sw[1] and then immediately display it - */ - this.displaySwitch(sBinding, (sw[1] = sw[0])); - - /* - * Call the appropriate process handler with the current switch value (sw[1]) - */ - if (sw[4]) sw[4].call(this, sw[1], sw[5]); - } - /* - * Mark the switch as "released" - */ - sw[3] = false; -}; - -/** - * processStart(value, index) - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processStart = function(value, index) -{ - if (!value && !this.cpu.isRunning()) { - /* - * TODO: Verify what the PDP-11/70 Handbook means when it says that when the 'START' switch - * is depressed, "the computer system will be cleared." I take it to mean that it performs - * the equivalent of a RESET instruction. - */ - this.cpu.resetCPU(); - /* - * The PDP-11/70 Handbook goes on to say: "If the system needs to be initialized but execution - * is not wanted, the START switch should be depressed while the HALT/ENABLE switch is in the HALT - * position." - */ - if (this.getSwitch(PanelPDP11.SWITCH.ENABLE)) { - this.cpu.startCPU(); - } - } -}; - -/** - * processStep(value, index) - * - * If value == 1 (our initial value), then the 'STEP' switch is set to "S INST" (step one instruction); - * otherwise, it's set to "S BUS CYCLE" (step one bus cycle). - * - * However, since we can't currently support cycle-stepping, I've decided to innovate a little and - * change the meaning of this switch: the normal ("up") position means that successive 'EXAM' and 'DEP' - * operations will first add 2 to the ADDRESS register, while the opposite ("down") position means - * they will first subtract 2. - * - * See processLEDTest() for more of these exciting "innovations". ;-) - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processStep = function(value, index) -{ - /* - * There's really nothing for us to do here, because the normal press and release handlers - * already record the state of this switch, so it can be queried as needed, using getSwitch(). - */ -}; - -/** - * processEnable(value, index) - * - * If value == 1 (our initial value), then the 'ENABLE'/'HALT' switch is set to 'ENABLE', otherwise 'HALT'. - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processEnable = function(value, index) -{ - /* - * The "down" (0) position is 'HALT', which stops the CPU; however, the "up" (1) position ('ENABLE') - * does NOT start the CPU. You must press 'CONT' to continue execution, which will either continue for - * one instruction if this switch to set to 'HALT' or indefinitely if it is set to 'ENABLE'. - */ - if (!value) { - this.cpu.stopCPU(); - } -}; - -/** - * processContinue(value, index) - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processContinue = function(value, index) -{ - if (!value && !this.cpu.isRunning()) { - /* - * TODO: Technically, we're also supposed to check the 'STEP' switch to determine if we should - * step one instruction or just one cycle, but we don't currently have the ability to do the latter. - */ - if (!this.getSwitch(PanelPDP11.SWITCH.ENABLE)) { - /* - * Using the Debugger's stepCPU() function is more convenient, and has the pleasant side-effect - * of updating the debugger's display; however, not all machines with a Front Panel will necessarily - * also have the Debugger loaded. - */ - var dbg = this.dbg; - if (dbg && !dbg.isBusy(true)) { - dbg.setBusy(true); - dbg.stepCPU(0, null); - dbg.setBusy(false); - } - else { - /* - * For this tiny single-instruction burst, mimic what runCPU() does. - */ - try { - var nCyclesStep = this.cpu.stepCPU(1); - if (nCyclesStep > 0) { - this.cpu.updateTimers(nCyclesStep); - this.cpu.addCycles(nCyclesStep, true); - this.cpu.updateChecksum(nCyclesStep); - } - } - catch(exception) { - /* - * We assume that any numeric exception was explicitly thrown by the CPU to interrupt the - * current instruction. For all other exceptions, we attempt a stack dump. - */ - if (typeof exception != "number") { - var e = exception; - this.cpu.setError(e.stack || e.message); - } - } - } - - /* - * Simulate a call to our stop() handler, to update the panel's ADDRESS register with the new PC. - */ - this.stop(); - - /* - * Going through the normal channels (ie, the Computer's updateDisplays() interface) ensures that - * ALL updateDisplay() handlers will be called, including ours. - * - * NOTE: If we used the Debugger's stepCPU() function, then that includes a call to updateDisplay(); - * unfortunately, it will have happened BEFORE we called stop() to update the ADDRESS register, so - * we still need to call it again. - */ - if (this.cmp) this.cmp.updateDisplays(); - } - else { - this.cpu.startCPU(); - } - } -}; - -/** - * processDeposit(value, index) - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processDeposit = function(value, index) -{ - if (value && !this.cpu.isRunning()) { - if (this.fDeposit) this.advanceAddr(); - var w = this.updateData(this.regSwitches); - if (this.nAddrSel == PanelPDP11.ADDRSEL.CONS_PHY) { - /* - * TODO: Determine if this needs to take the UNIBUS map into consideration. - */ - this.bus.setWordDirect(this.regAddr, w); - } else { - /* - * TODO: This code is obviously incomplete, since it doesn't take into account the precise ADDRSEL mode. - */ - this.cpu.setWordSafe(this.regAddr, w); - } - } -}; - -/** - * processExamine(value, index) - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processExamine = function(value, index) -{ - if (!value && !this.cpu.isRunning()) { - var w; - if (this.fExamine) this.advanceAddr(); - if (this.nAddrSel == PanelPDP11.ADDRSEL.CONS_PHY) { - /* - * TODO: Determine if this needs to take the UNIBUS map into consideration. - */ - w = this.bus.getWordDirect(this.regAddr); - } else { - /* - * TODO: This code is obviously incomplete, since it doesn't take into account the precise ADDRSEL mode. - */ - w = this.cpu.getWordSafe(this.regAddr); - } - this.updateData(w); - } -}; - -/** - * processLoadAddr(value, index) - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processLoadAddr = function(value, index) -{ - if (!value && !this.cpu.isRunning()) { - this.updateAddr(this.regSwitches); - } -}; - -/** - * processLEDTest(value, index) - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} [index] - */ -PanelPDP11.prototype.processLEDTest = function(value, index) -{ - if (value) { - this.fLEDTest = true; - this.displayLEDs(true); - } else { - this.fLEDTest = false; - this.displayLEDs(); - /* - * This is another one of my "innovations": when you're done testing the LEDs, all the switches reset as well. - */ - this.setSwitches(0); - } -}; - -/** - * processSwitchReg(value, index) - * - * @this {PanelPDP11} - * @param {number} value (normally 0 or 1, but we only depend on it being zero or non-zero) - * @param {number} index - */ -PanelPDP11.prototype.processSwitchReg = function(value, index) -{ - if (value) { - this.regSwitches |= 1 << index; - } else { - this.regSwitches &= ~(1 << index); - } -}; - -/** - * advanceAddr() - * - * This should also take care of the following Front Panel behaviors when the accessing the general-purpose - * registers: - * - * 1) ADDRESS display incremented by 1 (instead of 2) - * 2) The STEP after the last register is 177700, such that the addresses are looped - * - * A third behavior is NOT emulated: preventing the ADDRESS from stepping to the first General Register (177700) - * from 177676. - * - * @this {PanelPDP11} - * @return {number} - */ -PanelPDP11.prototype.advanceAddr = function() -{ - var nRegs = this.cpu.model < PDP11.MODEL_1145? 8 : 16; - var fGenRegs = (this.regAddr >= PDP11.UNIBUS.R0SET0 /*177700*/ && this.regAddr < PDP11.UNIBUS.R0SET0 + nRegs); - var inc = fGenRegs? 1 : 2; - var mask = fGenRegs? 0xf : this.bus.nBusMask; - if (!this.getSwitch(PanelPDP11.SWITCH.STEP)) inc = -inc; - return this.updateAddr((this.regAddr & ~mask) | ((this.regAddr + inc) & mask)); -}; - -/** - * updateAddr(value) - * - * @this {PanelPDP11} - * @param {number} value - * @return {number} - */ -PanelPDP11.prototype.updateAddr = function(value) -{ - this.regAddr = value & this.bus.nBusMask; - this.updateLEDArray("A", this.regAddr, 22); - return this.regAddr; -}; - -/** - * updateData(value) - * - * @this {PanelPDP11} - * @param {number} value - * @return {number} - */ -PanelPDP11.prototype.updateData = function(value) -{ - this.regData = value & 0xffff; - this.updateLEDArray("D", this.regData, 16); - return this.regData; -}; - -/** - * updateLED(sBinding, value) - * - * @this {PanelPDP11} - * @param {string} sBinding - * @param {number} value - * @return {number} - */ -PanelPDP11.prototype.updateLED = function(sBinding, value) -{ - this.leds[sBinding] = value; - if (!this.fLEDTest) this.displayLED(sBinding, value); - return value; -}; - -/** - * updateLEDArray(sPrefix, value, nLEDs) - * - * @this {PanelPDP11} - * @param {string} sPrefix - * @param {number} value - * @param {number} nLEDs - */ -PanelPDP11.prototype.updateLEDArray = function(sPrefix, value, nLEDs) -{ - for (var i = 0; i < nLEDs; i++) { - var sBinding = sPrefix + i; - this.updateLED(sBinding, value & (1 << i)); - } -}; - -/** - * hasSwitches(value) - * - * @this {PanelPDP11} - * @return {boolean} - */ -PanelPDP11.prototype.hasSwitches = function() -{ - return this.bindings[PanelPDP11.SWITCH.S0] !== undefined; -}; - -/** - * setSwitches(value) - * - * @this {PanelPDP11} - * @param {number} value - */ -PanelPDP11.prototype.setSwitches = function(value) -{ - if (this.hasSwitches()) { - this.regSwitches = value; - for (var i = 0; i < 22; i++) { - this.switches['S'+i][1] = (value & (1 << i))? 1 : 0; - } - this.displaySwitches(); - } -}; - -/** - * stop(ms, nCycles) - * - * This is a notification handler, called by the Computer, to inform us the CPU has now stopped. - * - * @this {PanelPDP11} - * @param {number} [ms] - * @param {number} [nCycles] - */ -PanelPDP11.prototype.stop = function(ms, nCycles) -{ - this.updateAddr(this.cpu.regsGen[7]); -}; - -/** - * setAddr(value, fActive) - * - * This interface is for passing new addresses to the Front Panel. However, whether or not this will become the - * ADDRESS actually displayed will depend on other settings (see updateStatus() for details). - * - * @this {PanelPDP11} - * @param {number} value - * @param {boolean} [fActive] (true if this should become the "active" ADDRESS regardless of other settings) - */ -PanelPDP11.prototype.setAddr = function(value, fActive) -{ - this.regAddr = value; -}; - -/** - * setData(value, fActive) - * - * This interface is for passing new data to the Front Panel. However, whether or not this will become the - * DATA actually displayed will depend on the Front Panel's DATASEL switch setting, as well as the fActive flag. - * - * @this {PanelPDP11} - * @param {number} value - * @param {boolean} [fActive] (true if this should become the "active" DATA regardless of the DATASEL switch setting) - */ -PanelPDP11.prototype.setData = function(value, fActive) -{ - if (!fActive) { - this.regData = value; - } else { - this.regDisplay = value; - } -}; - -/** - * updateDisplay(nUpdate) - * - * Called by the Computer component at intervals to update registers, LEDs, etc. - * - * @this {PanelPDP11} - * @param {number} [nUpdate] (< 0 for forced, > 0 for periodic, 0 otherwise) - */ -PanelPDP11.prototype.updateDisplay = function(nUpdate) -{ - if (this.cLiveRegs) { - - var fRunning = this.cpu.isRunning(); - var fWaiting = this.cpu.isWaiting(); - - if (nUpdate < 0 || !fRunning || this.fDisplayLiveRegs) { - - /* - * We arbitrarily separate the display elements into two categories: cheap and expensive. - * - * LEDs are considered cheap, register displays are not. So we'll skip the latter if this - * is a periodic update AND our periodic update counter hasn't reached the periodic update limit. - */ - if (nUpdate <= 0 || (this.nDisplayCount += nUpdate) >= this.nDisplayLimit) { - for (var i = 0; i < this.cpu.regsGen.length; i++) { - this.displayValue('R'+i, this.cpu.regsGen[i]); - } - var regPSW = this.cpu.getPSW(); - this.displayValue("PS", regPSW); - this.displayValue("NF", (regPSW & PDP11.PSW.NF)? 1 : 0, 1); - this.displayValue("ZF", (regPSW & PDP11.PSW.ZF)? 1 : 0, 1); - this.displayValue("VF", (regPSW & PDP11.PSW.VF)? 1 : 0, 1); - this.displayValue("CF", (regPSW & PDP11.PSW.CF)? 1 : 0, 1); - this.nDisplayCount = 0; - } - - /* - * Update the ADDRESS and DATA LEDs by selecting the appropriate values - * - * TODO: There is currently no mechanism for selecting regData over regDisplay; - * we are acting as if the DATASEL switch setting is locked to "DISPLAY REGISTER". - */ - this.updateAddr(nUpdate > 0 && fRunning && !fWaiting? this.cpu.getLastAddr() : this.regAddr); - this.updateData(this.regDisplay); - - var bits = this.cpu.getMMUState(); - /* - * Bit 0 set if 22-bit, bit 1 set if 18-bit, bit 2 set if 16-bit - */ - this.updateLED(PanelPDP11.LED.B22, bits & 1); - this.updateLED(PanelPDP11.LED.B18, bits & 2); - this.updateLED(PanelPDP11.LED.B16, bits & 4); - } - } -}; - -/** - * readCNSW(addr, fPreWrite) - * - * If fPreWrite, this is a read-before-write, so we must return the DISPLAY register (ie, regDisplay); - * otherwise, this a normal read, so we should return the SWITCH register (ie, regSwitches). - * - * - * @this {PanelPDP11} - * @param {number} addr (eg, PDP11.UNIBUS.CNSW or 177570) - * @param {boolean} [fPreWrite] - * @return {number} - */ -PanelPDP11.prototype.readCNSW = function(addr, fPreWrite) -{ - return (fPreWrite? this.regDisplay : this.regSwitches) & 0xffff; -}; - -/** - * writeCNSW(value, addr) - * - * Handles writes to the DISPLAY register (ie, regDisplay). - * - * @this {PanelPDP11} - * @param {number} value - * @param {number} addr (eg, PDP11.UNIBUS.CNSW or 177570) - */ -PanelPDP11.prototype.writeCNSW = function(value, addr) -{ - this.regDisplay = value; -}; - PanelPDP11.UNIBUS_IOTABLE = { [PDP11.UNIBUS.CNSW]: /* 177570 */ [null, null, PanelPDP11.prototype.readCNSW, PanelPDP11.prototype.writeCNSW, "CNSW"] }; -/** - * PanelPDP11.init() - * - * This function operates on every HTML element of class "panel", extracting the - * JSON-encoded parameters for the PanelPDP11 constructor from the element's "data-value" - * attribute, invoking the constructor to create a PanelPDP11 component, and then binding - * any associated HTML controls to the new component. - * - * NOTE: Unlike most other component init() functions, this one is designed to be - * called multiple times: once at load time, so that we can bind our print() - * function to the panel's output control ASAP, and again when the Computer component - * is verifying that all components are ready and invoking their powerUp() functions. - * - * Our powerUp() method gives us a second opportunity to notify any components that - * that might care (eg, CPU, Keyboard, and Debugger) that we have some controls they - * might want to use. - */ -PanelPDP11.init = function() -{ - var fReady = false; - var aePanels = Component.getElementsByClass(document, PDP11.APPCLASS, "panel"); - for (var iPanel=0; iPanel < aePanels.length; iPanel++) { - var ePanel = aePanels[iPanel]; - var parmsPanel = Component.getComponentParms(ePanel); - var panel = Component.getComponentByID(parmsPanel['id']); - if (!panel) { - fReady = true; - panel = new PanelPDP11(parmsPanel); - } - Component.bindComponentControls(panel, ePanel, PDP11.APPCLASS); - if (fReady) panel.setReady(); - } -}; - /* * Initialize every Panel module on the page. */ -web.onInit(PanelPDP11.init); +Web.onInit(PanelPDP11.init); -if (NODE) module.exports = PanelPDP11; +export default PanelPDP11; diff --git a/modules/pdp11/lib/pc11.js b/modules/pdp11/lib/pc11.js index 1c09e380c..2e40a129a 100644 --- a/modules/pdp11/lib/pc11.js +++ b/modules/pdp11/lib/pc11.js @@ -28,81 +28,892 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var DumpAPI = require("../../shared/lib/dumpapi"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var MessagesPDP11 = require("./messages"); +import Str from "../../shared/lib/strlib"; +import Web from "../../shared/lib/weblib"; +import DumpAPI from "../../shared/lib/dumpapi"; +import Component from "../../shared/lib/component"; +import State from "../../shared/lib/state"; +import PDP11 from "./defines"; +import MessagesPDP11 from "./messages"; + +class PC11 extends Component { + /** + * PC11(parms) + * + * The PC11 component has the following component-specific (parms) properties: + * + * autoMount: a JSON-encoded object containing 'name' and 'path' properties, describing a + * tape resource to automatically load at startup (only the "load" operation is supported + * for autoMount; if you want to "read" a tape image directly into RAM at startup, you must + * ask the RAM component to do that). + * + * baudReceive: the default number of bits/second that the device should receive data at; + * 0 means use the device default (PDP11.PC11.PRS.BAUD) + * + * baudTransmit: the default number of bits/second that the device should transmit data at; + * 0 means use the device default (PDP11.PC11.PPS.BAUD); currently ignored, since punch + * support isn't implemented yet. + * + * NOTE: Since the XSL file defines the 'baud' properties as numbers, not strings, there's no need to + * use parseInt(), and as an added benefit, we don't need to worry about whether a hex or decimal format + * was used. + * + * @param {Object} parms + */ + constructor(parms) + { + super("PC11", parms, PC11); + + this.sDevice = "PTR"; // TODO: Make the device name configurable + + /* + * We record any 'autoMount' object now, but we no longer parse it until initBus(), because the + * Computer's getMachineParm() service may have an override for us. + */ + this.configMount = this.parseConfig(parms['autoMount']); + this.cAutoMount = 0; + this.nBaudReceive = parms['baudReceive'] || PDP11.PC11.PRS.BAUD; + + this.regPRS = 0; // PRS register + this.regPRB = 0; // PRB register + this.iTapeData = 0; // buffer index + this.aTapeData = []; // buffer for the PRB register + this.sTapeSource = PC11.SOURCE.NONE; + this.nTapeTarget = PC11.TARGET.NONE; + this.sTapeName = this.sTapePath = ""; + + /* + * These next few variables simply keep track of the previous parameters to parseTape(), + * so that we can easily reparse the previous tape as needed. + */ + this.aBytes = this.addrLoad = this.addrExec = null; + + this.nLastPercent = -1; // ensure the first displayProgress() displays something + + /* + * Support for local tape images is currently limited to desktop browsers with FileReader support; + * when this flag is set, setBinding() allows local tape bindings and informs initBus() to update the + * "listTapes" binding accordingly. + */ + this.fLocalTapes = (!Web.isMobile() && window && 'FileReader' in window); + + this.irqReader = null; + this.timerReader = -1; + this.ram = null; + } + + /** + * parseConfig(config) + * + * @this {PC11} + * @param {*} config + * @return {*} + */ + parseConfig(config) + { + if (config && typeof config == "string") { + try { + /* + * The most likely source of any exception will be right here, where we're parsing + * this JSON-encoded data. + */ + config = eval("(" + config + ")"); + } catch (e) { + Component.error(this.type + " auto-mount error: " + e.message + " (" + config + ")"); + config = null; + } + } + return config || {}; + } + + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {PC11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "list", "text", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "listTapes") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + var pc11 = this; + var nTapeTarget = PC11.TARGET.NONE; + + switch (sBinding) { + + case "listTapes": + this.bindings[sBinding] = control; + control.onchange = function onChangeListTapes(event) { + var controlDesc = pc11.bindings["descTape"]; + var controlOption = control.options[control.selectedIndex]; + if (controlDesc && controlOption) { + var dataValue = {}; + var sValue = controlOption.getAttribute("data-value"); + if (sValue) { + try { + dataValue = eval("(" + sValue + ")"); + } catch (e) { + Component.error("PC11 option error: " + e.message); + } + } + var sHTML = dataValue['desc']; + if (sHTML === undefined) sHTML = ""; + var sHRef = dataValue['href']; + if (sHRef !== undefined) sHTML = "" + sHTML + ""; + controlDesc.innerHTML = sHTML; + } + }; + return true; + + case "descTape": + this.bindings[sBinding] = control; + return true; + + /* + * "readTape" operation must do pretty much everything that the "loadTape" does, but whereas the load + * operation records the bytes in aTapeData, the read operation stuffs them directly into the machine's memory; + * the former sets nTapeTarget to TARGET.READER, while the latter sets it to TARGET.MEMORY. + */ + case "readTape": + nTapeTarget = PC11.TARGET.MEMORY; + /* falls through */ + + case "loadTape": + if (!nTapeTarget) nTapeTarget = PC11.TARGET.READER; + this.bindings[sBinding] = control; + control.onclick = function onClickReadTape(event) { + var controlTapes = pc11.bindings["listTapes"]; + if (controlTapes) { + var sTapeName = controlTapes.options[controlTapes.selectedIndex].text; + var sTapePath = controlTapes.value; + pc11.loadSelectedTape(sTapeName, sTapePath, nTapeTarget); + } + }; + return true; + + case "mountTape": + if (!this.fLocalTapes) { + if (DEBUG) this.log("Local tape support not available"); + /* + * We could also simply hide the control; eg: + * + * control.style.display = "none"; + * + * but removing the control altogether seems better. + */ + control.parentNode.removeChild(/** @type {Node} */ (control)); + return false; + } + + this.bindings[sBinding] = control; + + /* + * Enable "Mount" button only if a file is actually selected + */ + control.addEventListener('change', function() { + var fieldset = control.children[0]; + var files = fieldset.children[0].files; + var submit = fieldset.children[1]; + submit.disabled = !files.length; + }); + + control.onsubmit = function(event) { + var file = event.currentTarget[1].files[0]; + if (file) { + var sTapePath = file.name; + var sTapeName = Str.getBaseName(sTapePath, true); + /* + * TODO: Provide a way to mount tapes into MEMORY as well as READER. + */ + pc11.loadSelectedTape(sTapeName, sTapePath, PC11.TARGET.READER, file); + } + /* + * Prevent reloading of web page after form submission + */ + return false; + }; + return true; + + case PC11.BINDING.READ_PROGRESS: + this.bindings[sBinding] = control; + return true; + + default: + break; + } + return false; + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {PC11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.cmp = cmp; + this.bus = bus; + this.cpu = cpu; + this.dbg = dbg; + this.ram = /** @type {RAMPDP11} */ (cmp.getMachineComponent("RAM")); + + var pc11 = this; + + var configMount = this.parseConfig(this.cmp.getMachineParm('autoMount')); + + /* + * Add only devices from the machine-wide autoMount configuration that match devices managed by this component. + */ + if (configMount) { + for (var sDevice in configMount) { + if (sDevice != this.sDevice) continue; + this.configMount[sDevice] = configMount[sDevice]; + } + } + + this.irqReader = this.cpu.addIRQ(PDP11.PC11.RVEC, PDP11.PC11.PRI, MessagesPDP11.PC11); + + this.timerReader = this.cpu.addTimer(function readyReader() { + pc11.advanceReader(); + }); + + bus.addIOTable(this, PC11.UNIBUS_IOTABLE); + bus.addResetHandler(this.reset.bind(this)); + + this.addTape("None", PC11.SOURCE.NONE, true); + if (this.fLocalTapes) this.addTape("Local Tape", PC11.SOURCE.LOCAL); + this.addTape("Remote Tape", PC11.SOURCE.REMOTE); + + if (!this.autoMount()) this.setReady(); + } + + /** + * powerUp(data, fRepower) + * + * @this {PC11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (!fRepower) { + if (!data || !this.restore) { + this.reset(); + } else { + if (!this.restore(data)) return false; + } + } + return true; + } + + /** + * powerDown(fSave, fShutdown) + * + * @this {PC11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure + */ + powerDown(fSave, fShutdown) + { + return fSave? this.save() : true; + } + + /** + * reset() + * + * TODO: Consider making our reset() handler ALSO restore the original loaded tape, in much the same + * way the RAM component now restores the original predefined memory or tape image after resetting the RAM. + * + * @this {PC11} + */ + reset() + { + this.regPRS &= ~PDP11.PC11.PRS.CLEAR; + this.regPRB = 0; + } + + /** + * autoMount(fRemount) + * + * @this {PC11} + * @param {boolean} [fRemount] is true if we're remounting all auto-mounted tapes + * @return {boolean} true if one or more tape images are being auto-mounted, false if none + */ + autoMount(fRemount) + { + if (!fRemount) this.cAutoMount = 0; + var configMount = this.configMount[this.sDevice]; + if (configMount) { + var sTapePath = configMount['path'] || ""; + var sTapeName = configMount['name'] || this.findTape(sTapePath); + if (sTapePath && sTapeName) { + /* + * TODO: Provide a way to autoMount tapes into MEMORY as well as READER. + */ + if (!this.loadTape(sTapeName, sTapePath, PC11.TARGET.READER, true) && fRemount) { + this.setReady(false); + } + } else { + /* + * This likely happened because there was no autoMount setting (or it was overridden with an empty value), + * so just make sure the current selection is set to "None". + */ + this.displayTape(); + } + } + return !!this.cAutoMount; + } + + /** + * loadSelectedTape(sTapeName, sTapePath, nTapeTarget, file) + * + * @this {PC11} + * @param {string} sTapeName + * @param {string} sTapePath + * @param {number} nTapeTarget + * @param {File} [file] is set if there's an associated File object + */ + loadSelectedTape(sTapeName, sTapePath, nTapeTarget, file) + { + if (!sTapePath) { + this.unloadTape(false); + return; + } + + if (sTapePath == PC11.SOURCE.LOCAL) { + this.notice('Use "Choose File" and "Mount" to select and load a local tape.'); + return; + } + + /* + * If the special PC11.SOURCE.REMOTE path is selected, then we want to prompt the user for a URL. + * Oh, and make sure we pass an empty string as the 2nd parameter to prompt(), so that IE won't display + * "undefined" -- because after all, undefined and "undefined" are EXACTLY the same thing, right? + * + * TODO: This is literally all I've done to support remote tape images. There's probably more + * I should do, like dynamically updating "listTapes" to include new entries, and adding new entries + * to the save/restore data. + */ + if (sTapePath == PC11.SOURCE.REMOTE) { + sTapePath = window.prompt("Enter the URL of a remote tape image.", "") || ""; + if (!sTapePath) return; + sTapeName = Str.getBaseName(sTapePath); + this.status("Attempting to load " + sTapePath + " as \"" + sTapeName + "\""); + this.sTapeSource = PC11.SOURCE.REMOTE; + } + else { + this.sTapeSource = sTapePath; + } + + this.loadTape(sTapeName, sTapePath, nTapeTarget, false, file); + } + + /** + * loadTape(sTapeName, sTapePath, nTapeTarget, fAutoMount, file) + * + * NOTE: If sTapePath is already loaded, nothing needs to be done. + * + * @this {PC11} + * @param {string} sTapeName + * @param {string} sTapePath + * @param {number} nTapeTarget + * @param {boolean} [fAutoMount] + * @param {File} [file] is set if there's an associated File object + * @return {number} 1 if tape loaded, 0 if queued up (or busy), -1 if already loaded + */ + loadTape(sTapeName, sTapePath, nTapeTarget, fAutoMount, file) + { + var nResult = -1; + if (this.sTapePath.toLowerCase() != sTapePath.toLowerCase() || this.nTapeTarget != nTapeTarget) { + + nResult++; + this.unloadTape(true); + + if (this.flags.busy) { + this.notice("PC11 busy"); + } + else { + // this.status("tape queued: " + sTapeName); + if (fAutoMount) { + this.cAutoMount++; + if (this.messageEnabled()) this.printMessage("auto-loading tape: " + sTapeName); + } + if (this.load(sTapeName, sTapePath, nTapeTarget, file)) { + nResult++; + } else { + this.flags.busy = true; + } + } + } + if (nResult) { + /* + * Now that we're calling parseTape() again (so that the current tape can either be restarted on + * the reader or reloaded into RAM), we can also rely on it to display an appropriate status message, too. + * + * this.status(this.nTapeTarget == PC11.TARGET.READER? "tape loaded" : "tape read"); + */ + this.parseTape(this.sTapeName, this.sTapePath, this.nTapeTarget, this.aBytes, this.addrLoad, this.addrExec); + } + return nResult; + } + + /** + * load(sTapeName, sTapePath, nTapeTarget, file) + * + * @this {PC11} + * @param {string} sTapeName + * @param {string} sTapePath + * @param {number} nTapeTarget + * @param {File} [file] is set if there's an associated File object + * @return {boolean} true if load completed (successfully or not), false if queued + */ + load(sTapeName, sTapePath, nTapeTarget, file) + { + var pc11 = this; + var sTapeURL = sTapePath; + + if (DEBUG) { + var sMessage = 'load("' + sTapeName + '","' + sTapePath + '")'; + this.printMessage(sMessage); + } + + if (file) { + var reader = new FileReader(); + reader.onload = function doneRead() { + pc11.finishRead(sTapeName, sTapePath, nTapeTarget, reader.result); + }; + reader.readAsArrayBuffer(file); + return true; + } + + /* + * If there's an occurrence of API_ENDPOINT anywhere in the path, we assume we can use it as-is; + * ie, that the user has already formed a URL of the type we use ourselves for unconverted tape images. + */ + if (sTapePath.indexOf(DumpAPI.ENDPOINT) < 0) { + /* + * If the selected tape image has a "json" extension, then we assume it's a pre-converted + * JSON-encoded tape image, so we load it as-is; otherwise, we ask our server-side tape image + * converter to return the corresponding JSON-encoded data. + */ + var sTapeExt = Str.getExtension(sTapePath); + if (sTapeExt == DumpAPI.FORMAT.JSON || sTapeExt == DumpAPI.FORMAT.JSON_GZ) { + sTapeURL = encodeURI(sTapePath); + } else { + var sTapeParm = DumpAPI.QUERY.PATH; + sTapeURL = Web.getHost() + DumpAPI.ENDPOINT + '?' + sTapeParm + '=' + encodeURIComponent(sTapePath) + "&" + DumpAPI.QUERY.FORMAT + "=" + DumpAPI.FORMAT.JSON; + } + } + + return !!Web.getResource(sTapeURL, null, true, function doneLoad(sURL, sResponse, nErrorCode) { + pc11.finishLoad(sTapeName, sTapePath, nTapeTarget, sResponse, sURL, nErrorCode); + }); + } + + /** + * finishLoad(sTapeName, sTapePath, sTapeData, nTapeTarget, sURL, nErrorCode) + * + * @this {PC11} + * @param {string} sTapeName + * @param {string} sTapePath + * @param {string} sTapeData + * @param {number} nTapeTarget + * @param {string} sURL + * @param {number} nErrorCode (response from server if anything other than 200) + */ + finishLoad(sTapeName, sTapePath, nTapeTarget, sTapeData, sURL, nErrorCode) + { + var fPrintOnly = (nErrorCode < 0 && !!this.cmp && !this.cmp.flags.powered); + + if (nErrorCode) { + /* + * This can happen for innocuous reasons, such as the user switching away too quickly, forcing + * the request to be cancelled. And unfortunately, the browser cancels XMLHttpRequest requests + * BEFORE it notifies any page event handlers, so if the Computer's being powered down, we won't know + * that yet. For now, we rely on the lack of a specific error (nErrorCode < 0), and suppress the + * notify() alert if there's no specific error AND the computer is not powered up yet. + */ + this.notice("Unable to load tape \"" + sTapeName + "\" (error " + nErrorCode + ": " + sURL + ")", fPrintOnly); + } + else { + if (DEBUG && this.messageEnabled()) { + this.printMessage('finishLoad("' + sTapePath + '")'); + } + Component.addMachineResource(this.idMachine, sURL, sTapeData); + var resource = Web.parseMemoryResource(sURL, sTapeData); + if (resource) { + this.parseTape(sTapeName, sTapePath, nTapeTarget, resource.aBytes, resource.addrLoad, resource.addrExec); + } + } + this.flags.busy = false; + if (this.cAutoMount) { + this.cAutoMount--; + if (!this.cAutoMount) this.setReady(); + } + this.displayTape(); + } + + /** + * finishRead(sTapeName, sTapePath, nTapeTarget, buffer) + * + * @this {PC11} + * @param {string} sTapeName + * @param {string} sTapePath + * @param {number} nTapeTarget + * @param {?} buffer (we KNOW this is an ArrayBuffer, but we can't seem to convince the Closure Compiler) + */ + finishRead(sTapeName, sTapePath, nTapeTarget, buffer) + { + if (buffer) { + var aBytes = new Uint8Array(buffer, 0, buffer.byteLength); + this.parseTape(sTapeName, sTapePath, nTapeTarget, aBytes); + this.sTapeSource = PC11.SOURCE.LOCAL; + } + this.displayTape(); + } + + /** + * addTape(sName, sPath, fTop) + * + * @this {PC11} + * @param {string} sName + * @param {string} sPath + * @param {boolean} [fTop] (default is bottom) + */ + addTape(sName, sPath, fTop) + { + var controlTapes = this.bindings["listTapes"]; + if (controlTapes && controlTapes.options) { + for (var i = 0; i < controlTapes.options.length; i++) { + if (controlTapes.options[i].value == sPath) return; + } + var controlOption = document.createElement("option"); + controlOption.text = sName; + controlOption.value = sPath; + if (fTop && controlTapes.childNodes[0]) { + controlTapes.insertBefore(controlOption, controlTapes.childNodes[0]); + } else { + controlTapes.appendChild(controlOption); + } + } + } + + /** + * findTape(sPath) + * + * This is used to deal with mount requests (eg, autoMount) that supply a path without a name; + * if we can find the path in the "listTapes" control, then we return the associated tape name. + * + * @this {PC11} + * @param {string} sPath + * @return {string|null} + */ + findTape(sPath) + { + var controlTapes = this.bindings["listTapes"]; + if (controlTapes && controlTapes.options) { + for (var i = 0; i < controlTapes.options.length; i++) { + var control = controlTapes.options[i]; + if (control.value == sPath) return control.text; + } + } + return Str.getBaseName(sPath, true); + } + + /** + * displayTape() + * + * @this {PC11} + */ + displayTape() + { + var controlTapes = this.bindings["listTapes"]; + if (controlTapes && controlTapes.options) { + var sTargetPath = this.sTapeSource || this.sTapePath; + for (var i = 0; i < controlTapes.options.length; i++) { + if (controlTapes.options[i].value == sTargetPath) { + if (controlTapes.selectedIndex != i) { + controlTapes.selectedIndex = i; + } + break; + } + } + if (i == controlTapes.options.length) controlTapes.selectedIndex = 0; + } + } + + /** + * displayProgress(nPercent) + * + * @this {PC11} + * @param {number} nPercent + */ + displayProgress(nPercent) + { + nPercent |= 0; + if (nPercent !== this.nLastPercent) { + var control = this.bindings[PC11.BINDING.READ_PROGRESS]; + if (control) { + var aeControls = Component.getElementsByClass(control, PC11.CSSCLASS.PROGRESS_BAR); + var controlBar = aeControls && aeControls[0]; + if (controlBar && controlBar.style) { + controlBar.style.width = nPercent + "%"; + } + } + this.nLastPercent = nPercent; + } + } + + /** + * parseTape(sTapeName, sTapePath, nTapeTarget, aBytes, addrLoad, addrExec) + * + * @this {PC11} + * @param {string} sTapeName + * @param {string} sTapePath + * @param {number} nTapeTarget + * @param {Array|Uint8Array} aBytes + * @param {number|null} [addrLoad] + * @param {number|null} [addrExec] + */ + parseTape(sTapeName, sTapePath, nTapeTarget, aBytes, addrLoad, addrExec) + { + this.sTapeName = sTapeName; + this.sTapePath = sTapePath; + this.nTapeTarget = nTapeTarget; + this.aBytes = aBytes; + this.addrLoad = addrLoad; + this.addrExec = addrExec; + + if (nTapeTarget == PC11.TARGET.MEMORY) { + /* + * Use the RAM component's loadImage() service to do our dirty work. If the load succeeds, then + * depending on whether there was also exec address, either the CPU will be stopped or the PC wil be + * reset. + * + * NOTE: Some tapes are not in the Absolute Loader format, so if the JSON-encoded tape resource file + * we downloaded didn't ALSO include a load address, the load will fail. + * + * For example, the "Absolute Loader" tape is NOT itself in the Absolute Loader format. You just have + * to know that in order to load that tape, you must first load the appropriate "Bootstrap Loader" (which + * DOES include its own hard-coded load address), load the "Absolute Loader" tape, and then run the + * "Bootstrap Loader". + */ + if (!this.ram || !this.ram.loadImage(aBytes, addrLoad, addrExec, null, false)) { + /* + * This doesn't seem to serve any purpose, other than to be annoying, because perhaps you accidentally + * clicked "Read" instead of "Load".... + * + * this.sTapeName = ""; + * this.sTapePath = ""; + * this.sTapeSource = PC11.SOURCE.NONE; + * this.nTapeTarget = PC11.TARGET.NONE; + */ + this.notice('No valid memory address for tape "' + sTapeName + '"'); + return; + } + this.status('Read tape "' + sTapeName + '"'); + return; + } + this.iTapeData = 0; + this.aTapeData = aBytes; + this.status('Loaded tape "' + sTapeName + '"'); + this.displayProgress(0); + } + + /** + * unloadTape(fLoading) + * + * @this {PC11} + * @param {boolean} [fLoading] + */ + unloadTape(fLoading) + { + if (this.sTapePath || fLoading === false) { + this.sTapeName = ""; + this.sTapePath = ""; + /* + * Avoid any unnecessary hysteresis regarding the display if this unload is merely a prelude to another load. + */ + if (!fLoading) { + if (this.nTapeTarget) this.status(this.nTapeTarget == PC11.TARGET.READER? "tape detached" : "tape unloaded"); + this.sTapeSource = PC11.SOURCE.NONE; + this.nTapeTarget = PC11.TARGET.NONE; + this.displayTape(); + } + } + } + + /** + * save() + * + * This implements save support for the PC11 component. + * + * @this {PC11} + * @return {Object} + */ + save() + { + var state = new State(this); + return state.data(); + } + + /** + * restore(data) + * + * This implements restore support for the PC11 component. + * + * @this {PC11} + * @param {Object} data + * @return {boolean} true if successful, false if failure + */ + restore(data) + { + return true; + } + + /** + * getBaudTimeout(nBaud) + * + * Based on the selected baud rate (nBaud), convert that rate into a millisecond delay. + * + * @this {PC11} + * @param {number} nBaud + * @return {number} (number of milliseconds per byte) + */ + getBaudTimeout(nBaud) + { + /* + * TODO: Do a better job computing this, based on actual numbers of start, stop and parity bits, + * instead of hard-coding the total number of bits per byte to 10. + */ + var nBytesPerSecond = Math.round(nBaud / 10); + return 1000 / nBytesPerSecond; + } + + /** + * advanceReader() + * + * If the reader is enabled (RE is set) and there is no exceptional condition (ie, ERROR is set), + * and if the buffer register is empty (DONE is clear), then if we have more data in our internal buffer, + * store it in the buffer register, and optionally trigger an interrupt if device interrupts are enabled. + * + * @this {PC11} + */ + advanceReader() + { + if ((this.regPRS & (PDP11.PC11.PRS.RE | PDP11.PC11.PRS.ERROR)) == PDP11.PC11.PRS.RE) { + if (!(this.regPRS & PDP11.PC11.PRS.DONE)) { + if (this.iTapeData < this.aTapeData.length) { + /* + * Here, as elsewhere (eg, the DL11 component), even if I trusted all incoming data + * to be byte values (which I don't), there's also the risk that it could be signed data + * (eg, -128 to 127, instead of 0 to 255). Both risks are good reasons to always mask + * the data assigned to PRB with 0xff. + */ + this.regPRB = this.aTapeData[this.iTapeData++] & 0xff; + this.displayProgress(this.iTapeData / this.aTapeData.length * 100); + this.regPRS |= PDP11.PC11.PRS.DONE; + this.regPRS &= ~PDP11.PC11.PRS.BUSY; + if (this.regPRS & PDP11.PC11.PRS.RIE) { + this.cpu.setIRQ(this.irqReader); + } + } + } + } + } + + /** + * readPRS(addr) + * + * NOTE: We use the PRS RMASK to honor the "write-only" behavior of bit 0, the reader enable bit (RE), because + * DEC's tiny Bootstrap Loader (/apps/pdp11/boot/bootstrap/BOOTSTRAP-16KB.lst) repeatedly enables the reader using + * the INC instruction, which causes the PRS to be read, incremented, and written, so if bit 0 isn't always read + * as zero, the INC instruction would clear RE instead of setting it. + * + * @this {PC11} + * @param {number} addr (eg, PDP11.UNIBUS.PRS or 177550) + * @return {number} + */ + readPRS(addr) + { + return this.regPRS & PDP11.PC11.PRS.RMASK; // RMASK honors the "write-only" nature of the RE bit by returning zero on reads + } + + /** + * writePRS(data, addr) + * + * @this {PC11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.PRS or 177550) + */ + writePRS(data, addr) + { + if (data & PDP11.PC11.PRS.RE) { + /* + * From the 1976 Peripherals Handbook, p. 4-378: + * + * Set [RE] to allow the Reader to fetch one character. The setting of this bit clears Done, + * sets Busy, and clears the Reader Buffer (PRB). Operation of this bit is disabled if Error = 1; + * attempting to set it when Error = 1 will cause an immediate interrupt if Interrupt Enable = 1. + */ + if (this.regPRS & PDP11.PC11.PRS.ERROR) { + data &= ~PDP11.PC11.PRS.RE; + if (this.regPRS & PDP11.PC11.PRS.RIE) { + this.cpu.setIRQ(this.irqReader); + } + } else { + this.regPRS &= ~PDP11.PC11.PRS.DONE; + this.regPRS |= PDP11.PC11.PRS.BUSY; + this.regPRB = 0; + /* + * The PC11, by virtue of its "high speed", is supposed to deliver characters at 300 CPS, so + * that's the rate we'll choose as well (ie, 1000ms / 300). As an aside, the original "low speed" + * version of the reader ran at 10 CPS. + */ + this.cpu.setTimer(this.timerReader, this.getBaudTimeout(this.nBaudReceive)); + } + } + this.regPRS = (this.regPRS & ~PDP11.PC11.PRS.WMASK) | (data & PDP11.PC11.PRS.WMASK); + } + + /** + * readPRB(addr) + * + * @this {PC11} + * @param {number} addr (eg, PDP11.UNIBUS.PRB or 177552) + * @return {number} + */ + readPRB(addr) + { + /* + * I'm guessing that the DONE and BUSY bits always remain more-or-less inverses of each other. They definitely + * start out that way when writePRS() sets the reader enable (RE) bit, and so that's how we treat them elsewhere, too. + */ + this.regPRS &= ~PDP11.PC11.PRS.DONE; + this.regPRS |= PDP11.PC11.PRS.BUSY; + return this.regPRB; + } + + /** + * writePRB(data, addr) + * + * @this {PC11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.PRB or 177552) + */ + writePRB(data, addr) + { + } } -/** - * PC11(parms) - * - * The PC11 component has the following component-specific (parms) properties: - * - * autoMount: a JSON-encoded object containing 'name' and 'path' properties, describing a - * tape resource to automatically load at startup (only the "load" operation is supported - * for autoMount; if you want to "read" a tape image directly into RAM at startup, you must - * ask the RAM component to do that). - * - * baudReceive: the default number of bits/second that the device should receive data at; - * 0 means use the device default (PDP11.PC11.PRS.BAUD) - * - * baudTransmit: the default number of bits/second that the device should transmit data at; - * 0 means use the device default (PDP11.PC11.PPS.BAUD); currently ignored, since punch - * support isn't implemented yet. - * - * NOTE: Since the XSL file defines the 'baud' properties as numbers, not strings, there's no need to - * use parseInt(), and as an added benefit, we don't need to worry about whether a hex or decimal format - * was used. - * - * @constructor - * @extends Component - * @param {Object} parms - */ -function PC11(parms) -{ - Component.call(this, "PC11", parms, PC11); - - this.sDevice = "PTR"; // TODO: Make the device name configurable - - /* - * We record any 'autoMount' object now, but we no longer parse it until initBus(), because the - * Computer's getMachineParm() service may have an override for us. - */ - this.configMount = this.parseConfig(parms['autoMount']); - this.cAutoMount = 0; - this.nBaudReceive = parms['baudReceive'] || PDP11.PC11.PRS.BAUD; - - this.regPRS = 0; // PRS register - this.regPRB = 0; // PRB register - this.iTapeData = 0; // buffer index - this.aTapeData = []; // buffer for the PRB register - this.sTapeSource = PC11.SOURCE.NONE; - this.nTapeTarget = PC11.TARGET.NONE; - this.sTapeName = this.sTapePath = ""; - - /* - * These next few variables simply keep track of the previous parameters to parseTape(), - * so that we can easily reparse the previous tape as needed. - */ - this.aBytes = this.addrLoad = this.addrExec = null; - - this.nLastPercent = -1; // ensure the first displayProgress() displays something - - /* - * Support for local tape images is currently limited to desktop browsers with FileReader support; - * when this flag is set, setBinding() allows local tape bindings and informs initBus() to update the - * "listTapes" binding accordingly. - */ - this.fLocalTapes = (!web.isMobile() && window && 'FileReader' in window); -} - -Component.subclass(PC11); - /* * There's nothing super special about these values, except that NONE should be falsey and the others should not. */ @@ -126,817 +937,6 @@ PC11.CSSCLASS = { PROGRESS_BAR: PDP11.CSSCLASS + "-progress-bar" }; -/** - * parseConfig(config) - * - * @this {PC11} - * @param {*} config - * @return {*} - */ -PC11.prototype.parseConfig = function(config) -{ - if (config && typeof config == "string") { - try { - /* - * The most likely source of any exception will be right here, where we're parsing - * this JSON-encoded data. - */ - config = eval("(" + config + ")"); - } catch (e) { - Component.error(this.type + " auto-mount error: " + e.message + " (" + config + ")"); - config = null; - } - } - return config || {}; -}; - -/** - * setBinding(sType, sBinding, control, sValue) - * - * @this {PC11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "list", "text", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "listTapes") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ -PC11.prototype.setBinding = function(sType, sBinding, control, sValue) -{ - var pc11 = this; - var nTapeTarget = PC11.TARGET.NONE; - - switch (sBinding) { - - case "listTapes": - this.bindings[sBinding] = control; - control.onchange = function onChangeListTapes(event) { - var controlDesc = pc11.bindings["descTape"]; - var controlOption = control.options[control.selectedIndex]; - if (controlDesc && controlOption) { - var dataValue = {}; - var sValue = controlOption.getAttribute("data-value"); - if (sValue) { - try { - dataValue = eval("(" + sValue + ")"); - } catch (e) { - Component.error("PC11 option error: " + e.message); - } - } - var sHTML = dataValue['desc']; - if (sHTML === undefined) sHTML = ""; - var sHRef = dataValue['href']; - if (sHRef !== undefined) sHTML = "" + sHTML + ""; - controlDesc.innerHTML = sHTML; - } - }; - return true; - - case "descTape": - this.bindings[sBinding] = control; - return true; - - /* - * "readTape" operation must do pretty much everything that the "loadTape" does, but whereas the load - * operation records the bytes in aTapeData, the read operation stuffs them directly into the machine's memory; - * the former sets nTapeTarget to TARGET.READER, while the latter sets it to TARGET.MEMORY. - */ - case "readTape": - nTapeTarget = PC11.TARGET.MEMORY; - /* falls through */ - - case "loadTape": - if (!nTapeTarget) nTapeTarget = PC11.TARGET.READER; - this.bindings[sBinding] = control; - control.onclick = function onClickReadTape(event) { - var controlTapes = pc11.bindings["listTapes"]; - if (controlTapes) { - var sTapeName = controlTapes.options[controlTapes.selectedIndex].text; - var sTapePath = controlTapes.value; - pc11.loadSelectedTape(sTapeName, sTapePath, nTapeTarget); - } - }; - return true; - - case "mountTape": - if (!this.fLocalTapes) { - if (DEBUG) this.log("Local tape support not available"); - /* - * We could also simply hide the control; eg: - * - * control.style.display = "none"; - * - * but removing the control altogether seems better. - */ - control.parentNode.removeChild(/** @type {Node} */ (control)); - return false; - } - - this.bindings[sBinding] = control; - - /* - * Enable "Mount" button only if a file is actually selected - */ - control.addEventListener('change', function() { - var fieldset = control.children[0]; - var files = fieldset.children[0].files; - var submit = fieldset.children[1]; - submit.disabled = !files.length; - }); - - control.onsubmit = function(event) { - var file = event.currentTarget[1].files[0]; - if (file) { - var sTapePath = file.name; - var sTapeName = str.getBaseName(sTapePath, true); - /* - * TODO: Provide a way to mount tapes into MEMORY as well as READER. - */ - pc11.loadSelectedTape(sTapeName, sTapePath, PC11.TARGET.READER, file); - } - /* - * Prevent reloading of web page after form submission - */ - return false; - }; - return true; - - case PC11.BINDING.READ_PROGRESS: - this.bindings[sBinding] = control; - return true; - - default: - break; - } - return false; -}; - -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {PC11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -PC11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.cmp = cmp; - this.bus = bus; - this.cpu = cpu; - this.dbg = dbg; - this.ram = cmp.getMachineComponent("RAM"); - - var pc11 = this; - - var configMount = this.parseConfig(this.cmp.getMachineParm('autoMount')); - - /* - * Add only devices from the machine-wide autoMount configuration that match devices managed by this component. - */ - if (configMount) { - for (var sDevice in configMount) { - if (sDevice != this.sDevice) continue; - this.configMount[sDevice] = configMount[sDevice]; - } - } - - this.irqReader = this.cpu.addIRQ(PDP11.PC11.RVEC, PDP11.PC11.PRI, MessagesPDP11.PC11); - - this.timerReader = this.cpu.addTimer(function readyReader() { - pc11.advanceReader(); - }); - - bus.addIOTable(this, PC11.UNIBUS_IOTABLE); - bus.addResetHandler(this.reset.bind(this)); - - this.addTape("None", PC11.SOURCE.NONE, true); - if (this.fLocalTapes) this.addTape("Local Tape", PC11.SOURCE.LOCAL); - this.addTape("Remote Tape", PC11.SOURCE.REMOTE); - - if (!this.autoMount()) this.setReady(); -}; - -/** - * powerUp(data, fRepower) - * - * @this {PC11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -PC11.prototype.powerUp = function(data, fRepower) -{ - if (!fRepower) { - if (!data || !this.restore) { - this.reset(); - } else { - if (!this.restore(data)) return false; - } - } - return true; -}; - -/** - * powerDown(fSave, fShutdown) - * - * @this {PC11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure - */ -PC11.prototype.powerDown = function(fSave, fShutdown) -{ - return fSave? this.save() : true; -}; - -/** - * reset() - * - * TODO: Consider making our reset() handler ALSO restore the original loaded tape, in much the same - * way the RAM component now restores the original predefined memory or tape image after resetting the RAM. - * - * @this {PC11} - */ -PC11.prototype.reset = function() -{ - this.regPRS &= ~PDP11.PC11.PRS.CLEAR; - this.regPRB = 0; -}; - -/** - * autoMount(fRemount) - * - * @this {PC11} - * @param {boolean} [fRemount] is true if we're remounting all auto-mounted tapes - * @return {boolean} true if one or more tape images are being auto-mounted, false if none - */ -PC11.prototype.autoMount = function(fRemount) -{ - if (!fRemount) this.cAutoMount = 0; - var configMount = this.configMount[this.sDevice]; - if (configMount) { - var sTapePath = configMount['path'] || ""; - var sTapeName = configMount['name'] || this.findTape(sTapePath); - if (sTapePath && sTapeName) { - /* - * TODO: Provide a way to autoMount tapes into MEMORY as well as READER. - */ - if (!this.loadTape(sTapeName, sTapePath, PC11.TARGET.READER, true) && fRemount) { - this.setReady(false); - } - } else { - /* - * This likely happened because there was no autoMount setting (or it was overridden with an empty value), - * so just make sure the current selection is set to "None". - */ - this.displayTape(); - } - } - return !!this.cAutoMount; -}; - -/** - * loadSelectedTape(sTapeName, sTapePath, nTapeTarget, file) - * - * @this {PC11} - * @param {string} sTapeName - * @param {string} sTapePath - * @param {number} nTapeTarget - * @param {File} [file] is set if there's an associated File object - */ -PC11.prototype.loadSelectedTape = function(sTapeName, sTapePath, nTapeTarget, file) -{ - if (!sTapePath) { - this.unloadTape(false); - return; - } - - if (sTapePath == PC11.SOURCE.LOCAL) { - this.notice('Use "Choose File" and "Mount" to select and load a local tape.'); - return; - } - - /* - * If the special PC11.SOURCE.REMOTE path is selected, then we want to prompt the user for a URL. - * Oh, and make sure we pass an empty string as the 2nd parameter to prompt(), so that IE won't display - * "undefined" -- because after all, undefined and "undefined" are EXACTLY the same thing, right? - * - * TODO: This is literally all I've done to support remote tape images. There's probably more - * I should do, like dynamically updating "listTapes" to include new entries, and adding new entries - * to the save/restore data. - */ - if (sTapePath == PC11.SOURCE.REMOTE) { - sTapePath = window.prompt("Enter the URL of a remote tape image.", "") || ""; - if (!sTapePath) return; - sTapeName = str.getBaseName(sTapePath); - this.status("Attempting to load " + sTapePath + " as \"" + sTapeName + "\""); - this.sTapeSource = PC11.SOURCE.REMOTE; - } - else { - this.sTapeSource = sTapePath; - } - - this.loadTape(sTapeName, sTapePath, nTapeTarget, false, file); -}; - -/** - * loadTape(sTapeName, sTapePath, nTapeTarget, fAutoMount, file) - * - * NOTE: If sTapePath is already loaded, nothing needs to be done. - * - * @this {PC11} - * @param {string} sTapeName - * @param {string} sTapePath - * @param {number} nTapeTarget - * @param {boolean} [fAutoMount] - * @param {File} [file] is set if there's an associated File object - * @return {number} 1 if tape loaded, 0 if queued up (or busy), -1 if already loaded - */ -PC11.prototype.loadTape = function(sTapeName, sTapePath, nTapeTarget, fAutoMount, file) -{ - var nResult = -1; - if (this.sTapePath.toLowerCase() != sTapePath.toLowerCase() || this.nTapeTarget != nTapeTarget) { - - nResult++; - this.unloadTape(true); - - if (this.flags.busy) { - this.notice("PC11 busy"); - } - else { - // this.status("tape queued: " + sTapeName); - if (fAutoMount) { - this.cAutoMount++; - if (this.messageEnabled()) this.printMessage("auto-loading tape: " + sTapeName); - } - if (this.load(sTapeName, sTapePath, nTapeTarget, file)) { - nResult++; - } else { - this.flags.busy = true; - } - } - } - if (nResult) { - /* - * Now that we're calling parseTape() again (so that the current tape can either be restarted on - * the reader or reloaded into RAM), we can also rely on it to display an appropriate status message, too. - * - * this.status(this.nTapeTarget == PC11.TARGET.READER? "tape loaded" : "tape read"); - */ - this.parseTape(this.sTapeName, this.sTapePath, this.nTapeTarget, this.aBytes, this.addrLoad, this.addrExec); - } - return nResult; -}; - -/** - * load(sTapeName, sTapePath, nTapeTarget, file) - * - * @this {PC11} - * @param {string} sTapeName - * @param {string} sTapePath - * @param {number} nTapeTarget - * @param {File} [file] is set if there's an associated File object - * @return {boolean} true if load completed (successfully or not), false if queued - */ -PC11.prototype.load = function(sTapeName, sTapePath, nTapeTarget, file) -{ - var pc11 = this; - var sTapeURL = sTapePath; - - if (DEBUG) { - var sMessage = 'load("' + sTapeName + '","' + sTapePath + '")'; - this.printMessage(sMessage); - } - - if (file) { - var reader = new FileReader(); - reader.onload = function doneRead() { - pc11.finishRead(sTapeName, sTapePath, nTapeTarget, reader.result); - }; - reader.readAsArrayBuffer(file); - return true; - } - - /* - * If there's an occurrence of API_ENDPOINT anywhere in the path, we assume we can use it as-is; - * ie, that the user has already formed a URL of the type we use ourselves for unconverted tape images. - */ - if (sTapePath.indexOf(DumpAPI.ENDPOINT) < 0) { - /* - * If the selected tape image has a "json" extension, then we assume it's a pre-converted - * JSON-encoded tape image, so we load it as-is; otherwise, we ask our server-side tape image - * converter to return the corresponding JSON-encoded data. - */ - var sTapeExt = str.getExtension(sTapePath); - if (sTapeExt == DumpAPI.FORMAT.JSON || sTapeExt == DumpAPI.FORMAT.JSON_GZ) { - sTapeURL = encodeURI(sTapePath); - } else { - var sTapeParm = DumpAPI.QUERY.PATH; - sTapeURL = web.getHost() + DumpAPI.ENDPOINT + '?' + sTapeParm + '=' + encodeURIComponent(sTapePath) + "&" + DumpAPI.QUERY.FORMAT + "=" + DumpAPI.FORMAT.JSON; - } - } - - return !!web.getResource(sTapeURL, null, true, function doneLoad(sURL, sResponse, nErrorCode) { - pc11.finishLoad(sTapeName, sTapePath, nTapeTarget, sResponse, sURL, nErrorCode); - }); -}; - -/** - * finishLoad(sTapeName, sTapePath, sTapeData, nTapeTarget, sURL, nErrorCode) - * - * @this {PC11} - * @param {string} sTapeName - * @param {string} sTapePath - * @param {string} sTapeData - * @param {number} nTapeTarget - * @param {string} sURL - * @param {number} nErrorCode (response from server if anything other than 200) - */ -PC11.prototype.finishLoad = function(sTapeName, sTapePath, nTapeTarget, sTapeData, sURL, nErrorCode) -{ - var fPrintOnly = (nErrorCode < 0 && this.cmp && !this.cmp.flags.powered); - - if (nErrorCode) { - /* - * This can happen for innocuous reasons, such as the user switching away too quickly, forcing - * the request to be cancelled. And unfortunately, the browser cancels XMLHttpRequest requests - * BEFORE it notifies any page event handlers, so if the Computer's being powered down, we won't know - * that yet. For now, we rely on the lack of a specific error (nErrorCode < 0), and suppress the - * notify() alert if there's no specific error AND the computer is not powered up yet. - */ - this.notice("Unable to load tape \"" + sTapeName + "\" (error " + nErrorCode + ": " + sURL + ")", fPrintOnly); - } - else { - if (DEBUG && this.messageEnabled()) { - this.printMessage('finishLoad("' + sTapePath + '")'); - } - Component.addMachineResource(this.idMachine, sURL, sTapeData); - var resource = web.parseMemoryResource(sURL, sTapeData); - if (resource) { - this.parseTape(sTapeName, sTapePath, nTapeTarget, resource.aBytes, resource.addrLoad, resource.addrExec); - } - } - this.flags.busy = false; - if (this.cAutoMount) { - this.cAutoMount--; - if (!this.cAutoMount) this.setReady(); - } - this.displayTape(); -}; - -/** - * finishRead(sTapeName, sTapePath, nTapeTarget, buffer) - * - * @this {PC11} - * @param {string} sTapeName - * @param {string} sTapePath - * @param {number} nTapeTarget - * @param {?} buffer (we KNOW this is an ArrayBuffer, but we can't seem to convince the Closure Compiler) - */ -PC11.prototype.finishRead = function(sTapeName, sTapePath, nTapeTarget, buffer) -{ - if (buffer) { - var aBytes = new Uint8Array(buffer, 0, buffer.byteLength); - this.parseTape(sTapeName, sTapePath, nTapeTarget, aBytes); - this.sTapeSource = PC11.SOURCE.LOCAL; - } - this.displayTape(); -}; - -/** - * addTape(sName, sPath, fTop) - * - * @this {PC11} - * @param {string} sName - * @param {string} sPath - * @param {boolean} [fTop] (default is bottom) - */ -PC11.prototype.addTape = function(sName, sPath, fTop) -{ - var controlTapes = this.bindings["listTapes"]; - if (controlTapes && controlTapes.options) { - for (var i = 0; i < controlTapes.options.length; i++) { - if (controlTapes.options[i].value == sPath) return; - } - var controlOption = document.createElement("option"); - controlOption.text = sName; - controlOption.value = sPath; - if (fTop && controlTapes.childNodes[0]) { - controlTapes.insertBefore(controlOption, controlTapes.childNodes[0]); - } else { - controlTapes.appendChild(controlOption); - } - } -}; - -/** - * findTape(sPath) - * - * This is used to deal with mount requests (eg, autoMount) that supply a path without a name; - * if we can find the path in the "listTapes" control, then we return the associated tape name. - * - * @this {PC11} - * @param {string} sPath - * @return {string|null} - */ -PC11.prototype.findTape = function(sPath) -{ - var controlTapes = this.bindings["listTapes"]; - if (controlTapes && controlTapes.options) { - for (var i = 0; i < controlTapes.options.length; i++) { - var control = controlTapes.options[i]; - if (control.value == sPath) return control.text; - } - } - return str.getBaseName(sPath, true); -}; - -/** - * displayTape() - * - * @this {PC11} - */ -PC11.prototype.displayTape = function() -{ - var controlTapes = this.bindings["listTapes"]; - if (controlTapes && controlTapes.options) { - var sTargetPath = this.sTapeSource || this.sTapePath; - for (var i = 0; i < controlTapes.options.length; i++) { - if (controlTapes.options[i].value == sTargetPath) { - if (controlTapes.selectedIndex != i) { - controlTapes.selectedIndex = i; - } - break; - } - } - if (i == controlTapes.options.length) controlTapes.selectedIndex = 0; - } -}; - -/** - * displayProgress(nPercent) - * - * @this {PC11} - * @param {number} nPercent - */ -PC11.prototype.displayProgress = function(nPercent) -{ - nPercent |= 0; - if (nPercent !== this.nLastPercent) { - var control = this.bindings[PC11.BINDING.READ_PROGRESS]; - if (control) { - var aeControls = Component.getElementsByClass(control, PC11.CSSCLASS.PROGRESS_BAR); - var controlBar = aeControls && aeControls[0]; - if (controlBar && controlBar.style) { - controlBar.style.width = nPercent + "%"; - } - } - this.nLastPercent = nPercent; - } -}; - -/** - * parseTape(sTapeName, sTapePath, nTapeTarget, aBytes, addrLoad, addrExec) - * - * @this {PC11} - * @param {string} sTapeName - * @param {string} sTapePath - * @param {number} nTapeTarget - * @param {Array|Uint8Array} aBytes - * @param {number|null} [addrLoad] - * @param {number|null} [addrExec] - */ -PC11.prototype.parseTape = function(sTapeName, sTapePath, nTapeTarget, aBytes, addrLoad, addrExec) -{ - this.sTapeName = sTapeName; - this.sTapePath = sTapePath; - this.nTapeTarget = nTapeTarget; - this.aBytes = aBytes; - this.addrLoad = addrLoad; - this.addrExec = addrExec; - - if (nTapeTarget == PC11.TARGET.MEMORY) { - /* - * Use the RAM component's loadImage() service to do our dirty work. If the load succeeds, then - * depending on whether there was also exec address, either the CPU will be stopped or the PC wil be - * reset. - * - * NOTE: Some tapes are not in the Absolute Loader format, so if the JSON-encoded tape resource file - * we downloaded didn't ALSO include a load address, the load will fail. - * - * For example, the "Absolute Loader" tape is NOT itself in the Absolute Loader format. You just have - * to know that in order to load that tape, you must first load the appropriate "Bootstrap Loader" (which - * DOES include its own hard-coded load address), load the "Absolute Loader" tape, and then run the - * "Bootstrap Loader". - */ - if (!this.ram || !this.ram.loadImage(aBytes, addrLoad, addrExec, null, false)) { - /* - * This doesn't seem to serve any purpose, other than to be annoying, because perhaps you accidentally - * clicked "Read" instead of "Load".... - * - * this.sTapeName = ""; - * this.sTapePath = ""; - * this.sTapeSource = PC11.SOURCE.NONE; - * this.nTapeTarget = PC11.TARGET.NONE; - */ - this.notice('No valid memory address for tape "' + sTapeName + '"'); - return; - } - this.status('Read tape "' + sTapeName + '"'); - return; - } - this.iTapeData = 0; - this.aTapeData = aBytes; - this.status('Loaded tape "' + sTapeName + '"'); - this.displayProgress(0); -}; - -/** - * unloadTape(fLoading) - * - * @this {PC11} - * @param {boolean} [fLoading] - */ -PC11.prototype.unloadTape = function(fLoading) -{ - if (this.sTapePath || fLoading === false) { - this.sTapeName = ""; - this.sTapePath = ""; - /* - * Avoid any unnecessary hysteresis regarding the display if this unload is merely a prelude to another load. - */ - if (!fLoading) { - if (this.nTapeTarget) this.status(this.nTapeTarget == PC11.TARGET.READER? "tape detached" : "tape unloaded"); - this.sTapeSource = PC11.SOURCE.NONE; - this.nTapeTarget = PC11.TARGET.NONE; - this.displayTape(); - } - } -}; - -/** - * save() - * - * This implements save support for the PC11 component. - * - * @this {PC11} - * @return {Object} - */ -PC11.prototype.save = function() -{ - var state = new State(this); - return state.data(); -}; - -/** - * restore(data) - * - * This implements restore support for the PC11 component. - * - * @this {PC11} - * @param {Object} data - * @return {boolean} true if successful, false if failure - */ -PC11.prototype.restore = function(data) -{ - return true; -}; - -/** - * getBaudTimeout(nBaud) - * - * Based on the selected baud rate (nBaud), convert that rate into a millisecond delay. - * - * @this {PC11} - * @param {number} nBaud - * @return {number} (number of milliseconds per byte) - */ -PC11.prototype.getBaudTimeout = function(nBaud) -{ - /* - * TODO: Do a better job computing this, based on actual numbers of start, stop and parity bits, - * instead of hard-coding the total number of bits per byte to 10. - */ - var nBytesPerSecond = Math.round(nBaud / 10); - return 1000 / nBytesPerSecond; -}; - -/** - * advanceReader() - * - * If the reader is enabled (RE is set) and there is no exceptional condition (ie, ERROR is set), - * and if the buffer register is empty (DONE is clear), then if we have more data in our internal buffer, - * store it in the buffer register, and optionally trigger an interrupt if device interrupts are enabled. - * - * @this {PC11} - */ -PC11.prototype.advanceReader = function() -{ - if ((this.regPRS & (PDP11.PC11.PRS.RE | PDP11.PC11.PRS.ERROR)) == PDP11.PC11.PRS.RE) { - if (!(this.regPRS & PDP11.PC11.PRS.DONE)) { - if (this.iTapeData < this.aTapeData.length) { - /* - * Here, as elsewhere (eg, the DL11 component), even if I trusted all incoming data - * to be byte values (which I don't), there's also the risk that it could be signed data - * (eg, -128 to 127, instead of 0 to 255). Both risks are good reasons to always mask - * the data assigned to PRB with 0xff. - */ - this.regPRB = this.aTapeData[this.iTapeData++] & 0xff; - this.displayProgress(this.iTapeData / this.aTapeData.length * 100); - this.regPRS |= PDP11.PC11.PRS.DONE; - this.regPRS &= ~PDP11.PC11.PRS.BUSY; - if (this.regPRS & PDP11.PC11.PRS.RIE) { - this.cpu.setIRQ(this.irqReader); - } - } - } - } -}; - -/** - * readPRS(addr) - * - * NOTE: We use the PRS RMASK to honor the "write-only" behavior of bit 0, the reader enable bit (RE), because - * DEC's tiny Bootstrap Loader (/apps/pdp11/boot/bootstrap/BOOTSTRAP-16KB.lst) repeatedly enables the reader using - * the INC instruction, which causes the PRS to be read, incremented, and written, so if bit 0 isn't always read - * as zero, the INC instruction would clear RE instead of setting it. - * - * @this {PC11} - * @param {number} addr (eg, PDP11.UNIBUS.PRS or 177550) - * @return {number} - */ -PC11.prototype.readPRS = function(addr) -{ - return this.regPRS & PDP11.PC11.PRS.RMASK; // RMASK honors the "write-only" nature of the RE bit by returning zero on reads -}; - -/** - * writePRS(data, addr) - * - * @this {PC11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.PRS or 177550) - */ -PC11.prototype.writePRS = function(data, addr) -{ - if (data & PDP11.PC11.PRS.RE) { - /* - * From the 1976 Peripherals Handbook, p. 4-378: - * - * Set [RE] to allow the Reader to fetch one character. The setting of this bit clears Done, - * sets Busy, and clears the Reader Buffer (PRB). Operation of this bit is disabled if Error = 1; - * attempting to set it when Error = 1 will cause an immediate interrupt if Interrupt Enable = 1. - */ - if (this.regPRS & PDP11.PC11.PRS.ERROR) { - data &= ~PDP11.PC11.PRS.RE; - if (this.regPRS & PDP11.PC11.PRS.RIE) { - this.cpu.setIRQ(this.irqReader); - } - } else { - this.regPRS &= ~PDP11.PC11.PRS.DONE; - this.regPRS |= PDP11.PC11.PRS.BUSY; - this.regPRB = 0; - /* - * The PC11, by virtue of its "high speed", is supposed to deliver characters at 300 CPS, so - * that's the rate we'll choose as well (ie, 1000ms / 300). As an aside, the original "low speed" - * version of the reader ran at 10 CPS. - */ - this.cpu.setTimer(this.timerReader, this.getBaudTimeout(this.nBaudReceive)); - } - } - this.regPRS = (this.regPRS & ~PDP11.PC11.PRS.WMASK) | (data & PDP11.PC11.PRS.WMASK); -}; - -/** - * readPRB(addr) - * - * @this {PC11} - * @param {number} addr (eg, PDP11.UNIBUS.PRB or 177552) - * @return {number} - */ -PC11.prototype.readPRB = function(addr) -{ - /* - * I'm guessing that the DONE and BUSY bits always remain more-or-less inverses of each other. They definitely - * start out that way when writePRS() sets the reader enable (RE) bit, and so that's how we treat them elsewhere, too. - */ - this.regPRS &= ~PDP11.PC11.PRS.DONE; - this.regPRS |= PDP11.PC11.PRS.BUSY; - return this.regPRB; -}; - -/** - * writePRB(data, addr) - * - * @this {PC11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.PRB or 177552) - */ -PC11.prototype.writePRB = function(data, addr) -{ -}; - /* * ES6 ALERT: As you can see below, I've finally started using computed property names. */ @@ -945,4 +945,4 @@ PC11.UNIBUS_IOTABLE = { [PDP11.UNIBUS.PRB]: /* 177552 */ [null, null, PC11.prototype.readPRB, PC11.prototype.writePRB, "PRB"] }; -if (NODE) module.exports = PC11; +export default PC11; diff --git a/modules/pdp11/lib/ram.js b/modules/pdp11/lib/ram.js index ebdad5a46..861b85750 100644 --- a/modules/pdp11/lib/ram.js +++ b/modules/pdp11/lib/ram.js @@ -32,383 +32,378 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var DumpAPI = require("../../shared/lib/dumpapi"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var MemoryPDP11 = require("./memory"); - var MessagesPDP11 = require("./messages"); -} +import Str from "../../shared/lib/strlib"; +import Web from "../../shared/lib/weblib"; +import DumpAPI from "../../shared/lib/dumpapi"; +import Component from "../../shared/lib/component"; +import PDP11 from "./defines"; +import MemoryPDP11 from "./memory"; +import MessagesPDP11 from "./messages"; -/** - * RAMPDP11(parmsRAM) - * - * The RAMPDP11 component expects the following (parmsRAM) properties: - * - * addr: starting physical address of RAM (default is 0) - * size: amount of RAM, in bytes (default is 0, which means defer to motherboard switch settings) - * file: name of optional data file to load into RAM (default is "") - * load: optional file load address (overrides any load address specified in the data file; default is null) - * exec: optional file exec address (overrides any exec address specified in the data file; default is null) - * - * NOTE: We make a note of the specified size, but no memory is initially allocated for the RAM until the - * Computer component calls powerUp(). - * - * TODO: I seem to recall a PDP-11 diagnostic that failed if total RAM wasn't a multiple of 16Kb; our Bus - * component defaults to a block size that matches BusPDP11.IOPAGE_LENGTH (ie, 8Kb), and we even allow partial - * block allocations, so internally, we don't have that requirement, but for better compatibility, perhaps we - * should display a non-fatal warning if addr or size don't fall on 16Kb boundaries. - * - * @constructor - * @extends Component - * @param {Object} parmsRAM - */ -function RAMPDP11(parmsRAM) -{ - Component.call(this, "RAM", parmsRAM, RAMPDP11); +class RAMPDP11 extends Component { + /** + * RAMPDP11(parmsRAM) + * + * The RAMPDP11 component expects the following (parmsRAM) properties: + * + * addr: starting physical address of RAM (default is 0) + * size: amount of RAM, in bytes (default is 0, which means defer to motherboard switch settings) + * file: name of optional data file to load into RAM (default is "") + * load: optional file load address (overrides any load address specified in the data file; default is null) + * exec: optional file exec address (overrides any exec address specified in the data file; default is null) + * + * NOTE: We make a note of the specified size, but no memory is initially allocated for the RAM until the + * Computer component calls powerUp(). + * + * TODO: I seem to recall a PDP-11 diagnostic that failed if total RAM wasn't a multiple of 16Kb; our Bus + * component defaults to a block size that matches BusPDP11.IOPAGE_LENGTH (ie, 8Kb), and we even allow partial + * block allocations, so internally, we don't have that requirement, but for better compatibility, perhaps we + * should display a non-fatal warning if addr or size don't fall on 16Kb boundaries. + * + * @param {Object} parmsRAM + */ + constructor(parmsRAM) + { + super("RAM", parmsRAM, RAMPDP11); - this.abInit = null; - this.aSymbols = null; + this.abInit = null; + this.aSymbols = null; - this.addrRAM = parmsRAM['addr']; - this.sizeRAM = parmsRAM['size']; - this.addrLoad = parmsRAM['load']; - this.addrExec = parmsRAM['exec']; + this.addrRAM = parmsRAM['addr']; + this.sizeRAM = parmsRAM['size']; + this.addrLoad = parmsRAM['load']; + this.addrExec = parmsRAM['exec']; - this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified - this.fAllocated = false; + this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified + this.fAllocated = false; - this.sFilePath = parmsRAM['file']; - this.sFileName = str.getBaseName(this.sFilePath); + this.sFilePath = parmsRAM['file']; + this.sFileName = Str.getBaseName(this.sFilePath); - if (this.sFilePath) { - var sFileURL = this.sFilePath; - if (DEBUG) this.log('load("' + sFileURL + '")'); - /* - * If the selected data file has a ".json" extension, then we assume it's pre-converted - * JSON-encoded data, so we load it as-is; ditto for ROM files with a ".hex" extension. - * Otherwise, we ask our server-side converter to return the file in a JSON-compatible format. - */ - var sFileExt = str.getExtension(this.sFileName); - if (sFileExt != DumpAPI.FORMAT.JSON && sFileExt != DumpAPI.FORMAT.HEX) { - sFileURL = web.getHost() + DumpAPI.ENDPOINT + '?' + DumpAPI.QUERY.FILE + '=' + this.sFilePath + '&' + DumpAPI.QUERY.FORMAT + '=' + DumpAPI.FORMAT.BYTES + '&' + DumpAPI.QUERY.DECIMAL + '=true'; + if (this.sFilePath) { + var sFileURL = this.sFilePath; + if (DEBUG) this.log('load("' + sFileURL + '")'); + /* + * If the selected data file has a ".json" extension, then we assume it's pre-converted + * JSON-encoded data, so we load it as-is; ditto for ROM files with a ".hex" extension. + * Otherwise, we ask our server-side converter to return the file in a JSON-compatible format. + */ + var sFileExt = Str.getExtension(this.sFileName); + if (sFileExt != DumpAPI.FORMAT.JSON && sFileExt != DumpAPI.FORMAT.HEX) { + sFileURL = Web.getHost() + DumpAPI.ENDPOINT + '?' + DumpAPI.QUERY.FILE + '=' + this.sFilePath + '&' + DumpAPI.QUERY.FORMAT + '=' + DumpAPI.FORMAT.BYTES + '&' + DumpAPI.QUERY.DECIMAL + '=true'; + } + var ram = this; + Web.getResource(sFileURL, null, true, function doneLoad(sURL, sResponse, nErrorCode) { + ram.finishLoad(sURL, sResponse, nErrorCode); + }); } - var ram = this; - web.getResource(sFileURL, null, true, function doneLoad(sURL, sResponse, nErrorCode) { - ram.finishLoad(sURL, sResponse, nErrorCode); - }); } -} -Component.subclass(RAMPDP11); + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {RAMPDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.bus = bus; + this.cpu = cpu; + this.dbg = dbg; + this.initRAM(); + } -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {RAMPDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -RAMPDP11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.bus = bus; - this.cpu = cpu; - this.dbg = dbg; - this.initRAM(); -}; - -/** - * powerUp(data, fRepower) - * - * @this {RAMPDP11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -RAMPDP11.prototype.powerUp = function(data, fRepower) -{ - if (this.aSymbols) { - if (this.dbg) { - this.dbg.addSymbols(this.id, this.addrRAM, this.sizeRAM, this.aSymbols); + /** + * powerUp(data, fRepower) + * + * @this {RAMPDP11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (this.aSymbols) { + if (this.dbg) { + this.dbg.addSymbols(this.id, this.addrRAM, this.sizeRAM, this.aSymbols); + } + /* + * Our only role in the handling of symbols is to hand them off to the Debugger at our + * first opportunity. Now that we've done that, our copy of the symbols, if any, are toast. + */ + delete this.aSymbols; } /* - * Our only role in the handling of symbols is to hand them off to the Debugger at our - * first opportunity. Now that we've done that, our copy of the symbols, if any, are toast. + * The Computer powers up the CPU last, at which point CPUState state is restored, + * which includes the Bus state, and since we use the Bus to allocate all our memory, + * memory contents are already restored for us, so we don't need the usual restore + * logic. */ - delete this.aSymbols; + return true; } - /* - * The Computer powers up the CPU last, at which point CPUState state is restored, - * which includes the Bus state, and since we use the Bus to allocate all our memory, - * memory contents are already restored for us, so we don't need the usual restore - * logic. - */ - return true; -}; -/** - * powerDown(fSave, fShutdown) - * - * @this {RAMPDP11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure - */ -RAMPDP11.prototype.powerDown = function(fSave, fShutdown) -{ - /* - * The Computer powers down the CPU first, at which point CPUState state is saved, - * which includes the Bus state, and since we use the Bus component to allocate all - * our memory, memory contents are already saved for us, so we don't need the usual - * save logic. + /** + * powerDown(fSave, fShutdown) + * + * @this {RAMPDP11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ - return true; -}; - -/** - * finishLoad(sURL, sData, nErrorCode) - * - * @this {RAMPDP11} - * @param {string} sURL - * @param {string} sData - * @param {number} nErrorCode (response from server if anything other than 200) - */ -RAMPDP11.prototype.finishLoad = function(sURL, sData, nErrorCode) -{ - if (nErrorCode) { - this.notice("Unable to load RAM resource (error " + nErrorCode + ": " + sURL + ")"); - this.sFilePath = null; + powerDown(fSave, fShutdown) + { + /* + * The Computer powers down the CPU first, at which point CPUState state is saved, + * which includes the Bus state, and since we use the Bus component to allocate all + * our memory, memory contents are already saved for us, so we don't need the usual + * save logic. + */ + return true; } - else { - Component.addMachineResource(this.idMachine, sURL, sData); - var resource = web.parseMemoryResource(sURL, sData); - if (resource) { - this.abInit = resource.aBytes; - this.aSymbols = resource.aSymbols; - if (this.addrLoad == null) this.addrLoad = resource.addrLoad; - if (this.addrExec == null) this.addrExec = resource.addrExec; - } else { + + /** + * finishLoad(sURL, sData, nErrorCode) + * + * @this {RAMPDP11} + * @param {string} sURL + * @param {string} sData + * @param {number} nErrorCode (response from server if anything other than 200) + */ + finishLoad(sURL, sData, nErrorCode) + { + if (nErrorCode) { + this.notice("Unable to load RAM resource (error " + nErrorCode + ": " + sURL + ")"); this.sFilePath = null; } - } - this.initRAM(); -}; - -/** - * initRAM() - * - * This function is called by both initBus() and finishLoad(), but it cannot copy the initial data into place - * until after initBus() has received the Bus component AND finishLoad() has received the data. When both those - * criteria are satisfied, the component becomes "ready". - * - * @this {RAMPDP11} - */ -RAMPDP11.prototype.initRAM = function() -{ - if (!this.bus) return; - - if (!this.fAllocated && this.sizeRAM) { - if (this.bus.addMemory(this.addrRAM, this.sizeRAM, MemoryPDP11.TYPE.RAM)) { - this.fAllocated = true; - } else { - this.sizeRAM = 0; // don't bother trying again (it just results in redundant error messages) - } - } - if (!this.isReady()) { - if (!this.fAllocated) { - Component.error("No RAM allocated"); - } - else if (this.sFilePath) { - /* - * Too early... - */ - if (!this.abInit || !this.bus) return; - this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM); - /* - * NOTE: We now retain this data, so that reset() can return the RAM to its predefined state. - * - * delete this.abInit; - */ - } - this.setReady(); - } -}; - -/** - * reset() - * - * @this {RAMPDP11} - */ -RAMPDP11.prototype.reset = function() -{ - if (this.fAllocated) { - /* - * TODO: Add a configuration parameter for selecting the byte pattern on reset? - * Note that when memory blocks are originally created, they are currently always - * zero-initialized, so this would only affect resets. - */ - this.bus.zeroMemory(this.addrRAM, this.sizeRAM, 0); - if (this.abInit) { - this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM, true); - } - } -}; - -/** - * loadImage(aBytes, addrLoad, addrExec, addrInit, fStart) - * - * If the array contains a PAPER tape image in the "Absolute Format," load it as specified - * by the format; otherwise, load it as-is using the address(es) supplied. - * - * @this {RAMPDP11} - * @param {Array|Uint8Array} aBytes - * @param {number|null} [addrLoad] - * @param {number|null} [addrExec] (this CAN override any starting address INSIDE the image) - * @param {number|null} [addrInit] - * @param {boolean} [fStart] - * @return {boolean} (true if loaded, false if not) - */ -RAMPDP11.prototype.loadImage = function(aBytes, addrLoad, addrExec, addrInit, fStart) -{ - var fStop = false; - var fLoaded = false; - /* - * Data on tapes in the "Absolute Format" is organized into blocks; each block begins with - * a 6-byte header: - * - * 2-byte signature (0x0001) - * 2-byte block length (N + 6, because it includes the 6-byte header) - * 2-byte load address - * - * followed by N data bytes. If N is zero, then the 2-byte load address is the exec address, - * unless the address is odd (usually 1). DEC's Absolute Loader jumps to the exec address - * in former case, halts in the latter. - * - * All values are stored "little endian" (low byte followed by high byte), just like the - * PDP-11's memory architecture. - * - * After the data bytes, there is a single checksum byte. The 8-bit sum of all the bytes in - * the block (including the header bytes and checksum byte) should be zero. - * - * ANOMALIES: Tape files don't always begin with a signature word, so I allow any number of - * leading zeros before the first signature. Tape files don't always end cleanly either, so as - * soon as I see an invalid signature, I break out of the loop without signalling an error, as - * long as at least ONE block was successfully processed. In fact, it's possible that as - * soon as a block with ZERO data bytes is encountered, processing is supposed to stop, but - * I haven't examined enough tapes (or the Absolute Loader code) to know for sure. - */ - if (addrLoad == null) { - var off = 0, fError = false; - while (off < aBytes.length - 1) { - var w = (aBytes[off] & 0xff) | ((aBytes[off+1] & 0xff) << 8); - if (!w) { // ignore pairs of leading zeros - off += 2; - continue; - } - if (!(w & 0xff)) { // as well as single bytes of zero - off++; - continue; - } - var offBlock = off; - if (w != 0x0001) { - this.printMessage("invalid signature (" + str.toHexWord(w) + ") at offset " + str.toHexWord(offBlock), MessagesPDP11.PAPER); - break; - } - if (off + 6 >= aBytes.length) { - this.printMessage("invalid block at offset " + str.toHexWord(offBlock), MessagesPDP11.PAPER); - break; - } - off += 2; - var checksum = w; - var len = (aBytes[off++] & 0xff) | ((aBytes[off++] & 0xff) << 8); - var addr = (aBytes[off++] & 0xff) | ((aBytes[off++] & 0xff) << 8); - checksum += (len & 0xff) + (len >> 8) + (addr & 0xff) + (addr >> 8); - var offData = off, cbData = len -= 6; - while (len > 0 && off < aBytes.length) { - checksum += aBytes[off++] & 0xff; - len--; - } - if (len != 0 || off >= aBytes.length) { - this.printMessage("insufficient data for block at offset " + str.toHexWord(offBlock), MessagesPDP11.PAPER); - break; - } - checksum += aBytes[off++] & 0xff; - if (checksum & 0xff) { - this.printMessage("invalid checksum (" + str.toHexByte(checksum) + ") for block at offset " + str.toHexWord(offBlock), MessagesPDP11.PAPER); - break; - } - if (!cbData) { - if (addr & 0x1) { - fStop = true; - } else { - if (addrExec == null) addrExec = addr; - } - if (addrExec != null) this.printMessage("starting address: " + str.toHexWord(addrExec), MessagesPDP11.PAPER); + else { + Component.addMachineResource(this.idMachine, sURL, sData); + var resource = Web.parseMemoryResource(sURL, sData); + if (resource) { + this.abInit = resource.aBytes; + this.aSymbols = resource.aSymbols; + if (this.addrLoad == null) this.addrLoad = resource.addrLoad; + if (this.addrExec == null) this.addrExec = resource.addrExec; } else { - this.printMessage("loading " + str.toHexWord(cbData) + " bytes at " + str.toHexWord(addr) + "-" + str.toHexWord(addr + cbData), MessagesPDP11.PAPER); - while (cbData--) { - this.bus.setByteDirect(addr++, aBytes[offData++] & 0xff); - } + this.sFilePath = null; } - fLoaded = true; } + this.initRAM(); } - if (!fLoaded) { - if (addrLoad == null) addrLoad = addrInit; - if (addrLoad != null) { - for (var i = 0; i < aBytes.length; i++) { - this.bus.setByteDirect(addrLoad + i, aBytes[i]); - } - fLoaded = true; - } - } - if (fLoaded) { - /* - * Set the start address to whatever the caller provided, or failing that, whatever start - * address was specified inside the image. - * - * For example, the diagnostic "MAINDEC-11-D0AA-PB" doesn't include a start address inside the - * image, but we know that the directions for that diagnostic say to "Start and Restart at 200", - * so we have manually inserted an "exec":128 in the JSON containing the image. - */ - if (addrExec == null || fStop) { - this.cpu.stopCPU(); - fStart = false; - } - if (addrExec != null) { - this.cpu.setReset(addrExec, fStart); - } - } - return fLoaded; -}; -/** - * RAMPDP11.init() - * - * This function operates on every HTML element of class "ram", extracting the - * JSON-encoded parameters for the RAMPDP11 constructor from the element's "data-value" - * attribute, invoking the constructor to create a RAMPDP11 component, and then binding - * any associated HTML controls to the new component. - */ -RAMPDP11.init = function() -{ - var aeRAM = Component.getElementsByClass(document, PDP11.APPCLASS, "ram"); - for (var iRAM = 0; iRAM < aeRAM.length; iRAM++) { - var eRAM = aeRAM[iRAM]; - var parmsRAM = Component.getComponentParms(eRAM); - var ram = new RAMPDP11(parmsRAM); - Component.bindComponentControls(ram, eRAM, PDP11.APPCLASS); + /** + * initRAM() + * + * This function is called by both initBus() and finishLoad(), but it cannot copy the initial data into place + * until after initBus() has received the Bus component AND finishLoad() has received the data. When both those + * criteria are satisfied, the component becomes "ready". + * + * @this {RAMPDP11} + */ + initRAM() + { + if (!this.bus) return; + + if (!this.fAllocated && this.sizeRAM) { + if (this.bus.addMemory(this.addrRAM, this.sizeRAM, MemoryPDP11.TYPE.RAM)) { + this.fAllocated = true; + } else { + this.sizeRAM = 0; // don't bother trying again (it just results in redundant error messages) + } + } + if (!this.isReady()) { + if (!this.fAllocated) { + Component.error("No RAM allocated"); + } + else if (this.sFilePath) { + /* + * Too early... + */ + if (!this.abInit || !this.bus) return; + this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM); + /* + * NOTE: We now retain this data, so that reset() can return the RAM to its predefined state. + * + * delete this.abInit; + */ + } + this.setReady(); + } } -}; + + /** + * reset() + * + * @this {RAMPDP11} + */ + reset() + { + if (this.fAllocated) { + /* + * TODO: Add a configuration parameter for selecting the byte pattern on reset? + * Note that when memory blocks are originally created, they are currently always + * zero-initialized, so this would only affect resets. + */ + this.bus.zeroMemory(this.addrRAM, this.sizeRAM, 0); + if (this.abInit) { + this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM, true); + } + } + } + + /** + * loadImage(aBytes, addrLoad, addrExec, addrInit, fStart) + * + * If the array contains a PAPER tape image in the "Absolute Format," load it as specified + * by the format; otherwise, load it as-is using the address(es) supplied. + * + * @this {RAMPDP11} + * @param {Array|Uint8Array} aBytes + * @param {number|null} [addrLoad] + * @param {number|null} [addrExec] (this CAN override any starting address INSIDE the image) + * @param {number|null} [addrInit] + * @param {boolean} [fStart] + * @return {boolean} (true if loaded, false if not) + */ + loadImage(aBytes, addrLoad, addrExec, addrInit, fStart) + { + var fStop = false; + var fLoaded = false; + /* + * Data on tapes in the "Absolute Format" is organized into blocks; each block begins with + * a 6-byte header: + * + * 2-byte signature (0x0001) + * 2-byte block length (N + 6, because it includes the 6-byte header) + * 2-byte load address + * + * followed by N data bytes. If N is zero, then the 2-byte load address is the exec address, + * unless the address is odd (usually 1). DEC's Absolute Loader jumps to the exec address + * in former case, halts in the latter. + * + * All values are stored "little endian" (low byte followed by high byte), just like the + * PDP-11's memory architecture. + * + * After the data bytes, there is a single checksum byte. The 8-bit sum of all the bytes in + * the block (including the header bytes and checksum byte) should be zero. + * + * ANOMALIES: Tape files don't always begin with a signature word, so I allow any number of + * leading zeros before the first signature. Tape files don't always end cleanly either, so as + * soon as I see an invalid signature, I break out of the loop without signalling an error, as + * long as at least ONE block was successfully processed. In fact, it's possible that as + * soon as a block with ZERO data bytes is encountered, processing is supposed to stop, but + * I haven't examined enough tapes (or the Absolute Loader code) to know for sure. + */ + if (addrLoad == null) { + var off = 0, fError = false; + while (off < aBytes.length - 1) { + var w = (aBytes[off] & 0xff) | ((aBytes[off+1] & 0xff) << 8); + if (!w) { // ignore pairs of leading zeros + off += 2; + continue; + } + if (!(w & 0xff)) { // as well as single bytes of zero + off++; + continue; + } + var offBlock = off; + if (w != 0x0001) { + this.printMessage("invalid signature (" + Str.toHexWord(w) + ") at offset " + Str.toHexWord(offBlock), MessagesPDP11.PAPER); + break; + } + if (off + 6 >= aBytes.length) { + this.printMessage("invalid block at offset " + Str.toHexWord(offBlock), MessagesPDP11.PAPER); + break; + } + off += 2; + var checksum = w; + var len = (aBytes[off++] & 0xff) | ((aBytes[off++] & 0xff) << 8); + var addr = (aBytes[off++] & 0xff) | ((aBytes[off++] & 0xff) << 8); + checksum += (len & 0xff) + (len >> 8) + (addr & 0xff) + (addr >> 8); + var offData = off, cbData = len -= 6; + while (len > 0 && off < aBytes.length) { + checksum += aBytes[off++] & 0xff; + len--; + } + if (len != 0 || off >= aBytes.length) { + this.printMessage("insufficient data for block at offset " + Str.toHexWord(offBlock), MessagesPDP11.PAPER); + break; + } + checksum += aBytes[off++] & 0xff; + if (checksum & 0xff) { + this.printMessage("invalid checksum (" + Str.toHexByte(checksum) + ") for block at offset " + Str.toHexWord(offBlock), MessagesPDP11.PAPER); + break; + } + if (!cbData) { + if (addr & 0x1) { + fStop = true; + } else { + if (addrExec == null) addrExec = addr; + } + if (addrExec != null) this.printMessage("starting address: " + Str.toHexWord(addrExec), MessagesPDP11.PAPER); + } else { + this.printMessage("loading " + Str.toHexWord(cbData) + " bytes at " + Str.toHexWord(addr) + "-" + Str.toHexWord(addr + cbData), MessagesPDP11.PAPER); + while (cbData--) { + this.bus.setByteDirect(addr++, aBytes[offData++] & 0xff); + } + } + fLoaded = true; + } + } + if (!fLoaded) { + if (addrLoad == null) addrLoad = addrInit; + if (addrLoad != null) { + for (var i = 0; i < aBytes.length; i++) { + this.bus.setByteDirect(addrLoad + i, aBytes[i]); + } + fLoaded = true; + } + } + if (fLoaded) { + /* + * Set the start address to whatever the caller provided, or failing that, whatever start + * address was specified inside the image. + * + * For example, the diagnostic "MAINDEC-11-D0AA-PB" doesn't include a start address inside the + * image, but we know that the directions for that diagnostic say to "Start and Restart at 200", + * so we have manually inserted an "exec":128 in the JSON containing the image. + */ + if (addrExec == null || fStop) { + this.cpu.stopCPU(); + fStart = false; + } + if (addrExec != null) { + this.cpu.setReset(addrExec, fStart); + } + } + return fLoaded; + } + + /** + * RAMPDP11.init() + * + * This function operates on every HTML element of class "ram", extracting the + * JSON-encoded parameters for the RAMPDP11 constructor from the element's "data-value" + * attribute, invoking the constructor to create a RAMPDP11 component, and then binding + * any associated HTML controls to the new component. + */ + static init() + { + var aeRAM = Component.getElementsByClass(document, PDP11.APPCLASS, "ram"); + for (var iRAM = 0; iRAM < aeRAM.length; iRAM++) { + var eRAM = aeRAM[iRAM]; + var parmsRAM = Component.getComponentParms(eRAM); + var ram = new RAMPDP11(parmsRAM); + Component.bindComponentControls(ram, eRAM, PDP11.APPCLASS); + } + } +} /* * Initialize all the RAMPDP11 modules on the page. */ -web.onInit(RAMPDP11.init); +Web.onInit(RAMPDP11.init); -if (NODE) module.exports = RAMPDP11; +export default RAMPDP11; diff --git a/modules/pdp11/lib/rk11.js b/modules/pdp11/lib/rk11.js index d8dc9c229..ea9be5d08 100644 --- a/modules/pdp11/lib/rk11.js +++ b/modules/pdp11/lib/rk11.js @@ -28,57 +28,1406 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var DiskAPI = require("../../shared/lib/diskapi"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var MessagesPDP11 = require("./messages"); - var DiskPDP11 = require("./disk"); -} +import Str from "../../shared/lib/strlib"; +import Web from "../../shared/lib/weblib"; +import DiskAPI from "../../shared/lib/diskapi"; +import Component from "../../shared/lib/component"; +import State from "../../shared/lib/state"; +import PDP11 from "./defines"; +import MessagesPDP11 from "./messages"; +import DiskPDP11 from "./disk"; -/** - * RK11(parms) - * - * The RK11 component has the following component-specific (parms) properties: - * - * autoMount: one or more JSON-encoded objects, each containing 'name' and 'path' properties - * - * The RK11 Disk Controller controls up to eight RK05 disk drives, which in turn read/write RK03-KA - * disk cartridges. See [RK11 Disk Controller Configuration Files](/devices/pdp11/rk11/). - * - * RK03 (or more precisely, RK03-KA) disks are single-platter cartridges with 203 tracks per side, - * 12 sectors per track, and a sector size of 256 words (512 bytes), for a total capacity of 2.38Mb - * (2,494,464 bytes). See [RK03-KA Disk Images](/disks/dec/rk03/). - * - * @constructor - * @extends Component - * @param {Object} parms - */ -function RK11(parms) -{ - Component.call(this, "RK11", parms, RK11, MessagesPDP11.RK11); - - /* - * We record any 'autoMount' object now, but we no longer parse it until initBus(), - * because the Computer's getMachineParm() service may have an override for us. +class RK11 extends Component { + /** + * RK11(parms) + * + * The RK11 component has the following component-specific (parms) properties: + * + * autoMount: one or more JSON-encoded objects, each containing 'name' and 'path' properties + * + * The RK11 Disk Controller controls up to eight RK05 disk drives, which in turn read/write RK03-KA + * disk cartridges. See [RK11 Disk Controller Configuration Files](/devices/pdp11/rk11/). + * + * RK03 (or more precisely, RK03-KA) disks are single-platter cartridges with 203 tracks per side, + * 12 sectors per track, and a sector size of 256 words (512 bytes), for a total capacity of 2.38Mb + * (2,494,464 bytes). See [RK03-KA Disk Images](/disks/dec/rk03/). + * + * @param {Object} parms */ - this.configMount = this.parseConfig(parms['autoMount']); - this.cAutoMount = 0; + constructor(parms) + { + super("RK11", parms, RK11, MessagesPDP11.RK11); - /* - * The RK11 has three Drive Select bits, representing up to eight drives. + /* + * We record any 'autoMount' object now, but we no longer parse it until initBus(), + * because the Computer's getMachineParm() service may have an override for us. + */ + this.configMount = this.parseConfig(parms['autoMount']); + this.cAutoMount = 0; + + /* + * The RK11 has three Drive Select bits, representing up to eight drives. + */ + this.nDrives = 8; + this.aDrives = new Array(this.nDrives); + this.fLocalDisks = (!Web.isMobile() && window && 'FileReader' in window); + this.sDiskSource = RK11.SOURCE.NONE; + + this.irq = null; + + /* + * Define all the properties to be initialized by initController() + */ + this.regRKDS = this.regRKER = this.regRKCS = this.regRKWC = this.regRKBA = this.regRKDA = this.regRKDB = 0; + } + + /** + * parseConfig(config) + * + * @this {RK11} + * @param {*} config + * @return {*} */ - this.nDrives = 8; - this.aDrives = new Array(this.nDrives); + parseConfig(config) + { + if (config && typeof config == "string") { + try { + /* + * The most likely source of any exception will be right here, where we're parsing + * this JSON-encoded data. + */ + config = eval("(" + config + ")"); + } catch (e) { + Component.error(this.type + " auto-mount error: " + e.message + " (" + config + ")"); + config = null; + } + } + return config || {}; + } - this.fLocalDisks = (!web.isMobile() && window && 'FileReader' in window); + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {RK11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "list", "text", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "listDisks") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + var rk11 = this; + + switch (sBinding) { + + case "listDisks": + this.bindings[sBinding] = control; + + control.onchange = function onChangeListDisks(event) { + var controlDesc = rk11.bindings["descDisk"]; + var controlOption = control.options && control.options[control.selectedIndex]; + if (controlDesc && controlOption) { + var dataValue = {}; + var sValue = controlOption.getAttribute("data-value"); + if (sValue) { + try { + dataValue = eval("(" + sValue + ")"); + } catch (e) { + Component.error("RK11 option error: " + e.message); + } + } + var sHTML = dataValue['desc']; + if (sHTML === undefined) sHTML = ""; + var sHRef = dataValue['href']; + if (sHRef !== undefined) sHTML = "" + sHTML + ""; + controlDesc.innerHTML = sHTML; + } + }; + return true; + + case "descDisk": + case "listDrives": + this.bindings[sBinding] = control; + /* + * I tried going with onclick instead of onchange, so that if you wanted to confirm what's + * loaded in a particular drive, you could click the drive control without having to change it. + * However, that doesn't seem to work for all browsers, so I've reverted to onchange. + */ + control.onchange = function onChangeListDrives(event) { + var iDrive = Str.parseInt(control.value, 10); + if (iDrive != null) rk11.displayDisk(iDrive); + }; + return true; + + case "loadDisk": + this.bindings[sBinding] = control; + + control.onclick = function onClickLoadDrive(event) { + var controlDisks = rk11.bindings["listDisks"]; + if (controlDisks && controlDisks.options) { + var sDiskName = controlDisks.options[controlDisks.selectedIndex].text; + var sDiskPath = controlDisks.value; + rk11.loadSelectedDrive(sDiskName, sDiskPath); + } + }; + return true; + + case "bootDisk": + this.bindings[sBinding] = control; + + control.onclick = function onClickBootDisk(event) { + rk11.bootSelectedDisk(); + }; + return true; + + case "saveDisk": + /* + * Yes, technically, this feature does not require "Local disk support" (which is really a reference + * to FileReader support), but since fLocalDisks is also false for all mobile devices, and since there + * is an "orthogonality" to disabling both features in tandem, let's just let it slide, OK? + */ + if (!this.fLocalDisks) { + if (DEBUG) this.log("Local disk support not available"); + /* + * We could also simply hide the control; eg: + * + * control.style.display = "none"; + * + * but removing the control altogether seems better. + */ + control.parentNode.removeChild(/** @type {Node} */ (control)); + return false; + } + + this.bindings[sBinding] = control; + + control.onclick = function onClickSaveDrive(event) { + var controlDrives = rk11.bindings["listDrives"]; + if (controlDrives && controlDrives.options && rk11.aDrives) { + var iDriveSelected = Str.parseInt(controlDrives.value, 10) || 0; + var drive = rk11.aDrives[iDriveSelected]; + if (drive) { + /* + * Note the similarity (and hence factoring opportunity) between this code and the HDC's "saveHD*" binding. + */ + var disk = drive.disk; + if (disk) { + if (DEBUG) rk11.println("saving disk " + disk.sDiskPath + "..."); + var sAlert = Web.downloadFile(disk.encodeAsBase64(), "octet-stream", true, disk.sDiskFile.replace(".json", ".img")); + Web.alertUser(sAlert); + } else { + rk11.notice("No disk loaded in drive."); + } + } else { + rk11.notice("No disk drive selected."); + } + } + }; + return true; + + case "mountDisk": + if (!this.fLocalDisks) { + if (DEBUG) this.log("Local disk support not available"); + /* + * We could also simply hide the control; eg: + * + * control.style.display = "none"; + * + * but removing the control altogether seems better. + */ + control.parentNode.removeChild(/** @type {Node} */ (control)); + return false; + } + + this.bindings[sBinding] = control; + + /* + * Enable "Mount" button only if a file is actually selected + */ + control.addEventListener('change', function() { + var fieldset = control.children[0]; + var files = fieldset.children[0].files; + var submit = fieldset.children[1]; + submit.disabled = !files.length; + }); + + control.onsubmit = function(event) { + var file = event.currentTarget[1].files[0]; + if (file) { + var sDiskPath = file.name; + var sDiskName = Str.getBaseName(sDiskPath, true); + rk11.loadSelectedDrive(sDiskName, sDiskPath, file); + } + /* + * Prevent reloading of web page after form submission + */ + return false; + }; + return true; + + default: + break; + } + return false; + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {RK11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.cmp = cmp; + this.bus = bus; + this.cpu = cpu; + this.dbg = dbg; + + var configMount = this.parseConfig(this.cmp.getMachineParm('autoMount')); + + /* + * Add only drives from the machine-wide autoMount configuration that match drives managed by this component. + */ + if (configMount) { + for (var sDrive in configMount) { + if (sDrive.substr(0, 2) != this.type.substr(0, 2)) continue; + this.configMount[sDrive] = configMount[sDrive]; + } + } + + /* + * If we didn't need auto-mount support, we could defer controller initialization until we received + * a powerUp() notification, at which point reset() would call initController(), or restore() would restore + * the controller; in that case, all we'd need to do here is call setReady(). + */ + this.initController(); + + this.irq = this.cpu.addIRQ(PDP11.RK11.VEC, PDP11.RK11.PRI, MessagesPDP11.RK11); + + bus.addIOTable(this, RK11.UNIBUS_IOTABLE); + bus.addResetHandler(this.reset.bind(this)); + + this.addDisk("None", RK11.SOURCE.NONE, true); + if (this.fLocalDisks) this.addDisk("Local Disk", RK11.SOURCE.LOCAL); + this.addDisk("Remote Disk", RK11.SOURCE.REMOTE); + + if (!this.autoMount()) this.setReady(); + } + + /** + * getDriveName(iDrive) + * + * @this {RK11} + * @param {number} iDrive + * @return {string} + */ + getDriveName(iDrive) + { + return "RK" + iDrive; + } + + /** + * getDriveNumber(sDrive) + * + * @this {RK11} + * @param {string} sDrive + * @return {number} (0-3, or -1 if error) + */ + getDriveNumber(sDrive) + { + var iDrive = -1; + if (sDrive) { + iDrive = sDrive.charCodeAt(sDrive.length - 1) - 0x30; + if (iDrive < 0 || iDrive > 9) iDrive = -1; + } + return iDrive; + } + + /** + * powerUp(data, fRepower) + * + * @this {RK11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (!fRepower) { + if (!data || !this.restore) { + this.reset(); + if (this.cmp.fReload) { + /* + * If the computer's fReload flag is set, we're required to toss all currently + * loaded disks and remount all disks specified in the auto-mount configuration. + */ + this.unloadAllDrives(true); + this.autoMount(true); + } + } else { + if (!this.restore(data)) return false; + } + /* + * Populate the HTML controls to match the actual (well, um, specified) number of floppy drives. + */ + var controlDrives; + if ((controlDrives = this.bindings['listDrives'])) { + while (controlDrives.firstChild) { + controlDrives.removeChild(controlDrives.firstChild); + } + controlDrives.value = ""; + for (var iDrive = 0; iDrive < this.nDrives; iDrive++) { + var controlOption = document.createElement("option"); + controlOption.value = iDrive; + controlOption.text = this.getDriveName(iDrive); + controlDrives.appendChild(controlOption); + } + if (this.nDrives > 0) { + controlDrives.value = "0"; + this.displayDisk(0); + } + } + } + return true; + } + + /** + * powerDown(fSave, fShutdown) + * + * @this {RK11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure + */ + powerDown(fSave, fShutdown) + { + return fSave? this.save() : true; + } + + /** + * reset() + * + * @this {RK11} + */ + reset() + { + this.initController(); + } + + /** + * save() + * + * This implements save support for the RK11 component. + * + * @this {RK11} + * @return {Object} + */ + save() + { + var state = new State(this); + // state.set(0, this.saveController()); + return state.data(); + } + + /** + * restore(data) + * + * This implements restore support for the RK11 component. + * + * @this {RK11} + * @param {Object} data + * @return {boolean} true if successful, false if failure + */ + restore(data) + { + return this.initController(data[0]); + } + + /** + * saveController() + * + * @this {RK11} + * @return {Array} + */ + saveController() + { + return []; + } + + /** + * autoMount(fRemount) + * + * @this {RK11} + * @param {boolean} [fRemount] is true if we're remounting all auto-mounted disks + * @return {boolean} true if one or more disk images are being auto-mounted, false if none + */ + autoMount(fRemount) + { + if (!fRemount) this.cAutoMount = 0; + for (var sDrive in this.configMount) { + var configDrive = this.configMount[sDrive]; + var sDiskPath = configDrive['path'] || ""; + var sDiskName = configDrive['name'] || this.findDisk(sDiskPath); + if (sDiskPath && sDiskName) { + var iDrive = this.getDriveNumber(sDrive); + if (iDrive >= 0 && iDrive < this.aDrives.length) { + if (!this.loadDrive(iDrive, sDiskName, sDiskPath, true) && fRemount) { + this.setReady(false); + } + continue; + } + } + this.notice("Incorrect auto-mount settings for drive " + sDrive + " (" + JSON.stringify(configDrive) + ")"); + } + return !!this.cAutoMount; + } + + /** + * loadSelectedDrive(sDiskName, sDiskPath, file) + * + * @this {RK11} + * @param {string} sDiskName + * @param {string} sDiskPath + * @param {File} [file] is set if there's an associated File object + */ + loadSelectedDrive(sDiskName, sDiskPath, file) + { + var controlDrives = this.bindings["listDrives"]; + var iDrive = controlDrives && Str.parseInt(controlDrives.value, 10); + + if (iDrive === undefined || iDrive < 0 || iDrive >= this.aDrives.length) { + this.notice("Unable to load the selected drive"); + return; + } + + if (!sDiskPath) { + this.unloadDrive(iDrive); + return; + } + + if (sDiskPath == RK11.SOURCE.LOCAL) { + this.notice('Use "Choose File" and "Mount" to select and load a local disk.'); + return; + } + + /* + * If the special RK11.SOURCE.REMOTE path is selected, then we want to prompt the user for a URL. + * Oh, and make sure we pass an empty string as the 2nd parameter to prompt(), so that IE won't display + * "undefined" -- because after all, undefined and "undefined" are EXACTLY the same thing, right? + * + * TODO: This is literally all I've done to support remote disk images. There's probably more + * I should do, like dynamically updating "listDisks" to include new entries, and adding new entries + * to the save/restore data. + */ + if (sDiskPath == RK11.SOURCE.REMOTE) { + sDiskPath = window.prompt("Enter the URL of a remote disk image.", "") || ""; + if (!sDiskPath) return; + sDiskName = Str.getBaseName(sDiskPath); + this.status("Attempting to load " + sDiskPath + " as \"" + sDiskName + "\""); + this.sDiskSource = RK11.SOURCE.REMOTE; + } + else { + this.sDiskSource = sDiskPath; + } + + this.loadDrive(iDrive, sDiskName, sDiskPath, false, file); + } + + /** + * bootSelectedDisk() + * + * @this {RK11} + */ + bootSelectedDisk() + { + var drive; + var controlDrives = this.bindings["listDrives"]; + var iDrive = controlDrives && Str.parseInt(controlDrives.value, 10); + + if (iDrive == null || iDrive < 0 || iDrive >= this.aDrives.length || !(drive = this.aDrives[iDrive])) { + this.notice("Unable to boot the selected drive"); + return; + } + if (!drive.disk) { + this.notice("Load a disk into the drive first"); + return; + } + /* + * NOTE: We're calling setReset() BEFORE reading the boot code in order to eliminate any side-effects + * of the previous state of either the controller OR the CPU; for example, we don't want any previous MMU + * or UNIBUS Map registers affecting the simulated readData() call. Also, some boot code (eg, RSTS/E) + * expects the controller to be in a READY state; since setReset() triggers a call to our reset() handler, + * a READY state is assured, and the readData() call shouldn't do anything to change that. + */ + this.cpu.setReset(0, true); + var err = this.readData(drive, 0, 0, 0, 512, 0x0000, 2); + if (err) { + this.notice("Unable to read the boot sector (" + err + ")"); + } + } + + /** + * loadDrive(iDrive, sDiskName, sDiskPath, fAutoMount, file) + * + * NOTE: If sDiskPath is already loaded, nothing needs to be done. + * + * @this {RK11} + * @param {number} iDrive + * @param {string} sDiskName + * @param {string} sDiskPath + * @param {boolean} [fAutoMount] + * @param {File} [file] is set if there's an associated File object + * @return {number} 1 if disk loaded, 0 if queued up (or busy), -1 if already loaded + */ + loadDrive(iDrive, sDiskName, sDiskPath, fAutoMount, file) + { + var nResult = -1; + var drive = this.aDrives[iDrive]; + + if (drive.sDiskPath.toLowerCase() != sDiskPath.toLowerCase()) { + + nResult++; + this.unloadDrive(iDrive, true); + + if (drive.fBusy) { + this.notice("RK11 busy"); + } + else { + // this.status("disk queued: " + sDiskName); + drive.fBusy = true; + if (fAutoMount) { + drive.fAutoMount = true; + this.cAutoMount++; + if (this.messageEnabled()) this.printMessage("auto-loading disk: " + sDiskName); + } + drive.fLocal = !!file; + var disk = new DiskPDP11(this, drive, DiskAPI.MODE.PRELOAD); + if (disk.load(sDiskName, sDiskPath, file, this.finishLoadDrive)) { + nResult++; + } + } + } + return nResult; + } + + /** + * finishLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) + * + * The disk parameter is set if the disk was successfully loaded, null if not. + * + * @this {RK11} + * @param {Object} drive + * @param {DiskPDP11} disk + * @param {string} sDiskName + * @param {string} sDiskPath + * @param {boolean} [fAutoMount] + */ + finishLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) + { + var aDiskInfo; + + drive.fBusy = false; + + if (disk) { + /* + * TODO: While this is a perfectly reasonable thing to do, one wonders if the Disk object shouldn't + * have done this itself, since we passed our Drive object to it (it already knows the drive's limits). + */ + if (disk.nCylinders > drive.nCylinders || disk.nHeads > drive.nHeads /* || disk.nSectors > drive.nSectors */) { + this.notice("Disk \"" + sDiskName + "\" too large for drive " + this.getDriveName(drive.iDrive)); + disk = null; + } + } + + if (disk) { + drive.disk = disk; + drive.sDiskName = sDiskName; + drive.sDiskPath = sDiskPath; + + /* + * Adding local disk image names to the disk list seems like a nice idea, but it's too confusing, + * because then it looks like the "Mount" button should be able to (re)load them, and that can NEVER + * happen, for security reasons; local disk images can ONLY be loaded via the "Mount" button after + * the user has selected them via the "Choose File" button. + * + * this.addDisk(sDiskName, sDiskPath); + * + * So we're going to take a different approach: when displayDisk() is asked to display the name + * of a local disk image, it will map all such disks to "Local Disk", and any attempt to "Mount" such + * a disk, will essentially result in a "Disk not found" error. + */ + // this.addDiskHistory(sDiskName, sDiskPath, disk); + + /* + * For a local disk (ie, one loaded via mountDrive()), the disk.restore() performed by addDiskHistory() + * may have altered the disk geometry, so refresh the disk info. + */ + // aDiskInfo = disk.info(); + + /* + * Clearly, a successful mount implies a disk change, and I suppose that, technically, an *unsuccessful* + * mount should imply the same, but what would the real-world analog be? Inserting a piece of cardboard + * instead of an actual disk? In any case, if we can do the user a favor by pretending (as far as the + * disk change line is concerned) that an unsuccessful mount never happened, let's do it. + * + * Successful unmounts are a different story, however; those *do* trigger a change. See unloadDrive(). + */ + // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; + + /* + * With the addition of notify(), users are now "alerted" whenever a disk has finished loading; + * notify() is selective about its output, using print() if a print window is open, alert() otherwise. + */ + this.notice("Loaded disk \"" + sDiskName + "\" in drive " + this.getDriveName(drive.iDrive), drive.fAutoMount || fAutoMount); + + /* + * Since you usually want the Computer to have focus again after loading a new disk, let's try automatically + * updating the focus after a successful load. + */ + if (this.cmp) this.cmp.setFocus(); + } + else { + drive.fLocal = false; + } + + if (drive.fAutoMount) { + drive.fAutoMount = false; + if (!--this.cAutoMount) this.setReady(); + } + + this.displayDisk(drive.iDrive); + } + + /** + * addDisk(sName, sPath, fTop) + * + * @this {RK11} + * @param {string} sName + * @param {string} sPath + * @param {boolean} [fTop] (default is bottom) + */ + addDisk(sName, sPath, fTop) + { + var controlDisks = this.bindings["listDisks"]; + if (controlDisks && controlDisks.options) { + for (var i = 0; i < controlDisks.options.length; i++) { + if (controlDisks.options[i].value == sPath) return; + } + var controlOption = document.createElement("option"); + controlOption.text = sName; + controlOption.value = sPath; + if (fTop && controlDisks.childNodes[0]) { + controlDisks.insertBefore(controlOption, controlDisks.childNodes[0]); + } else { + controlDisks.appendChild(controlOption); + } + } + } + + /** + * findDisk(sPath) + * + * This is used to deal with mount requests (eg, autoMount) that supply a path without a name; + * if we can find the path in the "listDisks" control, then we return the associated disk name. + * + * @this {RK11} + * @param {string} sPath + * @return {string|null} + */ + findDisk(sPath) + { + var controlDisks = this.bindings["listDisks"]; + if (controlDisks && controlDisks.options) { + for (var i = 0; i < controlDisks.options.length; i++) { + var control = controlDisks.options[i]; + if (control.value == sPath) return control.text; + } + } + return Str.getBaseName(sPath, true); + } + + /** + * displayDisk(iDrive, fUpdateDrive) + * + * @this {RK11} + * @param {number} iDrive (unvalidated) + * @param {boolean} [fUpdateDrive] is true to update the drive list to match the specified drive (eg, the auto-mount case) + */ + displayDisk(iDrive, fUpdateDrive) + { + /* + * First things first: validate iDrive. + */ + if (iDrive >= 0 && iDrive < this.aDrives.length) { + var drive = this.aDrives[iDrive]; + var controlDisks = this.bindings["listDisks"]; + var controlDrives = this.bindings["listDrives"]; + /* + * Next, make sure controls for both drives and disks exist. + */ + if (controlDisks && controlDrives && controlDisks.options && controlDrives.options) { + /* + * Next, make sure the drive whose disk we're updating is the currently selected drive. + */ + var i; + var iDriveSelected = Str.parseInt(controlDrives.value, 10); + var sTargetPath = (drive.fLocal? RK11.SOURCE.LOCAL : drive.sDiskPath); + if (!isNaN(iDriveSelected) && iDriveSelected == iDrive) { + for (i = 0; i < controlDisks.options.length; i++) { + if (controlDisks.options[i].value == sTargetPath) { + if (controlDisks.selectedIndex != i) { + controlDisks.selectedIndex = i; + } + break; + } + } + if (i == controlDisks.options.length) controlDisks.selectedIndex = 0; + } + if (fUpdateDrive) { + for (i = 0; i < controlDrives.options.length; i++) { + if (Str.parseInt(controlDrives.options[i].value, 10) == drive.iDrive) { + if (controlDrives.selectedIndex != i) { + controlDrives.selectedIndex = i; + } + break; + } + } + } + } + } + } + + /** + * unloadDrive(iDrive, fLoading) + * + * @this {RK11} + * @param {number} iDrive + * @param {boolean} [fLoading] + */ + unloadDrive(iDrive, fLoading) + { + var drive = this.aDrives[iDrive]; + + if (drive.disk || fLoading === false) { + + /* + * Before we toss the disk's information, capture any deltas that may have occurred. + */ + // this.updateDiskHistory(drive.sDiskName, drive.sDiskPath, drive.disk); + + drive.sDiskName = ""; + drive.sDiskPath = ""; + drive.disk = null; + drive.fLocal = false; + + // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; + + if (!fLoading) { + this.notice("Drive " + this.getDriveName(iDrive) + " unloaded", fLoading); + this.sDiskSource = RK11.SOURCE.NONE; + this.displayDisk(iDrive); + } + } + } + + /** + * unloadAllDrives(fDiscard) + * + * @this {RK11} + * @param {boolean} fDiscard to discard all disk history before unloading + */ + unloadAllDrives(fDiscard) + { + // if (fDiscard) this.aDiskHistory = []; + + for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { + this.unloadDrive(iDrive, true); + } + } + + /** + * initController(data) + * + * @this {RK11} + * @param {Array} [data] + * @return {boolean} true if successful, false if failure + */ + initController(data) + { + var i = 0; + if (!data) data = []; + this.regRKDS = data[i++] || (PDP11.RK11.RKDS.RK05 | PDP11.RK11.RKDS.SOK | PDP11.RK11.RKDS.RRDY); + this.regRKER = data[i++] || 0; + this.regRKCS = data[i++] || (PDP11.RK11.RKCS.CRDY); + this.regRKWC = data[i++] || 0; + this.regRKBA = data[i++] || 0; + this.regRKDA = data[i++] || 0; + this.regRKDB = data[i] || 0; // TODO: Determine if there's anything we should be doing to the RKDB register + + var fSuccess = true; + for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { + var drive = this.aDrives[iDrive]; + if (drive === undefined) { + drive = this.aDrives[iDrive] = {}; + } + if (!this.initDrive(drive, iDrive)) { + fSuccess = false; + } + } + return fSuccess; + } + + /** + * initDrive(drive, iDrive, data) + * + * TODO: Consider a separate Drive class that any drive controller can use, since there's a lot of commonality + * between the drive objects created by disk controllers. This will clean up overall drive management and allow + * us to factor out some common Drive methods. + * + * @this {RK11} + * @param {Object} drive + * @param {number} iDrive + * @param {Array|undefined} [data] + * @return {boolean} true if successful, false if failure + */ + initDrive(drive, iDrive, data) + { + var i = 0; + var fSuccess = true; + + drive.iDrive = iDrive; + drive.name = this.idComponent; + drive.fBusy = drive.fLocal = false; + + /* + * NOTE: We initialize the following drive properties to their MAXIMUMs; disks may have + * these or SMALLER values (subject to the limits of what the controller supports, of course). + */ + drive.nCylinders = 203; + drive.nHeads = 2; + drive.nSectors = 12; + drive.cbSector = 512; + drive.fRemovable = true; + + /* + * The next group of properties are set by various controller command sequences. + */ + drive.bHead = 0; + drive.bCylinder = 0; + drive.bSector = 1; + drive.bSectorEnd = drive.nSectors; // aka EOT + drive.nBytes = drive.cbSector; + + /* + * The next group of properties are managed by worker functions (eg, doRead()) to maintain state across DMA requests. + */ + drive.ibSector = 0; + drive.sector = null; + + if (!drive.disk) drive.sDiskPath = ""; // ensure this is initialized to a default that displayDisk() can deal with + + drive.status = PDP11.RK11.RKDS.RK05 | PDP11.RK11.RKDS.SOK | PDP11.RK11.RKDS.RRDY; + + return fSuccess; + } + + /** + * processCommand() + * + * @this {RK11} + */ + processCommand() + { + var fInterrupt = true; + var fnReadWrite, sFunc = ""; + var iDrive = (this.regRKDA & PDP11.RK11.RKDA.DS) >> PDP11.RK11.RKDA.SHIFT.DS; + var drive = this.aDrives[iDrive]; + var iCylinder, iHead, iSector, nWords, addr, inc; + + this.regRKCS &= ~PDP11.RK11.RKCS.CRDY; + var func = this.regRKCS & PDP11.RK11.RKCS.FUNC; + + switch(func) { + + case PDP11.RK11.FUNC.CRESET: + if (this.messageEnabled()) this.printMessage(this.type + ": CRESET(" + iDrive + ")", true); + this.regRKER = 0; + this.regRKCS = PDP11.RK11.RKCS.CRDY; + this.regRKDA = 0; + break; + + case PDP11.RK11.FUNC.SEEK: + iCylinder = (this.regRKDA & PDP11.RK11.RKDA.CA) >> PDP11.RK11.RKDA.SHIFT.CA; + if (this.messageEnabled()) this.printMessage(this.type + ": SEEK(" + iCylinder + ")", true); + if (iCylinder >= drive.nCylinders) { + this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXC; + this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; + } + break; + + case PDP11.RK11.FUNC.RCHK: + sFunc = "RCHK"; + /* falls through */ + + case PDP11.RK11.FUNC.READ: + if (!sFunc) sFunc = "READ"; + fnReadWrite = this.readData; + /* falls through */ + + case PDP11.RK11.FUNC.WCHK: + if (!sFunc) sFunc = "WCHK"; + /* falls through */ + + case PDP11.RK11.FUNC.WRITE: + if (!sFunc) sFunc = "WRITE"; + if (!fnReadWrite) fnReadWrite = this.writeData; + + iCylinder = (this.regRKDA & PDP11.RK11.RKDA.CA) >> PDP11.RK11.RKDA.SHIFT.CA; + iHead = (this.regRKDA & PDP11.RK11.RKDA.HS) >> PDP11.RK11.RKDA.SHIFT.HS; + iSector = this.regRKDA & PDP11.RK11.RKDA.SA; + nWords = (0x10000 - this.regRKWC) & 0xffff; + addr = (((this.regRKCS & PDP11.RK11.RKCS.MEX)) << (16 - PDP11.RK11.RKCS.SHIFT.MEX)) | this.regRKBA; + inc = (this.regRKCS & PDP11.RK11.RKCS.IBA)? 0 : 2; + + if (this.messageEnabled()) this.printMessage(this.type + ": " + sFunc + "(" + iCylinder + ":" + iHead + ":" + iSector + ") " + Str.toOct(addr) + "--" + Str.toOct(addr + (nWords << 1)), true, true); + + if (iCylinder >= drive.nCylinders) { + this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXC; + this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; + break; + } + if (iSector >= drive.nSectors) { + this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXS; + this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; + break; + } + + fInterrupt = fnReadWrite.call(this, drive, iCylinder, iHead, iSector, nWords, addr, inc, (func >= PDP11.RK11.FUNC.WCHK), this.doneReadWrite.bind(this)); + break; + + case PDP11.RK11.FUNC.DRESET: + if (this.messageEnabled()) this.printMessage(this.type + ": DRESET(" + iDrive + ")"); + break; + + default: + if (this.messageEnabled()) this.printMessage(this.type + ": UNSUPPORTED(" + func + ")"); + break; + } + + this.regRKDS = drive.status | (drive.disk? PDP11.RK11.RKDS.DRDY : 0) | (iDrive << PDP11.RK11.RKDS.SHIFT.ID) | (this.regRKDA & PDP11.RK11.RKDS.SC); + + if (this.regRKER & PDP11.RK11.RKER.DRE) { + if (this.messageEnabled()) this.printMessage(this.type + ": ERROR: " + Str.toOct(this.regRKER)); + } + + if (fInterrupt) { + this.regRKCS &= ~PDP11.RK11.RKCS.GO; + this.regRKCS |= PDP11.RK11.RKCS.CRDY; + if (this.regRKCS & PDP11.RK11.RKCS.IE) this.cpu.setIRQ(this.irq); + } + } + + /** + * readData(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) + * + * @this {RK11} + * @param {Object} drive + * @param {number} iCylinder + * @param {number} iHead + * @param {number} iSector + * @param {number} nWords + * @param {number} addr + * @param {number} inc (normally 2, unless inhibited, in which case it's 0) + * @param {boolean} [fCheck] + * @param {function(...)} [done] + * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) + */ + readData(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) + { + var err = 0; + var disk = drive.disk; + var sector = null, ibSector; + + if (!disk) { + err = PDP11.RK11.RKER.NXD; + nWords = 0; + } + + var sWords = ""; + while (nWords) { + if (!sector) { + if (iCylinder >= disk.nCylinders) { + err = PDP11.RK11.RKER.NXC; + break; + } + sector = disk.seek(iCylinder, iHead, iSector + 1); + if (!sector) { + err = PDP11.RK11.RKER.SKE; + break; + } + ibSector = 0; + if (++iSector >= disk.nSectors) { + iSector = 0; + if (++iHead >= disk.nHeads) { + iHead = 0; + ++iCylinder; + } + } + } + var b0, b1; + if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) { + err = PDP11.RK11.RKER.NXS; + break; + } + if (!fCheck) { + var data = b0 | (b1 << 8); + this.bus.setWordDirect(this.cpu.mapUnibus(addr), data); + if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) { + if (!sWords) sWords = Str.toOct(addr) + ": "; + sWords += Str.toOct(data) + ' '; + if (sWords.length >= 64) { + console.log(sWords); + sWords = ""; + } + } + if (this.bus.checkFault()) { + err = PDP11.RK11.RKER.NXM; + break; + } + } + if (ibSector >= disk.cbSector) sector = null; + addr += inc; + nWords--; + } + return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; + } + + /** + * writeData(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) + * + * @this {RK11} + * @param {Object} drive + * @param {number} iCylinder + * @param {number} iHead + * @param {number} iSector + * @param {number} nWords + * @param {number} addr + * @param {number} inc (normally 2, unless inhibited, in which case it's 0) + * @param {boolean} [fCheck] + * @param {function(...)} [done] + * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) + */ + writeData(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) + { + var err = 0; + var disk = drive.disk; + var sector = null, ibSector; + + if (!disk) { + err = PDP11.RK11.RKER.NXD; + nWords = 0; + } + + while (nWords) { + var data = this.bus.getWordDirect(this.cpu.mapUnibus(addr)); + if (this.bus.checkFault()) { + err = PDP11.RK11.RKER.NXM; + break; + } + addr += inc; + nWords--; + if (!sector) { + if (iCylinder >= disk.nCylinders) { + err = PDP11.RK11.RKER.NXC; + break; + } + sector = disk.seek(iCylinder, iHead, iSector + 1, true); + if (!sector) { + err = PDP11.RK11.RKER.SKE; + break; + } + ibSector = 0; + if (++iSector >= disk.nSectors) { + iSector = 0; + if (++iHead >= disk.nHeads) { + iHead = 0; + ++iCylinder; + } + } + } + if (fCheck) { + var b0, b1; + if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) { + err = PDP11.RK11.RKER.NXS; + break; + } + /* + * TODO: Figure out why certain WCHK commands fail during the 11/70 CPU EXERCISER diagnostic, + * once the test starts reading/writing with physical addresses > 177777. I think all the + * UNIBUS address calculations are fine, so I'm at a loss to explain how a WCHK operation + * can succeed when the diagnostic itself appears to alter the memory immediately after the + * preceding WRITE operation. + * + * The following machine is already primed with the diagnostic, as well as the recommended + * breakpoints and messages: + * + * http://www.pcjs.org/devices/pdp11/machine/1170/panel/debugger/cpuexer/ + * + * If you're not using that machine, turn on RK11 messages ("m rk11 on"), set a breakpoint at + * 033330 ("bp 033330") and then take a look at the first RK11 operation after that breakpoint; + * it should be the first one using a UNIBUS address larger than 16 bits: + * + * RK11: WRITE(147:1:2) 00453610--00463610 @037772 + * + * Use a breakpoint to halt the machine at 037772, and then use the Debugger's "da" command + * to determine where UNIBUS address 00453610 is mapped (make sure you specify it as a physical + * address using the % prefix): + * + * >> da %00453610 + * 00,101,011,110,001,000 00453610 + * UNIMAP[18]: 1,111,111,110,100,001,111,000 17764170 + * OFFSET: 1,011,110,001,000 00013610 + * PHYSICAL: 0,000,000,000,000,000,000,000 00000000 + * + * So, you can see that the starting address for the WRITE is perfectly calculated to begin at + * physical address 0. And the "da" command indicates virtual address 0 points to the same + * memory: + * + * >> da 0 + * 00,000,000,000,000,000 00000000 + * 0,000,000,000,000 00000000 + * + KIPAR0: 0,000,000,000,000,000,000,000 00000000 + * & MMUMASK: 1,111,111,111,111,111,111,111 17777777 + * = PHYSICAL: 0,000,000,000,000,000,000,000 00000000 + * + * Strangely, the diagnostic (its interrupt handler to be exact) is updating the next RKCS command + * value at 001570, which is right in the middle of the first 2048 words of memory -- the same 2048 + * words that the diagnostic is about to WRITE and then WCHK. Since that value is changing between + * the WRITE and the WCHK, how can WCHK succeed? + * + * For now, I just pretend that it does, by skipping the actual comparison. + * + * if (data != (b0 | (b1 << 8))) { + * err = PDP11.RK11.RKER.WCE; + * break; + * } + */ + } else { + if (!disk.write(sector, ibSector++, data & 0xff) || !disk.write(sector, ibSector++, data >> 8)) { + err = PDP11.RK11.RKER.NXS; + break; + } + } + if (ibSector >= disk.cbSector) sector = null; + } + return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; + } + + /** + * doneReadWrite(err, iCylinder, iHead, iSector, nWords, addr) + * + * @this {RK11} + * @param {number} err + * @param {number} iCylinder + * @param {number} iHead + * @param {number} iSector + * @param {number} nWords + * @param {number} addr + * @return {boolean} + */ + doneReadWrite(err, iCylinder, iHead, iSector, nWords, addr) + { + this.regRKBA = addr & 0xffff; + this.regRKCS = (this.regRKCS & ~PDP11.RK11.RKCS.MEX) | ((addr >> (16 - PDP11.RK11.RKCS.SHIFT.MEX)) & PDP11.RK11.RKCS.MEX); + this.regRKWC = (0x10000 - nWords) & 0xffff; + this.regRKDA = (this.regRKDA & ~PDP11.RK11.RKDA.SA) | (iSector & PDP11.RK11.RKDA.SA); + if (err) { + this.regRKER |= err | PDP11.RK11.RKER.DRE; + this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; + } + return true; + } + + /** + * readRKDS(addr) + * + * @this {RK11} + * @param {number} addr (eg, PDP11.UNIBUS.RKDS or 177400) + * @return {number} + */ + readRKDS(addr) + { + return this.regRKDS; + } + + /** + * writeRKDS(data, addr) + * + * @this {RK11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RKDS or 177400) + */ + writeRKDS(data, addr) + { + /* + * This is a read-only register + */ + } + + /** + * readRKER(addr) + * + * @this {RK11} + * @param {number} addr (eg, PDP11.UNIBUS.RKER or 177402) + * @return {number} + */ + readRKER(addr) + { + return this.regRKER; + } + + /** + * writeRKER(data, addr) + * + * @this {RK11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RKER or 177402) + */ + writeRKER(data, addr) + { + /* + * This is a read-only register + */ + } + + /** + * readRKCS(addr) + * + * @this {RK11} + * @param {number} addr (eg, PDP11.UNIBUS.RKCS or 177404) + * @return {number} + */ + readRKCS(addr) + { + return this.regRKCS & PDP11.RK11.RKCS.RMASK; + } + + /** + * writeRKCS(data, addr) + * + * @this {RK11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RKCS or 177404) + */ + writeRKCS(data, addr) + { + this.regRKCS = (this.regRKCS & ~PDP11.RK11.RKCS.WMASK) | (data & PDP11.RK11.RKCS.WMASK); + + if (this.regRKCS & PDP11.RK11.RKCS.GO) this.processCommand(); + } + + /** + * readRKWC(addr) + * + * @this {RK11} + * @param {number} addr (eg, PDP11.UNIBUS.RKWC or 177406) + * @return {number} + */ + readRKWC(addr) + { + return this.regRKWC; + } + + /** + * writeRKWC(data, addr) + * + * @this {RK11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RKWC or 177406) + */ + writeRKWC(data, addr) + { + this.regRKWC = data; + } + + /** + * readRKBA(addr) + * + * @this {RK11} + * @param {number} addr (eg, PDP11.UNIBUS.RKBA or 177410) + * @return {number} + */ + readRKBA(addr) + { + return this.regRKBA; + } + + /** + * writeRKBA(data, addr) + * + * @this {RK11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RKBA or 177410) + */ + writeRKBA(data, addr) + { + this.regRKBA = data; + } + + /** + * readRKDA(addr) + * + * @this {RK11} + * @param {number} addr (eg, PDP11.UNIBUS.RKDA or 177412) + * @return {number} + */ + readRKDA(addr) + { + return this.regRKDA; + } + + /** + * writeRKDA(data, addr) + * + * @this {RK11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RKDA or 177412) + */ + writeRKDA(data, addr) + { + this.regRKDA = data; + } + + /** + * readRKDB(addr) + * + * @this {RK11} + * @param {number} addr (eg, PDP11.UNIBUS.RKDB or 177416) + * @return {number} + */ + readRKDB(addr) + { + return this.regRKDB; + } + + /** + * writeRKDB(data, addr) + * + * @this {RK11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RKDB or 177416) + */ + writeRKDB(data, addr) + { + this.regRKDB = data; + } } -Component.subclass(RK11); - /* * There's nothing super special about these values, except that NONE should be falsey and the others should not. */ @@ -88,1352 +1437,6 @@ RK11.SOURCE = { REMOTE: "??" }; -/** - * parseConfig(config) - * - * @this {RK11} - * @param {*} config - * @return {*} - */ -RK11.prototype.parseConfig = function(config) -{ - if (config && typeof config == "string") { - try { - /* - * The most likely source of any exception will be right here, where we're parsing - * this JSON-encoded data. - */ - config = eval("(" + config + ")"); - } catch (e) { - Component.error(this.type + " auto-mount error: " + e.message + " (" + config + ")"); - config = null; - } - } - return config || {}; -}; - -/** - * setBinding(sType, sBinding, control, sValue) - * - * @this {RK11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "list", "text", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "listDisks") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ -RK11.prototype.setBinding = function(sType, sBinding, control, sValue) -{ - var rk11 = this; - - switch (sBinding) { - - case "listDisks": - this.bindings[sBinding] = control; - - control.onchange = function onChangeListDisks(event) { - var controlDesc = rk11.bindings["descDisk"]; - var controlOption = control.options && control.options[control.selectedIndex]; - if (controlDesc && controlOption) { - var dataValue = {}; - var sValue = controlOption.getAttribute("data-value"); - if (sValue) { - try { - dataValue = eval("(" + sValue + ")"); - } catch (e) { - Component.error("RK11 option error: " + e.message); - } - } - var sHTML = dataValue['desc']; - if (sHTML === undefined) sHTML = ""; - var sHRef = dataValue['href']; - if (sHRef !== undefined) sHTML = "" + sHTML + ""; - controlDesc.innerHTML = sHTML; - } - }; - return true; - - case "descDisk": - case "listDrives": - this.bindings[sBinding] = control; - /* - * I tried going with onclick instead of onchange, so that if you wanted to confirm what's - * loaded in a particular drive, you could click the drive control without having to change it. - * However, that doesn't seem to work for all browsers, so I've reverted to onchange. - */ - control.onchange = function onChangeListDrives(event) { - var iDrive = str.parseInt(control.value, 10); - if (iDrive != null) rk11.displayDisk(iDrive); - }; - return true; - - case "loadDisk": - this.bindings[sBinding] = control; - - control.onclick = function onClickLoadDrive(event) { - var controlDisks = rk11.bindings["listDisks"]; - if (controlDisks && controlDisks.options) { - var sDiskName = controlDisks.options[controlDisks.selectedIndex].text; - var sDiskPath = controlDisks.value; - rk11.loadSelectedDrive(sDiskName, sDiskPath); - } - }; - return true; - - case "bootDisk": - this.bindings[sBinding] = control; - - control.onclick = function onClickBootDisk(event) { - rk11.bootSelectedDisk(); - }; - return true; - - case "saveDisk": - /* - * Yes, technically, this feature does not require "Local disk support" (which is really a reference - * to FileReader support), but since fLocalDisks is also false for all mobile devices, and since there - * is an "orthogonality" to disabling both features in tandem, let's just let it slide, OK? - */ - if (!this.fLocalDisks) { - if (DEBUG) this.log("Local disk support not available"); - /* - * We could also simply hide the control; eg: - * - * control.style.display = "none"; - * - * but removing the control altogether seems better. - */ - control.parentNode.removeChild(/** @type {Node} */ (control)); - return false; - } - - this.bindings[sBinding] = control; - - control.onclick = function onClickSaveDrive(event) { - var controlDrives = rk11.bindings["listDrives"]; - if (controlDrives && controlDrives.options && rk11.aDrives) { - var iDriveSelected = str.parseInt(controlDrives.value, 10) || 0; - var drive = rk11.aDrives[iDriveSelected]; - if (drive) { - /* - * Note the similarity (and hence factoring opportunity) between this code and the HDC's "saveHD*" binding. - */ - var disk = drive.disk; - if (disk) { - if (DEBUG) rk11.println("saving disk " + disk.sDiskPath + "..."); - var sAlert = web.downloadFile(disk.encodeAsBase64(), "octet-stream", true, disk.sDiskFile.replace(".json", ".img")); - web.alertUser(sAlert); - } else { - rk11.notice("No disk loaded in drive."); - } - } else { - rk11.notice("No disk drive selected."); - } - } - }; - return true; - - case "mountDisk": - if (!this.fLocalDisks) { - if (DEBUG) this.log("Local disk support not available"); - /* - * We could also simply hide the control; eg: - * - * control.style.display = "none"; - * - * but removing the control altogether seems better. - */ - control.parentNode.removeChild(/** @type {Node} */ (control)); - return false; - } - - this.bindings[sBinding] = control; - - /* - * Enable "Mount" button only if a file is actually selected - */ - control.addEventListener('change', function() { - var fieldset = control.children[0]; - var files = fieldset.children[0].files; - var submit = fieldset.children[1]; - submit.disabled = !files.length; - }); - - control.onsubmit = function(event) { - var file = event.currentTarget[1].files[0]; - if (file) { - var sDiskPath = file.name; - var sDiskName = str.getBaseName(sDiskPath, true); - rk11.loadSelectedDrive(sDiskName, sDiskPath, file); - } - /* - * Prevent reloading of web page after form submission - */ - return false; - }; - return true; - - default: - break; - } - return false; -}; - -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {RK11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -RK11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.cmp = cmp; - this.bus = bus; - this.cpu = cpu; - this.dbg = dbg; - - var configMount = this.parseConfig(this.cmp.getMachineParm('autoMount')); - - /* - * Add only drives from the machine-wide autoMount configuration that match drives managed by this component. - */ - if (configMount) { - for (var sDrive in configMount) { - if (sDrive.substr(0, 2) != this.type.substr(0, 2)) continue; - this.configMount[sDrive] = configMount[sDrive]; - } - } - - /* - * If we didn't need auto-mount support, we could defer controller initialization until we received - * a powerUp() notification, at which point reset() would call initController(), or restore() would restore - * the controller; in that case, all we'd need to do here is call setReady(). - */ - this.initController(); - - this.irq = this.cpu.addIRQ(PDP11.RK11.VEC, PDP11.RK11.PRI, MessagesPDP11.RK11); - - bus.addIOTable(this, RK11.UNIBUS_IOTABLE); - bus.addResetHandler(this.reset.bind(this)); - - this.addDisk("None", RK11.SOURCE.NONE, true); - if (this.fLocalDisks) this.addDisk("Local Disk", RK11.SOURCE.LOCAL); - this.addDisk("Remote Disk", RK11.SOURCE.REMOTE); - - if (!this.autoMount()) this.setReady(); -}; - -/** - * getDriveName(iDrive) - * - * @this {RK11} - * @param {number} iDrive - * @return {string} - */ -RK11.prototype.getDriveName = function(iDrive) -{ - return "RK" + iDrive; -}; - -/** - * getDriveNumber(sDrive) - * - * @this {RK11} - * @param {string} sDrive - * @return {number} (0-3, or -1 if error) - */ -RK11.prototype.getDriveNumber = function(sDrive) -{ - var iDrive = -1; - if (sDrive) { - iDrive = sDrive.charCodeAt(sDrive.length - 1) - 0x30; - if (iDrive < 0 || iDrive > 9) iDrive = -1; - } - return iDrive; -}; - -/** - * powerUp(data, fRepower) - * - * @this {RK11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -RK11.prototype.powerUp = function(data, fRepower) -{ - if (!fRepower) { - if (!data || !this.restore) { - this.reset(); - if (this.cmp.fReload) { - /* - * If the computer's fReload flag is set, we're required to toss all currently - * loaded disks and remount all disks specified in the auto-mount configuration. - */ - this.unloadAllDrives(true); - this.autoMount(true); - } - } else { - if (!this.restore(data)) return false; - } - /* - * Populate the HTML controls to match the actual (well, um, specified) number of floppy drives. - */ - var controlDrives; - if ((controlDrives = this.bindings['listDrives'])) { - while (controlDrives.firstChild) { - controlDrives.removeChild(controlDrives.firstChild); - } - controlDrives.value = ""; - for (var iDrive = 0; iDrive < this.nDrives; iDrive++) { - var controlOption = document.createElement("option"); - controlOption.value = iDrive; - controlOption.text = this.getDriveName(iDrive); - controlDrives.appendChild(controlOption); - } - if (this.nDrives > 0) { - controlDrives.value = "0"; - this.displayDisk(0); - } - } - } - return true; -}; - -/** - * powerDown(fSave, fShutdown) - * - * @this {RK11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure - */ -RK11.prototype.powerDown = function(fSave, fShutdown) -{ - return fSave? this.save() : true; -}; - -/** - * reset() - * - * @this {RK11} - */ -RK11.prototype.reset = function() -{ - this.initController(); -}; - -/** - * save() - * - * This implements save support for the RK11 component. - * - * @this {RK11} - * @return {Object} - */ -RK11.prototype.save = function() -{ - var state = new State(this); - // state.set(0, this.saveController()); - return state.data(); -}; - -/** - * restore(data) - * - * This implements restore support for the RK11 component. - * - * @this {RK11} - * @param {Object} data - * @return {boolean} true if successful, false if failure - */ -RK11.prototype.restore = function(data) -{ - return this.initController(data[0]); -}; - -/** - * saveController() - * - * @this {RK11} - * @return {Array} - */ -RK11.prototype.saveController = function() -{ - return []; -}; - -/** - * autoMount(fRemount) - * - * @this {RK11} - * @param {boolean} [fRemount] is true if we're remounting all auto-mounted disks - * @return {boolean} true if one or more disk images are being auto-mounted, false if none - */ -RK11.prototype.autoMount = function(fRemount) -{ - if (!fRemount) this.cAutoMount = 0; - for (var sDrive in this.configMount) { - var configDrive = this.configMount[sDrive]; - var sDiskPath = configDrive['path'] || ""; - var sDiskName = configDrive['name'] || this.findDisk(sDiskPath); - if (sDiskPath && sDiskName) { - var iDrive = this.getDriveNumber(sDrive); - if (iDrive >= 0 && iDrive < this.aDrives.length) { - if (!this.loadDrive(iDrive, sDiskName, sDiskPath, true) && fRemount) { - this.setReady(false); - } - continue; - } - } - this.notice("Incorrect auto-mount settings for drive " + sDrive + " (" + JSON.stringify(configDrive) + ")"); - } - return !!this.cAutoMount; -}; - -/** - * loadSelectedDrive(sDiskName, sDiskPath, file) - * - * @this {RK11} - * @param {string} sDiskName - * @param {string} sDiskPath - * @param {File} [file] is set if there's an associated File object - */ -RK11.prototype.loadSelectedDrive = function(sDiskName, sDiskPath, file) -{ - var controlDrives = this.bindings["listDrives"]; - var iDrive = controlDrives && str.parseInt(controlDrives.value, 10); - - if (iDrive === undefined || iDrive < 0 || iDrive >= this.aDrives.length) { - this.notice("Unable to load the selected drive"); - return; - } - - if (!sDiskPath) { - this.unloadDrive(iDrive); - return; - } - - if (sDiskPath == RK11.SOURCE.LOCAL) { - this.notice('Use "Choose File" and "Mount" to select and load a local disk.'); - return; - } - - /* - * If the special RK11.SOURCE.REMOTE path is selected, then we want to prompt the user for a URL. - * Oh, and make sure we pass an empty string as the 2nd parameter to prompt(), so that IE won't display - * "undefined" -- because after all, undefined and "undefined" are EXACTLY the same thing, right? - * - * TODO: This is literally all I've done to support remote disk images. There's probably more - * I should do, like dynamically updating "listDisks" to include new entries, and adding new entries - * to the save/restore data. - */ - if (sDiskPath == RK11.SOURCE.REMOTE) { - sDiskPath = window.prompt("Enter the URL of a remote disk image.", "") || ""; - if (!sDiskPath) return; - sDiskName = str.getBaseName(sDiskPath); - this.status("Attempting to load " + sDiskPath + " as \"" + sDiskName + "\""); - this.sDiskSource = RK11.SOURCE.REMOTE; - } - else { - this.sDiskSource = sDiskPath; - } - - this.loadDrive(iDrive, sDiskName, sDiskPath, false, file); -}; - -/** - * bootSelectedDisk() - * - * @this {RK11} - */ -RK11.prototype.bootSelectedDisk = function() -{ - var drive; - var controlDrives = this.bindings["listDrives"]; - var iDrive = controlDrives && str.parseInt(controlDrives.value, 10); - - if (iDrive == null || iDrive < 0 || iDrive >= this.aDrives.length || !(drive = this.aDrives[iDrive])) { - this.notice("Unable to boot the selected drive"); - return; - } - if (!drive.disk) { - this.notice("Load a disk into the drive first"); - return; - } - /* - * NOTE: We're calling setReset() BEFORE reading the boot code in order to eliminate any side-effects - * of the previous state of either the controller OR the CPU; for example, we don't want any previous MMU - * or UNIBUS Map registers affecting the simulated readData() call. Also, some boot code (eg, RSTS/E) - * expects the controller to be in a READY state; since setReset() triggers a call to our reset() handler, - * a READY state is assured, and the readData() call shouldn't do anything to change that. - */ - this.cpu.setReset(0, true); - var err = this.readData(drive, 0, 0, 0, 512, 0x0000, 2); - if (err) { - this.notice("Unable to read the boot sector (" + err + ")"); - } -}; - -/** - * loadDrive(iDrive, sDiskName, sDiskPath, fAutoMount, file) - * - * NOTE: If sDiskPath is already loaded, nothing needs to be done. - * - * @this {RK11} - * @param {number} iDrive - * @param {string} sDiskName - * @param {string} sDiskPath - * @param {boolean} [fAutoMount] - * @param {File} [file] is set if there's an associated File object - * @return {number} 1 if disk loaded, 0 if queued up (or busy), -1 if already loaded - */ -RK11.prototype.loadDrive = function(iDrive, sDiskName, sDiskPath, fAutoMount, file) -{ - var nResult = -1; - var drive = this.aDrives[iDrive]; - - if (drive.sDiskPath.toLowerCase() != sDiskPath.toLowerCase()) { - - nResult++; - this.unloadDrive(iDrive, true); - - if (drive.fBusy) { - this.notice("RK11 busy"); - } - else { - // this.status("disk queued: " + sDiskName); - drive.fBusy = true; - if (fAutoMount) { - drive.fAutoMount = true; - this.cAutoMount++; - if (this.messageEnabled()) this.printMessage("auto-loading disk: " + sDiskName); - } - drive.fLocal = !!file; - var disk = new DiskPDP11(this, drive, DiskAPI.MODE.PRELOAD); - if (disk.load(sDiskName, sDiskPath, file, this.finishLoadDrive)) { - nResult++; - } - } - } - return nResult; -}; - -/** - * finishLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) - * - * The disk parameter is set if the disk was successfully loaded, null if not. - * - * @this {RK11} - * @param {Object} drive - * @param {DiskPDP11} disk - * @param {string} sDiskName - * @param {string} sDiskPath - * @param {boolean} [fAutoMount] - */ -RK11.prototype.finishLoadDrive = function onLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) -{ - var aDiskInfo; - - drive.fBusy = false; - - if (disk) { - /* - * TODO: While this is a perfectly reasonable thing to do, one wonders if the Disk object shouldn't - * have done this itself, since we passed our Drive object to it (it already knows the drive's limits). - */ - if (disk.nCylinders > drive.nCylinders || disk.nHeads > drive.nHeads /* || disk.nSectors > drive.nSectors */) { - this.notice("Disk \"" + sDiskName + "\" too large for drive " + this.getDriveName(drive.iDrive)); - disk = null; - } - } - - if (disk) { - drive.disk = disk; - drive.sDiskName = sDiskName; - drive.sDiskPath = sDiskPath; - - /* - * Adding local disk image names to the disk list seems like a nice idea, but it's too confusing, - * because then it looks like the "Mount" button should be able to (re)load them, and that can NEVER - * happen, for security reasons; local disk images can ONLY be loaded via the "Mount" button after - * the user has selected them via the "Choose File" button. - * - * this.addDisk(sDiskName, sDiskPath); - * - * So we're going to take a different approach: when displayDisk() is asked to display the name - * of a local disk image, it will map all such disks to "Local Disk", and any attempt to "Mount" such - * a disk, will essentially result in a "Disk not found" error. - */ - // this.addDiskHistory(sDiskName, sDiskPath, disk); - - /* - * For a local disk (ie, one loaded via mountDrive()), the disk.restore() performed by addDiskHistory() - * may have altered the disk geometry, so refresh the disk info. - */ - // aDiskInfo = disk.info(); - - /* - * Clearly, a successful mount implies a disk change, and I suppose that, technically, an *unsuccessful* - * mount should imply the same, but what would the real-world analog be? Inserting a piece of cardboard - * instead of an actual disk? In any case, if we can do the user a favor by pretending (as far as the - * disk change line is concerned) that an unsuccessful mount never happened, let's do it. - * - * Successful unmounts are a different story, however; those *do* trigger a change. See unloadDrive(). - */ - // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; - - /* - * With the addition of notify(), users are now "alerted" whenever a disk has finished loading; - * notify() is selective about its output, using print() if a print window is open, alert() otherwise. - */ - this.notice("Loaded disk \"" + sDiskName + "\" in drive " + this.getDriveName(drive.iDrive), drive.fAutoMount || fAutoMount); - - /* - * Since you usually want the Computer to have focus again after loading a new disk, let's try automatically - * updating the focus after a successful load. - */ - if (this.cmp) this.cmp.setFocus(); - } - else { - drive.fLocal = false; - } - - if (drive.fAutoMount) { - drive.fAutoMount = false; - if (!--this.cAutoMount) this.setReady(); - } - - this.displayDisk(drive.iDrive); -}; - -/** - * addDisk(sName, sPath, fTop) - * - * @this {RK11} - * @param {string} sName - * @param {string} sPath - * @param {boolean} [fTop] (default is bottom) - */ -RK11.prototype.addDisk = function(sName, sPath, fTop) -{ - var controlDisks = this.bindings["listDisks"]; - if (controlDisks && controlDisks.options) { - for (var i = 0; i < controlDisks.options.length; i++) { - if (controlDisks.options[i].value == sPath) return; - } - var controlOption = document.createElement("option"); - controlOption.text = sName; - controlOption.value = sPath; - if (fTop && controlDisks.childNodes[0]) { - controlDisks.insertBefore(controlOption, controlDisks.childNodes[0]); - } else { - controlDisks.appendChild(controlOption); - } - } -}; - -/** - * findDisk(sPath) - * - * This is used to deal with mount requests (eg, autoMount) that supply a path without a name; - * if we can find the path in the "listDisks" control, then we return the associated disk name. - * - * @this {RK11} - * @param {string} sPath - * @return {string|null} - */ -RK11.prototype.findDisk = function(sPath) -{ - var controlDisks = this.bindings["listDisks"]; - if (controlDisks && controlDisks.options) { - for (var i = 0; i < controlDisks.options.length; i++) { - var control = controlDisks.options[i]; - if (control.value == sPath) return control.text; - } - } - return str.getBaseName(sPath, true); -}; - -/** - * displayDisk(iDrive, fUpdateDrive) - * - * @this {RK11} - * @param {number} iDrive (unvalidated) - * @param {boolean} [fUpdateDrive] is true to update the drive list to match the specified drive (eg, the auto-mount case) - */ -RK11.prototype.displayDisk = function(iDrive, fUpdateDrive) -{ - /* - * First things first: validate iDrive. - */ - if (iDrive >= 0 && iDrive < this.aDrives.length) { - var drive = this.aDrives[iDrive]; - var controlDisks = this.bindings["listDisks"]; - var controlDrives = this.bindings["listDrives"]; - /* - * Next, make sure controls for both drives and disks exist. - */ - if (controlDisks && controlDrives && controlDisks.options && controlDrives.options) { - /* - * Next, make sure the drive whose disk we're updating is the currently selected drive. - */ - var i; - var iDriveSelected = str.parseInt(controlDrives.value, 10); - var sTargetPath = (drive.fLocal? RK11.SOURCE.LOCAL : drive.sDiskPath); - if (!isNaN(iDriveSelected) && iDriveSelected == iDrive) { - for (i = 0; i < controlDisks.options.length; i++) { - if (controlDisks.options[i].value == sTargetPath) { - if (controlDisks.selectedIndex != i) { - controlDisks.selectedIndex = i; - } - break; - } - } - if (i == controlDisks.options.length) controlDisks.selectedIndex = 0; - } - if (fUpdateDrive) { - for (i = 0; i < controlDrives.options.length; i++) { - if (str.parseInt(controlDrives.options[i].value, 10) == drive.iDrive) { - if (controlDrives.selectedIndex != i) { - controlDrives.selectedIndex = i; - } - break; - } - } - } - } - } -}; - -/** - * unloadDrive(iDrive, fLoading) - * - * @this {RK11} - * @param {number} iDrive - * @param {boolean} [fLoading] - */ -RK11.prototype.unloadDrive = function(iDrive, fLoading) -{ - var drive = this.aDrives[iDrive]; - - if (drive.disk || fLoading === false) { - - /* - * Before we toss the disk's information, capture any deltas that may have occurred. - */ - // this.updateDiskHistory(drive.sDiskName, drive.sDiskPath, drive.disk); - - drive.sDiskName = ""; - drive.sDiskPath = ""; - drive.disk = null; - drive.fLocal = false; - - // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; - - if (!fLoading) { - this.notice("Drive " + this.getDriveName(iDrive) + " unloaded", fLoading); - this.sDiskSource = RK11.SOURCE.NONE; - this.displayDisk(iDrive); - } - } -}; - -/** - * unloadAllDrives(fDiscard) - * - * @this {RK11} - * @param {boolean} fDiscard to discard all disk history before unloading - */ -RK11.prototype.unloadAllDrives = function(fDiscard) -{ - // if (fDiscard) this.aDiskHistory = []; - - for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { - this.unloadDrive(iDrive, true); - } -}; - -/** - * initController(data) - * - * @this {RK11} - * @param {Array} [data] - * @return {boolean} true if successful, false if failure - */ -RK11.prototype.initController = function(data) -{ - var i = 0; - if (!data) data = []; - this.regRKDS = data[i++] || (PDP11.RK11.RKDS.RK05 | PDP11.RK11.RKDS.SOK | PDP11.RK11.RKDS.RRDY); - this.regRKER = data[i++] || 0; - this.regRKCS = data[i++] || (PDP11.RK11.RKCS.CRDY); - this.regRKWC = data[i++] || 0; - this.regRKBA = data[i++] || 0; - this.regRKDA = data[i++] || 0; - this.regRKDB = data[i] || 0; // TODO: Determine if there's anything we should be doing to the RKDB register - - var fSuccess = true; - for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { - var drive = this.aDrives[iDrive]; - if (drive === undefined) { - drive = this.aDrives[iDrive] = {}; - } - if (!this.initDrive(drive, iDrive)) { - fSuccess = false; - } - } - return fSuccess; -}; - -/** - * initDrive(drive, iDrive, data) - * - * TODO: Consider a separate Drive class that any drive controller can use, since there's a lot of commonality - * between the drive objects created by disk controllers. This will clean up overall drive management and allow - * us to factor out some common Drive methods. - * - * @this {RK11} - * @param {Object} drive - * @param {number} iDrive - * @param {Array|undefined} [data] - * @return {boolean} true if successful, false if failure - */ -RK11.prototype.initDrive = function(drive, iDrive, data) -{ - var i = 0; - var fSuccess = true; - - drive.iDrive = iDrive; - drive.name = this.idComponent; - drive.fBusy = drive.fLocal = false; - - /* - * NOTE: We initialize the following drive properties to their MAXIMUMs; disks may have - * these or SMALLER values (subject to the limits of what the controller supports, of course). - */ - drive.nCylinders = 203; - drive.nHeads = 2; - drive.nSectors = 12; - drive.cbSector = 512; - drive.fRemovable = true; - - /* - * The next group of properties are set by various controller command sequences. - */ - drive.bHead = 0; - drive.bCylinder = 0; - drive.bSector = 1; - drive.bSectorEnd = drive.nSectors; // aka EOT - drive.nBytes = drive.cbSector; - - /* - * The next group of properties are managed by worker functions (eg, doRead()) to maintain state across DMA requests. - */ - drive.ibSector = 0; - drive.sector = null; - - if (!drive.disk) drive.sDiskPath = ""; // ensure this is initialized to a default that displayDisk() can deal with - - drive.status = PDP11.RK11.RKDS.RK05 | PDP11.RK11.RKDS.SOK | PDP11.RK11.RKDS.RRDY; - - return fSuccess; -}; - -/** - * processCommand() - * - * @this {RK11} - */ -RK11.prototype.processCommand = function() -{ - var fInterrupt = true; - var fnReadWrite, sFunc = ""; - var iDrive = (this.regRKDA & PDP11.RK11.RKDA.DS) >> PDP11.RK11.RKDA.SHIFT.DS; - var drive = this.aDrives[iDrive]; - var iCylinder, iHead, iSector, nWords, addr, inc; - - this.regRKCS &= ~PDP11.RK11.RKCS.CRDY; - var func = this.regRKCS & PDP11.RK11.RKCS.FUNC; - - switch(func) { - - case PDP11.RK11.FUNC.CRESET: - if (this.messageEnabled()) this.printMessage(this.type + ": CRESET(" + iDrive + ")", true); - this.regRKER = 0; - this.regRKCS = PDP11.RK11.RKCS.CRDY; - this.regRKDA = 0; - break; - - case PDP11.RK11.FUNC.SEEK: - iCylinder = (this.regRKDA & PDP11.RK11.RKDA.CA) >> PDP11.RK11.RKDA.SHIFT.CA; - if (this.messageEnabled()) this.printMessage(this.type + ": SEEK(" + iCylinder + ")", true); - if (iCylinder >= drive.nCylinders) { - this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXC; - this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; - } - break; - - case PDP11.RK11.FUNC.RCHK: - sFunc = "RCHK"; - /* falls through */ - - case PDP11.RK11.FUNC.READ: - if (!sFunc) sFunc = "READ"; - fnReadWrite = this.readData; - /* falls through */ - - case PDP11.RK11.FUNC.WCHK: - if (!sFunc) sFunc = "WCHK"; - /* falls through */ - - case PDP11.RK11.FUNC.WRITE: - if (!sFunc) sFunc = "WRITE"; - if (!fnReadWrite) fnReadWrite = this.writeData; - - iCylinder = (this.regRKDA & PDP11.RK11.RKDA.CA) >> PDP11.RK11.RKDA.SHIFT.CA; - iHead = (this.regRKDA & PDP11.RK11.RKDA.HS) >> PDP11.RK11.RKDA.SHIFT.HS; - iSector = this.regRKDA & PDP11.RK11.RKDA.SA; - nWords = (0x10000 - this.regRKWC) & 0xffff; - addr = (((this.regRKCS & PDP11.RK11.RKCS.MEX)) << (16 - PDP11.RK11.RKCS.SHIFT.MEX)) | this.regRKBA; - inc = (this.regRKCS & PDP11.RK11.RKCS.IBA)? 0 : 2; - - if (this.messageEnabled()) this.printMessage(this.type + ": " + sFunc + "(" + iCylinder + ":" + iHead + ":" + iSector + ") " + str.toOct(addr) + "--" + str.toOct(addr + (nWords << 1)), true, true); - - if (iCylinder >= drive.nCylinders) { - this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXC; - this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; - break; - } - if (iSector >= drive.nSectors) { - this.regRKER |= PDP11.RK11.RKER.DRE | PDP11.RK11.RKER.NXS; - this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; - break; - } - - fInterrupt = fnReadWrite.call(this, drive, iCylinder, iHead, iSector, nWords, addr, inc, (func >= PDP11.RK11.FUNC.WCHK), this.doneReadWrite.bind(this)); - break; - - case PDP11.RK11.FUNC.DRESET: - if (this.messageEnabled()) this.printMessage(this.type + ": DRESET(" + iDrive + ")"); - break; - - default: - if (this.messageEnabled()) this.printMessage(this.type + ": UNSUPPORTED(" + func + ")"); - break; - } - - this.regRKDS = drive.status | (drive.disk? PDP11.RK11.RKDS.DRDY : 0) | (iDrive << PDP11.RK11.RKDS.SHIFT.ID) | (this.regRKDA & PDP11.RK11.RKDS.SC); - - if (this.regRKER & PDP11.RK11.RKER.DRE) { - if (this.messageEnabled()) this.printMessage(this.type + ": ERROR: " + str.toOct(this.regRKER)); - } - - if (fInterrupt) { - this.regRKCS &= ~PDP11.RK11.RKCS.GO; - this.regRKCS |= PDP11.RK11.RKCS.CRDY; - if (this.regRKCS & PDP11.RK11.RKCS.IE) this.cpu.setIRQ(this.irq); - } -}; - -/** - * readData(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) - * - * @this {RK11} - * @param {Object} drive - * @param {number} iCylinder - * @param {number} iHead - * @param {number} iSector - * @param {number} nWords - * @param {number} addr - * @param {number} inc (normally 2, unless inhibited, in which case it's 0) - * @param {boolean} [fCheck] - * @param {function(...)} [done] - * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) - */ -RK11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) -{ - var err = 0; - var disk = drive.disk; - var sector = null, ibSector; - - if (!disk) { - err = PDP11.RK11.RKER.NXD; - nWords = 0; - } - - var sWords = ""; - while (nWords) { - if (!sector) { - if (iCylinder >= disk.nCylinders) { - err = PDP11.RK11.RKER.NXC; - break; - } - sector = disk.seek(iCylinder, iHead, iSector + 1); - if (!sector) { - err = PDP11.RK11.RKER.SKE; - break; - } - ibSector = 0; - if (++iSector >= disk.nSectors) { - iSector = 0; - if (++iHead >= disk.nHeads) { - iHead = 0; - ++iCylinder; - } - } - } - var b0, b1; - if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) { - err = PDP11.RK11.RKER.NXS; - break; - } - if (!fCheck) { - var data = b0 | (b1 << 8); - this.bus.setWordDirect(this.cpu.mapUnibus(addr), data); - if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) { - if (!sWords) sWords = str.toOct(addr) + ": "; - sWords += str.toOct(data) + ' '; - if (sWords.length >= 64) { - console.log(sWords); - sWords = ""; - } - } - if (this.bus.checkFault()) { - err = PDP11.RK11.RKER.NXM; - break; - } - } - if (ibSector >= disk.cbSector) sector = null; - addr += inc; - nWords--; - } - return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; -}; - -/** - * writeData(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) - * - * @this {RK11} - * @param {Object} drive - * @param {number} iCylinder - * @param {number} iHead - * @param {number} iSector - * @param {number} nWords - * @param {number} addr - * @param {number} inc (normally 2, unless inhibited, in which case it's 0) - * @param {boolean} [fCheck] - * @param {function(...)} [done] - * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) - */ -RK11.prototype.writeData = function(drive, iCylinder, iHead, iSector, nWords, addr, inc, fCheck, done) -{ - var err = 0; - var disk = drive.disk; - var sector = null, ibSector; - - if (!disk) { - err = PDP11.RK11.RKER.NXD; - nWords = 0; - } - - while (nWords) { - var data = this.bus.getWordDirect(this.cpu.mapUnibus(addr)); - if (this.bus.checkFault()) { - err = PDP11.RK11.RKER.NXM; - break; - } - addr += inc; - nWords--; - if (!sector) { - if (iCylinder >= disk.nCylinders) { - err = PDP11.RK11.RKER.NXC; - break; - } - sector = disk.seek(iCylinder, iHead, iSector + 1, true); - if (!sector) { - err = PDP11.RK11.RKER.SKE; - break; - } - ibSector = 0; - if (++iSector >= disk.nSectors) { - iSector = 0; - if (++iHead >= disk.nHeads) { - iHead = 0; - ++iCylinder; - } - } - } - if (fCheck) { - var b0, b1; - if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) { - err = PDP11.RK11.RKER.NXS; - break; - } - /* - * TODO: Figure out why certain WCHK commands fail during the 11/70 CPU EXERCISER diagnostic, - * once the test starts reading/writing with physical addresses > 177777. I think all the - * UNIBUS address calculations are fine, so I'm at a loss to explain how a WCHK operation - * can succeed when the diagnostic itself appears to alter the memory immediately after the - * preceding WRITE operation. - * - * The following machine is already primed with the diagnostic, as well as the recommended - * breakpoints and messages: - * - * http://www.pcjs.org/devices/pdp11/machine/1170/panel/debugger/cpuexer/ - * - * If you're not using that machine, turn on RK11 messages ("m rk11 on"), set a breakpoint at - * 033330 ("bp 033330") and then take a look at the first RK11 operation after that breakpoint; - * it should be the first one using a UNIBUS address larger than 16 bits: - * - * RK11: WRITE(147:1:2) 00453610--00463610 @037772 - * - * Use a breakpoint to halt the machine at 037772, and then use the Debugger's "da" command - * to determine where UNIBUS address 00453610 is mapped (make sure you specify it as a physical - * address using the % prefix): - * - * >> da %00453610 - * 00,101,011,110,001,000 00453610 - * UNIMAP[18]: 1,111,111,110,100,001,111,000 17764170 - * OFFSET: 1,011,110,001,000 00013610 - * PHYSICAL: 0,000,000,000,000,000,000,000 00000000 - * - * So, you can see that the starting address for the WRITE is perfectly calculated to begin at - * physical address 0. And the "da" command indicates virtual address 0 points to the same - * memory: - * - * >> da 0 - * 00,000,000,000,000,000 00000000 - * 0,000,000,000,000 00000000 - * + KIPAR0: 0,000,000,000,000,000,000,000 00000000 - * & MMUMASK: 1,111,111,111,111,111,111,111 17777777 - * = PHYSICAL: 0,000,000,000,000,000,000,000 00000000 - * - * Strangely, the diagnostic (its interrupt handler to be exact) is updating the next RKCS command - * value at 001570, which is right in the middle of the first 2048 words of memory -- the same 2048 - * words that the diagnostic is about to WRITE and then WCHK. Since that value is changing between - * the WRITE and the WCHK, how can WCHK succeed? - * - * For now, I just pretend that it does, by skipping the actual comparison. - * - * if (data != (b0 | (b1 << 8))) { - * err = PDP11.RK11.RKER.WCE; - * break; - * } - */ - } else { - if (!disk.write(sector, ibSector++, data & 0xff) || !disk.write(sector, ibSector++, data >> 8)) { - err = PDP11.RK11.RKER.NXS; - break; - } - } - if (ibSector >= disk.cbSector) sector = null; - } - return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; -}; - -/** - * doneReadWrite(err, iCylinder, iHead, iSector, nWords, addr) - * - * @this {RK11} - * @param {number} err - * @param {number} iCylinder - * @param {number} iHead - * @param {number} iSector - * @param {number} nWords - * @param {number} addr - * @return {boolean} - */ -RK11.prototype.doneReadWrite = function(err, iCylinder, iHead, iSector, nWords, addr) -{ - this.regRKBA = addr & 0xffff; - this.regRKCS = (this.regRKCS & ~PDP11.RK11.RKCS.MEX) | ((addr >> (16 - PDP11.RK11.RKCS.SHIFT.MEX)) & PDP11.RK11.RKCS.MEX); - this.regRKWC = (0x10000 - nWords) & 0xffff; - this.regRKDA = (this.regRKDA & ~PDP11.RK11.RKDA.SA) | (iSector & PDP11.RK11.RKDA.SA); - if (err) { - this.regRKER |= err | PDP11.RK11.RKER.DRE; - this.regRKCS |= PDP11.RK11.RKCS.HE | PDP11.RK11.RKCS.ERR; - } - return true; -}; - -/** - * readRKDS(addr) - * - * @this {RK11} - * @param {number} addr (eg, PDP11.UNIBUS.RKDS or 177400) - * @return {number} - */ -RK11.prototype.readRKDS = function(addr) -{ - return this.regRKDS; -}; - -/** - * writeRKDS(data, addr) - * - * @this {RK11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RKDS or 177400) - */ -RK11.prototype.writeRKDS = function(data, addr) -{ - /* - * This is a read-only register - */ -}; - -/** - * readRKER(addr) - * - * @this {RK11} - * @param {number} addr (eg, PDP11.UNIBUS.RKER or 177402) - * @return {number} - */ -RK11.prototype.readRKER = function(addr) -{ - return this.regRKER; -}; - -/** - * writeRKER(data, addr) - * - * @this {RK11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RKER or 177402) - */ -RK11.prototype.writeRKER = function(data, addr) -{ - /* - * This is a read-only register - */ -}; - -/** - * readRKCS(addr) - * - * @this {RK11} - * @param {number} addr (eg, PDP11.UNIBUS.RKCS or 177404) - * @return {number} - */ -RK11.prototype.readRKCS = function(addr) -{ - return this.regRKCS & PDP11.RK11.RKCS.RMASK; -}; - -/** - * writeRKCS(data, addr) - * - * @this {RK11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RKCS or 177404) - */ -RK11.prototype.writeRKCS = function(data, addr) -{ - this.regRKCS = (this.regRKCS & ~PDP11.RK11.RKCS.WMASK) | (data & PDP11.RK11.RKCS.WMASK); - - if (this.regRKCS & PDP11.RK11.RKCS.GO) this.processCommand(); -}; - -/** - * readRKWC(addr) - * - * @this {RK11} - * @param {number} addr (eg, PDP11.UNIBUS.RKWC or 177406) - * @return {number} - */ -RK11.prototype.readRKWC = function(addr) -{ - return this.regRKWC; -}; - -/** - * writeRKWC(data, addr) - * - * @this {RK11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RKWC or 177406) - */ -RK11.prototype.writeRKWC = function(data, addr) -{ - this.regRKWC = data; -}; - -/** - * readRKBA(addr) - * - * @this {RK11} - * @param {number} addr (eg, PDP11.UNIBUS.RKBA or 177410) - * @return {number} - */ -RK11.prototype.readRKBA = function(addr) -{ - return this.regRKBA; -}; - -/** - * writeRKBA(data, addr) - * - * @this {RK11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RKBA or 177410) - */ -RK11.prototype.writeRKBA = function(data, addr) -{ - this.regRKBA = data; -}; - -/** - * readRKDA(addr) - * - * @this {RK11} - * @param {number} addr (eg, PDP11.UNIBUS.RKDA or 177412) - * @return {number} - */ -RK11.prototype.readRKDA = function(addr) -{ - return this.regRKDA; -}; - -/** - * writeRKDA(data, addr) - * - * @this {RK11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RKDA or 177412) - */ -RK11.prototype.writeRKDA = function(data, addr) -{ - this.regRKDA = data; -}; - -/** - * readRKDB(addr) - * - * @this {RK11} - * @param {number} addr (eg, PDP11.UNIBUS.RKDB or 177416) - * @return {number} - */ -RK11.prototype.readRKDB = function(addr) -{ - return this.regRKDB; -}; - -/** - * writeRKDB(data, addr) - * - * @this {RK11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RKDB or 177416) - */ -RK11.prototype.writeRKDB = function(data, addr) -{ - this.regRKDB = data; -}; - /* * ES6 ALERT: As you can see below, I've finally started using computed property names. */ @@ -1447,4 +1450,4 @@ RK11.UNIBUS_IOTABLE = { [PDP11.UNIBUS.RKDB]: /* 177416 */ [null, null, RK11.prototype.readRKDB, RK11.prototype.writeRKDB, "RKDB"] }; -if (NODE) module.exports = RK11; +export default RK11; diff --git a/modules/pdp11/lib/rl11.js b/modules/pdp11/lib/rl11.js index b453c8e89..afcf6c6e6 100644 --- a/modules/pdp11/lib/rl11.js +++ b/modules/pdp11/lib/rl11.js @@ -28,59 +28,1330 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var DiskAPI = require("../../shared/lib/diskapi"); - var Component = require("../../shared/lib/component"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var MessagesPDP11 = require("./messages"); - var DiskPDP11 = require("./disk"); -} +import Str from "../../shared/lib/strlib"; +import Web from "../../shared/lib/weblib"; +import DiskAPI from "../../shared/lib/diskapi"; +import Component from "../../shared/lib/component"; +import State from "../../shared/lib/state"; +import PDP11 from "./defines"; +import MessagesPDP11 from "./messages"; +import DiskPDP11 from "./disk"; -/** - * RL11(parms) - * - * The RL11 component has the following component-specific (parms) properties: - * - * autoMount: one or more JSON-encoded objects, each containing 'name' and 'path' properties - * - * The RL11 Disk Controller controls up to four RL01 or RL02 disk drives, which in turn read/write RL01K or - * RL02K disk cartridges. See [RL11 Disk Controller Configuration Files](/devices/pdp11/rl11/). - * - * RL01K disks are single-platter cartridges with 256 tracks per side, 40 sectors per track, and a sector size - * of 256 bytes, for a total capacity of 5Mb (5,242,880 bytes). See [RL01K Disk Images](/disks/dec/rl01k/). - * - * RL02K disks are single-platter cartridges with 512 tracks per side, 40 sectors per track, and a sector size - * of 256 bytes, for a total capacity of 10Mb (10,485,760 bytes). See [RL02K Disk Images](/disks/dec/rl02k/). - * - * @constructor - * @extends Component - * @param {Object} parms - */ -function RL11(parms) -{ - Component.call(this, "RL11", parms, RL11, MessagesPDP11.RL11); - - /* - * We record any 'autoMount' object now, but we no longer parse it until initBus(), - * because the Computer's getMachineParm() service may have an override for us. +class RL11 extends Component { + /** + * RL11(parms) + * + * The RL11 component has the following component-specific (parms) properties: + * + * autoMount: one or more JSON-encoded objects, each containing 'name' and 'path' properties + * + * The RL11 Disk Controller controls up to four RL01 or RL02 disk drives, which in turn read/write RL01K or + * RL02K disk cartridges. See [RL11 Disk Controller Configuration Files](/devices/pdp11/rl11/). + * + * RL01K disks are single-platter cartridges with 256 tracks per side, 40 sectors per track, and a sector size + * of 256 bytes, for a total capacity of 5Mb (5,242,880 bytes). See [RL01K Disk Images](/disks/dec/rl01k/). + * + * RL02K disks are single-platter cartridges with 512 tracks per side, 40 sectors per track, and a sector size + * of 256 bytes, for a total capacity of 10Mb (10,485,760 bytes). See [RL02K Disk Images](/disks/dec/rl02k/). + * + * @param {Object} parms */ - this.configMount = this.parseConfig(parms['autoMount']); - this.cAutoMount = 0; + constructor(parms) + { + super("RL11", parms, RL11, MessagesPDP11.RL11); - /* - * The RL11 has two Drive Select bits, representing up to four drives. + /* + * We record any 'autoMount' object now, but we no longer parse it until initBus(), + * because the Computer's getMachineParm() service may have an override for us. + */ + this.configMount = this.parseConfig(parms['autoMount']); + this.cAutoMount = 0; + + /* + * The RL11 has two Drive Select bits, representing up to four drives. + */ + this.nDrives = 4; + this.aDrives = new Array(this.nDrives); + this.fLocalDisks = (!Web.isMobile() && window && 'FileReader' in window); + this.sDiskSource = RL11.SOURCE.NONE; + + this.irq = null; + + /* + * Define all the properties to be initialized by initController() + */ + this.regRLCS = this.regRLBA = this.regRLDA = this.tmpRLDA = this.regRLMP = this.regRLBE = 0; + } + + /** + * parseConfig(config) + * + * @this {RL11} + * @param {*} config + * @return {*} */ - this.nDrives = 4; - this.aDrives = new Array(this.nDrives); + parseConfig(config) + { + if (config && typeof config == "string") { + try { + /* + * The most likely source of any exception will be right here, where we're parsing + * this JSON-encoded data. + */ + config = eval("(" + config + ")"); + } catch (e) { + Component.error(this.type + " auto-mount error: " + e.message + " (" + config + ")"); + config = null; + } + } + return config || {}; + } - this.fLocalDisks = (!web.isMobile() && window && 'FileReader' in window); + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {RL11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "list", "text", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "listDisks") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ + setBinding(sType, sBinding, control, sValue) + { + var rl11 = this; + + switch (sBinding) { + + case "listDisks": + this.bindings[sBinding] = control; + + control.onchange = function onChangeListDisks(event) { + var controlDesc = rl11.bindings["descDisk"]; + var controlOption = control.options && control.options[control.selectedIndex]; + if (controlDesc && controlOption) { + var dataValue = {}; + var sValue = controlOption.getAttribute("data-value"); + if (sValue) { + try { + dataValue = eval("(" + sValue + ")"); + } catch (e) { + Component.error("RL11 option error: " + e.message); + } + } + var sHTML = dataValue['desc']; + if (sHTML === undefined) sHTML = ""; + var sHRef = dataValue['href']; + if (sHRef !== undefined) sHTML = "" + sHTML + ""; + controlDesc.innerHTML = sHTML; + } + }; + return true; + + case "descDisk": + case "listDrives": + this.bindings[sBinding] = control; + /* + * I tried going with onclick instead of onchange, so that if you wanted to confirm what's + * loaded in a particular drive, you could click the drive control without having to change it. + * However, that doesn't seem to work for all browsers, so I've reverted to onchange. + */ + control.onchange = function onChangeListDrives(event) { + var iDrive = Str.parseInt(control.value, 10); + if (iDrive != null) rl11.displayDisk(iDrive); + }; + return true; + + case "loadDisk": + this.bindings[sBinding] = control; + + control.onclick = function onClickLoadDrive(event) { + var controlDisks = rl11.bindings["listDisks"]; + if (controlDisks && controlDisks.options) { + var sDiskName = controlDisks.options[controlDisks.selectedIndex].text; + var sDiskPath = controlDisks.value; + rl11.loadSelectedDrive(sDiskName, sDiskPath); + } + }; + return true; + + case "bootDisk": + this.bindings[sBinding] = control; + + control.onclick = function onClickBootDisk(event) { + rl11.bootSelectedDisk(); + }; + return true; + + case "saveDisk": + /* + * Yes, technically, this feature does not require "Local disk support" (which is really a reference + * to FileReader support), but since fLocalDisks is also false for all mobile devices, and since there + * is an "orthogonality" to disabling both features in tandem, let's just let it slide, OK? + */ + if (!this.fLocalDisks) { + if (DEBUG) this.log("Local disk support not available"); + /* + * We could also simply hide the control; eg: + * + * control.style.display = "none"; + * + * but removing the control altogether seems better. + */ + control.parentNode.removeChild(/** @type {Node} */ (control)); + return false; + } + + this.bindings[sBinding] = control; + + control.onclick = function onClickSaveDrive(event) { + var controlDrives = rl11.bindings["listDrives"]; + if (controlDrives && controlDrives.options && rl11.aDrives) { + var iDriveSelected = Str.parseInt(controlDrives.value, 10) || 0; + var drive = rl11.aDrives[iDriveSelected]; + if (drive) { + /* + * Note the similarity (and hence factoring opportunity) between this code and the HDC's "saveHD*" binding. + */ + var disk = drive.disk; + if (disk) { + if (DEBUG) rl11.println("saving disk " + disk.sDiskPath + "..."); + var sAlert = Web.downloadFile(disk.encodeAsBase64(), "octet-stream", true, disk.sDiskFile.replace(".json", ".img")); + Web.alertUser(sAlert); + } else { + rl11.notice("No disk loaded in drive."); + } + } else { + rl11.notice("No disk drive selected."); + } + } + }; + return true; + + case "mountDisk": + if (!this.fLocalDisks) { + if (DEBUG) this.log("Local disk support not available"); + /* + * We could also simply hide the control; eg: + * + * control.style.display = "none"; + * + * but removing the control altogether seems better. + */ + control.parentNode.removeChild(/** @type {Node} */ (control)); + return false; + } + + this.bindings[sBinding] = control; + + /* + * Enable "Mount" button only if a file is actually selected + */ + control.addEventListener('change', function() { + var fieldset = control.children[0]; + var files = fieldset.children[0].files; + var submit = fieldset.children[1]; + submit.disabled = !files.length; + }); + + control.onsubmit = function(event) { + var file = event.currentTarget[1].files[0]; + if (file) { + var sDiskPath = file.name; + var sDiskName = Str.getBaseName(sDiskPath, true); + rl11.loadSelectedDrive(sDiskName, sDiskPath, file); + } + /* + * Prevent reloading of web page after form submission + */ + return false; + }; + return true; + + default: + break; + } + return false; + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {RL11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.cmp = cmp; + this.bus = bus; + this.cpu = cpu; + this.dbg = dbg; + + var configMount = this.parseConfig(this.cmp.getMachineParm('autoMount')); + + /* + * Add only drives from the machine-wide autoMount configuration that match drives managed by this component. + */ + if (configMount) { + for (var sDrive in configMount) { + if (sDrive.substr(0, 2) != this.type.substr(0, 2)) continue; + this.configMount[sDrive] = configMount[sDrive]; + } + } + + /* + * If we didn't need auto-mount support, we could defer controller initialization until we received + * a powerUp() notification, at which point reset() would call initController(), or restore() would restore + * the controller; in that case, all we'd need to do here is call setReady(). + */ + this.initController(); + + this.irq = this.cpu.addIRQ(PDP11.RL11.VEC, PDP11.RL11.PRI, MessagesPDP11.RL11); + + bus.addIOTable(this, RL11.UNIBUS_IOTABLE); + bus.addResetHandler(this.reset.bind(this)); + + this.addDisk("None", RL11.SOURCE.NONE, true); + if (this.fLocalDisks) this.addDisk("Local Disk", RL11.SOURCE.LOCAL); + this.addDisk("Remote Disk", RL11.SOURCE.REMOTE); + + if (!this.autoMount()) this.setReady(); + } + + /** + * getDriveName(iDrive) + * + * @this {RL11} + * @param {number} iDrive + * @return {string} + */ + getDriveName(iDrive) + { + return "RL" + iDrive; + } + + /** + * getDriveNumber(sDrive) + * + * @this {RL11} + * @param {string} sDrive + * @return {number} (0-3, or -1 if error) + */ + getDriveNumber(sDrive) + { + var iDrive = -1; + if (sDrive) { + iDrive = sDrive.charCodeAt(sDrive.length - 1) - 0x30; + if (iDrive < 0 || iDrive > 9) iDrive = -1; + } + return iDrive; + } + + /** + * powerUp(data, fRepower) + * + * @this {RL11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (!fRepower) { + if (!data || !this.restore) { + this.reset(); + if (this.cmp.fReload) { + /* + * If the computer's fReload flag is set, we're required to toss all currently + * loaded disks and remount all disks specified in the auto-mount configuration. + */ + this.unloadAllDrives(true); + this.autoMount(true); + } + } else { + if (!this.restore(data)) return false; + } + /* + * Populate the HTML controls to match the actual (well, um, specified) number of floppy drives. + */ + var controlDrives; + if ((controlDrives = this.bindings['listDrives'])) { + while (controlDrives.firstChild) { + controlDrives.removeChild(controlDrives.firstChild); + } + controlDrives.value = ""; + for (var iDrive = 0; iDrive < this.nDrives; iDrive++) { + var controlOption = document.createElement("option"); + controlOption.value = iDrive; + controlOption.text = this.getDriveName(iDrive); + controlDrives.appendChild(controlOption); + } + if (this.nDrives > 0) { + controlDrives.value = "0"; + this.displayDisk(0); + } + } + } + return true; + } + + /** + * powerDown(fSave, fShutdown) + * + * @this {RL11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure + */ + powerDown(fSave, fShutdown) + { + return fSave? this.save() : true; + } + + /** + * reset() + * + * @this {RL11} + */ + reset() + { + this.initController(); + } + + /** + * save() + * + * This implements save support for the RL11 component. + * + * @this {RL11} + * @return {Object} + */ + save() + { + var state = new State(this); + // state.set(0, this.saveController()); + return state.data(); + } + + /** + * restore(data) + * + * This implements restore support for the RL11 component. + * + * @this {RL11} + * @param {Object} data + * @return {boolean} true if successful, false if failure + */ + restore(data) + { + return this.initController(data[0]); + } + + /** + * saveController() + * + * @this {RL11} + * @return {Array} + */ + saveController() + { + return []; + } + + /** + * autoMount(fRemount) + * + * @this {RL11} + * @param {boolean} [fRemount] is true if we're remounting all auto-mounted disks + * @return {boolean} true if one or more disk images are being auto-mounted, false if none + */ + autoMount(fRemount) + { + if (!fRemount) this.cAutoMount = 0; + for (var sDrive in this.configMount) { + var configDrive = this.configMount[sDrive]; + var sDiskPath = configDrive['path'] || ""; + var sDiskName = configDrive['name'] || this.findDisk(sDiskPath); + if (sDiskPath && sDiskName) { + var iDrive = this.getDriveNumber(sDrive); + if (iDrive >= 0 && iDrive < this.aDrives.length) { + if (!this.loadDrive(iDrive, sDiskName, sDiskPath, true) && fRemount) { + this.setReady(false); + } + continue; + } + } + this.notice("Incorrect auto-mount settings for drive " + sDrive + " (" + JSON.stringify(configDrive) + ")"); + } + return !!this.cAutoMount; + } + + /** + * loadSelectedDrive(sDiskName, sDiskPath, file) + * + * @this {RL11} + * @param {string} sDiskName + * @param {string} sDiskPath + * @param {File} [file] is set if there's an associated File object + */ + loadSelectedDrive(sDiskName, sDiskPath, file) + { + var controlDrives = this.bindings["listDrives"]; + var iDrive = controlDrives && Str.parseInt(controlDrives.value, 10); + + if (iDrive === undefined || iDrive < 0 || iDrive >= this.aDrives.length) { + this.notice("Unable to load the selected drive"); + return; + } + + if (!sDiskPath) { + this.unloadDrive(iDrive); + return; + } + + if (sDiskPath == RL11.SOURCE.LOCAL) { + this.notice('Use "Choose File" and "Mount" to select and load a local disk.'); + return; + } + + /* + * If the special RL11.SOURCE.REMOTE path is selected, then we want to prompt the user for a URL. + * Oh, and make sure we pass an empty string as the 2nd parameter to prompt(), so that IE won't display + * "undefined" -- because after all, undefined and "undefined" are EXACTLY the same thing, right? + * + * TODO: This is literally all I've done to support remote disk images. There's probably more + * I should do, like dynamically updating "listDisks" to include new entries, and adding new entries + * to the save/restore data. + */ + if (sDiskPath == RL11.SOURCE.REMOTE) { + sDiskPath = window.prompt("Enter the URL of a remote disk image.", "") || ""; + if (!sDiskPath) return; + sDiskName = Str.getBaseName(sDiskPath); + this.status("Attempting to load " + sDiskPath + " as \"" + sDiskName + "\""); + this.sDiskSource = RL11.SOURCE.REMOTE; + } + else { + this.sDiskSource = sDiskPath; + } + + this.loadDrive(iDrive, sDiskName, sDiskPath, false, file); + } + + /** + * bootSelectedDisk() + * + * @this {RL11} + */ + bootSelectedDisk() + { + var drive; + var controlDrives = this.bindings["listDrives"]; + var iDrive = controlDrives && Str.parseInt(controlDrives.value, 10); + + if (iDrive == null || iDrive < 0 || iDrive >= this.aDrives.length || !(drive = this.aDrives[iDrive])) { + this.notice("Unable to boot the selected drive"); + return; + } + if (!drive.disk) { + this.notice("Load a disk into the drive first"); + return; + } + /* + * NOTE: We're calling setReset() BEFORE reading the boot code in order to eliminate any side-effects + * of the previous state of either the controller OR the CPU; for example, we don't want any previous MMU + * or UNIBUS Map registers affecting the simulated readData() call. Also, some boot code (eg, RSTS/E) + * expects the controller to be in a READY state; since setReset() triggers a call to our reset() handler, + * a READY state is assured, and the readData() call shouldn't do anything to change that. + */ + this.cpu.setReset(0, true); + var err = this.readData(drive, 0, 0, 0, 512, 0x0000); + if (err) { + this.notice("Unable to read the boot sector (" + err + ")"); + } + } + + /** + * loadDrive(iDrive, sDiskName, sDiskPath, fAutoMount, file) + * + * NOTE: If sDiskPath is already loaded, nothing needs to be done. + * + * @this {RL11} + * @param {number} iDrive + * @param {string} sDiskName + * @param {string} sDiskPath + * @param {boolean} [fAutoMount] + * @param {File} [file] is set if there's an associated File object + * @return {number} 1 if disk loaded, 0 if queued up (or busy), -1 if already loaded + */ + loadDrive(iDrive, sDiskName, sDiskPath, fAutoMount, file) + { + var nResult = -1; + var drive = this.aDrives[iDrive]; + + if (drive.sDiskPath.toLowerCase() != sDiskPath.toLowerCase()) { + + nResult++; + this.unloadDrive(iDrive, true); + + if (drive.fBusy) { + this.notice("RL11 busy"); + } + else { + // this.status("disk queued: " + sDiskName); + drive.fBusy = true; + if (fAutoMount) { + drive.fAutoMount = true; + this.cAutoMount++; + if (this.messageEnabled()) this.printMessage("auto-loading disk: " + sDiskName); + } + drive.fLocal = !!file; + var disk = new DiskPDP11(this, drive, DiskAPI.MODE.PRELOAD); + if (disk.load(sDiskName, sDiskPath, file, this.finishLoadDrive)) { + nResult++; + } + } + } + return nResult; + } + + /** + * finishLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) + * + * The disk parameter is set if the disk was successfully loaded, null if not. + * + * @this {RL11} + * @param {Object} drive + * @param {DiskPDP11} disk + * @param {string} sDiskName + * @param {string} sDiskPath + * @param {boolean} [fAutoMount] + */ + finishLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) + { + drive.fBusy = false; + + if (disk) { + /* + * TODO: While this is a perfectly reasonable thing to do, one wonders if the Disk object shouldn't + * have done this itself, since we passed our Drive object to it (it already knows the drive's limits). + */ + if (disk.nCylinders > drive.nCylinders || disk.nHeads > drive.nHeads /* || disk.nSectors > drive.nSectors */) { + this.notice("Disk \"" + sDiskName + "\" too large for drive " + this.getDriveName(drive.iDrive)); + disk = null; + } + } + + if (disk) { + drive.disk = disk; + drive.sDiskName = sDiskName; + drive.sDiskPath = sDiskPath; + + /* + * Adding local disk image names to the disk list seems like a nice idea, but it's too confusing, + * because then it looks like the "Mount" button should be able to (re)load them, and that can NEVER + * happen, for security reasons; local disk images can ONLY be loaded via the "Mount" button after + * the user has selected them via the "Choose File" button. + * + * this.addDisk(sDiskName, sDiskPath); + * + * So we're going to take a different approach: when displayDisk() is asked to display the name + * of a local disk image, it will map all such disks to "Local Disk", and any attempt to "Mount" such + * a disk, will essentially result in a "Disk not found" error. + */ + // this.addDiskHistory(sDiskName, sDiskPath, disk); + + /* + * For a local disk (ie, one loaded via mountDrive()), the disk.restore() performed by addDiskHistory() + * may have altered the disk geometry, so refresh the disk info. + */ + // aDiskInfo = disk.info(); + + /* + * Clearly, a successful mount implies a disk change, and I suppose that, technically, an *unsuccessful* + * mount should imply the same, but what would the real-world analog be? Inserting a piece of cardboard + * instead of an actual disk? In any case, if we can do the user a favor by pretending (as far as the + * disk change line is concerned) that an unsuccessful mount never happened, let's do it. + * + * Successful unmounts are a different story, however; those *do* trigger a change. See unloadDrive(). + */ + // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; + + /* + * With the addition of notify(), users are now "alerted" whenever a disk has finished loading; + * notify() is selective about its output, using print() if a print window is open, alert() otherwise. + */ + this.notice("Loaded disk \"" + sDiskName + "\" in drive " + this.getDriveName(drive.iDrive), drive.fAutoMount || fAutoMount); + + /* + * Since you usually want the Computer to have focus again after loading a new disk, let's try automatically + * updating the focus after a successful load. + */ + if (this.cmp) this.cmp.setFocus(); + } + else { + drive.fLocal = false; + } + + if (drive.fAutoMount) { + drive.fAutoMount = false; + if (!--this.cAutoMount) this.setReady(); + } + + this.displayDisk(drive.iDrive); + } + + /** + * addDisk(sName, sPath, fTop) + * + * @this {RL11} + * @param {string} sName + * @param {string} sPath + * @param {boolean} [fTop] (default is bottom) + */ + addDisk(sName, sPath, fTop) + { + var controlDisks = this.bindings["listDisks"]; + if (controlDisks && controlDisks.options) { + for (var i = 0; i < controlDisks.options.length; i++) { + if (controlDisks.options[i].value == sPath) return; + } + var controlOption = document.createElement("option"); + controlOption.text = sName; + controlOption.value = sPath; + if (fTop && controlDisks.childNodes[0]) { + controlDisks.insertBefore(controlOption, controlDisks.childNodes[0]); + } else { + controlDisks.appendChild(controlOption); + } + } + } + + /** + * findDisk(sPath) + * + * This is used to deal with mount requests (eg, autoMount) that supply a path without a name; + * if we can find the path in the "listDisks" control, then we return the associated disk name. + * + * @this {RL11} + * @param {string} sPath + * @return {string|null} + */ + findDisk(sPath) + { + var controlDisks = this.bindings["listDisks"]; + if (controlDisks && controlDisks.options) { + for (var i = 0; i < controlDisks.options.length; i++) { + var control = controlDisks.options[i]; + if (control.value == sPath) return control.text; + } + } + return Str.getBaseName(sPath, true); + } + + /** + * displayDisk(iDrive, fUpdateDrive) + * + * @this {RL11} + * @param {number} iDrive (unvalidated) + * @param {boolean} [fUpdateDrive] is true to update the drive list to match the specified drive (eg, the auto-mount case) + */ + displayDisk(iDrive, fUpdateDrive) + { + /* + * First things first: validate iDrive. + */ + if (iDrive >= 0 && iDrive < this.aDrives.length) { + var drive = this.aDrives[iDrive]; + var controlDisks = this.bindings["listDisks"]; + var controlDrives = this.bindings["listDrives"]; + /* + * Next, make sure controls for both drives and disks exist. + */ + if (controlDisks && controlDrives && controlDisks.options && controlDrives.options) { + /* + * Next, make sure the drive whose disk we're updating is the currently selected drive. + */ + var i; + var iDriveSelected = Str.parseInt(controlDrives.value, 10); + var sTargetPath = (drive.fLocal? RL11.SOURCE.LOCAL : drive.sDiskPath); + if (!isNaN(iDriveSelected) && iDriveSelected == iDrive) { + for (i = 0; i < controlDisks.options.length; i++) { + if (controlDisks.options[i].value == sTargetPath) { + if (controlDisks.selectedIndex != i) { + controlDisks.selectedIndex = i; + } + break; + } + } + if (i == controlDisks.options.length) controlDisks.selectedIndex = 0; + } + if (fUpdateDrive) { + for (i = 0; i < controlDrives.options.length; i++) { + if (Str.parseInt(controlDrives.options[i].value, 10) == drive.iDrive) { + if (controlDrives.selectedIndex != i) { + controlDrives.selectedIndex = i; + } + break; + } + } + } + } + } + } + + /** + * unloadDrive(iDrive, fLoading) + * + * @this {RL11} + * @param {number} iDrive + * @param {boolean} [fLoading] + */ + unloadDrive(iDrive, fLoading) + { + var drive = this.aDrives[iDrive]; + + if (drive.disk || fLoading === false) { + + /* + * Before we toss the disk's information, capture any deltas that may have occurred. + */ + // this.updateDiskHistory(drive.sDiskName, drive.sDiskPath, drive.disk); + + drive.sDiskName = ""; + drive.sDiskPath = ""; + drive.disk = null; + drive.fLocal = false; + + // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; + + if (!fLoading) { + this.notice("Drive " + this.getDriveName(iDrive) + " unloaded", fLoading); + this.sDiskSource = RL11.SOURCE.NONE; + this.displayDisk(iDrive); + } + } + } + + /** + * unloadAllDrives(fDiscard) + * + * @this {RL11} + * @param {boolean} fDiscard to discard all disk history before unloading + */ + unloadAllDrives(fDiscard) + { + // if (fDiscard) this.aDiskHistory = []; + + for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { + this.unloadDrive(iDrive, true); + } + } + + /** + * initController(data) + * + * @this {RL11} + * @param {Array} [data] + * @return {boolean} true if successful, false if failure + */ + initController(data) + { + var i = 0; + if (!data) data = []; + this.regRLCS = data[i++] || (PDP11.RL11.RLCS.DRDY | PDP11.RL11.RLCS.CRDY); + this.regRLBA = data[i++] || 0; + this.regRLDA = data[i++] || 0; + this.tmpRLDA = data[i++] || 0; + this.regRLMP = data[i++] || 0; + this.regRLBE = data[i] || 0; + + var fSuccess = true; + for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { + var drive = this.aDrives[iDrive]; + if (drive === undefined) { + drive = this.aDrives[iDrive] = {}; + } + if (!this.initDrive(drive, iDrive)) { + fSuccess = false; + } + } + return fSuccess; + } + + /** + * initDrive(drive, iDrive, data) + * + * TODO: Consider a separate Drive class that any drive controller can use, since there's a lot of commonality + * between the drive objects created by disk controllers. This will clean up overall drive management and allow + * us to factor out some common Drive methods. + * + * @this {RL11} + * @param {Object} drive + * @param {number} iDrive + * @param {Array|undefined} [data] + * @return {boolean} true if successful, false if failure + */ + initDrive(drive, iDrive, data) + { + var i = 0; + var fSuccess = true; + + drive.iDrive = iDrive; + drive.name = this.idComponent; + drive.fBusy = drive.fLocal = false; + + /* + * NOTE: We initialize the following drive properties to their MAXIMUMs; disks may have + * these or SMALLER values (subject to the limits of what the controller supports, of course). + */ + drive.nCylinders = 512; + drive.nHeads = 2; + drive.nSectors = 40; + drive.cbSector = 256; + drive.fRemovable = true; + + /* + * The next group of properties are set by various controller command sequences. + */ + drive.bHead = 0; + drive.bCylinder = 0; + drive.bSector = 1; + drive.bSectorEnd = drive.nSectors; // aka EOT + drive.nBytes = drive.cbSector; + + /* + * The next group of properties are managed by worker functions (eg, doRead()) to maintain state across DMA requests. + */ + drive.ibSector = 0; + drive.sector = null; + + if (!drive.disk) drive.sDiskPath = ""; // ensure this is initialized to a default that displayDisk() can deal with + + /* + * Default drive status bits returned via the controller's Get Status command via the RLMP register + */ + drive.status = PDP11.RL11.RLMP.GS_ST.LOCKON | PDP11.RL11.RLMP.GS_BH | PDP11.RL11.RLMP.GS_HO; + + return fSuccess; + } + + /** + * processCommand() + * + * @this {RL11} + */ + processCommand() + { + var fInterrupt = true; + var fnReadWrite, sFunc = ""; + var iDrive = (this.regRLCS & PDP11.RL11.RLCS.DS) >> PDP11.RL11.RLCS.SHIFT.DS; + var drive = this.aDrives[iDrive]; + var disk = drive.disk; + var iCylinder, iHead, iSector, nWords, addr; + + /* + * The typical pattern of DRDY and CRDY: + * + * 1) Normally both set + * 2) CRDY is cleared to process a command + * 3) DRDY is cleared to indicate a command in process + */ + this.regRLCS &= ~PDP11.RL11.RLCS.DRDY; + + switch(this.regRLCS & PDP11.RL11.RLCS.FUNC) { + + case PDP11.RL11.FUNC.NOP: + case PDP11.RL11.FUNC.WCHK: + case PDP11.RL11.FUNC.RDNC: + break; + + case PDP11.RL11.FUNC.STATUS: + if (this.regRLMP & PDP11.RL11.RLMP.GS_BH) { + this.regRLCS &= (PDP11.RL11.RLCS.DRDY | PDP11.RL11.RLCS.FUNC | PDP11.RL11.RLCS.BAE); // TODO: Review + } + /* + * The bit indicating whether or not the disk contains 256 or 512 cylinders is critical; + * for example, the first RSTS/E disk image we tried was an RL01K, which has only 256 cylinders, + * and the operating system would crash mysteriously if we didn't report the correct geometry. + */ + this.regRLMP = drive.status | (this.tmpRLDA & PDP11.RL11.RLDA.RW_HS) | (disk && disk.nCylinders == 512? PDP11.RL11.RLMP.GS_DT : 0); + break; + + case PDP11.RL11.FUNC.SEEK: + if ((this.regRLDA & PDP11.RL11.RLDA.GS_CMD) == PDP11.RL11.RLDA.SEEK_CMD) { + var darCA = (this.regRLDA & PDP11.RL11.RLDA.RW_CA); + var darHS = (this.regRLDA & PDP11.RL11.RLDA.SEEK_HS) << 2; + if (this.regRLDA & PDP11.RL11.RLDA.SEEK_DIR) { + this.tmpRLDA += darCA; + } else { + this.tmpRLDA -= darCA; + } + this.regRLDA = this.tmpRLDA = (this.tmpRLDA & PDP11.RL11.RLDA.RW_CA) | darHS; + } + break; + + case PDP11.RL11.FUNC.RHDR: + this.regRLMP = this.tmpRLDA; + break; + + case PDP11.RL11.FUNC.RDATA: + sFunc = "READ"; + fnReadWrite = this.readData; + /* falls through */ + + case PDP11.RL11.FUNC.WDATA: + if (!sFunc) sFunc = "WRITE"; + if (!fnReadWrite) fnReadWrite = this.writeData; + + iCylinder = this.regRLDA >> PDP11.RL11.RLDA.SHIFT.RW_CA; + iHead = (this.regRLDA & PDP11.RL11.RLDA.RW_HS)? 1 : 0; + iSector = this.regRLDA & PDP11.RL11.RLDA.RW_SA; + if (!disk || iCylinder >= disk.nCylinders || iSector >= disk.nSectors) { + this.regRLCS |= PDP11.RL11.ERRC.HNF | PDP11.RL11.RLCS.ERR; + break; + } + nWords = (0x10000 - this.regRLMP) & 0xffff; + addr = (((this.regRLBE & PDP11.RL11.RLBE.MASK)) << 16) | this.regRLBA; // 22 bit mode + + if (this.messageEnabled()) this.printMessage(this.type + ": " + sFunc + "(" + iCylinder + ":" + iHead + ":" + iSector + ") " + Str.toOct(addr) + "--" + Str.toOct(addr + (nWords << 1)), true, true); + + fInterrupt = fnReadWrite.call(this, drive, iCylinder, iHead, iSector, nWords, addr, this.doneReadWrite.bind(this)); + break; + + default: + break; + } + + if (fInterrupt) { + this.regRLCS |= PDP11.RL11.RLCS.DRDY | PDP11.RL11.RLCS.CRDY; + if (this.regRLCS & PDP11.RL11.RLCS.IE) this.cpu.setIRQ(this.irq); + } + } + + /** + * readData(drive, iCylinder, iHead, iSector, nWords, addr, done) + * + * @this {RL11} + * @param {Object} drive + * @param {number} iCylinder + * @param {number} iHead + * @param {number} iSector + * @param {number} nWords + * @param {number} addr + * @param {function(...)} [done] + * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) + */ + readData(drive, iCylinder, iHead, iSector, nWords, addr, done) + { + var err = 0; + var checksum = 0; + var disk = drive.disk; + var sector = null, ibSector; + + if (!disk) { + err = PDP11.RL11.ERRC.HNF; // TODO: Review + nWords = 0; + } + + var sWords = ""; + while (nWords) { + if (!sector) { + sector = disk.seek(iCylinder, iHead, iSector + 1); + if (!sector) { + err = PDP11.RL11.ERRC.HNF; + break; + } + ibSector = 0; + } + var b0, b1, data; + if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) { + err = PDP11.RL11.ERRC.HNF; + break; + } + /* + * Apparently, this controller honors the UNIBUS Map registers, which means we must call mapUnibus() + * on the address REGARDLESS whether it is actually >= BusPDP11.UNIBUS_22BIT. TODO: This is inherited + * code, so let's review the documentation on this. + */ + this.bus.setWordDirect(this.cpu.mapUnibus(addr), data = b0 | (b1 << 8)); + if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) { + if (!sWords) sWords = Str.toOct(addr) + ": "; + sWords += Str.toOct(data) + ' '; + if (sWords.length >= 64) { + console.log(sWords); + sWords = ""; + } + } + if (this.bus.checkFault()) { + err = PDP11.RL11.ERRC.NXM; + break; + } + addr += 2; + nWords--; + checksum += data; + if (ibSector >= disk.cbSector) { + sector = null; + if (++iSector >= disk.nSectors) { + iSector = 0; + if (++iHead >= disk.nHeads) { + iHead = 0; + if (++iCylinder >= disk.nCylinders) { + err = PDP11.RL11.ERRC.HNF; + break; + } + } + } + } + } + + if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) { + console.log("checksum: " + (checksum|0)); + } + + return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; + } + + /** + * writeData(drive, iCylinder, iHead, iSector, nWords, addr, done) + * + * @this {RL11} + * @param {Object} drive + * @param {number} iCylinder + * @param {number} iHead + * @param {number} iSector + * @param {number} nWords + * @param {number} addr + * @param {function(...)} [done] + * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) + */ + writeData(drive, iCylinder, iHead, iSector, nWords, addr, done) + { + var err = 0; + var checksum = 0; + var disk = drive.disk; + var sector = null, ibSector; + + if (!disk) { + err = PDP11.RL11.ERRC.HNF; // TODO: Review + nWords = 0; + } + + var sWords = ""; + while (nWords) { + /* + * Apparently, this controller honors the UNIBUS Map registers, which means we must call mapUnibus() + * on the address REGARDLESS whether it is actually >= BusPDP11.UNIBUS_22BIT. TODO: This is inherited + * code, so let's review the documentation on this. + */ + var data = this.bus.getWordDirect(this.cpu.mapUnibus(addr)); + if (this.bus.checkFault()) { + err = PDP11.RL11.ERRC.NXM; + break; + } + if (DEBUG && this.messageEnabled(MessagesPDP11.WRITE)) { + if (!sWords) sWords = Str.toOct(addr) + ": "; + sWords += Str.toOct(data) + ' '; + if (sWords.length >= 64) { + console.log(sWords); + sWords = ""; + } + } + addr += 2; + nWords--; + checksum += data; + if (!sector) { + sector = disk.seek(iCylinder, iHead, iSector + 1, true); + if (!sector) { + err = PDP11.RL11.ERRC.HNF; + break; + } + ibSector = 0; + } + if (!disk.write(sector, ibSector++, data & 0xff) || !disk.write(sector, ibSector++, data >> 8)) { + err = PDP11.RL11.ERRC.HNF; + break; + } + if (ibSector >= disk.cbSector) { + sector = null; + if (++iSector >= disk.nSectors) { + iSector = 0; + if (++iHead >= disk.nHeads) { + iHead = 0; + if (++iCylinder >= disk.nCylinders) { + err = PDP11.RL11.ERRC.HNF; + break; + } + } + } + } + } + + if (DEBUG && this.messageEnabled(MessagesPDP11.WRITE)) { + console.log("checksum: " + (checksum|0)); + } + + return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; + } + + /** + * doneReadWrite(err, iCylinder, iHead, iSector, nWords, addr) + * + * @this {RL11} + * @param {number} err + * @param {number} iCylinder + * @param {number} iHead + * @param {number} iSector + * @param {number} nWords + * @param {number} addr + * @return {boolean} + */ + doneReadWrite(err, iCylinder, iHead, iSector, nWords, addr) + { + this.regRLBA = addr & 0xffff; + this.regRLCS = (this.regRLCS & ~PDP11.RL11.RLCS.BAE) | ((addr >> (16 - PDP11.RL11.RLCS.SHIFT.BAE)) & PDP11.RL11.RLCS.BAE); + this.regRLBE = (addr >> 16) & PDP11.RL11.RLBE.MASK; // 22 bit mode + this.regRLDA = (iCylinder << PDP11.RL11.RLDA.SHIFT.RW_CA) | (iHead? PDP11.RL11.RLDA.RW_HS : 0) | (iSector & PDP11.RL11.RLDA.RW_SA); + this.tmpRLDA = this.regRLDA; + this.regRLMP = (0x10000 - nWords) & 0xffff; + if (err) { + this.regRLCS |= err | PDP11.RL11.RLCS.ERR; + } + return true; + } + + /** + * readRLCS(addr) + * + * @this {RL11} + * @param {number} addr (eg, PDP11.UNIBUS.RLCS or 174400) + * @return {number} + */ + readRLCS(addr) + { + return this.regRLCS & PDP11.RL11.RLCS.RMASK; + } + + /** + * writeRLCS(data, addr) + * + * @this {RL11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RLCS or 174400) + */ + writeRLCS(data, addr) + { + this.regRLCS = (this.regRLCS & ~PDP11.RL11.RLCS.WMASK) | (data & PDP11.RL11.RLCS.WMASK); + this.regRLBE = (this.regRLBE & 0x3C) | ((data & PDP11.RL11.RLCS.BAE) >> PDP11.RL11.RLCS.SHIFT.BAE); + if (!(this.regRLCS & PDP11.RL11.RLCS.CRDY)) this.processCommand(); + } + + /** + * readRLBA(addr) + * + * @this {RL11} + * @param {number} addr (eg, PDP11.UNIBUS.RLBA or 174402) + * @return {number} + */ + readRLBA(addr) + { + return this.regRLBA; + } + + /** + * writeRLBA(data, addr) + * + * @this {RL11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RLBA or 174402) + */ + writeRLBA(data, addr) + { + this.regRLBA = data & PDP11.RL11.RLBA.WMASK; + } + + /** + * readRLDA(addr) + * + * @this {RL11} + * @param {number} addr (eg, PDP11.UNIBUS.RLDA or 174404) + * @return {number} + */ + readRLDA(addr) + { + return this.regRLDA; + } + + /** + * writeRLDA(data, addr) + * + * @this {RL11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RLDA or 174404) + */ + writeRLDA(data, addr) + { + this.regRLDA = data; + } + + /** + * readRLMP(addr) + * + * @this {RL11} + * @param {number} addr (eg, PDP11.UNIBUS.RLMP or 174406) + * @return {number} + */ + readRLMP(addr) + { + return this.regRLMP; + } + + /** + * writeRLMP(data, addr) + * + * @this {RL11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RLMP or 174406) + */ + writeRLMP(data, addr) + { + this.regRLMP = data; + } + + /** + * readRLBE(addr) + * + * @this {RL11} + * @param {number} addr (eg, PDP11.UNIBUS.RLBE or 174410) + * @return {number} + */ + readRLBE(addr) + { + return this.regRLBE; + } + + /** + * writeRLBE(data, addr) + * + * Curiously, we see RSTS/E v7.0 writing RLBE bits that aren't documented: + * + * R0=000000 R1=000000 R2=174410 R3=000000 R4=102076 R5=045166 + * SP=052662 PC=067624 PS=034344 IR=000000 SL=000377 T0 N0 Z1 V0 C0 + * 067624: 012712 000300 MOV #300,@R2 + * + * @this {RL11} + * @param {number} data + * @param {number} addr (eg, PDP11.UNIBUS.RLBE or 174410) + */ + writeRLBE(data, addr) + { + this.regRLBE = data & PDP11.RL11.RLBE.MASK; + this.regRLCS = (this.regRLCS & ~PDP11.RL11.RLCS.BAE) | ((this.regRLBE & 0x3) << PDP11.RL11.RLCS.SHIFT.BAE); + } } -Component.subclass(RL11); - /* * There's nothing super special about these values, except that NONE should be falsey and the others should not. */ @@ -90,1274 +1361,6 @@ RL11.SOURCE = { REMOTE: "??" }; -/** - * parseConfig(config) - * - * @this {RL11} - * @param {*} config - * @return {*} - */ -RL11.prototype.parseConfig = function(config) -{ - if (config && typeof config == "string") { - try { - /* - * The most likely source of any exception will be right here, where we're parsing - * this JSON-encoded data. - */ - config = eval("(" + config + ")"); - } catch (e) { - Component.error(this.type + " auto-mount error: " + e.message + " (" + config + ")"); - config = null; - } - } - return config || {}; -}; - -/** - * setBinding(sType, sBinding, control, sValue) - * - * @this {RL11} - * @param {string|null} sType is the type of the HTML control (eg, "button", "list", "text", etc) - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "listDisks") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request - */ -RL11.prototype.setBinding = function(sType, sBinding, control, sValue) -{ - var rl11 = this; - - switch (sBinding) { - - case "listDisks": - this.bindings[sBinding] = control; - - control.onchange = function onChangeListDisks(event) { - var controlDesc = rl11.bindings["descDisk"]; - var controlOption = control.options && control.options[control.selectedIndex]; - if (controlDesc && controlOption) { - var dataValue = {}; - var sValue = controlOption.getAttribute("data-value"); - if (sValue) { - try { - dataValue = eval("(" + sValue + ")"); - } catch (e) { - Component.error("RL11 option error: " + e.message); - } - } - var sHTML = dataValue['desc']; - if (sHTML === undefined) sHTML = ""; - var sHRef = dataValue['href']; - if (sHRef !== undefined) sHTML = "" + sHTML + ""; - controlDesc.innerHTML = sHTML; - } - }; - return true; - - case "descDisk": - case "listDrives": - this.bindings[sBinding] = control; - /* - * I tried going with onclick instead of onchange, so that if you wanted to confirm what's - * loaded in a particular drive, you could click the drive control without having to change it. - * However, that doesn't seem to work for all browsers, so I've reverted to onchange. - */ - control.onchange = function onChangeListDrives(event) { - var iDrive = str.parseInt(control.value, 10); - if (iDrive != null) rl11.displayDisk(iDrive); - }; - return true; - - case "loadDisk": - this.bindings[sBinding] = control; - - control.onclick = function onClickLoadDrive(event) { - var controlDisks = rl11.bindings["listDisks"]; - if (controlDisks && controlDisks.options) { - var sDiskName = controlDisks.options[controlDisks.selectedIndex].text; - var sDiskPath = controlDisks.value; - rl11.loadSelectedDrive(sDiskName, sDiskPath); - } - }; - return true; - - case "bootDisk": - this.bindings[sBinding] = control; - - control.onclick = function onClickBootDisk(event) { - rl11.bootSelectedDisk(); - }; - return true; - - case "saveDisk": - /* - * Yes, technically, this feature does not require "Local disk support" (which is really a reference - * to FileReader support), but since fLocalDisks is also false for all mobile devices, and since there - * is an "orthogonality" to disabling both features in tandem, let's just let it slide, OK? - */ - if (!this.fLocalDisks) { - if (DEBUG) this.log("Local disk support not available"); - /* - * We could also simply hide the control; eg: - * - * control.style.display = "none"; - * - * but removing the control altogether seems better. - */ - control.parentNode.removeChild(/** @type {Node} */ (control)); - return false; - } - - this.bindings[sBinding] = control; - - control.onclick = function onClickSaveDrive(event) { - var controlDrives = rl11.bindings["listDrives"]; - if (controlDrives && controlDrives.options && rl11.aDrives) { - var iDriveSelected = str.parseInt(controlDrives.value, 10) || 0; - var drive = rl11.aDrives[iDriveSelected]; - if (drive) { - /* - * Note the similarity (and hence factoring opportunity) between this code and the HDC's "saveHD*" binding. - */ - var disk = drive.disk; - if (disk) { - if (DEBUG) rl11.println("saving disk " + disk.sDiskPath + "..."); - var sAlert = web.downloadFile(disk.encodeAsBase64(), "octet-stream", true, disk.sDiskFile.replace(".json", ".img")); - web.alertUser(sAlert); - } else { - rl11.notice("No disk loaded in drive."); - } - } else { - rl11.notice("No disk drive selected."); - } - } - }; - return true; - - case "mountDisk": - if (!this.fLocalDisks) { - if (DEBUG) this.log("Local disk support not available"); - /* - * We could also simply hide the control; eg: - * - * control.style.display = "none"; - * - * but removing the control altogether seems better. - */ - control.parentNode.removeChild(/** @type {Node} */ (control)); - return false; - } - - this.bindings[sBinding] = control; - - /* - * Enable "Mount" button only if a file is actually selected - */ - control.addEventListener('change', function() { - var fieldset = control.children[0]; - var files = fieldset.children[0].files; - var submit = fieldset.children[1]; - submit.disabled = !files.length; - }); - - control.onsubmit = function(event) { - var file = event.currentTarget[1].files[0]; - if (file) { - var sDiskPath = file.name; - var sDiskName = str.getBaseName(sDiskPath, true); - rl11.loadSelectedDrive(sDiskName, sDiskPath, file); - } - /* - * Prevent reloading of web page after form submission - */ - return false; - }; - return true; - - default: - break; - } - return false; -}; - -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {RL11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -RL11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.cmp = cmp; - this.bus = bus; - this.cpu = cpu; - this.dbg = dbg; - - var configMount = this.parseConfig(this.cmp.getMachineParm('autoMount')); - - /* - * Add only drives from the machine-wide autoMount configuration that match drives managed by this component. - */ - if (configMount) { - for (var sDrive in configMount) { - if (sDrive.substr(0, 2) != this.type.substr(0, 2)) continue; - this.configMount[sDrive] = configMount[sDrive]; - } - } - - /* - * If we didn't need auto-mount support, we could defer controller initialization until we received - * a powerUp() notification, at which point reset() would call initController(), or restore() would restore - * the controller; in that case, all we'd need to do here is call setReady(). - */ - this.initController(); - - this.irq = this.cpu.addIRQ(PDP11.RL11.VEC, PDP11.RL11.PRI, MessagesPDP11.RL11); - - bus.addIOTable(this, RL11.UNIBUS_IOTABLE); - bus.addResetHandler(this.reset.bind(this)); - - this.addDisk("None", RL11.SOURCE.NONE, true); - if (this.fLocalDisks) this.addDisk("Local Disk", RL11.SOURCE.LOCAL); - this.addDisk("Remote Disk", RL11.SOURCE.REMOTE); - - if (!this.autoMount()) this.setReady(); -}; - -/** - * getDriveName(iDrive) - * - * @this {RL11} - * @param {number} iDrive - * @return {string} - */ -RL11.prototype.getDriveName = function(iDrive) -{ - return "RL" + iDrive; -}; - -/** - * getDriveNumber(sDrive) - * - * @this {RL11} - * @param {string} sDrive - * @return {number} (0-3, or -1 if error) - */ -RL11.prototype.getDriveNumber = function(sDrive) -{ - var iDrive = -1; - if (sDrive) { - iDrive = sDrive.charCodeAt(sDrive.length - 1) - 0x30; - if (iDrive < 0 || iDrive > 9) iDrive = -1; - } - return iDrive; -}; - -/** - * powerUp(data, fRepower) - * - * @this {RL11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -RL11.prototype.powerUp = function(data, fRepower) -{ - if (!fRepower) { - if (!data || !this.restore) { - this.reset(); - if (this.cmp.fReload) { - /* - * If the computer's fReload flag is set, we're required to toss all currently - * loaded disks and remount all disks specified in the auto-mount configuration. - */ - this.unloadAllDrives(true); - this.autoMount(true); - } - } else { - if (!this.restore(data)) return false; - } - /* - * Populate the HTML controls to match the actual (well, um, specified) number of floppy drives. - */ - var controlDrives; - if ((controlDrives = this.bindings['listDrives'])) { - while (controlDrives.firstChild) { - controlDrives.removeChild(controlDrives.firstChild); - } - controlDrives.value = ""; - for (var iDrive = 0; iDrive < this.nDrives; iDrive++) { - var controlOption = document.createElement("option"); - controlOption.value = iDrive; - controlOption.text = this.getDriveName(iDrive); - controlDrives.appendChild(controlOption); - } - if (this.nDrives > 0) { - controlDrives.value = "0"; - this.displayDisk(0); - } - } - } - return true; -}; - -/** - * powerDown(fSave, fShutdown) - * - * @this {RL11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure - */ -RL11.prototype.powerDown = function(fSave, fShutdown) -{ - return fSave? this.save() : true; -}; - -/** - * reset() - * - * @this {RL11} - */ -RL11.prototype.reset = function() -{ - this.initController(); -}; - -/** - * save() - * - * This implements save support for the RL11 component. - * - * @this {RL11} - * @return {Object} - */ -RL11.prototype.save = function() -{ - var state = new State(this); - // state.set(0, this.saveController()); - return state.data(); -}; - -/** - * restore(data) - * - * This implements restore support for the RL11 component. - * - * @this {RL11} - * @param {Object} data - * @return {boolean} true if successful, false if failure - */ -RL11.prototype.restore = function(data) -{ - return this.initController(data[0]); -}; - -/** - * saveController() - * - * @this {RL11} - * @return {Array} - */ -RL11.prototype.saveController = function() -{ - return []; -}; - -/** - * autoMount(fRemount) - * - * @this {RL11} - * @param {boolean} [fRemount] is true if we're remounting all auto-mounted disks - * @return {boolean} true if one or more disk images are being auto-mounted, false if none - */ -RL11.prototype.autoMount = function(fRemount) -{ - if (!fRemount) this.cAutoMount = 0; - for (var sDrive in this.configMount) { - var configDrive = this.configMount[sDrive]; - var sDiskPath = configDrive['path'] || ""; - var sDiskName = configDrive['name'] || this.findDisk(sDiskPath); - if (sDiskPath && sDiskName) { - var iDrive = this.getDriveNumber(sDrive); - if (iDrive >= 0 && iDrive < this.aDrives.length) { - if (!this.loadDrive(iDrive, sDiskName, sDiskPath, true) && fRemount) { - this.setReady(false); - } - continue; - } - } - this.notice("Incorrect auto-mount settings for drive " + sDrive + " (" + JSON.stringify(configDrive) + ")"); - } - return !!this.cAutoMount; -}; - -/** - * loadSelectedDrive(sDiskName, sDiskPath, file) - * - * @this {RL11} - * @param {string} sDiskName - * @param {string} sDiskPath - * @param {File} [file] is set if there's an associated File object - */ -RL11.prototype.loadSelectedDrive = function(sDiskName, sDiskPath, file) -{ - var controlDrives = this.bindings["listDrives"]; - var iDrive = controlDrives && str.parseInt(controlDrives.value, 10); - - if (iDrive === undefined || iDrive < 0 || iDrive >= this.aDrives.length) { - this.notice("Unable to load the selected drive"); - return; - } - - if (!sDiskPath) { - this.unloadDrive(iDrive); - return; - } - - if (sDiskPath == RL11.SOURCE.LOCAL) { - this.notice('Use "Choose File" and "Mount" to select and load a local disk.'); - return; - } - - /* - * If the special RL11.SOURCE.REMOTE path is selected, then we want to prompt the user for a URL. - * Oh, and make sure we pass an empty string as the 2nd parameter to prompt(), so that IE won't display - * "undefined" -- because after all, undefined and "undefined" are EXACTLY the same thing, right? - * - * TODO: This is literally all I've done to support remote disk images. There's probably more - * I should do, like dynamically updating "listDisks" to include new entries, and adding new entries - * to the save/restore data. - */ - if (sDiskPath == RL11.SOURCE.REMOTE) { - sDiskPath = window.prompt("Enter the URL of a remote disk image.", "") || ""; - if (!sDiskPath) return; - sDiskName = str.getBaseName(sDiskPath); - this.status("Attempting to load " + sDiskPath + " as \"" + sDiskName + "\""); - this.sDiskSource = RL11.SOURCE.REMOTE; - } - else { - this.sDiskSource = sDiskPath; - } - - this.loadDrive(iDrive, sDiskName, sDiskPath, false, file); -}; - -/** - * bootSelectedDisk() - * - * @this {RL11} - */ -RL11.prototype.bootSelectedDisk = function() -{ - var drive; - var controlDrives = this.bindings["listDrives"]; - var iDrive = controlDrives && str.parseInt(controlDrives.value, 10); - - if (iDrive == null || iDrive < 0 || iDrive >= this.aDrives.length || !(drive = this.aDrives[iDrive])) { - this.notice("Unable to boot the selected drive"); - return; - } - if (!drive.disk) { - this.notice("Load a disk into the drive first"); - return; - } - /* - * NOTE: We're calling setReset() BEFORE reading the boot code in order to eliminate any side-effects - * of the previous state of either the controller OR the CPU; for example, we don't want any previous MMU - * or UNIBUS Map registers affecting the simulated readData() call. Also, some boot code (eg, RSTS/E) - * expects the controller to be in a READY state; since setReset() triggers a call to our reset() handler, - * a READY state is assured, and the readData() call shouldn't do anything to change that. - */ - this.cpu.setReset(0, true); - var err = this.readData(drive, 0, 0, 0, 512, 0x0000); - if (err) { - this.notice("Unable to read the boot sector (" + err + ")"); - } -}; - -/** - * loadDrive(iDrive, sDiskName, sDiskPath, fAutoMount, file) - * - * NOTE: If sDiskPath is already loaded, nothing needs to be done. - * - * @this {RL11} - * @param {number} iDrive - * @param {string} sDiskName - * @param {string} sDiskPath - * @param {boolean} [fAutoMount] - * @param {File} [file] is set if there's an associated File object - * @return {number} 1 if disk loaded, 0 if queued up (or busy), -1 if already loaded - */ -RL11.prototype.loadDrive = function(iDrive, sDiskName, sDiskPath, fAutoMount, file) -{ - var nResult = -1; - var drive = this.aDrives[iDrive]; - - if (drive.sDiskPath.toLowerCase() != sDiskPath.toLowerCase()) { - - nResult++; - this.unloadDrive(iDrive, true); - - if (drive.fBusy) { - this.notice("RL11 busy"); - } - else { - // this.status("disk queued: " + sDiskName); - drive.fBusy = true; - if (fAutoMount) { - drive.fAutoMount = true; - this.cAutoMount++; - if (this.messageEnabled()) this.printMessage("auto-loading disk: " + sDiskName); - } - drive.fLocal = !!file; - var disk = new DiskPDP11(this, drive, DiskAPI.MODE.PRELOAD); - if (disk.load(sDiskName, sDiskPath, file, this.finishLoadDrive)) { - nResult++; - } - } - } - return nResult; -}; - -/** - * finishLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) - * - * The disk parameter is set if the disk was successfully loaded, null if not. - * - * @this {RL11} - * @param {Object} drive - * @param {DiskPDP11} disk - * @param {string} sDiskName - * @param {string} sDiskPath - * @param {boolean} [fAutoMount] - */ -RL11.prototype.finishLoadDrive = function onLoadDrive(drive, disk, sDiskName, sDiskPath, fAutoMount) -{ - drive.fBusy = false; - - if (disk) { - /* - * TODO: While this is a perfectly reasonable thing to do, one wonders if the Disk object shouldn't - * have done this itself, since we passed our Drive object to it (it already knows the drive's limits). - */ - if (disk.nCylinders > drive.nCylinders || disk.nHeads > drive.nHeads /* || disk.nSectors > drive.nSectors */) { - this.notice("Disk \"" + sDiskName + "\" too large for drive " + this.getDriveName(drive.iDrive)); - disk = null; - } - } - - if (disk) { - drive.disk = disk; - drive.sDiskName = sDiskName; - drive.sDiskPath = sDiskPath; - - /* - * Adding local disk image names to the disk list seems like a nice idea, but it's too confusing, - * because then it looks like the "Mount" button should be able to (re)load them, and that can NEVER - * happen, for security reasons; local disk images can ONLY be loaded via the "Mount" button after - * the user has selected them via the "Choose File" button. - * - * this.addDisk(sDiskName, sDiskPath); - * - * So we're going to take a different approach: when displayDisk() is asked to display the name - * of a local disk image, it will map all such disks to "Local Disk", and any attempt to "Mount" such - * a disk, will essentially result in a "Disk not found" error. - */ - // this.addDiskHistory(sDiskName, sDiskPath, disk); - - /* - * For a local disk (ie, one loaded via mountDrive()), the disk.restore() performed by addDiskHistory() - * may have altered the disk geometry, so refresh the disk info. - */ - // aDiskInfo = disk.info(); - - /* - * Clearly, a successful mount implies a disk change, and I suppose that, technically, an *unsuccessful* - * mount should imply the same, but what would the real-world analog be? Inserting a piece of cardboard - * instead of an actual disk? In any case, if we can do the user a favor by pretending (as far as the - * disk change line is concerned) that an unsuccessful mount never happened, let's do it. - * - * Successful unmounts are a different story, however; those *do* trigger a change. See unloadDrive(). - */ - // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; - - /* - * With the addition of notify(), users are now "alerted" whenever a disk has finished loading; - * notify() is selective about its output, using print() if a print window is open, alert() otherwise. - */ - this.notice("Loaded disk \"" + sDiskName + "\" in drive " + this.getDriveName(drive.iDrive), drive.fAutoMount || fAutoMount); - - /* - * Since you usually want the Computer to have focus again after loading a new disk, let's try automatically - * updating the focus after a successful load. - */ - if (this.cmp) this.cmp.setFocus(); - } - else { - drive.fLocal = false; - } - - if (drive.fAutoMount) { - drive.fAutoMount = false; - if (!--this.cAutoMount) this.setReady(); - } - - this.displayDisk(drive.iDrive); -}; - -/** - * addDisk(sName, sPath, fTop) - * - * @this {RL11} - * @param {string} sName - * @param {string} sPath - * @param {boolean} [fTop] (default is bottom) - */ -RL11.prototype.addDisk = function(sName, sPath, fTop) -{ - var controlDisks = this.bindings["listDisks"]; - if (controlDisks && controlDisks.options) { - for (var i = 0; i < controlDisks.options.length; i++) { - if (controlDisks.options[i].value == sPath) return; - } - var controlOption = document.createElement("option"); - controlOption.text = sName; - controlOption.value = sPath; - if (fTop && controlDisks.childNodes[0]) { - controlDisks.insertBefore(controlOption, controlDisks.childNodes[0]); - } else { - controlDisks.appendChild(controlOption); - } - } -}; - -/** - * findDisk(sPath) - * - * This is used to deal with mount requests (eg, autoMount) that supply a path without a name; - * if we can find the path in the "listDisks" control, then we return the associated disk name. - * - * @this {RL11} - * @param {string} sPath - * @return {string|null} - */ -RL11.prototype.findDisk = function(sPath) -{ - var controlDisks = this.bindings["listDisks"]; - if (controlDisks && controlDisks.options) { - for (var i = 0; i < controlDisks.options.length; i++) { - var control = controlDisks.options[i]; - if (control.value == sPath) return control.text; - } - } - return str.getBaseName(sPath, true); -}; - -/** - * displayDisk(iDrive, fUpdateDrive) - * - * @this {RL11} - * @param {number} iDrive (unvalidated) - * @param {boolean} [fUpdateDrive] is true to update the drive list to match the specified drive (eg, the auto-mount case) - */ -RL11.prototype.displayDisk = function(iDrive, fUpdateDrive) -{ - /* - * First things first: validate iDrive. - */ - if (iDrive >= 0 && iDrive < this.aDrives.length) { - var drive = this.aDrives[iDrive]; - var controlDisks = this.bindings["listDisks"]; - var controlDrives = this.bindings["listDrives"]; - /* - * Next, make sure controls for both drives and disks exist. - */ - if (controlDisks && controlDrives && controlDisks.options && controlDrives.options) { - /* - * Next, make sure the drive whose disk we're updating is the currently selected drive. - */ - var i; - var iDriveSelected = str.parseInt(controlDrives.value, 10); - var sTargetPath = (drive.fLocal? RL11.SOURCE.LOCAL : drive.sDiskPath); - if (!isNaN(iDriveSelected) && iDriveSelected == iDrive) { - for (i = 0; i < controlDisks.options.length; i++) { - if (controlDisks.options[i].value == sTargetPath) { - if (controlDisks.selectedIndex != i) { - controlDisks.selectedIndex = i; - } - break; - } - } - if (i == controlDisks.options.length) controlDisks.selectedIndex = 0; - } - if (fUpdateDrive) { - for (i = 0; i < controlDrives.options.length; i++) { - if (str.parseInt(controlDrives.options[i].value, 10) == drive.iDrive) { - if (controlDrives.selectedIndex != i) { - controlDrives.selectedIndex = i; - } - break; - } - } - } - } - } -}; - -/** - * unloadDrive(iDrive, fLoading) - * - * @this {RL11} - * @param {number} iDrive - * @param {boolean} [fLoading] - */ -RL11.prototype.unloadDrive = function(iDrive, fLoading) -{ - var drive = this.aDrives[iDrive]; - - if (drive.disk || fLoading === false) { - - /* - * Before we toss the disk's information, capture any deltas that may have occurred. - */ - // this.updateDiskHistory(drive.sDiskName, drive.sDiskPath, drive.disk); - - drive.sDiskName = ""; - drive.sDiskPath = ""; - drive.disk = null; - drive.fLocal = false; - - // this.regInput |= FDC.REG_INPUT.DISK_CHANGE; - - if (!fLoading) { - this.notice("Drive " + this.getDriveName(iDrive) + " unloaded", fLoading); - this.sDiskSource = RL11.SOURCE.NONE; - this.displayDisk(iDrive); - } - } -}; - -/** - * unloadAllDrives(fDiscard) - * - * @this {RL11} - * @param {boolean} fDiscard to discard all disk history before unloading - */ -RL11.prototype.unloadAllDrives = function(fDiscard) -{ - // if (fDiscard) this.aDiskHistory = []; - - for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { - this.unloadDrive(iDrive, true); - } -}; - -/** - * initController(data) - * - * @this {RL11} - * @param {Array} [data] - * @return {boolean} true if successful, false if failure - */ -RL11.prototype.initController = function(data) -{ - var i = 0; - if (!data) data = []; - this.regRLCS = data[i++] || (PDP11.RL11.RLCS.DRDY | PDP11.RL11.RLCS.CRDY); - this.regRLBA = data[i++] || 0; - this.regRLDA = data[i++] || 0; - this.tmpRLDA = data[i++] || 0; - this.regRLMP = data[i++] || 0; - this.regRLBE = data[i] || 0; - - var fSuccess = true; - for (var iDrive = 0; iDrive < this.aDrives.length; iDrive++) { - var drive = this.aDrives[iDrive]; - if (drive === undefined) { - drive = this.aDrives[iDrive] = {}; - } - if (!this.initDrive(drive, iDrive)) { - fSuccess = false; - } - } - return fSuccess; -}; - -/** - * initDrive(drive, iDrive, data) - * - * TODO: Consider a separate Drive class that any drive controller can use, since there's a lot of commonality - * between the drive objects created by disk controllers. This will clean up overall drive management and allow - * us to factor out some common Drive methods. - * - * @this {RL11} - * @param {Object} drive - * @param {number} iDrive - * @param {Array|undefined} [data] - * @return {boolean} true if successful, false if failure - */ -RL11.prototype.initDrive = function(drive, iDrive, data) -{ - var i = 0; - var fSuccess = true; - - drive.iDrive = iDrive; - drive.name = this.idComponent; - drive.fBusy = drive.fLocal = false; - - /* - * NOTE: We initialize the following drive properties to their MAXIMUMs; disks may have - * these or SMALLER values (subject to the limits of what the controller supports, of course). - */ - drive.nCylinders = 512; - drive.nHeads = 2; - drive.nSectors = 40; - drive.cbSector = 256; - drive.fRemovable = true; - - /* - * The next group of properties are set by various controller command sequences. - */ - drive.bHead = 0; - drive.bCylinder = 0; - drive.bSector = 1; - drive.bSectorEnd = drive.nSectors; // aka EOT - drive.nBytes = drive.cbSector; - - /* - * The next group of properties are managed by worker functions (eg, doRead()) to maintain state across DMA requests. - */ - drive.ibSector = 0; - drive.sector = null; - - if (!drive.disk) drive.sDiskPath = ""; // ensure this is initialized to a default that displayDisk() can deal with - - /* - * Default drive status bits returned via the controller's Get Status command via the RLMP register - */ - drive.status = PDP11.RL11.RLMP.GS_ST.LOCKON | PDP11.RL11.RLMP.GS_BH | PDP11.RL11.RLMP.GS_HO; - - return fSuccess; -}; - -/** - * processCommand() - * - * @this {RL11} - */ -RL11.prototype.processCommand = function() -{ - var fInterrupt = true; - var fnReadWrite, sFunc = ""; - var iDrive = (this.regRLCS & PDP11.RL11.RLCS.DS) >> PDP11.RL11.RLCS.SHIFT.DS; - var drive = this.aDrives[iDrive]; - var disk = drive.disk; - var iCylinder, iHead, iSector, nWords, addr; - - /* - * The typical pattern of DRDY and CRDY: - * - * 1) Normally both set - * 2) CRDY is cleared to process a command - * 3) DRDY is cleared to indicate a command in process - */ - this.regRLCS &= ~PDP11.RL11.RLCS.DRDY; - - switch(this.regRLCS & PDP11.RL11.RLCS.FUNC) { - - case PDP11.RL11.FUNC.NOP: - case PDP11.RL11.FUNC.WCHK: - case PDP11.RL11.FUNC.RDNC: - break; - - case PDP11.RL11.FUNC.STATUS: - if (this.regRLMP & PDP11.RL11.RLMP.GS_BH) { - this.regRLCS &= (PDP11.RL11.RLCS.DRDY | PDP11.RL11.RLCS.FUNC | PDP11.RL11.RLCS.BAE); // TODO: Review - } - /* - * The bit indicating whether or not the disk contains 256 or 512 cylinders is critical; - * for example, the first RSTS/E disk image we tried was an RL01K, which has only 256 cylinders, - * and the operating system would crash mysteriously if we didn't report the correct geometry. - */ - this.regRLMP = drive.status | (this.tmpRLDA & PDP11.RL11.RLDA.RW_HS) | (disk && disk.nCylinders == 512? PDP11.RL11.RLMP.GS_DT : 0); - break; - - case PDP11.RL11.FUNC.SEEK: - if ((this.regRLDA & PDP11.RL11.RLDA.GS_CMD) == PDP11.RL11.RLDA.SEEK_CMD) { - var darCA = (this.regRLDA & PDP11.RL11.RLDA.RW_CA); - var darHS = (this.regRLDA & PDP11.RL11.RLDA.SEEK_HS) << 2; - if (this.regRLDA & PDP11.RL11.RLDA.SEEK_DIR) { - this.tmpRLDA += darCA; - } else { - this.tmpRLDA -= darCA; - } - this.regRLDA = this.tmpRLDA = (this.tmpRLDA & PDP11.RL11.RLDA.RW_CA) | darHS; - } - break; - - case PDP11.RL11.FUNC.RHDR: - this.regRLMP = this.tmpRLDA; - break; - - case PDP11.RL11.FUNC.RDATA: - sFunc = "READ"; - fnReadWrite = this.readData; - /* falls through */ - - case PDP11.RL11.FUNC.WDATA: - if (!sFunc) sFunc = "WRITE"; - if (!fnReadWrite) fnReadWrite = this.writeData; - - iCylinder = this.regRLDA >> PDP11.RL11.RLDA.SHIFT.RW_CA; - iHead = (this.regRLDA & PDP11.RL11.RLDA.RW_HS)? 1 : 0; - iSector = this.regRLDA & PDP11.RL11.RLDA.RW_SA; - if (!disk || iCylinder >= disk.nCylinders || iSector >= disk.nSectors) { - this.regRLCS |= PDP11.RL11.ERRC.HNF | PDP11.RL11.RLCS.ERR; - break; - } - nWords = (0x10000 - this.regRLMP) & 0xffff; - addr = (((this.regRLBE & PDP11.RL11.RLBE.MASK)) << 16) | this.regRLBA; // 22 bit mode - - if (this.messageEnabled()) this.printMessage(this.type + ": " + sFunc + "(" + iCylinder + ":" + iHead + ":" + iSector + ") " + str.toOct(addr) + "--" + str.toOct(addr + (nWords << 1)), true, true); - - fInterrupt = fnReadWrite.call(this, drive, iCylinder, iHead, iSector, nWords, addr, this.doneReadWrite.bind(this)); - break; - - default: - break; - } - - if (fInterrupt) { - this.regRLCS |= PDP11.RL11.RLCS.DRDY | PDP11.RL11.RLCS.CRDY; - if (this.regRLCS & PDP11.RL11.RLCS.IE) this.cpu.setIRQ(this.irq); - } -}; - -/** - * readData(drive, iCylinder, iHead, iSector, nWords, addr, done) - * - * @this {RL11} - * @param {Object} drive - * @param {number} iCylinder - * @param {number} iHead - * @param {number} iSector - * @param {number} nWords - * @param {number} addr - * @param {function(...)} [done] - * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) - */ -RL11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, addr, done) -{ - var err = 0; - var checksum = 0; - var disk = drive.disk; - var sector = null, ibSector; - - if (!disk) { - err = PDP11.RL11.ERRC.HNF; // TODO: Review - nWords = 0; - } - - var sWords = ""; - while (nWords) { - if (!sector) { - sector = disk.seek(iCylinder, iHead, iSector + 1); - if (!sector) { - err = PDP11.RL11.ERRC.HNF; - break; - } - ibSector = 0; - } - var b0, b1, data; - if ((b0 = disk.read(sector, ibSector++)) < 0 || (b1 = disk.read(sector, ibSector++)) < 0) { - err = PDP11.RL11.ERRC.HNF; - break; - } - /* - * Apparently, this controller honors the UNIBUS Map registers, which means we must call mapUnibus() - * on the address REGARDLESS whether it is actually >= BusPDP11.UNIBUS_22BIT. TODO: This is inherited - * code, so let's review the documentation on this. - */ - this.bus.setWordDirect(this.cpu.mapUnibus(addr), data = b0 | (b1 << 8)); - if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) { - if (!sWords) sWords = str.toOct(addr) + ": "; - sWords += str.toOct(data) + ' '; - if (sWords.length >= 64) { - console.log(sWords); - sWords = ""; - } - } - if (this.bus.checkFault()) { - err = PDP11.RL11.ERRC.NXM; - break; - } - addr += 2; - nWords--; - checksum += data; - if (ibSector >= disk.cbSector) { - sector = null; - if (++iSector >= disk.nSectors) { - iSector = 0; - if (++iHead >= disk.nHeads) { - iHead = 0; - if (++iCylinder >= disk.nCylinders) { - err = PDP11.RL11.ERRC.HNF; - break; - } - } - } - } - } - - if (DEBUG && this.messageEnabled(MessagesPDP11.READ)) { - console.log("checksum: " + (checksum|0)); - } - - return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; -}; - -/** - * writeData(drive, iCylinder, iHead, iSector, nWords, addr, done) - * - * @this {RL11} - * @param {Object} drive - * @param {number} iCylinder - * @param {number} iHead - * @param {number} iSector - * @param {number} nWords - * @param {number} addr - * @param {function(...)} [done] - * @return {boolean|number} true if complete, false if queued (or if no done() is supplied, the error code, if any) - */ -RL11.prototype.writeData = function(drive, iCylinder, iHead, iSector, nWords, addr, done) -{ - var err = 0; - var checksum = 0; - var disk = drive.disk; - var sector = null, ibSector; - - if (!disk) { - err = PDP11.RL11.ERRC.HNF; // TODO: Review - nWords = 0; - } - - var sWords = ""; - while (nWords) { - /* - * Apparently, this controller honors the UNIBUS Map registers, which means we must call mapUnibus() - * on the address REGARDLESS whether it is actually >= BusPDP11.UNIBUS_22BIT. TODO: This is inherited - * code, so let's review the documentation on this. - */ - var data = this.bus.getWordDirect(this.cpu.mapUnibus(addr)); - if (this.bus.checkFault()) { - err = PDP11.RL11.ERRC.NXM; - break; - } - if (DEBUG && this.messageEnabled(MessagesPDP11.WRITE)) { - if (!sWords) sWords = str.toOct(addr) + ": "; - sWords += str.toOct(data) + ' '; - if (sWords.length >= 64) { - console.log(sWords); - sWords = ""; - } - } - addr += 2; - nWords--; - checksum += data; - if (!sector) { - sector = disk.seek(iCylinder, iHead, iSector + 1, true); - if (!sector) { - err = PDP11.RL11.ERRC.HNF; - break; - } - ibSector = 0; - } - if (!disk.write(sector, ibSector++, data & 0xff) || !disk.write(sector, ibSector++, data >> 8)) { - err = PDP11.RL11.ERRC.HNF; - break; - } - if (ibSector >= disk.cbSector) { - sector = null; - if (++iSector >= disk.nSectors) { - iSector = 0; - if (++iHead >= disk.nHeads) { - iHead = 0; - if (++iCylinder >= disk.nCylinders) { - err = PDP11.RL11.ERRC.HNF; - break; - } - } - } - } - } - - if (DEBUG && this.messageEnabled(MessagesPDP11.WRITE)) { - console.log("checksum: " + (checksum|0)); - } - - return done? done(err, iCylinder, iHead, iSector, nWords, addr) : err; -}; - -/** - * doneReadWrite(err, iCylinder, iHead, iSector, nWords, addr) - * - * @this {RL11} - * @param {number} err - * @param {number} iCylinder - * @param {number} iHead - * @param {number} iSector - * @param {number} nWords - * @param {number} addr - * @return {boolean} - */ -RL11.prototype.doneReadWrite = function(err, iCylinder, iHead, iSector, nWords, addr) -{ - this.regRLBA = addr & 0xffff; - this.regRLCS = (this.regRLCS & ~PDP11.RL11.RLCS.BAE) | ((addr >> (16 - PDP11.RL11.RLCS.SHIFT.BAE)) & PDP11.RL11.RLCS.BAE); - this.regRLBE = (addr >> 16) & PDP11.RL11.RLBE.MASK; // 22 bit mode - this.regRLDA = (iCylinder << PDP11.RL11.RLDA.SHIFT.RW_CA) | (iHead? PDP11.RL11.RLDA.RW_HS : 0) | (iSector & PDP11.RL11.RLDA.RW_SA); - this.tmpRLDA = this.regRLDA; - this.regRLMP = (0x10000 - nWords) & 0xffff; - if (err) { - this.regRLCS |= err | PDP11.RL11.RLCS.ERR; - } - return true; -}; - -/** - * readRLCS(addr) - * - * @this {RL11} - * @param {number} addr (eg, PDP11.UNIBUS.RLCS or 174400) - * @return {number} - */ -RL11.prototype.readRLCS = function(addr) -{ - return this.regRLCS & PDP11.RL11.RLCS.RMASK; -}; - -/** - * writeRLCS(data, addr) - * - * @this {RL11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RLCS or 174400) - */ -RL11.prototype.writeRLCS = function(data, addr) -{ - this.regRLCS = (this.regRLCS & ~PDP11.RL11.RLCS.WMASK) | (data & PDP11.RL11.RLCS.WMASK); - this.regRLBE = (this.regRLBE & 0x3C) | ((data & PDP11.RL11.RLCS.BAE) >> PDP11.RL11.RLCS.SHIFT.BAE); - if (!(this.regRLCS & PDP11.RL11.RLCS.CRDY)) this.processCommand(); -}; - -/** - * readRLBA(addr) - * - * @this {RL11} - * @param {number} addr (eg, PDP11.UNIBUS.RLBA or 174402) - * @return {number} - */ -RL11.prototype.readRLBA = function(addr) -{ - return this.regRLBA; -}; - -/** - * writeRLBA(data, addr) - * - * @this {RL11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RLBA or 174402) - */ -RL11.prototype.writeRLBA = function(data, addr) -{ - this.regRLBA = data & PDP11.RL11.RLBA.WMASK; -}; - -/** - * readRLDA(addr) - * - * @this {RL11} - * @param {number} addr (eg, PDP11.UNIBUS.RLDA or 174404) - * @return {number} - */ -RL11.prototype.readRLDA = function(addr) -{ - return this.regRLDA; -}; - -/** - * writeRLDA(data, addr) - * - * @this {RL11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RLDA or 174404) - */ -RL11.prototype.writeRLDA = function(data, addr) -{ - this.regRLDA = data; -}; - -/** - * readRLMP(addr) - * - * @this {RL11} - * @param {number} addr (eg, PDP11.UNIBUS.RLMP or 174406) - * @return {number} - */ -RL11.prototype.readRLMP = function(addr) -{ - return this.regRLMP; -}; - -/** - * writeRLMP(data, addr) - * - * @this {RL11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RLMP or 174406) - */ -RL11.prototype.writeRLMP = function(data, addr) -{ - this.regRLMP = data; -}; - -/** - * readRLBE(addr) - * - * @this {RL11} - * @param {number} addr (eg, PDP11.UNIBUS.RLBE or 174410) - * @return {number} - */ -RL11.prototype.readRLBE = function(addr) -{ - return this.regRLBE; -}; - -/** - * writeRLBE(data, addr) - * - * Curiously, we see RSTS/E v7.0 writing RLBE bits that aren't documented: - * - * R0=000000 R1=000000 R2=174410 R3=000000 R4=102076 R5=045166 - * SP=052662 PC=067624 PS=034344 IR=000000 SL=000377 T0 N0 Z1 V0 C0 - * 067624: 012712 000300 MOV #300,@R2 - * - * @this {RL11} - * @param {number} data - * @param {number} addr (eg, PDP11.UNIBUS.RLBE or 174410) - */ -RL11.prototype.writeRLBE = function(data, addr) -{ - this.regRLBE = data & PDP11.RL11.RLBE.MASK; - this.regRLCS = (this.regRLCS & ~PDP11.RL11.RLCS.BAE) | ((this.regRLBE & 0x3) << PDP11.RL11.RLCS.SHIFT.BAE); -}; - /* * ES6 ALERT: As you can see below, I've finally started using computed property names. */ @@ -1369,4 +1372,4 @@ RL11.UNIBUS_IOTABLE = { [PDP11.UNIBUS.RLBE]: /* 174410 */ [null, null, RL11.prototype.readRLBE, RL11.prototype.writeRLBE, "RLBE"] }; -if (NODE) module.exports = RL11; +export default RL11; diff --git a/modules/pdp11/lib/rom.js b/modules/pdp11/lib/rom.js index e5f2690bf..4e20441be 100644 --- a/modules/pdp11/lib/rom.js +++ b/modules/pdp11/lib/rom.js @@ -32,85 +32,343 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var DumpAPI = require("../../shared/lib/dumpapi"); - var Component = require("../../shared/lib/component"); - var PDP11 = require("./defines"); - var BusPDP11 = require("./bus"); - var MemoryPDP11 = require("./memory"); - var MessagesPDP11 = require("./messages"); -} +import Str from "../../shared/lib/strlib"; +import Web from "../../shared/lib/weblib"; +import DumpAPI from "../../shared/lib/dumpapi"; +import Component from "../../shared/lib/component"; +import PDP11 from "./defines"; +import BusPDP11 from "./bus"; +import MemoryPDP11 from "./memory"; +import MessagesPDP11 from "./messages"; -/** - * ROMPDP11(parmsROM) - * - * The ROMPDP11 component expects the following (parmsROM) properties: - * - * addr: physical address of ROM - * size: amount of ROM, in bytes - * alias: physical alias address (null if none) - * file: name of ROM data file - * - * NOTE: The ROM data will not be copied into place until the Bus is ready (see initBus()) AND - * the ROM data file has finished loading (see finishLoad()). - * - * Also, while the size parameter may seem redundant, I consider it useful to confirm that the ROM - * you received is the ROM you expected. - * - * @constructor - * @extends Component - * @param {Object} parmsROM - */ -function ROMPDP11(parmsROM) -{ - Component.call(this, "ROM", parmsROM, ROMPDP11, MessagesPDP11.ROM); - - this.abInit = null; - this.aSymbols = null; - - this.addrROM = parmsROM['addr']; - this.sizeROM = parmsROM['size']; - this.fRetainROM = false; - - /* - * The new 'alias' property can now be EITHER a single physical address (like 'addr') OR an array of - * physical addresses; eg: +class ROMPDP11 extends Component { + /** + * ROMPDP11(parmsROM) * - * [0xf0000,0xffff0000,0xffff8000] + * The ROMPDP11 component expects the following (parmsROM) properties: * - * We could have overloaded 'addr' to accomplish the same thing, but I think it's better to have any - * aliased locations listed under a separate property. + * addr: physical address of ROM + * size: amount of ROM, in bytes + * alias: physical alias address (null if none) + * file: name of ROM data file * - * Most ROMs are not aliased, in which case the 'alias' property should have the default value of null. + * NOTE: The ROM data will not be copied into place until the Bus is ready (see initBus()) AND + * the ROM data file has finished loading (see finishLoad()). + * + * Also, while the size parameter may seem redundant, I consider it useful to confirm that the ROM + * you received is the ROM you expected. + * + * @param {Object} parmsROM */ - this.addrAlias = parmsROM['alias']; + constructor(parmsROM) + { + super("ROM", parmsROM, ROMPDP11, MessagesPDP11.ROM); - this.sFilePath = parmsROM['file']; - this.sFileName = str.getBaseName(this.sFilePath); + this.abInit = null; + this.aSymbols = null; + + this.addrROM = parmsROM['addr']; + this.sizeROM = parmsROM['size']; + this.fRetainROM = false; - if (this.sFilePath) { - var sFileURL = this.sFilePath; - if (DEBUG) this.log('load("' + sFileURL + '")'); /* - * If the selected ROM file has a ".json" extension, then we assume it's pre-converted - * JSON-encoded ROM data, so we load it as-is; ditto for ROM files with a ".hex" extension. - * Otherwise, we ask our server-side ROM converter to return the file in a JSON-compatible format. + * The new 'alias' property can now be EITHER a single physical address (like 'addr') OR an array of + * physical addresses; eg: + * + * [0xf0000,0xffff0000,0xffff8000] + * + * We could have overloaded 'addr' to accomplish the same thing, but I think it's better to have any + * aliased locations listed under a separate property. + * + * Most ROMs are not aliased, in which case the 'alias' property should have the default value of null. */ - var sFileExt = str.getExtension(this.sFileName); - if (sFileExt != DumpAPI.FORMAT.JSON && sFileExt != DumpAPI.FORMAT.HEX) { - sFileURL = web.getHost() + DumpAPI.ENDPOINT + '?' + DumpAPI.QUERY.FILE + '=' + this.sFilePath + '&' + DumpAPI.QUERY.FORMAT + '=' + DumpAPI.FORMAT.BYTES + '&' + DumpAPI.QUERY.DECIMAL + '=true'; + this.addrAlias = parmsROM['alias']; + + this.sFilePath = parmsROM['file']; + this.sFileName = Str.getBaseName(this.sFilePath); + + if (this.sFilePath) { + var sFileURL = this.sFilePath; + if (DEBUG) this.log('load("' + sFileURL + '")'); + /* + * If the selected ROM file has a ".json" extension, then we assume it's pre-converted + * JSON-encoded ROM data, so we load it as-is; ditto for ROM files with a ".hex" extension. + * Otherwise, we ask our server-side ROM converter to return the file in a JSON-compatible format. + */ + var sFileExt = Str.getExtension(this.sFileName); + if (sFileExt != DumpAPI.FORMAT.JSON && sFileExt != DumpAPI.FORMAT.HEX) { + sFileURL = Web.getHost() + DumpAPI.ENDPOINT + '?' + DumpAPI.QUERY.FILE + '=' + this.sFilePath + '&' + DumpAPI.QUERY.FORMAT + '=' + DumpAPI.FORMAT.BYTES + '&' + DumpAPI.QUERY.DECIMAL + '=true'; + } + var rom = this; + Web.getResource(sFileURL, null, true, function doneLoad(sURL, sResponse, nErrorCode) { + rom.finishLoad(sURL, sResponse, nErrorCode); + }); + } + } + + /** + * initBus(cmp, bus, cpu, dbg) + * + * @this {ROMPDP11} + * @param {ComputerPDP11} cmp + * @param {BusPDP11} bus + * @param {CPUStatePDP11} cpu + * @param {DebuggerPDP11} dbg + */ + initBus(cmp, bus, cpu, dbg) + { + this.bus = bus; + this.cpu = cpu; + this.dbg = dbg; + this.initROM(); + } + + /** + * powerUp(data, fRepower) + * + * @this {ROMPDP11} + * @param {Object|null} data + * @param {boolean} [fRepower] + * @return {boolean} true if successful, false if failure + */ + powerUp(data, fRepower) + { + if (this.aSymbols) { + if (this.dbg) { + this.dbg.addSymbols(this.id, this.addrROM, this.sizeROM, this.aSymbols); + } + /* + * Our only role in the handling of symbols is to hand them off to the Debugger at our + * first opportunity. Now that we've done that, our copy of the symbols, if any, are toast. + */ + delete this.aSymbols; + } + return true; + } + + /** + * powerDown(fSave, fShutdown) + * + * Since we have nothing to do on powerDown(), and no state to return, we could simply omit + * this function. But it doesn't hurt anything, and maybe we'll use our state to save something + * useful down the road, like user-defined symbols (ie, symbols that the Debugger may have + * created, above and beyond those symbols we automatically loaded, if any, along with the ROM). + * + * @this {ROMPDP11} + * @param {boolean} [fSave] + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure + */ + powerDown(fSave, fShutdown) + { + return true; + } + + /** + * finishLoad(sURL, sData, nErrorCode) + * + * @this {ROMPDP11} + * @param {string} sURL + * @param {string} sData + * @param {number} nErrorCode (response from server if anything other than 200) + */ + finishLoad(sURL, sData, nErrorCode) + { + if (nErrorCode) { + this.notice("Unable to load ROM resource (error " + nErrorCode + ": " + sURL + ")"); + this.sFilePath = null; + } + else { + Component.addMachineResource(this.idMachine, sURL, sData); + var resource = Web.parseMemoryResource(sURL, sData); + if (resource) { + this.abInit = resource.aBytes; + this.aSymbols = resource.aSymbols; + } else { + this.sFilePath = null; + } + } + this.initROM(); + } + + /** + * initROM() + * + * This function is called by both initBus() and finishLoad(), but it cannot copy the initial data into place + * until after initBus() has received the Bus component AND finishLoad() has received the data. When both those + * criteria are satisfied, the component becomes "ready". + * + * @this {ROMPDP11} + */ + initROM() + { + if (!this.isReady()) { + if (this.sFilePath) { + /* + * Too early... + */ + if (!this.abInit || !this.bus) return; + + /* + * If no explicit size was specified, then use whatever the actual size is. + */ + if (!this.sizeROM) { + this.sizeROM = this.abInit.length; + } + if (this.abInit.length != this.sizeROM) { + /* + * Note that setError() sets the component's fError flag, which in turn prevents setReady() from + * marking the component ready. TODO: Revisit this decision. On the one hand, it sounds like a + * good idea to stop the machine in its tracks whenever a setError() occurs, but there may also be + * times when we'd like to forge ahead anyway. + */ + this.setError("ROM size (" + Str.toHexLong(this.abInit.length) + ") does not match specified size (" + Str.toHexLong(this.sizeROM) + ")"); + } + else if (this.addROM(this.addrROM)) { + + var aliases = []; + if (typeof this.addrAlias == "number") { + aliases.push(this.addrAlias); + } else if (this.addrAlias != null && this.addrAlias.length) { + aliases = this.addrAlias; + } + for (var i = 0; i < aliases.length; i++) { + this.cloneROM(aliases[i]); + } + /* + * We used to hang onto the initial ROM data so that we could restore any bytes the CPU overwrote, + * using memory write-notification handlers, but with the introduction of read-only memory blocks, that's + * no longer necessary. + * + * TODO: Consider an option to retain the ROM data, and give the user some way of restoring ROMs. + * That may be useful for "resumable" machines that save/restore all dirty block of memory, regardless + * whether they're ROM or RAM. However, the only way to modify a machine's ROM is with the Debugger, + * and Debugger users should know better. + */ + if (!this.fRetainROM) { + delete this.abInit; + } + } + } + this.setReady(); + } + } + + /** + * addROM(addr) + * + * @this {ROMPDP11} + * @param {number} addr + * @return {boolean} + */ + addROM(addr) + { + this.status(this.sizeROM + "-byte ROM at " + Str.toOct(addr)); + + if (addr >= BusPDP11.IOPAGE_16BIT && addr < BusPDP11.IOPAGE_16BIT + BusPDP11.IOPAGE_LENGTH) { + /* + * This code has been added as a work-around to effectively allow us to install small ROMs into portions + * of the IOPAGE address space, by installing I/O handlers for the entire range that return the corresponding + * bytes of the current ROM image on reads, and ignore any writes (which I'm only assuming is how a typical + * ROM "device" deals with writes; if we remove the write handler, then writes will fault). + * + * TODO: It would be more efficient if we parsed ROM data as words rather than bytes, and then installed + * only word handlers instead of only byte handlers. It was done this way purely for historical reasons (ie, + * because that's how other PCjs machines parse their ROMs). For now, all this means is that executing code + * out of ROM will be slower than out of RAM -- although that's often true in the real world as well. + */ + var IOTable = { + [addr]: [ROMPDP11.prototype.readROMByte, ROMPDP11.prototype.writeROMByte, null, null, null, this.sizeROM >> 1] + }; + if (this.bus.addIOTable(this, IOTable)) { + this.fRetainROM = true; + return true; + } + } + else if (this.bus.addMemory(addr, this.sizeROM, MemoryPDP11.TYPE.ROM)) { + if (DEBUG) this.log("addROM(): copying ROM to " + Str.toHexLong(addr) + " (" + Str.toHexLong(this.abInit.length) + " bytes)"); + var i; + for (i = 0; i < this.abInit.length; i++) { + this.bus.setByteDirect(addr + i, this.abInit[i]); + } + return true; + } + + /* + * We don't need to report an error here, because addMemory() already takes care of that. + */ + return false; + } + + /** + * cloneROM(addr) + * + * For ROMs with one or more alias addresses, we used to call addROM() for each address. However, + * that obviously wasted memory, since each alias was an independent copy, and if you used the + * Debugger to edit the ROM in one location, the changes would not appear in the other location(s). + * + * Now that the Bus component provides low-level getMemoryBlocks() and setMemoryBlocks() methods + * to manually get and set the blocks of any memory range, it is now possible to create true aliases. + * + * @this {ROMPDP11} + * @param {number} addr + */ + cloneROM(addr) + { + var aBlocks = this.bus.getMemoryBlocks(this.addrROM, this.sizeROM); + this.bus.setMemoryBlocks(addr, this.sizeROM, aBlocks); + } + + /** + * readROMByte(addr) + * + * @this {ROMPDP11} + * @param {number} addr + * @return {number} + */ + readROMByte(addr) + { + var i = (addr - this.addrROM); + return this.abInit[i]; + } + + /** + * writeROMByte(data, addr) + * + * This handler exists simply to ignore any writes, so that they don't cause faults. + * + * TODO: Another possible use for this would be to allow the Debugger to alter ROM contents, + * if the Debugger were to provide an interface indicating whether or not it was responsible + * for this write. + * + * @this {ROMPDP11} + * @param {number} data + * @param {number} addr + */ + writeROMByte(data, addr) + { + } + + /** + * ROMPDP11.init() + * + * This function operates on every HTML element of class "rom", extracting the + * JSON-encoded parameters for the ROMPDP11 constructor from the element's "data-value" + * attribute, invoking the constructor to create a ROMPDP11 component, and then binding + * any associated HTML controls to the new component. + */ + static init() + { + var aeROM = Component.getElementsByClass(document, PDP11.APPCLASS, "rom"); + for (var iROM = 0; iROM < aeROM.length; iROM++) { + var eROM = aeROM[iROM]; + var parmsROM = Component.getComponentParms(eROM); + var rom = new ROMPDP11(parmsROM); + Component.bindComponentControls(rom, eROM, PDP11.APPCLASS); } - var rom = this; - web.getResource(sFileURL, null, true, function doneLoad(sURL, sResponse, nErrorCode) { - rom.finishLoad(sURL, sResponse, nErrorCode); - }); } } -Component.subclass(ROMPDP11); - /* * NOTE: There's currently no need for this component to have a reset() function, since * once the ROM data is loaded, it can't be changed, so there's nothing to reinitialize. @@ -124,271 +382,9 @@ Component.subclass(ROMPDP11); * via bus.addMemory(). */ -/** - * initBus(cmp, bus, cpu, dbg) - * - * @this {ROMPDP11} - * @param {ComputerPDP11} cmp - * @param {BusPDP11} bus - * @param {CPUStatePDP11} cpu - * @param {DebuggerPDP11} dbg - */ -ROMPDP11.prototype.initBus = function(cmp, bus, cpu, dbg) -{ - this.bus = bus; - this.cpu = cpu; - this.dbg = dbg; - this.initROM(); -}; - -/** - * powerUp(data, fRepower) - * - * @this {ROMPDP11} - * @param {Object|null} data - * @param {boolean} [fRepower] - * @return {boolean} true if successful, false if failure - */ -ROMPDP11.prototype.powerUp = function(data, fRepower) -{ - if (this.aSymbols) { - if (this.dbg) { - this.dbg.addSymbols(this.id, this.addrROM, this.sizeROM, this.aSymbols); - } - /* - * Our only role in the handling of symbols is to hand them off to the Debugger at our - * first opportunity. Now that we've done that, our copy of the symbols, if any, are toast. - */ - delete this.aSymbols; - } - return true; -}; - -/** - * powerDown(fSave, fShutdown) - * - * Since we have nothing to do on powerDown(), and no state to return, we could simply omit - * this function. But it doesn't hurt anything, and maybe we'll use our state to save something - * useful down the road, like user-defined symbols (ie, symbols that the Debugger may have - * created, above and beyond those symbols we automatically loaded, if any, along with the ROM). - * - * @this {ROMPDP11} - * @param {boolean} [fSave] - * @param {boolean} [fShutdown] - * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure - */ -ROMPDP11.prototype.powerDown = function(fSave, fShutdown) -{ - return true; -}; - -/** - * finishLoad(sURL, sData, nErrorCode) - * - * @this {ROMPDP11} - * @param {string} sURL - * @param {string} sData - * @param {number} nErrorCode (response from server if anything other than 200) - */ -ROMPDP11.prototype.finishLoad = function(sURL, sData, nErrorCode) -{ - if (nErrorCode) { - this.notice("Unable to load ROM resource (error " + nErrorCode + ": " + sURL + ")"); - this.sFilePath = null; - } - else { - Component.addMachineResource(this.idMachine, sURL, sData); - var resource = web.parseMemoryResource(sURL, sData); - if (resource) { - this.abInit = resource.aBytes; - this.aSymbols = resource.aSymbols; - } else { - this.sFilePath = null; - } - } - this.initROM(); -}; - -/** - * initROM() - * - * This function is called by both initBus() and finishLoad(), but it cannot copy the initial data into place - * until after initBus() has received the Bus component AND finishLoad() has received the data. When both those - * criteria are satisfied, the component becomes "ready". - * - * @this {ROMPDP11} - */ -ROMPDP11.prototype.initROM = function() -{ - if (!this.isReady()) { - if (this.sFilePath) { - /* - * Too early... - */ - if (!this.abInit || !this.bus) return; - - /* - * If no explicit size was specified, then use whatever the actual size is. - */ - if (!this.sizeROM) { - this.sizeROM = this.abInit.length; - } - if (this.abInit.length != this.sizeROM) { - /* - * Note that setError() sets the component's fError flag, which in turn prevents setReady() from - * marking the component ready. TODO: Revisit this decision. On the one hand, it sounds like a - * good idea to stop the machine in its tracks whenever a setError() occurs, but there may also be - * times when we'd like to forge ahead anyway. - */ - this.setError("ROM size (" + str.toHexLong(this.abInit.length) + ") does not match specified size (" + str.toHexLong(this.sizeROM) + ")"); - } - else if (this.addROM(this.addrROM)) { - - var aliases = []; - if (typeof this.addrAlias == "number") { - aliases.push(this.addrAlias); - } else if (this.addrAlias != null && this.addrAlias.length) { - aliases = this.addrAlias; - } - for (var i = 0; i < aliases.length; i++) { - this.cloneROM(aliases[i]); - } - /* - * We used to hang onto the initial ROM data so that we could restore any bytes the CPU overwrote, - * using memory write-notification handlers, but with the introduction of read-only memory blocks, that's - * no longer necessary. - * - * TODO: Consider an option to retain the ROM data, and give the user some way of restoring ROMs. - * That may be useful for "resumable" machines that save/restore all dirty block of memory, regardless - * whether they're ROM or RAM. However, the only way to modify a machine's ROM is with the Debugger, - * and Debugger users should know better. - */ - if (!this.fRetainROM) { - delete this.abInit; - } - } - } - this.setReady(); - } -}; - -/** - * addROM(addr) - * - * @this {ROMPDP11} - * @param {number} addr - * @return {boolean} - */ -ROMPDP11.prototype.addROM = function(addr) -{ - this.status(this.sizeROM + "-byte ROM at " + str.toOct(addr)); - - if (addr >= BusPDP11.IOPAGE_16BIT && addr < BusPDP11.IOPAGE_16BIT + BusPDP11.IOPAGE_LENGTH) { - /* - * This code has been added as a work-around to effectively allow us to install small ROMs into portions - * of the IOPAGE address space, by installing I/O handlers for the entire range that return the corresponding - * bytes of the current ROM image on reads, and ignore any writes (which I'm only assuming is how a typical - * ROM "device" deals with writes; if we remove the write handler, then writes will fault). - * - * TODO: It would be more efficient if we parsed ROM data as words rather than bytes, and then installed - * only word handlers instead of only byte handlers. It was done this way purely for historical reasons (ie, - * because that's how other PCjs machines parse their ROMs). For now, all this means is that executing code - * out of ROM will be slower than out of RAM -- although that's often true in the real world as well. - */ - var IOTable = { - [addr]: [ROMPDP11.prototype.readROMByte, ROMPDP11.prototype.writeROMByte, null, null, null, this.sizeROM >> 1] - }; - if (this.bus.addIOTable(this, IOTable)) { - this.fRetainROM = true; - return true; - } - } - else if (this.bus.addMemory(addr, this.sizeROM, MemoryPDP11.TYPE.ROM)) { - if (DEBUG) this.log("addROM(): copying ROM to " + str.toHexLong(addr) + " (" + str.toHexLong(this.abInit.length) + " bytes)"); - var i; - for (i = 0; i < this.abInit.length; i++) { - this.bus.setByteDirect(addr + i, this.abInit[i]); - } - return true; - } - - /* - * We don't need to report an error here, because addMemory() already takes care of that. - */ - return false; -}; - -/** - * cloneROM(addr) - * - * For ROMs with one or more alias addresses, we used to call addROM() for each address. However, - * that obviously wasted memory, since each alias was an independent copy, and if you used the - * Debugger to edit the ROM in one location, the changes would not appear in the other location(s). - * - * Now that the Bus component provides low-level getMemoryBlocks() and setMemoryBlocks() methods - * to manually get and set the blocks of any memory range, it is now possible to create true aliases. - * - * @this {ROMPDP11} - * @param {number} addr - */ -ROMPDP11.prototype.cloneROM = function(addr) -{ - var aBlocks = this.bus.getMemoryBlocks(this.addrROM, this.sizeROM); - this.bus.setMemoryBlocks(addr, this.sizeROM, aBlocks); -}; - -/** - * readROMByte(addr) - * - * @this {ROMPDP11} - * @param {number} addr - * @return {number} - */ -ROMPDP11.prototype.readROMByte = function(addr) -{ - var i = (addr - this.addrROM); - return this.abInit[i]; -}; - -/** - * writeROMByte(data, addr) - * - * This handler exists simply to ignore any writes, so that they don't cause faults. - * - * TODO: Another possible use for this would be to allow the Debugger to alter ROM contents, - * if the Debugger were to provide an interface indicating whether or not it was responsible - * for this write. - * - * @this {ROMPDP11} - * @param {number} data - * @param {number} addr - */ -ROMPDP11.prototype.writeROMByte = function(data, addr) -{ -}; - -/** - * ROMPDP11.init() - * - * This function operates on every HTML element of class "rom", extracting the - * JSON-encoded parameters for the ROMPDP11 constructor from the element's "data-value" - * attribute, invoking the constructor to create a ROMPDP11 component, and then binding - * any associated HTML controls to the new component. - */ -ROMPDP11.init = function() -{ - var aeROM = Component.getElementsByClass(document, PDP11.APPCLASS, "rom"); - for (var iROM = 0; iROM < aeROM.length; iROM++) { - var eROM = aeROM[iROM]; - var parmsROM = Component.getComponentParms(eROM); - var rom = new ROMPDP11(parmsROM); - Component.bindComponentControls(rom, eROM, PDP11.APPCLASS); - } -}; - /* * Initialize all the ROMPDP11 modules on the page. */ -web.onInit(ROMPDP11.init); +Web.onInit(ROMPDP11.init); -if (NODE) module.exports = ROMPDP11; +export default ROMPDP11; diff --git a/modules/pdp11/lib/serialport.js b/modules/pdp11/lib/serialport.js index 786f550ca..87f6417b9 100644 --- a/modules/pdp11/lib/serialport.js +++ b/modules/pdp11/lib/serialport.js @@ -32,140 +32,830 @@ "use strict"; -if (NODE) { - var str = require("../../shared/lib/strlib"); - var web = require("../../shared/lib/weblib"); - var Component = require("../../shared/lib/component"); - var Keys = require("../../shared/lib/keys"); - var State = require("../../shared/lib/state"); - var PDP11 = require("./defines"); - var MessagesPDP11 = require("./messages"); -} +import Str from "../../shared/lib/strlib"; +import Web from "../../shared/lib/weblib"; +import Component from "../../shared/lib/component"; +import Keys from "../../shared/lib/keys"; +import State from "../../shared/lib/state"; +import PDP11 from "./defines"; +import MessagesPDP11 from "./messages"; /** - * SerialPortPDP11(parmsSerial) + * Since the Closure Compiler treats ES6 classes as @struct rather than @dict by default, + * it deters us from defining named properties on our components; eg: * - * The SerialPort component has the following component-specific (parmsSerial) properties: + * this['exports'] = {...} * - * adapter: adapter number; 0 if not defined (the PCx86 SerialPort component uses this - * value to set the device's internal COM number, which in turn determines other properties, - * such as I/O ports and IRQ; for the PDP-11, this currently has no defined use) + * results in an error: * - * baudReceive: the default number of bits/second that the device should receive data at; - * 0 means use the device default (PDP11.DL11.RCSR.BAUD) + * Cannot do '[]' access on a struct * - * baudTransmit: the default number of bits/second that the device should transmit data at; - * 0 means use the device default (PDP11.DL11.XCSR.BAUD) + * So, in order to define 'exports', we must override the @struct assumption by annotating + * the class as @unrestricted (or @dict). Note that this must be done both here and in the + * Component class, because otherwise the Compiler won't allow us to *reference* the named + * property either. * - * binding: name of a control (based on its "binding" attribute) to bind to this port's I/O + * TODO: Consider marking ALL our classes unrestricted, because otherwise it forces us to + * define every single property the class uses in its constructor, which results in a fair + * bit of redundant initialization, since many properties aren't (and don't need to be) fully + * initialized until the appropriate init(), reset(), restore(), etc. function is called. * - * tabSize: set to a non-zero number to convert tabs to spaces (applies only to output to - * the above binding); default is 0 (no conversion) + * The upside, however, may be that since the structure of the class is completely defined by + * the constructor, JavaScript engines may be able to optimize and run more efficiently. * - * upperCase: if true, all received input is upper-cased; it is normally the responsibility - * of the sending device to ensure this, but sometimes it's more convenient to enforce - * on the receiving end. - * - * NOTE: Since the XSL file defines the 'adapter' and 'baud' properties as numbers, not strings, - * there's no need to use parseInt(), and as an added benefit, we don't need to worry about whether - * a hex or decimal format was used. - * - * @constructor - * @extends Component - * @param {Object} parmsSerial + * @unrestricted */ -function SerialPortPDP11(parmsSerial) { - - this.iAdapter = parmsSerial['adapter']; - this.nBaudReceive = parmsSerial['baudReceive'] || PDP11.DL11.RCSR.BAUD; - this.nBaudTransmit = parmsSerial['baudTransmit'] || PDP11.DL11.XCSR.BAUD; - this.fUpperCase = parmsSerial['upperCase']; - +class SerialPortPDP11 extends Component { /** - * consoleOutput becomes a string that records serial port output if the 'binding' property is set to the - * reserved name "console". Nothing is written to the console, however, until a linefeed (0x0A) is output - * or the string length reaches a threshold (currently, 1024 characters). + * SerialPortPDP11(parmsSerial) * - * @type {string|null} + * The SerialPort component has the following component-specific (parmsSerial) properties: + * + * adapter: adapter number; 0 if not defined (the PCx86 SerialPort component uses this + * value to set the device's internal COM number, which in turn determines other properties, + * such as I/O ports and IRQ; for the PDP-11, this currently has no defined use) + * + * baudReceive: the default number of bits/second that the device should receive data at; + * 0 means use the device default (PDP11.DL11.RCSR.BAUD) + * + * baudTransmit: the default number of bits/second that the device should transmit data at; + * 0 means use the device default (PDP11.DL11.XCSR.BAUD) + * + * binding: name of a control (based on its "binding" attribute) to bind to this port's I/O + * + * tabSize: set to a non-zero number to convert tabs to spaces (applies only to output to + * the above binding); default is 0 (no conversion) + * + * upperCase: if true, all received input is upper-cased; it is normally the responsibility + * of the sending device to ensure this, but sometimes it's more convenient to enforce + * on the receiving end. + * + * NOTE: Since the XSL file defines the 'adapter' and 'baud' properties as numbers, not strings, + * there's no need to use parseInt(), and as an added benefit, we don't need to worry about whether + * a hex or decimal format was used. + * + * @param {Object} parmsSerial */ - this.consoleOutput = null; + constructor(parmsSerial) + { + super("SerialPort", parmsSerial, SerialPortPDP11, MessagesPDP11.SERIAL); - /** - * controlIOBuffer is a DOM element bound to the port (currently used for output only; see transmitByte()). - * - * Example: CTTY COM2 - * - * The CTTY DOS command redirects all CON I/O to the specified serial port (eg, COM2), which it assumes is - * connected to a serial terminal, and therefore anything it *transmits* via COM2 will be displayed by the - * terminal. It further assumes that anything typed on such a terminal is NOT displayed, so as DOS *receives* - * serial input, DOS *transmits* the appropriate characters back to the terminal via COM2. - * - * As a result, controlIOBuffer only needs to be updated by the transmitByte() function. - * - * @type {Object} - */ - this.controlIOBuffer = null; + this.iAdapter = parmsSerial['adapter']; + this.nBaudReceive = parmsSerial['baudReceive'] || PDP11.DL11.RCSR.BAUD; + this.nBaudTransmit = parmsSerial['baudTransmit'] || PDP11.DL11.XCSR.BAUD; + this.fUpperCase = parmsSerial['upperCase']; - /* - * If controlIOBuffer is being used AND 'tabSize' is set, then we make an attempt to monitor the characters - * being echoed via transmitByte(), maintain a logical column position, and convert any tabs into the appropriate - * number of spaces. - * - * charBOL, if nonzero, is a character to automatically output at the beginning of every line. This probably - * isn't generally useful; I use it internally to preformat serial output. - */ - this.tabSize = parmsSerial['tabSize']; - this.charBOL = parmsSerial['charBOL']; - this.iLogicalCol = 0; - this.fNullModem = true; - - Component.call(this, "SerialPort", parmsSerial, SerialPortPDP11, MessagesPDP11.SERIAL); - - var sBinding = parmsSerial['binding']; - if (sBinding == "console") { - this.consoleOutput = ""; - } else { - /* - * NOTE: If sBinding is not the name of a valid Control Panel DOM element, this call does nothing. + /** + * consoleOutput becomes a string that records serial port output if the 'binding' property is set to the + * reserved name "console". Nothing is written to the console, however, until a linefeed (0x0A) is output + * or the string length reaches a threshold (currently, 1024 characters). + * + * @type {string|null} */ - Component.bindExternalControl(this, sBinding, SerialPortPDP11.sIOBuffer); + this.consoleOutput = null; + + /** + * controlIOBuffer is a DOM element bound to the port (currently used for output only; see transmitByte()). + * + * Example: CTTY COM2 + * + * The CTTY DOS command redirects all CON I/O to the specified serial port (eg, COM2), which it assumes is + * connected to a serial terminal, and therefore anything it *transmits* via COM2 will be displayed by the + * terminal. It further assumes that anything typed on such a terminal is NOT displayed, so as DOS *receives* + * serial input, DOS *transmits* the appropriate characters back to the terminal via COM2. + * + * As a result, controlIOBuffer only needs to be updated by the transmitByte() function. + * + * @type {Object} + */ + this.controlIOBuffer = null; + + /* + * If controlIOBuffer is being used AND 'tabSize' is set, then we make an attempt to monitor the characters + * being echoed via transmitByte(), maintain a logical column position, and convert any tabs into the appropriate + * number of spaces. + * + * charBOL, if nonzero, is a character to automatically output at the beginning of every line. This probably + * isn't generally useful; I use it internally to preformat serial output. + */ + this.tabSize = parmsSerial['tabSize']; + this.charBOL = parmsSerial['charBOL']; + this.iLogicalCol = 0; + this.fNullModem = true; + + this.irqReceiver = this.irqTransmitter = null; + this.timerReceiveInterrupt = this.timerTransmitInterrupt = -1; + + this.regRBUF = this.regRCSR = this.regXCSR = 0; + this.abReceive = []; + + var sBinding = parmsSerial['binding']; + if (sBinding == "console") { + this.consoleOutput = ""; + } else { + /* + * NOTE: If sBinding is not the name of a valid Control Panel DOM element, this call does nothing. + */ + Component.bindExternalControl(this, sBinding, SerialPortPDP11.sIOBuffer); + } + + /* + * No connection until initConnection() is called. + */ + this.sDataReceived = ""; + this.connection = this.sendData = this.updateStatus = null; + + /* + * Export all functions required by initConnection(). + */ + this['exports'] = { + 'connect': this.initConnection, + 'receiveData': this.receiveData, + 'receiveStatus': this.receiveStatus + }; } - /* - * No connection until initConnection() is called. + /** + * setBinding(sType, sBinding, control, sValue) + * + * @this {SerialPortPDP11} + * @param {string|null} sType is the type of the HTML control (eg, "button", "textarea", "register", "flag", "rled", etc) + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "buffer") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request */ - this.sDataReceived = ""; - this.connection = this.sendData = this.updateStatus = null; + setBinding(sType, sBinding, control, sValue) + { + var serial = this; - /* - * Export all functions required by initConnection(). + switch (sBinding) { + case SerialPortPDP11.sIOBuffer: + this.bindings[sBinding] = this.controlIOBuffer = control; + + /* + * An onkeydown handler is required for certain keys that browsers tend to consume themselves; + * for example, BACKSPACE is often defined as going back to the previous web page, and certain + * CTRL keys are often used for browser shortcuts (usually on Windows-based browsers). + * + * NOTE: We don't bother with a keyUp handler, because for the most part, we're only intercepting + * keys that require special treatment; in general, we're content with keyPress events. + */ + control.onkeydown = function onKeyDown(event) { + event = event || window.event; + var bASCII = 0; + var keyCode = event.keyCode; + /* + * Perform the same remapping of BACKSPACE and DELETE that our VT100 emulation performs, + * for PCjs-wide consistency; see the KEYMAP table in /modules/pc8080/lib/keyboard.js for + * the rationale. Ditto for ALT-DELETE; see onKeyDown() in /modules/pc8080/lib/keyboard.js + * for details. + * + * NOTE: keyDown (and keyUp) events supply us with KEYCODE values, which are NOT the same as + * ASCII values, which is why we are comparing with KEYCODE values but assigning ASCII values, + * because receiveData() requires ASCII values. + */ + if (keyCode == Keys.KEYCODE.BS) { + bASCII = event.altKey? Keys.ASCII.CTRL_H : Keys.ASCII.DEL; + } + else if (keyCode == Keys.KEYCODE.DEL) { + bASCII = Keys.ASCII.CTRL_H; + } + else if (event.ctrlKey && keyCode >= Keys.ASCII.A && keyCode <= Keys.ASCII.Z) { + bASCII = keyCode - (Keys.ASCII.A - Keys.ASCII.CTRL_A); + } + if (bASCII) { + if (event.preventDefault) event.preventDefault(); + serial.receiveData(bASCII); + } + return true; + }; + + control.onkeypress = function onKeyPress(event) { + /* + * NOTE: Unlike keyDown events, keyPress events generally supply us with ASCII values, + * despite the fact that, as above, they come to us via the keyCode property. Yes, it's + * brilliant (or rather, the opposite of brilliant), but that's life. + */ + event = event || window.event; + /* + * Not sure why COMMAND-key combinations are coming through here (on Safari at least), + * but in any case, let's make sure we don't act on them. + */ + if (!event.metaKey) { + var bASCII = event.which || event.keyCode; + /* + * Perform the same remapping of ALT-ENTER (to LINE-FEED) that our VT100 emulation performs, + * for PCjs-wide consistency; see onKeyDown() in /modules/pc8080/lib/keyboard.js for details. + */ + if (event.altKey) { + if (bASCII == Keys.ASCII.CTRL_M) { + bASCII = Keys.ASCII.CTRL_J; + } + } + serial.receiveData(bASCII); + /* + * Since we're going to remove the "readonly" attribute from the - - -
-
- -
-
- - -
-
-
- -
-
- -

-
- -
-
- - - -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - - diff --git a/versions/c1pjs/1.21.0/document.xsl b/versions/c1pjs/1.21.0/document.xsl deleted file mode 100644 index 7d21f8ddd..000000000 --- a/versions/c1pjs/1.21.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

-
- - - - - - - -

-
- -

-
-
-
- - - - - - -
-
- - -
- -   - - -
-
- -
-
- - - - - - - - - - - - - - - - -

-
- - -

-
- - -

-
- - -
-
- - -
-
- - - - - - - - - - - - - - -
-
- - -
-
- - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.0/manifest.xsl b/versions/c1pjs/1.21.0/manifest.xsl deleted file mode 100644 index cf0317f70..000000000 --- a/versions/c1pjs/1.21.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.1/c1p-dbg.js b/versions/c1pjs/1.21.1/c1p-dbg.js deleted file mode 100644 index 0146bcfaa..000000000 --- a/versions/c1pjs/1.21.1/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}}function u(a){window&&window.alert(a)} -function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.21.1/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.21.1/c1p.js b/versions/c1pjs/1.21.1/c1p.js deleted file mode 100644 index d8d921d08..000000000 --- a/versions/c1pjs/1.21.1/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}}function t(a){window&&window.alert(a)} -function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.21.1/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.21.1/common.css b/versions/c1pjs/1.21.1/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.21.1/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.21.1/common.xsl b/versions/c1pjs/1.21.1/common.xsl deleted file mode 100644 index bced5b11c..000000000 --- a/versions/c1pjs/1.21.1/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.1/components.css b/versions/c1pjs/1.21.1/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.21.1/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.21.1/components.xsl b/versions/c1pjs/1.21.1/components.xsl deleted file mode 100644 index 07aa12d48..000000000 --- a/versions/c1pjs/1.21.1/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.21.1 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.21.1/document.xsl b/versions/c1pjs/1.21.1/document.xsl deleted file mode 100644 index 475e7297a..000000000 --- a/versions/c1pjs/1.21.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.1/manifest.xsl b/versions/c1pjs/1.21.1/manifest.xsl deleted file mode 100644 index cee5bb712..000000000 --- a/versions/c1pjs/1.21.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.2/c1p-dbg.js b/versions/c1pjs/1.21.2/c1p-dbg.js deleted file mode 100644 index 74d7cd5b3..000000000 --- a/versions/c1pjs/1.21.2/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}}function u(a){window&&window.alert(a)} -function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.21.2/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.21.2/c1p.js b/versions/c1pjs/1.21.2/c1p.js deleted file mode 100644 index d3b8e8aa3..000000000 --- a/versions/c1pjs/1.21.2/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}}function t(a){window&&window.alert(a)} -function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.21.2/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.21.2/common.css b/versions/c1pjs/1.21.2/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.21.2/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.21.2/common.xsl b/versions/c1pjs/1.21.2/common.xsl deleted file mode 100644 index c86c59722..000000000 --- a/versions/c1pjs/1.21.2/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.2/components.css b/versions/c1pjs/1.21.2/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.21.2/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.21.2/components.xsl b/versions/c1pjs/1.21.2/components.xsl deleted file mode 100644 index 89802d6fc..000000000 --- a/versions/c1pjs/1.21.2/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.21.2 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.21.2/manifest.xsl b/versions/c1pjs/1.21.2/manifest.xsl deleted file mode 100644 index 14e751854..000000000 --- a/versions/c1pjs/1.21.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.3/c1p-dbg.js b/versions/c1pjs/1.21.3/c1p-dbg.js deleted file mode 100644 index f57591386..000000000 --- a/versions/c1pjs/1.21.3/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.21.3/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.21.3/c1p.js b/versions/c1pjs/1.21.3/c1p.js deleted file mode 100644 index e58d91992..000000000 --- a/versions/c1pjs/1.21.3/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.21.3/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.21.3/common.css b/versions/c1pjs/1.21.3/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.21.3/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.21.3/common.xsl b/versions/c1pjs/1.21.3/common.xsl deleted file mode 100644 index 364af3389..000000000 --- a/versions/c1pjs/1.21.3/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.3/components.css b/versions/c1pjs/1.21.3/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.21.3/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.21.3/components.xsl b/versions/c1pjs/1.21.3/components.xsl deleted file mode 100644 index 5b5562634..000000000 --- a/versions/c1pjs/1.21.3/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.21.3 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.21.3/document.xsl b/versions/c1pjs/1.21.3/document.xsl deleted file mode 100644 index 0ca07ff12..000000000 --- a/versions/c1pjs/1.21.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.3/manifest.xsl b/versions/c1pjs/1.21.3/manifest.xsl deleted file mode 100644 index 113a48acf..000000000 --- a/versions/c1pjs/1.21.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.4/c1p-dbg.js b/versions/c1pjs/1.21.4/c1p-dbg.js deleted file mode 100644 index ff1e3024f..000000000 --- a/versions/c1pjs/1.21.4/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.21.4/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.21.4/c1p.js b/versions/c1pjs/1.21.4/c1p.js deleted file mode 100644 index 6768d1dbc..000000000 --- a/versions/c1pjs/1.21.4/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.21.4/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.21.4/common.css b/versions/c1pjs/1.21.4/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.21.4/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.21.4/common.xsl b/versions/c1pjs/1.21.4/common.xsl deleted file mode 100644 index b100d4ab5..000000000 --- a/versions/c1pjs/1.21.4/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.4/components.css b/versions/c1pjs/1.21.4/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.21.4/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.21.4/components.xsl b/versions/c1pjs/1.21.4/components.xsl deleted file mode 100644 index 522661bcf..000000000 --- a/versions/c1pjs/1.21.4/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.21.4 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.21.4/document.css b/versions/c1pjs/1.21.4/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.21.4/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.21.4/document.xsl b/versions/c1pjs/1.21.4/document.xsl deleted file mode 100644 index e77d28fc3..000000000 --- a/versions/c1pjs/1.21.4/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.4/machine.xsl b/versions/c1pjs/1.21.4/machine.xsl deleted file mode 100644 index f139b993e..000000000 --- a/versions/c1pjs/1.21.4/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.21.4/manifest.xsl b/versions/c1pjs/1.21.4/manifest.xsl deleted file mode 100644 index a59206f4f..000000000 --- a/versions/c1pjs/1.21.4/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.4/outline.xsl b/versions/c1pjs/1.21.4/outline.xsl deleted file mode 100644 index c83c64138..000000000 --- a/versions/c1pjs/1.21.4/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.21.5/c1p-dbg.js b/versions/c1pjs/1.21.5/c1p-dbg.js deleted file mode 100644 index 9e0d5d4fa..000000000 --- a/versions/c1pjs/1.21.5/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.21.5/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.21.5/c1p.js b/versions/c1pjs/1.21.5/c1p.js deleted file mode 100644 index a04b51ce0..000000000 --- a/versions/c1pjs/1.21.5/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.21.5/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.21.5/common.css b/versions/c1pjs/1.21.5/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.21.5/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.21.5/common.xsl b/versions/c1pjs/1.21.5/common.xsl deleted file mode 100644 index a9589be73..000000000 --- a/versions/c1pjs/1.21.5/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.5/components.css b/versions/c1pjs/1.21.5/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.21.5/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.21.5/components.xsl b/versions/c1pjs/1.21.5/components.xsl deleted file mode 100644 index e587352ef..000000000 --- a/versions/c1pjs/1.21.5/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.21.5 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.21.5/document.css b/versions/c1pjs/1.21.5/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.21.5/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.21.5/document.xsl b/versions/c1pjs/1.21.5/document.xsl deleted file mode 100644 index c1e55219c..000000000 --- a/versions/c1pjs/1.21.5/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.5/machine.xsl b/versions/c1pjs/1.21.5/machine.xsl deleted file mode 100644 index a10d1b4f1..000000000 --- a/versions/c1pjs/1.21.5/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.21.5/manifest.xsl b/versions/c1pjs/1.21.5/manifest.xsl deleted file mode 100644 index 69e797814..000000000 --- a/versions/c1pjs/1.21.5/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.5/outline.xsl b/versions/c1pjs/1.21.5/outline.xsl deleted file mode 100644 index 18b3fdc09..000000000 --- a/versions/c1pjs/1.21.5/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.21.6/c1p-dbg.js b/versions/c1pjs/1.21.6/c1p-dbg.js deleted file mode 100644 index 97a6d544c..000000000 --- a/versions/c1pjs/1.21.6/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.21.6/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.21.6/c1p.js b/versions/c1pjs/1.21.6/c1p.js deleted file mode 100644 index b1120824d..000000000 --- a/versions/c1pjs/1.21.6/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.21.6/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.21.6/common.css b/versions/c1pjs/1.21.6/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.21.6/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.21.6/common.xsl b/versions/c1pjs/1.21.6/common.xsl deleted file mode 100644 index 6d6dbde82..000000000 --- a/versions/c1pjs/1.21.6/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.6/components.css b/versions/c1pjs/1.21.6/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.21.6/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.21.6/components.xsl b/versions/c1pjs/1.21.6/components.xsl deleted file mode 100644 index 027cc9753..000000000 --- a/versions/c1pjs/1.21.6/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.21.6 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.21.6/document.css b/versions/c1pjs/1.21.6/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.21.6/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.21.6/document.xsl b/versions/c1pjs/1.21.6/document.xsl deleted file mode 100644 index a625c5d40..000000000 --- a/versions/c1pjs/1.21.6/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.6/machine.xsl b/versions/c1pjs/1.21.6/machine.xsl deleted file mode 100644 index 9bdfee686..000000000 --- a/versions/c1pjs/1.21.6/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.21.6/manifest.xsl b/versions/c1pjs/1.21.6/manifest.xsl deleted file mode 100644 index ba351f589..000000000 --- a/versions/c1pjs/1.21.6/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.6/outline.xsl b/versions/c1pjs/1.21.6/outline.xsl deleted file mode 100644 index 205baef77..000000000 --- a/versions/c1pjs/1.21.6/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.21.7/c1p-dbg.js b/versions/c1pjs/1.21.7/c1p-dbg.js deleted file mode 100644 index 3bf6a8ce6..000000000 --- a/versions/c1pjs/1.21.7/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.21.7/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.21.7/c1p.js b/versions/c1pjs/1.21.7/c1p.js deleted file mode 100644 index fee8dc509..000000000 --- a/versions/c1pjs/1.21.7/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.21.7/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.21.7/common.css b/versions/c1pjs/1.21.7/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.21.7/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.21.7/common.xsl b/versions/c1pjs/1.21.7/common.xsl deleted file mode 100644 index d4c4411ea..000000000 --- a/versions/c1pjs/1.21.7/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.7/components.css b/versions/c1pjs/1.21.7/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.21.7/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.21.7/components.xsl b/versions/c1pjs/1.21.7/components.xsl deleted file mode 100644 index cf63c8e70..000000000 --- a/versions/c1pjs/1.21.7/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.21.7 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.21.7/document.css b/versions/c1pjs/1.21.7/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.21.7/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.21.7/document.xsl b/versions/c1pjs/1.21.7/document.xsl deleted file mode 100644 index b8836aef7..000000000 --- a/versions/c1pjs/1.21.7/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.21.7/machine.xsl b/versions/c1pjs/1.21.7/machine.xsl deleted file mode 100644 index 3ba4bba92..000000000 --- a/versions/c1pjs/1.21.7/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.21.7/manifest.xsl b/versions/c1pjs/1.21.7/manifest.xsl deleted file mode 100644 index 9a78e735e..000000000 --- a/versions/c1pjs/1.21.7/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.21.7/outline.xsl b/versions/c1pjs/1.21.7/outline.xsl deleted file mode 100644 index e317eb991..000000000 --- a/versions/c1pjs/1.21.7/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.22.0/c1p-dbg.js b/versions/c1pjs/1.22.0/c1p-dbg.js deleted file mode 100644 index d914f072b..000000000 --- a/versions/c1pjs/1.22.0/c1p-dbg.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0za(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>za(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function za(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Fa(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ca(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Da(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);sa(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Fa(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Aa(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ga(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Ba(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ga(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ja(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ka(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function wa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ea(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ka(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ja(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Qa(a,c)}0=b&&(b+=32),Sa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ra(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.V&&(d-=a.V,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Va(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Ya(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}C(Ya);f=Ya.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){Za(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Za(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function Za(a,b,c,d){c?(a.o=c,a.A=0,a.g=0,a.J&&a.b&&a.s.C.ma?(a.l("auto-loading "+b),a.s.ca(),"."!=a.o.charAt(0)?(a.g=1,U(a.b,"NEW\nLOAD\n")):(a.g=2,a.J.reset(!0),U(a.b,"ML"))):a.l(b+" ready to load")):a.l(b+" load error ("+d+")")}f.S=function(a,b){void 0!==b&&(a&1?$a(this):this.o&&!this.A&&$a(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Qb,!0)}; -function $a(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),db(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){eb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){fb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)ya(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function fb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function gb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=ib(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=ib(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function cb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function db(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())} -function eb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.O&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.O+a]=b&255,Ba(this.s,a),this.s.update())};function rb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function ub(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(tb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":ob(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(sb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):vb(a);break;case "t":vb(a,c[1]);break;case "u":nb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ha(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ra("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ra("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Bb(a,b,c)}})}else c(a,null)} -function Cb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--xb||z(!0));k=!1}var g,h,k=!0;xb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.22.0/components.xsl");l=function(h,k){k?yb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--xb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--xb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?yb(b,a,void 0,!0,d,l):Ab(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Cb(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.22.0/c1p.js b/versions/c1pjs/1.22.0/c1p.js deleted file mode 100644 index 877aa2d44..000000000 --- a/versions/c1pjs/1.22.0/c1p.js +++ /dev/null @@ -1,125 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bua(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kaua(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.R=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function ya(a){1E6<=a.ma&&va(a,!0);a.V=0;a.fb=q()} -function za(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ra(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(ma(a,!0)){a.u.Z||(ra(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());ya(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,wa(a));a.R-=a.fa;if(0>=a.R){a.R+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();ma(a,!1);na(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),za(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function qa(a){a.g=0;a.m=0;a.s=0;a.o=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.B|=16;this.B=xa(this);this.a[this.o--]=this.B;this.o|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=xa(this);this.a[this.o--]=this.B;this.o|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.o--]=this.c>>8;this.o|=256;this.a[this.o--]=this.c&255;this.o|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.o=this.o+1&255|256;this.B=this.a[this.o];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.o=this.o+2&255|256;this.c=this.a[this.o-1|256]|this.a[this.o]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.o--]=this.g;this.o|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.o=this.o+2&255|256;this.c=(this.a[this.o-1|256]|this.a[this.o]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.o=this.o+1&255|256;this.h=this.i=this.g=this.a[this.o]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.s}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.s=this.s-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.s};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.s;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.s};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.s&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.s}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.a[this.j]=this.g};e.Zd=function(){this.o=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.s=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.s=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.s=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.s=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.s=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.s&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.o&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.s=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.s=this.s+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.s-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.s;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ha(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ga(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.R=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.I&&(d-=a.I,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ka(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Na(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.s=a.demo;this.reset()}D(Na);e=Na.prototype;e.reset=function(){if(2!=this.c){this.h=this.j=0;var a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n';this.c=this.i=0}};e.start=function(){this.b&&this.s&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.c=1;V(a.b,"LOAD\n")}}(this),12E3));this.s=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Oa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Oa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.m=b;this.v=c-b+1;this.o=this.m+this.v;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Oa(a,b,c,d){c?(a.g=c,a.i=0,a.c=0,a.I&&a.b&&a.f.u.Z?(a.F("auto-loading "+b),a.f.da(),"."!=a.g.charAt(0)?(a.c=1,V(a.b,"NEW\nLOAD\n")):(a.c=2,a.I.reset(!0),V(a.b,"ML"))):a.F(b+" ready to load")):a.F(b+" load error ("+d+")")}e.W=function(a,b){void 0!==b&&(a&1?Pa(this):this.g&&!this.i&&Pa(this))};e.P=function(){}; -function Pa(a){if(void 0!==a.g){a.j=0;a.h=0;if(a.i=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ta(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.o={D:0,read:function(a){return function(){Ua(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Va(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.s=b;if(this.f=d)ta(d,b,c,this,this.W),O(d,b,c,this,this.P);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Va(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Wa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.o;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Ya(this,a-this.s,!1).read()};e.P=function(a,b){if(void 0!==b){var c=this.f.W(a);Ya(this,a-this.s,!0).update(c)}};function Sa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ta(a){0<=a.b&&(a.c[a.b].ga=-1,a.o.update(255),a.h.update())}function Ua(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);bb(a,b,c)}})}else c(a,null)} -function db(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.22.0/components.xsl"); -l=function(h,k){k?$a(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?$a(b,a,void 0,!0,d,l):ab(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return db(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.22.0/common.css b/versions/c1pjs/1.22.0/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.22.0/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.22.0/common.xsl b/versions/c1pjs/1.22.0/common.xsl deleted file mode 100644 index 0ac8be741..000000000 --- a/versions/c1pjs/1.22.0/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.22.0/components.css b/versions/c1pjs/1.22.0/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.22.0/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.22.0/components.xsl b/versions/c1pjs/1.22.0/components.xsl deleted file mode 100644 index 29ba147f3..000000000 --- a/versions/c1pjs/1.22.0/components.xsl +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.22.0 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - 256 - - - - - - 224 - - - - - - 32 - - - - - - 32 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - black - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.22.0/document.css b/versions/c1pjs/1.22.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.22.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.22.0/document.xsl b/versions/c1pjs/1.22.0/document.xsl deleted file mode 100644 index b42fd995d..000000000 --- a/versions/c1pjs/1.22.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.22.0/machine.xsl b/versions/c1pjs/1.22.0/machine.xsl deleted file mode 100644 index 670801fdb..000000000 --- a/versions/c1pjs/1.22.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.22.0/manifest.xsl b/versions/c1pjs/1.22.0/manifest.xsl deleted file mode 100644 index cdcc06254..000000000 --- a/versions/c1pjs/1.22.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.22.0/outline.xsl b/versions/c1pjs/1.22.0/outline.xsl deleted file mode 100644 index 7175617d3..000000000 --- a/versions/c1pjs/1.22.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.22.1/c1p-dbg.js b/versions/c1pjs/1.22.1/c1p-dbg.js deleted file mode 100644 index 18a1f9bf3..000000000 --- a/versions/c1pjs/1.22.1/c1p-dbg.js +++ /dev/null @@ -1,166 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0Aa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Aa(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Aa(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Ga(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Da(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Ea(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);ta(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ga(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ba(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ha(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Ca(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ha(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ka(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function La(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function xa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){La(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ka(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Ra(a,c)}0=b&&(b+=32),Ta(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Sa(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Wa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Za(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}C(Za);f=Za.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){$a(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){$a(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function $a(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),eb(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){fb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){gb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function gb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function hb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=jb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=jb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function db(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function eb(a){0<=a.b&&(a.g[a.b].Ea=-1,a.N.update(255),a.v.update())} -function fb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Ca(this.s,a),this.s.update())};function sb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function vb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.O);e==a.ob&&27!=k&&(e=a.O)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.ga[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(ub(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":pb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(tb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):wb(a);break;case "t":wb(a,c[1]);break;case "u":ob(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=sa("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=sa("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Cb(a,b,c)}})}else c(a,null)} -function Db(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--yb||z(!0));k=!1}var g,h,k=!0;yb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.22.1/components.xsl");l=function(h,k){k?zb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--yb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--yb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?zb(b,a,void 0,!0,d,l):Bb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Db(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.22.1/c1p.js b/versions/c1pjs/1.22.1/c1p.js deleted file mode 100644 index 8e3f52e07..000000000 --- a/versions/c1pjs/1.22.1/c1p.js +++ /dev/null @@ -1,126 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bva(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kava(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function za(a){1E6<=a.ma&&wa(a,!0);a.V=0;a.fb=q()} -function Aa(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&sa(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(na(a,!0)){a.u.Z||(sa(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());za(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,xa(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();na(a,!1);oa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Aa(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function ra(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=ya(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=ya(this);this.a[this.s--]=this.B;this.s|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.s--]=this.g;this.s|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.o=this.o-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.o}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Zd=function(){this.s=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.o=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.s&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.o=this.o+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ia(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ha(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new La(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Oa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Oa);e=Oa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Pa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Pa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Pa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ua(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Va(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Wa(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Wa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Xa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Za(this,a-this.o,!1).read()};e.R=function(a,b){if(void 0!==b){var c=this.f.W(a);Za(this,a-this.o,!0).update(c)}};function Ta(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ua(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Va(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);cb(a,b,c)}})}else c(a,null)} -function eb(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.22.1/components.xsl"); -l=function(h,k){k?ab(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?ab(b,a,void 0,!0,d,l):bb(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return eb(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.22.1/common.css b/versions/c1pjs/1.22.1/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.22.1/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.22.1/common.xsl b/versions/c1pjs/1.22.1/common.xsl deleted file mode 100644 index 02f7a41c5..000000000 --- a/versions/c1pjs/1.22.1/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.22.1/components.css b/versions/c1pjs/1.22.1/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.22.1/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.22.1/components.xsl b/versions/c1pjs/1.22.1/components.xsl deleted file mode 100644 index 7dcc52399..000000000 --- a/versions/c1pjs/1.22.1/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.22.1 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.22.1/document.css b/versions/c1pjs/1.22.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.22.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.22.1/document.xsl b/versions/c1pjs/1.22.1/document.xsl deleted file mode 100644 index beac46eef..000000000 --- a/versions/c1pjs/1.22.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.22.1/machine.xsl b/versions/c1pjs/1.22.1/machine.xsl deleted file mode 100644 index 7fb43ffbf..000000000 --- a/versions/c1pjs/1.22.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.22.1/manifest.xsl b/versions/c1pjs/1.22.1/manifest.xsl deleted file mode 100644 index d8b677cb3..000000000 --- a/versions/c1pjs/1.22.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.22.1/outline.xsl b/versions/c1pjs/1.22.1/outline.xsl deleted file mode 100644 index 52567fb62..000000000 --- a/versions/c1pjs/1.22.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.23.0/c1p-dbg.js b/versions/c1pjs/1.23.0/c1p-dbg.js deleted file mode 100644 index c92e4d86e..000000000 --- a/versions/c1pjs/1.23.0/c1p-dbg.js +++ /dev/null @@ -1,166 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0Aa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Aa(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Aa(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Ga(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Da(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Ea(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);ta(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ga(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ba(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ha(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Ca(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ha(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ka(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function La(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function xa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){La(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ka(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Ra(a,c)}0=b&&(b+=32),Ta(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Sa(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Wa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Za(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}C(Za);f=Za.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){$a(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){$a(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function $a(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),eb(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){fb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){gb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function gb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function hb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=jb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=jb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function db(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function eb(a){0<=a.b&&(a.g[a.b].Ea=-1,a.N.update(255),a.v.update())} -function fb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Ca(this.s,a),this.s.update())};function sb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function vb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.O);e==a.ob&&27!=k&&(e=a.O)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.ga[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(ub(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":pb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(tb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):wb(a);break;case "t":wb(a,c[1]);break;case "u":ob(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=sa("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=sa("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Cb(a,b,c)}})}else c(a,null)} -function Db(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--yb||z(!0));k=!1}var g,h,k=!0;yb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.23.0/components.xsl");l=function(h,k){k?zb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--yb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--yb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?zb(b,a,void 0,!0,d,l):Bb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Db(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.23.0/c1p.js b/versions/c1pjs/1.23.0/c1p.js deleted file mode 100644 index 74dc46b00..000000000 --- a/versions/c1pjs/1.23.0/c1p.js +++ /dev/null @@ -1,126 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bva(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kava(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function za(a){1E6<=a.ma&&wa(a,!0);a.V=0;a.fb=q()} -function Aa(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&sa(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(na(a,!0)){a.u.Z||(sa(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());za(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,xa(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();na(a,!1);oa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Aa(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function ra(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=ya(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=ya(this);this.a[this.s--]=this.B;this.s|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.s--]=this.g;this.s|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.o=this.o-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.o}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Zd=function(){this.s=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.o=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.s&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.o=this.o+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ia(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ha(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new La(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Oa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Oa);e=Oa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Pa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Pa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Pa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ua(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Va(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Wa(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Wa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Xa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Za(this,a-this.o,!1).read()};e.R=function(a,b){if(void 0!==b){var c=this.f.W(a);Za(this,a-this.o,!0).update(c)}};function Ta(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ua(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Va(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);cb(a,b,c)}})}else c(a,null)} -function eb(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.23.0/components.xsl"); -l=function(h,k){k?ab(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?ab(b,a,void 0,!0,d,l):bb(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return eb(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.23.0/common.css b/versions/c1pjs/1.23.0/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.23.0/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.23.0/common.xsl b/versions/c1pjs/1.23.0/common.xsl deleted file mode 100644 index 39f5b38a0..000000000 --- a/versions/c1pjs/1.23.0/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.23.0/components.css b/versions/c1pjs/1.23.0/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.23.0/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.23.0/components.xsl b/versions/c1pjs/1.23.0/components.xsl deleted file mode 100644 index 4daaded47..000000000 --- a/versions/c1pjs/1.23.0/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.23.0 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.23.0/document.css b/versions/c1pjs/1.23.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.23.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.23.0/document.xsl b/versions/c1pjs/1.23.0/document.xsl deleted file mode 100644 index d0f2c3316..000000000 --- a/versions/c1pjs/1.23.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.23.0/machine.xsl b/versions/c1pjs/1.23.0/machine.xsl deleted file mode 100644 index ff867353b..000000000 --- a/versions/c1pjs/1.23.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.23.0/outline.xsl b/versions/c1pjs/1.23.0/outline.xsl deleted file mode 100644 index 7bf918f75..000000000 --- a/versions/c1pjs/1.23.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.23.2/c1p-dbg.js b/versions/c1pjs/1.23.2/c1p-dbg.js deleted file mode 100644 index 540f73667..000000000 --- a/versions/c1pjs/1.23.2/c1p-dbg.js +++ /dev/null @@ -1,166 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0Aa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Aa(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Aa(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Ga(a){var b=ea(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Da(this,!0);this.$=0;this.lb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Ea(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);ta(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ga(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ba(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ha(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Ca(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ha(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ka(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function La(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function xa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){La(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ka(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Ra(a,c)}0=b&&(b+=32),Ta(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Sa(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Wa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Za(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}C(Za);f=Za.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){$a(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){$a(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function $a(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),eb(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){fb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){gb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function gb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function hb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=jb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=jb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function db(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function eb(a){0<=a.b&&(a.g[a.b].Ea=-1,a.N.update(255),a.v.update())} -function fb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Ca(this.s,a),this.s.update())};function sb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function vb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.O);e==a.ob&&27!=k&&(e=a.O)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.ga[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(ub(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":pb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(tb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):wb(a);break;case "t":wb(a,c[1]);break;case "u":ob(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=sa("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=sa("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Cb(a,b,c)}})}else c(a,null)} -function Db(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--yb||z(!0));k=!1}var g,h,k=!0;yb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.23.2/components.xsl");l=function(h,k){k?zb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--yb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--yb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?zb(b,a,void 0,!0,d,l):Bb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Db(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.23.2/c1p.js b/versions/c1pjs/1.23.2/c1p.js deleted file mode 100644 index ceee46715..000000000 --- a/versions/c1pjs/1.23.2/c1p.js +++ /dev/null @@ -1,126 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bva(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kava(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function za(a){1E6<=a.ma&&wa(a,!0);a.V=0;a.fb=q()} -function Aa(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&sa(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(na(a,!0)){a.u.Z||(sa(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());za(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,xa(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();na(a,!1);oa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Aa(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function ra(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=ya(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=ya(this);this.a[this.s--]=this.B;this.s|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.s--]=this.g;this.s|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.o=this.o-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.o}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Zd=function(){this.s=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.o=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.s&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.o=this.o+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ia(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ba?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ha(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new La(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Oa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Oa);e=Oa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Pa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Pa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Pa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ua(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Va(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Wa(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Wa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Xa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Za(this,a-this.o,!1).read()};e.R=function(a,b){if(void 0!==b){var c=this.f.W(a);Za(this,a-this.o,!0).update(c)}};function Ta(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ua(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Va(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ua[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);cb(a,b,c)}})}else c(a,null)} -function eb(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.23.2/components.xsl"); -l=function(h,k){k?ab(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?ab(b,a,void 0,!0,d,l):bb(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return eb(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.23.2/common.css b/versions/c1pjs/1.23.2/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.23.2/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.23.2/common.xsl b/versions/c1pjs/1.23.2/common.xsl deleted file mode 100644 index 2bae62845..000000000 --- a/versions/c1pjs/1.23.2/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.23.2/components.css b/versions/c1pjs/1.23.2/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.23.2/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.23.2/components.xsl b/versions/c1pjs/1.23.2/components.xsl deleted file mode 100644 index 0793d4023..000000000 --- a/versions/c1pjs/1.23.2/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.23.2 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.23.2/document.css b/versions/c1pjs/1.23.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.23.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.23.2/document.xsl b/versions/c1pjs/1.23.2/document.xsl deleted file mode 100644 index 7b50b1870..000000000 --- a/versions/c1pjs/1.23.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.23.2/machine.xsl b/versions/c1pjs/1.23.2/machine.xsl deleted file mode 100644 index e0a9350ae..000000000 --- a/versions/c1pjs/1.23.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.23.2/outline.xsl b/versions/c1pjs/1.23.2/outline.xsl deleted file mode 100644 index 062a25bd3..000000000 --- a/versions/c1pjs/1.23.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.23.3/c1p-dbg.js b/versions/c1pjs/1.23.3/c1p-dbg.js deleted file mode 100644 index ebc4fa1d2..000000000 --- a/versions/c1pjs/1.23.3/c1p-dbg.js +++ /dev/null @@ -1,166 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0Aa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Aa(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Aa(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.lb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Ga(a){var b=ea(),c=a.lb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.mb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Da(this,!0);this.$=0;this.mb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.ib());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Ea(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);ta(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ga(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ba(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ha(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Ca(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ha(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.gb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function Ka(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function La(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function xa(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Fa(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){La(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){Ka(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Ra(a,c)}0=b&&(b+=32),Ta(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.fb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Sa(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Wa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function Za(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}C(Za);f=Za.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){$a(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){$a(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function $a(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),eb(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){fb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){gb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)za(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function gb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function hb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=jb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=jb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.qb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function db(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function eb(a){0<=a.b&&(a.g[a.b].Ea=-1,a.N.update(255),a.v.update())} -function fb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Ca(this.s,a),this.s.update())};function sb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function vb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.O);e==a.pb&&27!=k&&(e=a.O)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.ga[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.nb=0,a.l(g+" instructions earlier:"));l=a.nb?a.nb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(ub(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.nb=l}10==e&&a.l("no history available");break;case "r":pb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(tb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):wb(a);break;case "t":wb(a,c[1]);break;case "u":ob(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=sa("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=sa("panel",d.id))if(g.panel=[l],l.hb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Cb(a,b,c)}})}else c(a,null)} -function Db(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--yb||z(!0));k=!1}var g,h,k=!0;yb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.23.3/components.xsl");l=function(h,k){k?zb(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--yb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--yb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?zb(b,a,void 0,!0,d,l):Bb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Db(a,b,c)};window.enableEvents=z;window.sendEvent=la;})(); diff --git a/versions/c1pjs/1.23.3/c1p.js b/versions/c1pjs/1.23.3/c1p.js deleted file mode 100644 index ba9effca9..000000000 --- a/versions/c1pjs/1.23.3/c1p.js +++ /dev/null @@ -1,127 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,x=!0;function fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bva(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kava(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function za(a){1E6<=a.ma&&wa(a,!0);a.V=0;a.fb=q()} -function Aa(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&sa(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(na(a,!0)){a.u.Z||(sa(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());za(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.Aa());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,xa(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();na(a,!1);oa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Aa(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function ra(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=ya(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=ya(this);this.a[this.s--]=this.B;this.s|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.s--]=this.g;this.s|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.o=this.o-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.o}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Zd=function(){this.s=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.o=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.s&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.o=this.o+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ia(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ca?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ha(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new La(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Oa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Oa);e=Oa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Pa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Pa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Pa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Ua(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Va(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Wa(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)ua(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Wa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Xa(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&Za(this,a-this.o,!1).read()};e.R=function(a,b){if(void 0!==b){var c=this.f.W(a);Za(this,a-this.o,!0).update(c)}};function Ta(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Ua(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Va(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ta[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.za){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);cb(a,b,c)}})}else c(a,null)} -function eb(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.23.3/components.xsl"); -l=function(h,k){k?ab(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?ab(b,a,void 0,!0,d,l):bb(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return eb(a,b,c)};window.enableEvents=A;window.sendEvent=ga;})(); diff --git a/versions/c1pjs/1.23.3/common.css b/versions/c1pjs/1.23.3/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/c1pjs/1.23.3/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.23.3/common.xsl b/versions/c1pjs/1.23.3/common.xsl deleted file mode 100644 index 8e356d615..000000000 --- a/versions/c1pjs/1.23.3/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.23.3/components.css b/versions/c1pjs/1.23.3/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.23.3/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.23.3/components.xsl b/versions/c1pjs/1.23.3/components.xsl deleted file mode 100644 index c30106172..000000000 --- a/versions/c1pjs/1.23.3/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.23.3 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.23.3/document.css b/versions/c1pjs/1.23.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.23.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.23.3/document.xsl b/versions/c1pjs/1.23.3/document.xsl deleted file mode 100644 index 31c042580..000000000 --- a/versions/c1pjs/1.23.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.23.3/machine.xsl b/versions/c1pjs/1.23.3/machine.xsl deleted file mode 100644 index 75723962e..000000000 --- a/versions/c1pjs/1.23.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.23.3/outline.xsl b/versions/c1pjs/1.23.3/outline.xsl deleted file mode 100644 index 2a83ec696..000000000 --- a/versions/c1pjs/1.23.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.24.0/c1p-dbg.js b/versions/c1pjs/1.24.0/c1p-dbg.js deleted file mode 100644 index bc614ee34..000000000 --- a/versions/c1pjs/1.24.0/c1p-dbg.js +++ /dev/null @@ -1,166 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.eb=this.id:(this.rb=this.id.substr(0,b),this.eb=this.id.substr(b+1));this[a]=c;this.C={Za:!1,Ba:!1,kb:!1,M:!1,Ca:!1};this.cb=null;this.C.Ca=!1;this.H={};this.u=null;this.la=d||0;B.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 C(a){var b;b||(b=A);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),B=window.PCjs.Components||(window.PCjs.Components=[])}else D={},B=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.lb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Ha(a){var b=ea(),c=a.lb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.mb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.mb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.ib());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.gb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ma(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ma(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){La(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.fb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}C($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),fb(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){hb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.qb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ea=-1,a.N.update(255),a.v.update())} -function gb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.O);e==a.pb&&27!=k&&(e=a.O)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.ga[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.nb=0,a.l(g+" instructions earlier:"));l=a.nb?a.nb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(vb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.nb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(ub(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ta("panel",d.id))if(g.panel=[l],l.hb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--zb||z(!0));k=!1}var g,h,k=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.24.0/components.xsl");l=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--zb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--zb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,l):Cb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Eb(a,b,c)};window.enableEvents=z;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.24.0/c1p.js b/versions/c1pjs/1.24.0/c1p.js deleted file mode 100644 index 77bef2f51..000000000 --- a/versions/c1pjs/1.24.0/c1p.js +++ /dev/null @@ -1,127 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,fa=!1,x=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bb?this.ya=this.id:(this.Da=this.id.substr(0,b),this.ya=this.id.substr(b+1));this[a]=c;this.u={va:!1,pa:!1,Ba:!1,H:!1,qa:!1};this.xa=null;this.u.qa=!1;this.A={};C.push(this)}var ia=void 0,ja={};if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))} -function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[]; -function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.fb=q()} -function Ba(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.Aa());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.s--]=this.g;this.s|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.o=this.o-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.o}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Zd=function(){this.s=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.o=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.s&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.o=this.o+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ca?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ma(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Xa(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){if(void 0!==b){var c=this.f.W(a);$a(this,a-this.o,!0).update(c)}};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ta[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.za){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.24.0/components.xsl"); -l=function(h,k){k?bb(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,l):cb(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.24.0/common.css b/versions/c1pjs/1.24.0/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.24.0/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.24.0/common.xsl b/versions/c1pjs/1.24.0/common.xsl deleted file mode 100644 index e53c045ad..000000000 --- a/versions/c1pjs/1.24.0/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.24.0/components.css b/versions/c1pjs/1.24.0/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.24.0/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.24.0/components.xsl b/versions/c1pjs/1.24.0/components.xsl deleted file mode 100644 index a317d05e5..000000000 --- a/versions/c1pjs/1.24.0/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.24.0 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.24.0/document.css b/versions/c1pjs/1.24.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.24.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.24.0/document.xsl b/versions/c1pjs/1.24.0/document.xsl deleted file mode 100644 index a3839145d..000000000 --- a/versions/c1pjs/1.24.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.24.0/machine.xsl b/versions/c1pjs/1.24.0/machine.xsl deleted file mode 100644 index beed0975b..000000000 --- a/versions/c1pjs/1.24.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.24.0/outline.xsl b/versions/c1pjs/1.24.0/outline.xsl deleted file mode 100644 index 22547a96d..000000000 --- a/versions/c1pjs/1.24.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.24.1/c1p-dbg.js b/versions/c1pjs/1.24.1/c1p-dbg.js deleted file mode 100644 index bf7d145ad..000000000 --- a/versions/c1pjs/1.24.1/c1p-dbg.js +++ /dev/null @@ -1,166 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.eb=this.id:(this.rb=this.id.substr(0,b),this.eb=this.id.substr(b+1));this[a]=c;this.C={Za:!1,Ba:!1,kb:!1,M:!1,Ca:!1};this.cb=null;this.C.Ca=!1;this.H={};this.u=null;this.la=d||0;B.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 C(a){var b;b||(b=A);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),B=window.PCjs.Components||(window.PCjs.Components=[])}else D={},B=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.lb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0} -function Ha(a){var b=ea(),c=a.lb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.mb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.mb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.ib());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.gb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Yb;a.o[101]=a.$b;a.o[105]=a.Xb;a.o[109]=a.Ub;a.o[113]=a.Zb;a.o[117]=a.ac;a.o[121]=a.Wb;a.o[125]=a.Vb;a.o[225]=a.ne;a.o[229]=a.pe;a.o[233]=a.me;a.o[237]=a.je;a.o[241]=a.oe;a.o[245]=a.qe;a.o[249]=a.le;a.o[253]=a.ke}function Ma(a){a.B&=-9;a.o[97]=a.xb;a.o[101]=a.zb;a.o[105]=a.wb;a.o[109]=a.tb;a.o[113]=a.yb;a.o[117]=a.Ab;a.o[121]=a.vb;a.o[125]=a.ub;a.o[225]=a.Fb;a.o[229]=a.Hb;a.o[233]=a.Eb;a.o[237]=a.Bb;a.o[241]=a.Gb;a.o[245]=a.Ib;a.o[249]=a.Db;a.o[253]=a.Cb} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.wc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.mc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Pd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.lc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.jc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.vc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.nc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.zc=function(){this.c=0};f.Od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.kc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.nd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.sc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.hc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.ae=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.ec=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.rc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.be=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.c=256};f.dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.he=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.ad=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.cd=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Jd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Ud=function(){this.a[this.G--]=this.h;this.G|=256};f.$c=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Id=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.md=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Xc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.xc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.bd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Kd=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.Bc=function(){this.B&=251};f.Zc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Yc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ie=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.xb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.zb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.$b=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.fe=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Wd=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.wb=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.ld=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.tb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.yc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.yb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.ac=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ge=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.te=function(){this.B|=4}; -f.vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Vb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.xe=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.Fe=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.ze=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ce=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Wc=function(){this.i=this.j=this.F=this.F-1&255};f.Le=function(){this.i=this.j=this.h=this.w};f.Ee=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.ue=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.oc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.ye=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ge=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.Ae=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Ne=function(){this.i=this.j=this.h=this.F}; -f.we=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Me=function(){this.G=this.w|256};f.ve=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Dd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Ed=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.Je=function(){this.i=this.j=this.F=this.h};f.rd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.h};f.Bd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.pc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Fd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.Ad=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Cc=function(){this.A=this.v=0};f.qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ke=function(){this.i=this.j=this.w=this.G&255};f.Cd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Pc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Qc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.kd=function(){this.i=this.j=this.F=this.F+1&255};f.Gc=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Oc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Dc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.uc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Ic=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Kc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Ac=function(){Ma(this)}; -f.Fc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ec=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Mc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Nc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Hb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.jd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Eb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Ld=function(){};f.Lc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Bb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Gb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ib=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.se=function(){La(this)}; -f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Cb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.He=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.fb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}C($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--d.Fa&&(0=d.sb&&(d.na=d.sb),0>d.na&&(d.na=0),d.Fa=20, -a.o.update(a.o.I|128),fb(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){hb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Jb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ha|this.u.qb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Jb),d.Ob))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Jb+"."+d.Ob[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ea=-1,a.N.update(255),a.v.update())} -function gb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ga?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ga)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Pb.indexOf(k)&&(e=a.O);e==a.pb&&27!=k&&(e=a.O)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.ga[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.nb=0,a.l(g+" instructions earlier:"));l=a.nb?a.nb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(vb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Tb=g;a.nb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(ub(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ta("panel",d.id))if(g.panel=[l],l.hb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--zb||z(!0));k=!1}var g,h,k=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.24.1/components.xsl");l=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--zb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--zb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,l):Cb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Eb(a,b,c)};window.enableEvents=z;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.24.1/c1p.js b/versions/c1pjs/1.24.1/c1p.js deleted file mode 100644 index 42e3c1e9b..000000000 --- a/versions/c1pjs/1.24.1/c1p.js +++ /dev/null @@ -1,127 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,fa=!1,x=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bb?this.ya=this.id:(this.Da=this.id.substr(0,b),this.ya=this.id.substr(b+1));this[a]=c;this.u={va:!1,pa:!1,Ba:!1,H:!1,qa:!1};this.xa=null;this.u.qa=!1;this.A={};C.push(this)}var ia=void 0,ja={};if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))} -function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[]; -function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.eb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ga=Math.floor(1E6/a.oa*d);a.Fa=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ga,a.T=a.Fa);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.fb=q()} -function Ba(a){var b=q(),c=a.eb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.fb);if(b=b-a.Ea)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ga,a.Aa());a.T-=a.fa;0>=a.T&&(a.T+=a.Fa,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ea,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.bb[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Jb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.bd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.dd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.zb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.ad=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.yb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.wb=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Ib=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.cd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.ed=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.Ab=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Mb=function(){this.f=0};e.$c=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.xb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.zc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Fb=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ub=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.nd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.jd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.rb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.od=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.f=256};e.qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.ud=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.nc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.pc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Vc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.fd=function(){this.a[this.s--]=this.g;this.s|=256};e.mc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Uc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.yc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.jc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Sc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Kb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.oc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.qc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Wc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ob=function(){this.B&=251};e.lc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.kc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.vd=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.Na=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Pa=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.mb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.sd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.hd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ma=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.xc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ja=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Lb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Oa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.nb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.td=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Gd=function(){this.B|=4}; -e.La=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ka=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.hb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Kd=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Sd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Md=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Pd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.ic=function(){this.h=this.i=this.o=this.o-1&255};e.Yd=function(){this.h=this.i=this.g=this.m};e.Rd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.Bb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Ld=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Td=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Nd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.$d=function(){this.h=this.i=this.g=this.o}; -e.Jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Zd=function(){this.s=this.m|256};e.Id=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Pc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Qc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Lc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Wd=function(){this.h=this.i=this.o=this.g};e.Dc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.g};e.Nc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.Ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Cb=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Fc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Rc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Hc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Mc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Pb=function(){this.C=this.w=0};e.Cc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Xd=function(){this.h=this.i=this.m=this.s&255};e.Oc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.Bc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.bc=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.cc=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Wb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.wc=function(){this.h=this.i=this.o=this.o+1&255};e.Tb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.hc=function(){this.h=this.i=this.m=this.m-1&255}; -e.ac=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Qb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Hb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Vb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Xb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.gc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Nb=function(){this.B&=-9;this.v[97]=this.Na;this.v[101]=this.Pa;this.v[105]=this.Ma;this.v[109]=this.Ja;this.v[113]=this.Oa;this.v[117]=this.Qa;this.v[121]=this.La;this.v[125]=this.Ka;this.v[225]=this.Va;this.v[229]=this.Xa;this.v[233]=this.Ua;this.v[237]=this.Ra;this.v[241]=this.Wa;this.v[245]=this.Ya;this.v[249]=this.Ta;this.v[253]=this.Sa};e.Sb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Rb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Zb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.$b=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Xa=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Cd=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.tc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.vc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Ua=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Xc=function(){};e.Yb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ra=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Db=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Wa=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Ya=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Dd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.uc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Fd=function(){this.B|=8;this.v[97]=this.kb;this.v[101]=this.mb;this.v[105]=this.jb;this.v[109]=this.gb;this.v[113]=this.lb;this.v[117]=this.nb;this.v[121]=this.ib;this.v[125]=this.hb;this.v[225]=this.Ad;this.v[229]=this.Cd;this.v[233]=this.zd;this.v[237]=this.wd;this.v[241]=this.Bd;this.v[245]=this.Dd;this.v[249]=this.yd;this.v[253]=this.xd}; -e.Ta=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Sa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Ud=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Ca?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ma(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Da){var b=this.Da.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--d.ha&&(0=d.Ia&&(d.aa=d.Ia),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Xa(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){if(void 0!==b){var c=this.f.W(a);$a(this,a-this.o,!0).update(c)}};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.ta[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.za){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],k);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.24.1/components.xsl"); -l=function(h,k){k?bb(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,l):cb(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.24.1/common.css b/versions/c1pjs/1.24.1/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.24.1/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.24.1/common.xsl b/versions/c1pjs/1.24.1/common.xsl deleted file mode 100644 index f8b5155d9..000000000 --- a/versions/c1pjs/1.24.1/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.24.1/components.css b/versions/c1pjs/1.24.1/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.24.1/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.24.1/components.xsl b/versions/c1pjs/1.24.1/components.xsl deleted file mode 100644 index d9c591bd0..000000000 --- a/versions/c1pjs/1.24.1/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.24.1 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.24.1/document.css b/versions/c1pjs/1.24.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.24.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.24.1/document.xsl b/versions/c1pjs/1.24.1/document.xsl deleted file mode 100644 index 7c12f0258..000000000 --- a/versions/c1pjs/1.24.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.24.1/machine.xsl b/versions/c1pjs/1.24.1/machine.xsl deleted file mode 100644 index 4f6e7c3d0..000000000 --- a/versions/c1pjs/1.24.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.24.1/manifest.xsl b/versions/c1pjs/1.24.1/manifest.xsl deleted file mode 100644 index 6c049af04..000000000 --- a/versions/c1pjs/1.24.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.24.1/outline.xsl b/versions/c1pjs/1.24.1/outline.xsl deleted file mode 100644 index ca28a5f97..000000000 --- a/versions/c1pjs/1.24.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.24.2/c1p-dbg.js b/versions/c1pjs/1.24.2/c1p-dbg.js deleted file mode 100644 index b6c5e03e9..000000000 --- a/versions/c1pjs/1.24.2/c1p-dbg.js +++ /dev/null @@ -1,167 +0,0 @@ -(function(){var f;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+p(a,2)}function r(a){return"0x"+p(a,4)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ba:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;B.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 C(a){var b;b||(b=A);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),B=window.PCjs.Components||(window.PCjs.Components=[])}else D={},B=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ia*d);a.Va=Math.floor(1E6/a.Ha*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0} -function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.kb);if(b=b-a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.Ka=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Wb;a.o[101]=a.Yb;a.o[105]=a.Vb;a.o[109]=a.Sb;a.o[113]=a.Xb;a.o[117]=a.Zb;a.o[121]=a.Ub;a.o[125]=a.Tb;a.o[225]=a.le;a.o[229]=a.ne;a.o[233]=a.ke;a.o[237]=a.he;a.o[241]=a.me;a.o[245]=a.oe;a.o[249]=a.je;a.o[253]=a.ie}function Ma(a){a.B&=-9;a.o[97]=a.vb;a.o[101]=a.xb;a.o[105]=a.ub;a.o[109]=a.rb;a.o[113]=a.wb;a.o[117]=a.yb;a.o[121]=a.tb;a.o[125]=a.sb;a.o[225]=a.Db;a.o[229]=a.Fb;a.o[233]=a.Cb;a.o[237]=a.zb;a.o[241]=a.Eb;a.o[245]=a.Gb;a.o[249]=a.Bb;a.o[253]=a.Ab} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.uc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Od=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Qd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.kc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Td=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Nd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.jc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Kd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.hc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Pd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Rd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.lc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.xc=function(){this.c=0};f.Md=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Ld=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.ic=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.ld=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.dc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.qc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.fc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.cc=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.pc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.$b=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Wd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.rc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.ec=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.gc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.pe=function(){this.c=256};f.bc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ac=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Xd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.fe=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.Zc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.ad=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Sd=function(){this.a[this.G--]=this.h;this.G|=256};f.Yc=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Gd=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.kd=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Vc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.vc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.$c=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.bd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Id=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.zc=function(){this.B&=251};f.Xc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Wc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ge=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.vb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.xb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Ud=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.ub=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Vb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.jd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.rb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Sb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ae=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.wc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.wb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.yb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.B|=4}; -f.tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.sb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.be=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.ve=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.xe=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ae=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Uc=function(){this.i=this.j=this.F=this.F-1&255};f.Je=function(){this.i=this.j=this.h=this.w};f.Ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.se=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.ze=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.mc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.we=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ee=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.ye=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Le=function(){this.i=this.j=this.h=this.F}; -f.ue=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Ke=function(){this.G=this.w|256};f.te=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Bd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Cd=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.He=function(){this.i=this.j=this.F=this.h};f.pd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ge=function(){this.i=this.j=this.w=this.h};f.zd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.nc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Ac=function(){this.A=this.v=0};f.od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.G&255};f.Ad=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.vd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Nc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Oc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.hd=function(){this.i=this.j=this.F=this.F+1&255};f.Ec=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Mc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Pc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.sc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.yc=function(){Ma(this)}; -f.Dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Qc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Kc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Db=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Lc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.gd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Cb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Jd=function(){};f.Jc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.zb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.he=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.cd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.oc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Eb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Gb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qe=function(){La(this)}; -f.Bb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ie=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.dd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.Fe=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.cb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<d[g][0]&&(h=d[g][0]),k=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){A.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}C($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.pb){var b=this.pb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--d.Ea&&(0=d.qb&&(d.ma=d.qb),0>d.ma&&(d.ma=0),d.Ea=20, -a.o.update(a.o.I|128),fb(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Da&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,e){hb(a,b,c,e)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ga,!1,c.Hb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Ga|this.u.ob)&&(S(this.u,this,a,b,this.u.Ga,!0,d.Hb),d.Mb))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Hb+"."+d.Mb[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Da=-1,a.N.update(255),a.v.update())} -function gb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Ua[b.ma];void 0!==c&&(0<=b.Da&&b.Da>24)} -f.S=function(a){var b;a>=this.N&&a=this.Fa?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eh&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.$a&& -(hl?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Fa)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;da.Nb.indexOf(k)&&(e=a.O);e==a.nb&&27!=k&&(e=a.O)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;hm)m=h;else{a.l("too many instruction matches (both "+q(m)+" and "+q(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.ga[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;ck&&em?String.fromCharCode(m):".",e++;a.l(p(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+ -d.length+" available"),g=d.length);void 0!==l&&(a.lb=0,a.l(g+" instructions earlier:"));l=a.lb?a.lb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){h=d[c];if(0>h)break;a.l(vb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Rb=g;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ca=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(void 0===h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=ta("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dk.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){k=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);k&&(--zb||z(!0));k=!1}var g,h,k=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.24.2/components.xsl");l=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){if(l)if(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--zb||z(!0)):e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--zb||z(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,l):Cb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(y){e(y.message)}return k}window.embedC1P=function(a,b,c){z(!1);return Eb(a,b,c)};window.enableEvents=z;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.24.2/c1p.js b/versions/c1pjs/1.24.2/c1p.js deleted file mode 100644 index c77813559..000000000 --- a/versions/c1pjs/1.24.2/c1p.js +++ /dev/null @@ -1,128 +0,0 @@ -(function(){var e;function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function v(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 w={init:[],show:[],exit:[]},ea=!1,fa=!1,x=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){w.init.push(a)} -function z(a){if(x)try{for(var b=0;bb?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,pa:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={}; -if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()} -function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c=c-(b-a.cb);if(b=b-a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.ub=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.ad=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.cd=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.yb=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Kb=function(){this.f=0};e.Yc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Xc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.vb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.xc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.qb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Db=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.sb=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.pb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Cb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.mb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Eb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.rb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.tb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Cd=function(){this.f=256};e.ob=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.nb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.sd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.lc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.nc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.dd=function(){this.a[this.s--]=this.g;this.s|=256};e.kc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Sc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.wc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.hc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Qc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ib=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.mc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.oc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Uc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Mb=function(){this.B&=251};e.jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.ic=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Rc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.td=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.La=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Na=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.fd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ka=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.hb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.vc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ha=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.nd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Jb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Ma=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Oa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.B|=4}; -e.Ja=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ia=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.fb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.od=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Id=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Kd=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Nd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.gc=function(){this.h=this.i=this.o=this.o-1&255};e.Wd=function(){this.h=this.i=this.g=this.m};e.Pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Fd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Md=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.zb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Jd=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Rd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Ld=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.Yd=function(){this.h=this.i=this.g=this.o}; -e.Hd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Xd=function(){this.s=this.m|256};e.Gd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Nc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Cc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Oc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Ud=function(){this.h=this.i=this.o=this.g};e.Bc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Td=function(){this.h=this.i=this.m=this.g};e.Lc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Ab=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Dc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Pc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Fc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Nb=function(){this.C=this.w=0};e.Ac=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.s&255};e.Mc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Hc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.$b=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.ac=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.uc=function(){this.h=this.i=this.o=this.o+1&255};e.Rb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.h=this.i=this.m=this.m-1&255}; -e.Zb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.bc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Fb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Lb=function(){this.B&=-9;this.v[97]=this.La;this.v[101]=this.Na;this.v[105]=this.Ka;this.v[109]=this.Ha;this.v[113]=this.Ma;this.v[117]=this.Oa;this.v[121]=this.Ja;this.v[125]=this.Ia;this.v[225]=this.Ta;this.v[229]=this.Va;this.v[233]=this.Sa;this.v[237]=this.Pa;this.v[241]=this.Ua;this.v[245]=this.Wa;this.v[249]=this.Ra;this.v[253]=this.Qa};e.Qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.cc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Xb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ta=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.Yb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.tc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Sa=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Vc=function(){};e.Wb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Pa=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.ud=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.pc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Bb=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Ua=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Wa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Dd=function(){this.B|=8;this.v[97]=this.ib;this.v[101]=this.kb;this.v[105]=this.hb;this.v[109]=this.eb;this.v[113]=this.jb;this.v[117]=this.lb;this.v[121]=this.gb;this.v[125]=this.fb;this.v[225]=this.yd;this.v[229]=this.Ad;this.v[233]=this.xd;this.v[237]=this.ud;this.v[241]=this.zd;this.v[245]=this.Bd;this.v[249]=this.wd;this.v[253]=this.vd}; -e.Ra=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.vd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.qc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Sd=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,k=a.b[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.v),k=a.b[b]);void 0!==k&&(b=k>>12,f=k>>8&15,g||(g=k&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<d[g][0]&&(k=d[g][0]),h=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,k=f.getContext("2d"),f=new Ma(d,f,k,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Ba){var b=this.Ba.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--d.ha&&(0=d.Ga&&(d.aa=d.Ga),0>d.aa&&(d.aa=0),d.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=c;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(c){void 0!==c&&(this.D=c&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.h.D=14),this.D=c);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.h.D);c&=-2;0<=a.b&&0<=a.c[a.b].ga&&(c|=1);this.D=c;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.D= -c);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,f){Xa(a,b,c,f)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){if(void 0!==b){var c=this.f.W(a);$a(this,a-this.o,!0).update(c)}};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b=null;if(0<=a.b){var b=a.c[a.b],c=b.sa[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -y(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(void 0===k){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(k,h,l,g.cpu[0]);h=new Y(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));h=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){h=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],k);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===k){var b=g&&I(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=da(a))}function f(a){d("Error: "+a);h&&(--Z||A(!0));h=!1}var g,k,h=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=l:n.appendChild(document.createTextNode(l));m.appendChild(n)}c||(c="/versions/c1pjs/1.24.2/components.xsl"); -l=function(h,k){k?bb(c,null,null,!1,d,function(h,l){if(l)if(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--Z||A(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")): -f("unable to transform XML: unsupported browser");else f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,l):cb(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(u){f(u.message)}return h}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.24.2/common.css b/versions/c1pjs/1.24.2/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.24.2/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.24.2/common.xsl b/versions/c1pjs/1.24.2/common.xsl deleted file mode 100644 index c2a7bd0ff..000000000 --- a/versions/c1pjs/1.24.2/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.24.2/components.css b/versions/c1pjs/1.24.2/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.24.2/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.24.2/components.xsl b/versions/c1pjs/1.24.2/components.xsl deleted file mode 100644 index 34711400c..000000000 --- a/versions/c1pjs/1.24.2/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.24.2 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.24.2/document.css b/versions/c1pjs/1.24.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.24.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.24.2/document.xsl b/versions/c1pjs/1.24.2/document.xsl deleted file mode 100644 index 38d3d64f6..000000000 --- a/versions/c1pjs/1.24.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.24.2/machine.xsl b/versions/c1pjs/1.24.2/machine.xsl deleted file mode 100644 index 90e651791..000000000 --- a/versions/c1pjs/1.24.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.24.2/manifest.xsl b/versions/c1pjs/1.24.2/manifest.xsl deleted file mode 100644 index 2812e6ff2..000000000 --- a/versions/c1pjs/1.24.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.24.2/outline.xsl b/versions/c1pjs/1.24.2/outline.xsl deleted file mode 100644 index e2cc08c7c..000000000 --- a/versions/c1pjs/1.24.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.0/c1p-dbg.js b/versions/c1pjs/1.30.0/c1p-dbg.js deleted file mode 100644 index deacbb9fc..000000000 --- a/versions/c1pjs/1.30.0/c1p-dbg.js +++ /dev/null @@ -1,168 +0,0 @@ -(function(){var f;function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,2,!0)}function r(a){return p(a,4,!0)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ja:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 B(a){var b;b||(b=z);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else D={},A=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ha*d);a.Va=Math.floor(1E6/a.Ga*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0} -function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c-=b-a.kb;if(b-=a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.Ka=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Wb;a.o[101]=a.Yb;a.o[105]=a.Vb;a.o[109]=a.Sb;a.o[113]=a.Xb;a.o[117]=a.Zb;a.o[121]=a.Ub;a.o[125]=a.Tb;a.o[225]=a.le;a.o[229]=a.ne;a.o[233]=a.ke;a.o[237]=a.he;a.o[241]=a.me;a.o[245]=a.oe;a.o[249]=a.je;a.o[253]=a.ie}function Ma(a){a.B&=-9;a.o[97]=a.vb;a.o[101]=a.xb;a.o[105]=a.ub;a.o[109]=a.rb;a.o[113]=a.wb;a.o[117]=a.yb;a.o[121]=a.tb;a.o[125]=a.sb;a.o[225]=a.Db;a.o[229]=a.Fb;a.o[233]=a.Cb;a.o[237]=a.zb;a.o[241]=a.Eb;a.o[245]=a.Gb;a.o[249]=a.Bb;a.o[253]=a.Ab} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.uc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Od=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Qd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.kc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Td=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Nd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.jc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Kd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.hc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Pd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Rd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.lc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.xc=function(){this.c=0};f.Md=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Ld=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.ic=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.ld=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.dc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.qc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.fc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.cc=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.pc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.$b=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Wd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.rc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.ec=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.gc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.pe=function(){this.c=256};f.bc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ac=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Xd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.fe=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.Zc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.ad=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Sd=function(){this.a[this.G--]=this.h;this.G|=256};f.Yc=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Gd=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.kd=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Vc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.vc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.$c=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.bd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Id=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.zc=function(){this.B&=251};f.Xc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Wc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ge=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.vb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.xb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Ud=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.ub=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Vb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.jd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.rb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Sb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ae=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.wc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.wb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.yb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.B|=4}; -f.tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.sb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.be=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.ve=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.xe=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ae=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Uc=function(){this.i=this.j=this.F=this.F-1&255};f.Je=function(){this.i=this.j=this.h=this.w};f.Ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.se=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.ze=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.mc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.we=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ee=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.ye=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Le=function(){this.i=this.j=this.h=this.F}; -f.ue=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Ke=function(){this.G=this.w|256};f.te=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Bd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Cd=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.He=function(){this.i=this.j=this.F=this.h};f.pd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ge=function(){this.i=this.j=this.w=this.h};f.zd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.nc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Ac=function(){this.A=this.v=0};f.od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.G&255};f.Ad=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.vd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Nc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Oc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.hd=function(){this.i=this.j=this.F=this.F+1&255};f.Ec=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Mc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Pc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.sc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.yc=function(){Ma(this)}; -f.Dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Qc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Kc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Db=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Lc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.gd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Cb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Jd=function(){};f.Jc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.zb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.he=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.cd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.oc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Eb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Gb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qe=function(){La(this)}; -f.Bb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ie=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.dd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.Fe=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.cb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<b[d][0]&&(e=b[d][0]),g=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){z.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}B($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.pb){var b=this.pb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--c.Da&&(0=c.qb&&(c.ma=c.qb),0>c.ma&&(c.ma=0),c.Da=20, -a.o.update(a.o.I|128),fb(a))}this.I=b;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.v.I=14),this.I=b);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.v.I);b&=-2;0<=a.b&&0<=a.g[a.b].Ca&&(b|=1);this.I=b;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(b){void 0!==b&&(this.I=b);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,d){hb(a,b,c,d)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Fa,!1,c.Hb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Fa|this.u.ob)&&(S(this.u,this,a,b,this.u.Fa,!0,d.Hb),d.Mb))for(a=128,b=d.I^c;b&&a;)b&a&&this.u.message(" changed "+d.Hb+"."+d.Mb[a]+" to "+(c&a?"1":"0")),a>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ca=-1,a.N.update(255),a.v.update())} -function gb(a){var b;if(0<=a.b){b=a.g[a.b];var c=b.Ua[b.ma];void 0!==c&&(0<=b.Ca&&b.Ca>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ea?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eg&&(m+=" ;'"+String.fromCharCode(g)+"'")}if(e==a.s.$a&& -(gk?m+=String.fromCharCode(g):16==k&&(m+="\u2026"),k++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ea)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0;if(a.B)if("clear"==b){for(b=0;ba.Nb.indexOf(h)&&(e=a.O);e==a.nb&&27!=h&&(e=a.O)}else a.l("unknown operand: "+l),h=-1;if(0<=h){k=-1;for(g=0;gk)k=g;else{a.l("too many instruction matches (both "+q(k)+" and "+q(g)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(b=a.ga[k][1],l=l.match(/[0-9A-F]+/))for(l=parseInt(l[0],16),1==b&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else b&& -a.l("instruction missing "+b+" bytes")}else a.l("unknown instruction: "+b+" "+l+"")}}e=d;if(e.length){for(c=0;ch&&ek?String.fromCharCode(k):".",e++;a.l(p(g,4)+" "+b+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+d.length+" available"),b=d.length); -void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ba=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(!h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,l,k,g.cpu[0]);l=new Z(d,g);if(k=ta("panel",d.id))if(g.panel=[k],k.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){g=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);l&&(--zb||y(!0));l=!1}var g,h,l=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=k:n.appendChild(document.createTextNode(k));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.30.0/components.xsl");k=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){l?(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--zb||y(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zb||y(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,k):Cb(b,null,a,void 0,!1,d,k)}else e("missing machine element: "+a)}catch(C){e(C.message)}return l}window.embedC1P=function(a,b,c){y(!1);return Eb(a,b,c)};window.enableEvents=y;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.30.0/c1p.js b/versions/c1pjs/1.30.0/c1p.js deleted file mode 100644 index b81dfb654..000000000 --- a/versions/c1pjs/1.30.0/c1p.js +++ /dev/null @@ -1,129 +0,0 @@ -(function(){var e;function p(a,b,c){var d="";b?8=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function u(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 v={init:[],show:[],exit:[]},ea=!1,fa=!1,w=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)} -function z(a){if(w)try{for(var b=0;bb?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,ta:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={}; -if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()} -function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c-=b-a.cb;if(b-=a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.ub=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.ad=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.cd=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.yb=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Kb=function(){this.f=0};e.Yc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Xc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.vb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.xc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.qb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Db=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.sb=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.pb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Cb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.mb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Eb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.rb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.tb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Cd=function(){this.f=256};e.ob=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.nb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.sd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.lc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.nc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.dd=function(){this.a[this.s--]=this.g;this.s|=256};e.kc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Sc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.wc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.hc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Qc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ib=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.mc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.oc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Uc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Mb=function(){this.B&=251};e.jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.ic=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Rc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.td=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.La=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Na=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.fd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ka=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.hb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.vc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ha=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.nd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Jb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Ma=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Oa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.B|=4}; -e.Ja=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ia=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.fb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.od=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Id=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Kd=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Nd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.gc=function(){this.h=this.i=this.o=this.o-1&255};e.Wd=function(){this.h=this.i=this.g=this.m};e.Pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Fd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Md=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.zb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Jd=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Rd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Ld=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.Yd=function(){this.h=this.i=this.g=this.o}; -e.Hd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Xd=function(){this.s=this.m|256};e.Gd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Nc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Cc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Oc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Ud=function(){this.h=this.i=this.o=this.g};e.Bc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Td=function(){this.h=this.i=this.m=this.g};e.Lc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Ab=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Dc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Pc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Fc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Nb=function(){this.C=this.w=0};e.Ac=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.s&255};e.Mc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Hc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.$b=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.ac=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.uc=function(){this.h=this.i=this.o=this.o+1&255};e.Rb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.h=this.i=this.m=this.m-1&255}; -e.Zb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.bc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Fb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Lb=function(){this.B&=-9;this.v[97]=this.La;this.v[101]=this.Na;this.v[105]=this.Ka;this.v[109]=this.Ha;this.v[113]=this.Ma;this.v[117]=this.Oa;this.v[121]=this.Ja;this.v[125]=this.Ia;this.v[225]=this.Ta;this.v[229]=this.Va;this.v[233]=this.Sa;this.v[237]=this.Pa;this.v[241]=this.Ua;this.v[245]=this.Wa;this.v[249]=this.Ra;this.v[253]=this.Qa};e.Qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.cc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Xb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ta=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.Yb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.tc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Sa=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Vc=function(){};e.Wb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Pa=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.ud=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.pc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Bb=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Ua=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Wa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Dd=function(){this.B|=8;this.v[97]=this.ib;this.v[101]=this.kb;this.v[105]=this.hb;this.v[109]=this.eb;this.v[113]=this.jb;this.v[117]=this.lb;this.v[121]=this.gb;this.v[125]=this.fb;this.v[225]=this.yd;this.v[229]=this.Ad;this.v[233]=this.xd;this.v[237]=this.ud;this.v[241]=this.zd;this.v[245]=this.Bd;this.v[249]=this.wd;this.v[253]=this.vd}; -e.Ra=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.vd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.qc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Sd=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.v),h=a.b[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<b[d][0]&&(f=b[d][0]),g=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ma(d,f,h,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Ba){var b=this.Ba.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!u("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--c.ha&&(0=c.Ga&&(c.aa=c.Ga),0>c.aa&&(c.aa=0),c.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=b;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(b){void 0!==b&&(this.D=b&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.h.D=14),this.D=b);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.h.D);b&=-2;0<=a.b&&0<=a.c[a.b].ga&&(b|=1);this.D=b;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(b){void 0!==b&&(this.D= -b);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,d){Xa(a,b,c,d)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.ra[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(!h){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(h,l,k,g.cpu[0]);l=new Y(d,g);if(k=F("panel",d.id))if(g.panel=[k],k.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(m){g=null,a=m.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],n,m=/( [a-z]+=)(['"])(.*?)\2/g;n=m.exec(g);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function f(a){d("Error: "+a);l&&(--Z||A(!0));l=!1}var g,h,l=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=k:m.appendChild(document.createTextNode(k));n.appendChild(m)}c||(c="/versions/c1pjs/1.30.0/components.xsl"); -k=function(h,k){k?bb(c,null,null,!1,d,function(h,l){l?(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Z||A(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")): -f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,k):cb(b,null,a,void 0,!1,d,k)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.30.0/common.css b/versions/c1pjs/1.30.0/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.30.0/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.30.0/common.xsl b/versions/c1pjs/1.30.0/common.xsl deleted file mode 100644 index 03d45bfd5..000000000 --- a/versions/c1pjs/1.30.0/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.0/components.css b/versions/c1pjs/1.30.0/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.30.0/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.30.0/components.xsl b/versions/c1pjs/1.30.0/components.xsl deleted file mode 100644 index c081b5986..000000000 --- a/versions/c1pjs/1.30.0/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.30.0 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.30.0/document.css b/versions/c1pjs/1.30.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.30.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.30.0/document.xsl b/versions/c1pjs/1.30.0/document.xsl deleted file mode 100644 index 01fe541ac..000000000 --- a/versions/c1pjs/1.30.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.0/machine.xsl b/versions/c1pjs/1.30.0/machine.xsl deleted file mode 100644 index 7cd266282..000000000 --- a/versions/c1pjs/1.30.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.0/manifest.xsl b/versions/c1pjs/1.30.0/manifest.xsl deleted file mode 100644 index 78c1a3b83..000000000 --- a/versions/c1pjs/1.30.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.30.0/outline.xsl b/versions/c1pjs/1.30.0/outline.xsl deleted file mode 100644 index f46e098c9..000000000 --- a/versions/c1pjs/1.30.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.1/c1p-dbg.js b/versions/c1pjs/1.30.1/c1p-dbg.js deleted file mode 100644 index 0e46a03dd..000000000 --- a/versions/c1pjs/1.30.1/c1p-dbg.js +++ /dev/null @@ -1,189 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var f;function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,2,!0)}function r(a){return p(a,4,!0)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ja:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 B(a){var b;b||(b=z);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else D={},A=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ha*d);a.Va=Math.floor(1E6/a.Ga*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0} -function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c-=b-a.kb;if(b-=a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.Ka=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Wb;a.o[101]=a.Yb;a.o[105]=a.Vb;a.o[109]=a.Sb;a.o[113]=a.Xb;a.o[117]=a.Zb;a.o[121]=a.Ub;a.o[125]=a.Tb;a.o[225]=a.le;a.o[229]=a.ne;a.o[233]=a.ke;a.o[237]=a.he;a.o[241]=a.me;a.o[245]=a.oe;a.o[249]=a.je;a.o[253]=a.ie}function Ma(a){a.B&=-9;a.o[97]=a.vb;a.o[101]=a.xb;a.o[105]=a.ub;a.o[109]=a.rb;a.o[113]=a.wb;a.o[117]=a.yb;a.o[121]=a.tb;a.o[125]=a.sb;a.o[225]=a.Db;a.o[229]=a.Fb;a.o[233]=a.Cb;a.o[237]=a.zb;a.o[241]=a.Eb;a.o[245]=a.Gb;a.o[249]=a.Bb;a.o[253]=a.Ab} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.uc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Od=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Qd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.kc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Td=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Nd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.jc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Kd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.hc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Pd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Rd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.lc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.xc=function(){this.c=0};f.Md=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Ld=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.ic=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.ld=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.dc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.qc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.fc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.cc=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.pc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.$b=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Wd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.rc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.ec=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.gc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.pe=function(){this.c=256};f.bc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ac=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Xd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.fe=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.Zc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.ad=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Sd=function(){this.a[this.G--]=this.h;this.G|=256};f.Yc=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Gd=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.kd=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Vc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.vc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.$c=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.bd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Id=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.zc=function(){this.B&=251};f.Xc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Wc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ge=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.vb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.xb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Ud=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.ub=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Vb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.jd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.rb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Sb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ae=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.wc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.wb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.yb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.B|=4}; -f.tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.sb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.be=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.ve=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.xe=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ae=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Uc=function(){this.i=this.j=this.F=this.F-1&255};f.Je=function(){this.i=this.j=this.h=this.w};f.Ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.se=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.ze=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.mc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.we=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ee=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.ye=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Le=function(){this.i=this.j=this.h=this.F}; -f.ue=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Ke=function(){this.G=this.w|256};f.te=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Bd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Cd=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.He=function(){this.i=this.j=this.F=this.h};f.pd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ge=function(){this.i=this.j=this.w=this.h};f.zd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.nc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Ac=function(){this.A=this.v=0};f.od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.G&255};f.Ad=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.vd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Nc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Oc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.hd=function(){this.i=this.j=this.F=this.F+1&255};f.Ec=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Mc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Pc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.sc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.yc=function(){Ma(this)}; -f.Dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Qc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Kc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Db=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Lc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.gd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Cb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Jd=function(){};f.Jc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.zb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.he=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.cd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.oc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Eb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Gb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qe=function(){La(this)}; -f.Bb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ie=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.dd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.Fe=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.cb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<b[d][0]&&(e=b[d][0]),g=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){z.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}B($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.pb){var b=this.pb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--c.Da&&(0=c.qb&&(c.ma=c.qb),0>c.ma&&(c.ma=0),c.Da=20, -a.o.update(a.o.I|128),fb(a))}this.I=b;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.v.I=14),this.I=b);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.v.I);b&=-2;0<=a.b&&0<=a.g[a.b].Ca&&(b|=1);this.I=b;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(b){void 0!==b&&(this.I=b);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,d){hb(a,b,c,d)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Fa,!1,c.Hb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Fa|this.u.ob)&&(S(this.u,this,a,b,this.u.Fa,!0,d.Hb),d.Mb))for(a=128,b=d.I^c;b&&a;)b&a&&this.u.message(" changed "+d.Hb+"."+d.Mb[a]+" to "+(c&a?"1":"0")),a>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ca=-1,a.N.update(255),a.v.update())} -function gb(a){var b;if(0<=a.b){b=a.g[a.b];var c=b.Ua[b.ma];void 0!==c&&(0<=b.Ca&&b.Ca>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ea?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eg&&(m+=" ;'"+String.fromCharCode(g)+"'")}if(e==a.s.$a&& -(gk?m+=String.fromCharCode(g):16==k&&(m+="\u2026"),k++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ea)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0;if(a.B)if("clear"==b){for(b=0;ba.Nb.indexOf(h)&&(e=a.O);e==a.nb&&27!=h&&(e=a.O)}else a.l("unknown operand: "+l),h=-1;if(0<=h){k=-1;for(g=0;gk)k=g;else{a.l("too many instruction matches (both "+q(k)+" and "+q(g)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(b=a.ga[k][1],l=l.match(/[0-9A-F]+/))for(l=parseInt(l[0],16),1==b&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else b&& -a.l("instruction missing "+b+" bytes")}else a.l("unknown instruction: "+b+" "+l+"")}}e=d;if(e.length){for(c=0;ch&&ek?String.fromCharCode(k):".",e++;a.l(p(g,4)+" "+b+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+d.length+" available"),b=d.length); -void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ba=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(!h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,l,k,g.cpu[0]);l=new Z(d,g);if(k=ta("panel",d.id))if(g.panel=[k],k.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){g=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);l&&(--zb||y(!0));l=!1}var g,h,l=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=k:n.appendChild(document.createTextNode(k));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.30.1/components.xsl");k=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){l?(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--zb||y(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zb||y(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,k):Cb(b,null,a,void 0,!1,d,k)}else e("missing machine element: "+a)}catch(C){e(C.message)}return l}window.embedC1P=function(a,b,c){y(!1);return Eb(a,b,c)};window.enableEvents=y;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.30.1/c1p.js b/versions/c1pjs/1.30.1/c1p.js deleted file mode 100644 index bea695fbd..000000000 --- a/versions/c1pjs/1.30.1/c1p.js +++ /dev/null @@ -1,150 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var e;function p(a,b,c){var d="";b?8=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function u(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 v={init:[],show:[],exit:[]},ea=!1,fa=!1,w=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)} -function z(a){if(w)try{for(var b=0;bb?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,ta:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={}; -if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()} -function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c-=b-a.cb;if(b-=a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.ub=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.ad=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.cd=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.yb=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Kb=function(){this.f=0};e.Yc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Xc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.vb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.xc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.qb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Db=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.sb=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.pb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Cb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.mb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Eb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.rb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.tb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Cd=function(){this.f=256};e.ob=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.nb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.sd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.lc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.nc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.dd=function(){this.a[this.s--]=this.g;this.s|=256};e.kc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Sc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.wc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.hc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Qc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ib=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.mc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.oc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Uc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Mb=function(){this.B&=251};e.jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.ic=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Rc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.td=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.La=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Na=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.fd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ka=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.hb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.vc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ha=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.nd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Jb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Ma=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Oa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.B|=4}; -e.Ja=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ia=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.fb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.od=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Id=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Kd=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Nd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.gc=function(){this.h=this.i=this.o=this.o-1&255};e.Wd=function(){this.h=this.i=this.g=this.m};e.Pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Fd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Md=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.zb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Jd=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Rd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Ld=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.Yd=function(){this.h=this.i=this.g=this.o}; -e.Hd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Xd=function(){this.s=this.m|256};e.Gd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Nc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Cc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Oc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Ud=function(){this.h=this.i=this.o=this.g};e.Bc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Td=function(){this.h=this.i=this.m=this.g};e.Lc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Ab=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Dc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Pc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Fc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Nb=function(){this.C=this.w=0};e.Ac=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.s&255};e.Mc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Hc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.$b=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.ac=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.uc=function(){this.h=this.i=this.o=this.o+1&255};e.Rb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.h=this.i=this.m=this.m-1&255}; -e.Zb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.bc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Fb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Lb=function(){this.B&=-9;this.v[97]=this.La;this.v[101]=this.Na;this.v[105]=this.Ka;this.v[109]=this.Ha;this.v[113]=this.Ma;this.v[117]=this.Oa;this.v[121]=this.Ja;this.v[125]=this.Ia;this.v[225]=this.Ta;this.v[229]=this.Va;this.v[233]=this.Sa;this.v[237]=this.Pa;this.v[241]=this.Ua;this.v[245]=this.Wa;this.v[249]=this.Ra;this.v[253]=this.Qa};e.Qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.cc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Xb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ta=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.Yb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.tc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Sa=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Vc=function(){};e.Wb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Pa=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.ud=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.pc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Bb=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Ua=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Wa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Dd=function(){this.B|=8;this.v[97]=this.ib;this.v[101]=this.kb;this.v[105]=this.hb;this.v[109]=this.eb;this.v[113]=this.jb;this.v[117]=this.lb;this.v[121]=this.gb;this.v[125]=this.fb;this.v[225]=this.yd;this.v[229]=this.Ad;this.v[233]=this.xd;this.v[237]=this.ud;this.v[241]=this.zd;this.v[245]=this.Bd;this.v[249]=this.wd;this.v[253]=this.vd}; -e.Ra=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.vd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.qc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Sd=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.v),h=a.b[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<b[d][0]&&(f=b[d][0]),g=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ma(d,f,h,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Ba){var b=this.Ba.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!u("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--c.ha&&(0=c.Ga&&(c.aa=c.Ga),0>c.aa&&(c.aa=0),c.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=b;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(b){void 0!==b&&(this.D=b&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.h.D=14),this.D=b);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.h.D);b&=-2;0<=a.b&&0<=a.c[a.b].ga&&(b|=1);this.D=b;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(b){void 0!==b&&(this.D= -b);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,d){Xa(a,b,c,d)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.ra[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(!h){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(h,l,k,g.cpu[0]);l=new Y(d,g);if(k=F("panel",d.id))if(g.panel=[k],k.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(m){g=null,a=m.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],n,m=/( [a-z]+=)(['"])(.*?)\2/g;n=m.exec(g);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function f(a){d("Error: "+a);l&&(--Z||A(!0));l=!1}var g,h,l=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=k:m.appendChild(document.createTextNode(k));n.appendChild(m)}c||(c="/versions/c1pjs/1.30.1/components.xsl"); -k=function(h,k){k?bb(c,null,null,!1,d,function(h,l){l?(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Z||A(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")): -f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,k):cb(b,null,a,void 0,!1,d,k)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.30.1/common.css b/versions/c1pjs/1.30.1/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.30.1/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.30.1/common.xsl b/versions/c1pjs/1.30.1/common.xsl deleted file mode 100644 index addc25474..000000000 --- a/versions/c1pjs/1.30.1/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.1/components.css b/versions/c1pjs/1.30.1/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.30.1/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.30.1/document.css b/versions/c1pjs/1.30.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.30.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.30.1/document.xsl b/versions/c1pjs/1.30.1/document.xsl deleted file mode 100644 index 339728837..000000000 --- a/versions/c1pjs/1.30.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.1/machine.xsl b/versions/c1pjs/1.30.1/machine.xsl deleted file mode 100644 index c8a704734..000000000 --- a/versions/c1pjs/1.30.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.1/manifest.xsl b/versions/c1pjs/1.30.1/manifest.xsl deleted file mode 100644 index b19846719..000000000 --- a/versions/c1pjs/1.30.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.30.1/outline.xsl b/versions/c1pjs/1.30.1/outline.xsl deleted file mode 100644 index 0ef6281a4..000000000 --- a/versions/c1pjs/1.30.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.2/c1p-dbg.js b/versions/c1pjs/1.30.2/c1p-dbg.js deleted file mode 100644 index e2a0ccaf7..000000000 --- a/versions/c1pjs/1.30.2/c1p-dbg.js +++ /dev/null @@ -1,190 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var f;function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,2,!0)}function r(a){return p(a,4,!0)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ja:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 B(a){var b;b||(b=z);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else D={},A=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ha*d);a.Va=Math.floor(1E6/a.Ga*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0} -function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c-=b-a.kb;if(b-=a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.Ka=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Wb;a.o[101]=a.Yb;a.o[105]=a.Vb;a.o[109]=a.Sb;a.o[113]=a.Xb;a.o[117]=a.Zb;a.o[121]=a.Ub;a.o[125]=a.Tb;a.o[225]=a.le;a.o[229]=a.ne;a.o[233]=a.ke;a.o[237]=a.he;a.o[241]=a.me;a.o[245]=a.oe;a.o[249]=a.je;a.o[253]=a.ie}function Ma(a){a.B&=-9;a.o[97]=a.vb;a.o[101]=a.xb;a.o[105]=a.ub;a.o[109]=a.rb;a.o[113]=a.wb;a.o[117]=a.yb;a.o[121]=a.tb;a.o[125]=a.sb;a.o[225]=a.Db;a.o[229]=a.Fb;a.o[233]=a.Cb;a.o[237]=a.zb;a.o[241]=a.Eb;a.o[245]=a.Gb;a.o[249]=a.Bb;a.o[253]=a.Ab} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.uc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Od=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Qd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.kc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Td=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Nd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.jc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Kd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.hc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Pd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Rd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.lc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.xc=function(){this.c=0};f.Md=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Ld=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.ic=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.ld=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.dc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.qc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.fc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.cc=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.pc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.$b=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Wd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.rc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.ec=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.gc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.pe=function(){this.c=256};f.bc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ac=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Xd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.fe=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.Zc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.ad=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Sd=function(){this.a[this.G--]=this.h;this.G|=256};f.Yc=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Gd=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.kd=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Vc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.vc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.$c=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.bd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Id=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.zc=function(){this.B&=251};f.Xc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Wc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ge=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.vb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.xb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Ud=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.ub=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Vb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.jd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.rb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Sb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ae=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.wc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.wb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.yb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.B|=4}; -f.tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.sb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.be=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.ve=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.xe=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ae=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Uc=function(){this.i=this.j=this.F=this.F-1&255};f.Je=function(){this.i=this.j=this.h=this.w};f.Ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.se=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.ze=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.mc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.we=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ee=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.ye=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Le=function(){this.i=this.j=this.h=this.F}; -f.ue=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Ke=function(){this.G=this.w|256};f.te=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Bd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Cd=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.He=function(){this.i=this.j=this.F=this.h};f.pd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ge=function(){this.i=this.j=this.w=this.h};f.zd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.nc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Ac=function(){this.A=this.v=0};f.od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.G&255};f.Ad=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.vd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Nc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Oc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.hd=function(){this.i=this.j=this.F=this.F+1&255};f.Ec=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Mc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Pc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.sc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.yc=function(){Ma(this)}; -f.Dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Qc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Kc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Db=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Lc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.gd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Cb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Jd=function(){};f.Jc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.zb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.he=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.cd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.oc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Eb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Gb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qe=function(){La(this)}; -f.Bb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ie=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.dd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.Fe=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.cb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<b[d][0]&&(e=b[d][0]),g=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){z.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}B($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.pb){var b=this.pb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--c.Da&&(0=c.qb&&(c.ma=c.qb),0>c.ma&&(c.ma=0),c.Da=20, -a.o.update(a.o.I|128),fb(a))}this.I=b;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.v.I=14),this.I=b);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.v.I);b&=-2;0<=a.b&&0<=a.g[a.b].Ca&&(b|=1);this.I=b;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(b){void 0!==b&&(this.I=b);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,d){hb(a,b,c,d)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Fa,!1,c.Hb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Fa|this.u.ob)&&(S(this.u,this,a,b,this.u.Fa,!0,d.Hb),d.Mb))for(a=128,b=d.I^c;b&&a;)b&a&&this.u.message(" changed "+d.Hb+"."+d.Mb[a]+" to "+(c&a?"1":"0")),a>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ca=-1,a.N.update(255),a.v.update())} -function gb(a){var b;if(0<=a.b){b=a.g[a.b];var c=b.Ua[b.ma];void 0!==c&&(0<=b.Ca&&b.Ca>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ea?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eg&&(m+=" ;'"+String.fromCharCode(g)+"'")}if(e==a.s.$a&& -(gk?m+=String.fromCharCode(g):16==k&&(m+="\u2026"),k++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ea)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0;if(a.B)if("clear"==b){for(b=0;ba.Nb.indexOf(h)&&(e=a.O);e==a.nb&&27!=h&&(e=a.O)}else a.l("unknown operand: "+l),h=-1;if(0<=h){k=-1;for(g=0;gk)k=g;else{a.l("too many instruction matches (both "+q(k)+" and "+q(g)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(b=a.ga[k][1],l=l.match(/[0-9A-F]+/))for(l=parseInt(l[0],16),1==b&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else b&& -a.l("instruction missing "+b+" bytes")}else a.l("unknown instruction: "+b+" "+l+"")}}e=d;if(e.length){for(c=0;ch&&ek?String.fromCharCode(k):".",e++;a.l(p(g,4)+" "+b+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+d.length+" available"),b=d.length); -void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ba=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(!h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,l,k,g.cpu[0]);l=new Z(d,g);if(k=ta("panel",d.id))if(g.panel=[k],k.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){g=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);l&&(--zb||y(!0));l=!1}var g,h,l=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=k:n.appendChild(document.createTextNode(k));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.30.2/components.xsl");k=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){l?(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--zb||y(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zb||y(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,k):Cb(b,null,a,void 0,!1,d,k)}else e("missing machine element: "+a)}catch(C){e(C.message)}return l}window.embedC1P=function(a,b,c){y(!1);return Eb(a,b,c)};window.enableEvents=y;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.30.2/c1p.js b/versions/c1pjs/1.30.2/c1p.js deleted file mode 100644 index c5ebd1bfc..000000000 --- a/versions/c1pjs/1.30.2/c1p.js +++ /dev/null @@ -1,150 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var e;function p(a,b,c){var d="";b?8=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function u(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 v={init:[],show:[],exit:[]},ea=!1,fa=!1,w=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)} -function z(a){if(w)try{for(var b=0;bb?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,ta:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={}; -if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()} -function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c-=b-a.cb;if(b-=a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.ub=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.ad=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.cd=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.yb=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Kb=function(){this.f=0};e.Yc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Xc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.vb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.xc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.qb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Db=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.sb=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.pb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Cb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.mb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Eb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.rb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.tb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Cd=function(){this.f=256};e.ob=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.nb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.sd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.lc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.nc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.dd=function(){this.a[this.s--]=this.g;this.s|=256};e.kc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Sc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.wc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.hc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Qc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ib=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.mc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.oc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Uc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Mb=function(){this.B&=251};e.jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.ic=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Rc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.td=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.La=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Na=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.fd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ka=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.hb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.vc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ha=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.nd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Jb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Ma=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Oa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.B|=4}; -e.Ja=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ia=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.fb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.od=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Id=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Kd=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Nd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.gc=function(){this.h=this.i=this.o=this.o-1&255};e.Wd=function(){this.h=this.i=this.g=this.m};e.Pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Fd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Md=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.zb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Jd=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Rd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Ld=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.Yd=function(){this.h=this.i=this.g=this.o}; -e.Hd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Xd=function(){this.s=this.m|256};e.Gd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Nc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Cc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Oc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Ud=function(){this.h=this.i=this.o=this.g};e.Bc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Td=function(){this.h=this.i=this.m=this.g};e.Lc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Ab=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Dc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Pc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Fc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Nb=function(){this.C=this.w=0};e.Ac=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.s&255};e.Mc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Hc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.$b=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.ac=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.uc=function(){this.h=this.i=this.o=this.o+1&255};e.Rb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.h=this.i=this.m=this.m-1&255}; -e.Zb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.bc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Fb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Lb=function(){this.B&=-9;this.v[97]=this.La;this.v[101]=this.Na;this.v[105]=this.Ka;this.v[109]=this.Ha;this.v[113]=this.Ma;this.v[117]=this.Oa;this.v[121]=this.Ja;this.v[125]=this.Ia;this.v[225]=this.Ta;this.v[229]=this.Va;this.v[233]=this.Sa;this.v[237]=this.Pa;this.v[241]=this.Ua;this.v[245]=this.Wa;this.v[249]=this.Ra;this.v[253]=this.Qa};e.Qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.cc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Xb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ta=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.Yb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.tc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Sa=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Vc=function(){};e.Wb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Pa=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.ud=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.pc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Bb=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Ua=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Wa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Dd=function(){this.B|=8;this.v[97]=this.ib;this.v[101]=this.kb;this.v[105]=this.hb;this.v[109]=this.eb;this.v[113]=this.jb;this.v[117]=this.lb;this.v[121]=this.gb;this.v[125]=this.fb;this.v[225]=this.yd;this.v[229]=this.Ad;this.v[233]=this.xd;this.v[237]=this.ud;this.v[241]=this.zd;this.v[245]=this.Bd;this.v[249]=this.wd;this.v[253]=this.vd}; -e.Ra=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.vd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.qc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Sd=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.v),h=a.b[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<b[d][0]&&(f=b[d][0]),g=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ma(d,f,h,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Ba){var b=this.Ba.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!u("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--c.ha&&(0=c.Ga&&(c.aa=c.Ga),0>c.aa&&(c.aa=0),c.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=b;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(b){void 0!==b&&(this.D=b&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.h.D=14),this.D=b);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.h.D);b&=-2;0<=a.b&&0<=a.c[a.b].ga&&(b|=1);this.D=b;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(b){void 0!==b&&(this.D= -b);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,d){Xa(a,b,c,d)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.ra[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(!h){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(h,l,k,g.cpu[0]);l=new Y(d,g);if(k=F("panel",d.id))if(g.panel=[k],k.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(m){g=null,a=m.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],n,m=/( [a-z]+=)(['"])(.*?)\2/g;n=m.exec(g);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function f(a){d("Error: "+a);l&&(--Z||A(!0));l=!1}var g,h,l=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=k:m.appendChild(document.createTextNode(k));n.appendChild(m)}c||(c="/versions/c1pjs/1.30.2/components.xsl"); -k=function(h,k){k?bb(c,null,null,!1,d,function(h,l){l?(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Z||A(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")): -f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,k):cb(b,null,a,void 0,!1,d,k)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.30.2/common.css b/versions/c1pjs/1.30.2/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.30.2/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.30.2/common.xsl b/versions/c1pjs/1.30.2/common.xsl deleted file mode 100644 index bb79ab5d4..000000000 --- a/versions/c1pjs/1.30.2/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.2/components.css b/versions/c1pjs/1.30.2/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.30.2/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.30.2/components.xsl b/versions/c1pjs/1.30.2/components.xsl deleted file mode 100644 index 0a3c608ce..000000000 --- a/versions/c1pjs/1.30.2/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.30.2 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.30.2/document.css b/versions/c1pjs/1.30.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.30.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.30.2/document.xsl b/versions/c1pjs/1.30.2/document.xsl deleted file mode 100644 index e07dfc963..000000000 --- a/versions/c1pjs/1.30.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.2/machine.xsl b/versions/c1pjs/1.30.2/machine.xsl deleted file mode 100644 index 90e2f1145..000000000 --- a/versions/c1pjs/1.30.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.2/manifest.xsl b/versions/c1pjs/1.30.2/manifest.xsl deleted file mode 100644 index 3a320538b..000000000 --- a/versions/c1pjs/1.30.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.30.2/outline.xsl b/versions/c1pjs/1.30.2/outline.xsl deleted file mode 100644 index 4e2bcda45..000000000 --- a/versions/c1pjs/1.30.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.3/c1p-dbg.js b/versions/c1pjs/1.30.3/c1p-dbg.js deleted file mode 100644 index 329532c3c..000000000 --- a/versions/c1pjs/1.30.3/c1p-dbg.js +++ /dev/null @@ -1,190 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var f;function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,2,!0)}function r(a){return p(a,4,!0)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ja:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 B(a){var b;b||(b=z);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else D={},A=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ha*d);a.Va=Math.floor(1E6/a.Ga*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0} -function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c-=b-a.kb;if(b-=a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.Ka=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Wb;a.o[101]=a.Yb;a.o[105]=a.Vb;a.o[109]=a.Sb;a.o[113]=a.Xb;a.o[117]=a.Zb;a.o[121]=a.Ub;a.o[125]=a.Tb;a.o[225]=a.le;a.o[229]=a.ne;a.o[233]=a.ke;a.o[237]=a.he;a.o[241]=a.me;a.o[245]=a.oe;a.o[249]=a.je;a.o[253]=a.ie}function Ma(a){a.B&=-9;a.o[97]=a.vb;a.o[101]=a.xb;a.o[105]=a.ub;a.o[109]=a.rb;a.o[113]=a.wb;a.o[117]=a.yb;a.o[121]=a.tb;a.o[125]=a.sb;a.o[225]=a.Db;a.o[229]=a.Fb;a.o[233]=a.Cb;a.o[237]=a.zb;a.o[241]=a.Eb;a.o[245]=a.Gb;a.o[249]=a.Bb;a.o[253]=a.Ab} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.uc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Od=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Qd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.kc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Td=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Nd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.jc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Kd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.hc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Pd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Rd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.lc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.xc=function(){this.c=0};f.Md=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Ld=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.ic=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.ld=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.dc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.qc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.fc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.cc=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.pc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.$b=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Wd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.rc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.ec=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.gc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.pe=function(){this.c=256};f.bc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ac=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Xd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.fe=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.Zc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.ad=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Sd=function(){this.a[this.G--]=this.h;this.G|=256};f.Yc=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Gd=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.kd=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Vc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.vc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.$c=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.bd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Id=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.zc=function(){this.B&=251};f.Xc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Wc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ge=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.vb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.xb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Ud=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.ub=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Vb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.jd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.rb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Sb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ae=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.wc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.wb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.yb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.B|=4}; -f.tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.sb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.be=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.ve=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.xe=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ae=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Uc=function(){this.i=this.j=this.F=this.F-1&255};f.Je=function(){this.i=this.j=this.h=this.w};f.Ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.se=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.ze=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.mc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.we=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ee=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.ye=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Le=function(){this.i=this.j=this.h=this.F}; -f.ue=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Ke=function(){this.G=this.w|256};f.te=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Bd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Cd=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.He=function(){this.i=this.j=this.F=this.h};f.pd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ge=function(){this.i=this.j=this.w=this.h};f.zd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.nc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Ac=function(){this.A=this.v=0};f.od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.G&255};f.Ad=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.vd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Nc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Oc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.hd=function(){this.i=this.j=this.F=this.F+1&255};f.Ec=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Mc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Pc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.sc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.yc=function(){Ma(this)}; -f.Dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Qc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Kc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Db=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Lc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.gd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Cb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Jd=function(){};f.Jc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.zb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.he=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.cd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.oc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Eb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Gb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qe=function(){La(this)}; -f.Bb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ie=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.dd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.Fe=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.cb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<b[d][0]&&(e=b[d][0]),g=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){z.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}B($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.pb){var b=this.pb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--c.Da&&(0=c.qb&&(c.ma=c.qb),0>c.ma&&(c.ma=0),c.Da=20, -a.o.update(a.o.I|128),fb(a))}this.I=b;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.v.I=14),this.I=b);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.v.I);b&=-2;0<=a.b&&0<=a.g[a.b].Ca&&(b|=1);this.I=b;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(b){void 0!==b&&(this.I=b);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,d){hb(a,b,c,d)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Fa,!1,c.Hb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Fa|this.u.ob)&&(S(this.u,this,a,b,this.u.Fa,!0,d.Hb),d.Mb))for(a=128,b=d.I^c;b&&a;)b&a&&this.u.message(" changed "+d.Hb+"."+d.Mb[a]+" to "+(c&a?"1":"0")),a>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ca=-1,a.N.update(255),a.v.update())} -function gb(a){var b;if(0<=a.b){b=a.g[a.b];var c=b.Ua[b.ma];void 0!==c&&(0<=b.Ca&&b.Ca>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ea?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eg&&(m+=" ;'"+String.fromCharCode(g)+"'")}if(e==a.s.$a&& -(gk?m+=String.fromCharCode(g):16==k&&(m+="\u2026"),k++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ea)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0;if(a.B)if("clear"==b){for(b=0;ba.Nb.indexOf(h)&&(e=a.O);e==a.nb&&27!=h&&(e=a.O)}else a.l("unknown operand: "+l),h=-1;if(0<=h){k=-1;for(g=0;gk)k=g;else{a.l("too many instruction matches (both "+q(k)+" and "+q(g)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(b=a.ga[k][1],l=l.match(/[0-9A-F]+/))for(l=parseInt(l[0],16),1==b&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else b&& -a.l("instruction missing "+b+" bytes")}else a.l("unknown instruction: "+b+" "+l+"")}}e=d;if(e.length){for(c=0;ch&&ek?String.fromCharCode(k):".",e++;a.l(p(g,4)+" "+b+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+d.length+" available"),b=d.length); -void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ba=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(!h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,l,k,g.cpu[0]);l=new Z(d,g);if(k=ta("panel",d.id))if(g.panel=[k],k.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){g=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);l&&(--zb||y(!0));l=!1}var g,h,l=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=k:n.appendChild(document.createTextNode(k));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.30.3/components.xsl");k=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){l?(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--zb||y(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zb||y(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,k):Cb(b,null,a,void 0,!1,d,k)}else e("missing machine element: "+a)}catch(C){e(C.message)}return l}window.embedC1P=function(a,b,c){y(!1);return Eb(a,b,c)};window.enableEvents=y;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.30.3/c1p.js b/versions/c1pjs/1.30.3/c1p.js deleted file mode 100644 index ac19ee978..000000000 --- a/versions/c1pjs/1.30.3/c1p.js +++ /dev/null @@ -1,150 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var e;function p(a,b,c){var d="";b?8=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function u(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 v={init:[],show:[],exit:[]},ea=!1,fa=!1,w=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)} -function z(a){if(w)try{for(var b=0;bb?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,ta:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={}; -if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()} -function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c-=b-a.cb;if(b-=a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.ub=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.ad=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.cd=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.yb=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Kb=function(){this.f=0};e.Yc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Xc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.vb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.xc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.qb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Db=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.sb=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.pb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Cb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.mb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Eb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.rb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.tb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Cd=function(){this.f=256};e.ob=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.nb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.sd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.lc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.nc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.dd=function(){this.a[this.s--]=this.g;this.s|=256};e.kc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Sc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.wc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.hc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Qc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ib=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.mc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.oc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Uc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Mb=function(){this.B&=251};e.jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.ic=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Rc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.td=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.La=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Na=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.fd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ka=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.hb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.vc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ha=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.nd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Jb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Ma=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Oa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.B|=4}; -e.Ja=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ia=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.fb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.od=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Id=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Kd=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Nd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.gc=function(){this.h=this.i=this.o=this.o-1&255};e.Wd=function(){this.h=this.i=this.g=this.m};e.Pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Fd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Md=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.zb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Jd=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Rd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Ld=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.Yd=function(){this.h=this.i=this.g=this.o}; -e.Hd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Xd=function(){this.s=this.m|256};e.Gd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Nc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Cc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Oc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Ud=function(){this.h=this.i=this.o=this.g};e.Bc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Td=function(){this.h=this.i=this.m=this.g};e.Lc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Ab=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Dc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Pc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Fc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Nb=function(){this.C=this.w=0};e.Ac=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.s&255};e.Mc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Hc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.$b=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.ac=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.uc=function(){this.h=this.i=this.o=this.o+1&255};e.Rb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.h=this.i=this.m=this.m-1&255}; -e.Zb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.bc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Fb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Lb=function(){this.B&=-9;this.v[97]=this.La;this.v[101]=this.Na;this.v[105]=this.Ka;this.v[109]=this.Ha;this.v[113]=this.Ma;this.v[117]=this.Oa;this.v[121]=this.Ja;this.v[125]=this.Ia;this.v[225]=this.Ta;this.v[229]=this.Va;this.v[233]=this.Sa;this.v[237]=this.Pa;this.v[241]=this.Ua;this.v[245]=this.Wa;this.v[249]=this.Ra;this.v[253]=this.Qa};e.Qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.cc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Xb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ta=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.Yb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.tc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Sa=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Vc=function(){};e.Wb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Pa=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.ud=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.pc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Bb=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Ua=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Wa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Dd=function(){this.B|=8;this.v[97]=this.ib;this.v[101]=this.kb;this.v[105]=this.hb;this.v[109]=this.eb;this.v[113]=this.jb;this.v[117]=this.lb;this.v[121]=this.gb;this.v[125]=this.fb;this.v[225]=this.yd;this.v[229]=this.Ad;this.v[233]=this.xd;this.v[237]=this.ud;this.v[241]=this.zd;this.v[245]=this.Bd;this.v[249]=this.wd;this.v[253]=this.vd}; -e.Ra=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.vd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.qc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Sd=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.v),h=a.b[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<b[d][0]&&(f=b[d][0]),g=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ma(d,f,h,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Ba){var b=this.Ba.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!u("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--c.ha&&(0=c.Ga&&(c.aa=c.Ga),0>c.aa&&(c.aa=0),c.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=b;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(b){void 0!==b&&(this.D=b&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.h.D=14),this.D=b);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.h.D);b&=-2;0<=a.b&&0<=a.c[a.b].ga&&(b|=1);this.D=b;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(b){void 0!==b&&(this.D= -b);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,d){Xa(a,b,c,d)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.ra[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(!h){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(h,l,k,g.cpu[0]);l=new Y(d,g);if(k=F("panel",d.id))if(g.panel=[k],k.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(m){g=null,a=m.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],n,m=/( [a-z]+=)(['"])(.*?)\2/g;n=m.exec(g);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function f(a){d("Error: "+a);l&&(--Z||A(!0));l=!1}var g,h,l=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=k:m.appendChild(document.createTextNode(k));n.appendChild(m)}c||(c="/versions/c1pjs/1.30.3/components.xsl"); -k=function(h,k){k?bb(c,null,null,!1,d,function(h,l){l?(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Z||A(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")): -f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,k):cb(b,null,a,void 0,!1,d,k)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.30.3/common.css b/versions/c1pjs/1.30.3/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.30.3/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.30.3/common.xsl b/versions/c1pjs/1.30.3/common.xsl deleted file mode 100644 index d96da912c..000000000 --- a/versions/c1pjs/1.30.3/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.3/components.css b/versions/c1pjs/1.30.3/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.30.3/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.30.3/components.xsl b/versions/c1pjs/1.30.3/components.xsl deleted file mode 100644 index 2b5014e70..000000000 --- a/versions/c1pjs/1.30.3/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.30.3 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.30.3/document.css b/versions/c1pjs/1.30.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.30.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.30.3/document.xsl b/versions/c1pjs/1.30.3/document.xsl deleted file mode 100644 index bd8720c9d..000000000 --- a/versions/c1pjs/1.30.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.3/machine.xsl b/versions/c1pjs/1.30.3/machine.xsl deleted file mode 100644 index 93c7bd5a3..000000000 --- a/versions/c1pjs/1.30.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.3/manifest.xsl b/versions/c1pjs/1.30.3/manifest.xsl deleted file mode 100644 index 55c3519f8..000000000 --- a/versions/c1pjs/1.30.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.30.3/outline.xsl b/versions/c1pjs/1.30.3/outline.xsl deleted file mode 100644 index 4354999ea..000000000 --- a/versions/c1pjs/1.30.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.4/c1p-dbg.js b/versions/c1pjs/1.30.4/c1p-dbg.js deleted file mode 100644 index 9583838a2..000000000 --- a/versions/c1pjs/1.30.4/c1p-dbg.js +++ /dev/null @@ -1,190 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var f;function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,2,!0)}function r(a){return p(a,4,!0)}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var ea=Date.now||function(){return+new Date}; -function t(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var e=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");e.onreadystatechange=function(){4===e.readyState&&(d=e.responseText,200==e.status||!e.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=e.status||-1),b&&b(a,d,c))};e.open("GET",a,!0);e.send()}} -function u(a){window&&window.alert(a)}function v(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 fa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.bb=this.id:(this.pb=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,Ja:!1,eb:!1,M:!1,error:!1};this.ab=null;this.C.error=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var na=void 0,oa={}; -if(window){na||(na=window.location.search.substr(1));for(var pa,qa=/\+/g,ra=/([^&=]+)=?([^&]*)/g;pa=ra.exec(na);)oa[decodeURIComponent(pa[1].replace(qa," "))]=decodeURIComponent(pa[2].replace(qa," "))}function sa(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 B(a){var b;b||(b=z);a.prototype=sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var D=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else D={},A=[];function ta(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cBa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>Ba(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ea=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function Ba(a,b,c,d,e){for(var g=0;ga.Qa&&a.ta&&(d=a.ta);d>a.La&&2>a.speed&&(d=a.La);a.jb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Wa=Math.floor(1E6/a.Ha*d);a.Va=Math.floor(1E6/a.Ga*d);b||(a.R=a.ra,a.Z=a.Wa,a.V=a.Va);a.Aa=0} -function Ha(a){var b=ea(),c=a.jb;a.$&&(c=Math.round(c*a.$/a.ra));c-=b-a.kb;if(b-=a.Na)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.La&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c} -f.va=function(){if(I(this,!0)){this.C.na||(M(this),this.J&&this.J.start(),this.C.na=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ea(this,!0);this.$=0;this.kb=ea();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Wa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Va,Fa(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.na)}catch(b){this.aa();this.update();I(this,!1);ua(this, -b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ha(this))}else this.update(),this.J&&this.J.stop(this.Na,this.U)}; -f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0=d.xa.length&&(d.Ka=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&Ca(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ia(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa(); -break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ea&&Da(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+r(e)+": "+g),h=!0);Ia(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b} -function La(a){a.B|=8;a.o[97]=a.Wb;a.o[101]=a.Yb;a.o[105]=a.Vb;a.o[109]=a.Sb;a.o[113]=a.Xb;a.o[117]=a.Zb;a.o[121]=a.Ub;a.o[125]=a.Tb;a.o[225]=a.le;a.o[229]=a.ne;a.o[233]=a.ke;a.o[237]=a.he;a.o[241]=a.me;a.o[245]=a.oe;a.o[249]=a.je;a.o[253]=a.ie}function Ma(a){a.B&=-9;a.o[97]=a.vb;a.o[101]=a.xb;a.o[105]=a.ub;a.o[109]=a.rb;a.o[113]=a.wb;a.o[117]=a.yb;a.o[121]=a.tb;a.o[125]=a.sb;a.o[225]=a.Db;a.o[229]=a.Fb;a.o[233]=a.Cb;a.o[237]=a.zb;a.o[241]=a.Eb;a.o[245]=a.Gb;a.o[249]=a.Bb;a.o[253]=a.Ab} -function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ya(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0} -f.uc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Od=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Qd=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]}; -f.kc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Td=function(){this.B=Ga(this);this.a[this.G--]=this.B;this.G|=256};f.Nd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.jc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Kd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]}; -f.hc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.tc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Pd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Rd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]}; -f.lc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.xc=function(){this.c=0};f.Md=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Ld=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.ic=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255}; -f.ld=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.dc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.qc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.fc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]}; -f.Zd=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.Vd=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0};f.cc=function(){this.b=this.f++;this.i=this.j=this.h&=this.a[this.b]}; -f.Yd=function(){this.c=this.c&65280|this.h;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.h=this.c&255};f.pc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.$b=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h&=this.a[this.b]}; -f.Wd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.rc=function(){this.f+=(this.i&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.ec=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.gc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h&=this.a[this.b]}; -f.$d=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.pe=function(){this.c=256};f.bc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h&=this.a[this.b]};f.ac=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h&=this.a[this.b]}; -f.Xd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.i=this.j=this.a[this.g]=this.c&255};f.fe=function(){this.G=this.G+1&255|256;this.B=this.a[this.G];this.c=this.B&1?256:0;this.j=this.B&2?0:1;this.i=this.B&128;this.v=0;this.A=this.B&64?128:0;this.G=this.G+2&255|256;this.f=this.a[this.G-1|256]|this.a[this.G]<<8}; -f.Zc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h^=this.a[this.b]};f.ad=function(){this.b=this.a[this.f++];this.i=this.j=this.h^=this.a[this.b]};f.Hd=function(){this.g=this.a[this.f++];this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255};f.Sd=function(){this.a[this.G--]=this.h;this.G|=256};f.Yc=function(){this.b=this.f++;this.i=this.j=this.h^=this.a[this.b]}; -f.Gd=function(){this.c=this.c&65279|(this.h&1?256:0);this.h=(this.c=this.c&65280|this.h>>1)&255;this.i=this.j=this.c&255};f.kd=function(){this.b=this.f;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Vc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h^=this.a[this.b]};f.Ed=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.vc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.$c=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.bd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h^=this.a[this.b]};f.Id=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.zc=function(){this.B&=251};f.Xc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h^=this.a[this.b]};f.Wc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h^=this.a[this.b]};f.Fd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65279|(this.a[this.g]&1?256:0);this.a[this.g]=(this.c=this.c&65280|this.a[this.g]>>1)&255;this.i=this.j=this.c&255}; -f.ge=function(){this.G=this.G+2&255|256;this.f=(this.a[this.G-1|256]|this.a[this.G]<<8)+1};f.vb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Wb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=P(this,this.h,this.a[this.b])}; -f.xb=function(){this.b=this.a[this.f++];this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Yb=function(){this.b=this.a[this.f++];this.h=P(this,this.h,this.a[this.b])};f.de=function(){this.g=this.a[this.f++];this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.Ud=function(){this.G=this.G+1&255|256;this.i=this.j=this.h=this.a[this.G]}; -f.ub=function(){this.b=this.f++;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Vb=function(){this.b=this.f++;this.h=P(this,this.h,this.a[this.b])};f.ce=function(){this.c=this.c&65280|this.h;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.h=this.c&255};f.jd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.f=this.a[this.b]|this.a[this.b+1]<<8}; -f.rb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Sb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=P(this,this.h,this.a[this.b])};f.ae=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255}; -f.wc=function(){this.f+=((this.v&255^this.A^this.v>>1)&128?(this.D--,this.a[this.f]<<24>>24):0)+1};f.wb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Xb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])}; -f.yb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Zb=function(){this.b=this.a[this.f++]+this.w&255;this.h=P(this,this.h,this.a[this.b])};f.ee=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.re=function(){this.B|=4}; -f.tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255};f.Ub=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=P(this,this.h,this.a[this.b])};f.sb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h+this.a[this.b]+(this.c&256?1:0);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255}; -f.Tb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=P(this,this.h,this.a[this.b])};f.be=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.c&65280|this.a[this.g];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.i=this.j=this.a[this.g]=this.c&255};f.ve=function(){this.g=this.a[this.f++]+this.w&255;this.g=this.a[this.g]|this.a[this.g+1]<<8;this.a[this.g]=this.h};f.De=function(){this.g=this.a[this.f++];this.a[this.g]=this.F}; -f.xe=function(){this.g=this.a[this.f++];this.a[this.g]=this.h};f.Ae=function(){this.g=this.a[this.f++];this.a[this.g]=this.w};f.Uc=function(){this.i=this.j=this.F=this.F-1&255};f.Je=function(){this.i=this.j=this.h=this.w};f.Ce=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.F};f.se=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.h};f.ze=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.a[this.g]=this.w}; -f.mc=function(){this.f+=(this.c&256?0:(this.D--,this.a[this.f]<<24>>24))+1};f.we=function(){this.g=this.a[this.f++];this.g=(this.a[this.g]|this.a[this.g+1]<<8)+this.F;this.a[this.g]=this.h};f.Ee=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.F};f.ye=function(){this.g=this.a[this.f++]+this.w&255;this.a[this.g]=this.h};f.Be=function(){this.g=this.a[this.f++]+this.F&255;this.a[this.g]=this.w};f.Le=function(){this.i=this.j=this.h=this.F}; -f.ue=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.a[this.g]=this.h};f.Ke=function(){this.G=this.w|256};f.te=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.a[this.g]=this.h};f.Bd=function(){this.b=this.f++;this.i=this.j=this.F=this.a[this.b]};f.qd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h=this.a[this.b]};f.wd=function(){this.b=this.f++;this.i=this.j=this.w=this.a[this.b]}; -f.Cd=function(){this.b=this.a[this.f++];this.i=this.j=this.F=this.a[this.b]};f.sd=function(){this.b=this.a[this.f++];this.i=this.j=this.h=this.a[this.b]};f.xd=function(){this.b=this.a[this.f++];this.i=this.j=this.w=this.a[this.b]};f.He=function(){this.i=this.j=this.F=this.h};f.pd=function(){this.b=this.f++;this.i=this.j=this.h=this.a[this.b]};f.Ge=function(){this.i=this.j=this.w=this.h};f.zd=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.F=this.a[this.b]}; -f.md=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h=this.a[this.b]};f.ud=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.w=this.a[this.b]};f.nc=function(){this.f+=(this.c&256?(this.D--,this.a[this.f]<<24>>24):0)+1};f.rd=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Dd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.F=this.a[this.b]}; -f.td=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[this.b]};f.yd=function(){this.b=this.a[this.f++]+this.F&255;this.i=this.j=this.w=this.a[this.b]};f.Ac=function(){this.A=this.v=0};f.od=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h=this.a[this.b]};f.Ie=function(){this.i=this.j=this.w=this.G&255};f.Ad=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.F=this.a[this.b]}; -f.nd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.vd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Nc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Fc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256}; -f.Oc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Hc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Rc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.hd=function(){this.i=this.j=this.F=this.F+1&255};f.Ec=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.i=this.j=this.w=this.w-1&255}; -f.Mc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Bc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Pc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.sc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1}; -f.Gc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Ic=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Sc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.yc=function(){Ma(this)}; -f.Dc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Cc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Qc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Kc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Db=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Lc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.Fb=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.ed=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.gd=function(){this.i=this.j=this.w=this.w+1&255}; -f.Cb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ke=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Jd=function(){};f.Jc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256}; -f.zb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.he=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.cd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.oc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1}; -f.Eb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Gb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.fd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.qe=function(){La(this)}; -f.Bb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.je=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])}; -f.Ab=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ie=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.dd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255}; -f.Fe=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a=c&&(c+=32);a.B=a.B.substr(1);Sa(a,c)}0=b&&(b+=32),Ua(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.cb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Ta(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): setTimeout()")),c=!0));a.u&&H(a.u,a.u.za)&&a.u.message("keyPressSimulate("+q(b)+"): "+(c?"true":"false"));return c} -function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<b[d][0]&&(e=b[d][0]),g=a.Z&&(d-=a.Z,dMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor; -e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Xa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;F(e,c)}}); -function $a(a){z.call(this,"C1PSerialPort",a);this.C.M=!1;this.D=a.demo;this.reset(!0)}B($a);f=$a.prototype;f.reset=function(a){if(a||2!=this.o){this.v=-1;this.A=0;this.g="";if(this.D){a=1;if(this.pb){var b=this.pb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.g='10 PRINT "HELLO OSI #'+a+'"\n'}this.B=!0;this.o=0}};f.start=function(){this.b&&this.D&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.o=1;U(a.b,"LOAD\n")}}(this),12E3));this.D=!1}; -f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,function(a,b,c){ab(d,a,b,c)})},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){ab(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.N=b;this.L=c-b+1;this.K=this.N+this.L;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))}; -function ab(a,b,c,d){if(c){a.A=0;a.g=c;a.B=!0;a.o=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var e=eval("("+c+")").bytes;for(c=0;c=--c.Da&&(0=c.qb&&(c.ma=c.qb),0>c.ma&&(c.ma=0),c.Da=20, -a.o.update(a.o.I|128),fb(a))}this.I=b;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(this.I=b&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.v.I=14),this.I=b);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.v.I);b&=-2;0<=a.b&&0<=a.g[a.b].Ca&&(b|=1);this.I=b;V(a,16,this)}}(a)};a.N={I:0,read:function(a){return function(){gb(a)}}(a), -update:function(a){return function(b){void 0!==b&&(this.I=b);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.l("loading "+aa(b)+"...");t(c,function(b,c,d){hb(a,b,c,d)})}}}(this),!0}return!1}; -f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)Aa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ia=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))}; -function hb(a,b,c,d){if(d)a.l("disk load error ("+d+")");else{d=[];a.l("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var e=d[0];if(void 0===e[0].trackNum)a.l("data error: "+e[0]);else if(a.g[0]){for(c=0;c>8&255);a.push(b&255)}function ib(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.N;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=kb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Fa,!1,c.Hb);c.read()}}; -f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=kb(this,a-this.J,!0);if(this.u&&H(this.u,this.u.Fa|this.u.ob)&&(S(this.u,this,a,b,this.u.Fa,!0,d.Hb),d.Mb))for(a=128,b=d.I^c;b&&a;)b&a&&this.u.message(" changed "+d.Hb+"."+d.Mb[a]+" to "+(c&a?"1":"0")),a>>=1;d.update(c)}};function eb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function fb(a){0<=a.b&&(a.g[a.b].Ca=-1,a.N.update(255),a.v.update())} -function gb(a){var b;if(0<=a.b){b=a.g[a.b];var c=b.Ua[b.ma];void 0!==c&&(0<=b.Ca&&b.Ca>24)} -f.S=function(a){var b;a>=this.N&&a=this.Ea?this.l("invalid address: "+r(a)):(this.a[this.N+a]=b&255,Da(this.s,a),this.s.update())};function tb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;eg&&(m+=" ;'"+String.fromCharCode(g)+"'")}if(e==a.s.$a&& -(gk?m+=String.fromCharCode(g):16==k&&(m+="\u2026"),k++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d} -function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c=a.Ea)&&(a.l("address out of range: "+p(c)),c=void 0);return c} -function wb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0;if(a.B)if("clear"==b){for(b=0;ba.Nb.indexOf(h)&&(e=a.O);e==a.nb&&27!=h&&(e=a.O)}else a.l("unknown operand: "+l),h=-1;if(0<=h){k=-1;for(g=0;gk)k=g;else{a.l("too many instruction matches (both "+q(k)+" and "+q(g)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(b=a.ga[k][1],l=l.match(/[0-9A-F]+/))for(l=parseInt(l[0],16),1==b&&e==a.fa&&(l-=c+2,-128>l||127>>=8;else b&& -a.l("instruction missing "+b+" bytes")}else a.l("unknown instruction: "+b+" "+l+"")}}e=d;if(e.length){for(c=0;ch&&ek?String.fromCharCode(k):".",e++;a.l(p(g,4)+" "+b+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;dd.length&&(a.l("note: only "+d.length+" available"),b=d.length); -void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ba=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); -a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} -x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(!h){u(' definition must appear first in the specification'); -break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,l,k,g.cpu[0]);l=new Z(d,g);if(k=ta("panel",d.id))if(g.panel=[k],k.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){g=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} -function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);l&&(--zb||y(!0));l=!1}var g,h,l=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=k:n.appendChild(document.createTextNode(k));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.30.4/components.xsl");k=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){l?(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--zb||y(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zb||y(!0)):e("invalid machine element: "+ -a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,k):Cb(b,null,a,void 0,!1,d,k)}else e("missing machine element: "+a)}catch(C){e(C.message)}return l}window.embedC1P=function(a,b,c){y(!1);return Eb(a,b,c)};window.enableEvents=y;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.30.4/c1p.js b/versions/c1pjs/1.30.4/c1p.js deleted file mode 100644 index ab8e421a1..000000000 --- a/versions/c1pjs/1.30.4/c1p.js +++ /dev/null @@ -1,150 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/serial.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/c1pjs/lib/computer.js (C) Jeff Parsons 2012-2016 -*/ -var e;function p(a,b,c){var d="";b?8=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"}; -function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}var q=Date.now||function(){return+new Date}; -function r(a,b){var c=0,d=null;if("object"==typeof resources&&(d=resources[a]))b&&b(a,d,c);else if("function"==typeof resources)resources(a,function(c,d){b&&b(a,c,d)});else{var f=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");f.onreadystatechange=function(){4===f.readyState&&(d=f.responseText,200==f.status||!f.status&&d.length&&"file:"==(window?window.location.protocol:"file:")||(c=f.status||-1),b&&b(a,d,c))};f.open("GET",a,!0);f.send()}} -function t(a){window&&window.alert(a)}function u(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 v={init:[],show:[],exit:[]},ea=!1,fa=!1,w=!0;function ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)} -function z(a){if(w)try{for(var b=0;bb?this.wa=this.id:(this.Ba=this.id.substr(0,b),this.wa=this.id.substr(b+1));this[a]=c;this.u={ready:!1,ta:!1,xa:!1,H:!1,error:!1};this.va=null;this.u.error=!1;this.A={};C.push(this)}var ia=void 0,ja={}; -if(window){ia||(ia=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ia);)ja[decodeURIComponent(ka[1].replace(la," "))]=decodeURIComponent(ka[2].replace(la," "))}function na(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 D(a){var b;b||(b=B);a.prototype=na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var E=window.PCjs.Machines||(window.PCjs.Machines={}),C=window.PCjs.Components||(window.PCjs.Components=[])}else E={},C=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;cwa(a.O,b,c,d,f)&&(a.ja>b&&(a.ja=b),a.kawa(a.K,b,c,d,f)&&(a.Y>b&&(a.Y=b),a.caa.ia&&a.ba&&(d=a.ba);d>a.ea&&2>a.speed&&(d=a.ea);a.bb=Math.round(1E3/30);a.fa=Math.floor(1E6/c*d);a.la=Math.floor(1E6/30*d);a.Ea=Math.floor(1E6/a.oa*d);a.Da=Math.floor(1E6/a.na*d);b||(a.P=a.la,a.U=a.Ea,a.T=a.Da);a.ma=0}function Aa(a){1E6<=a.ma&&xa(a,!0);a.V=0;a.cb=q()} -function Ba(a){var b=q(),c=a.bb;a.V&&(c=Math.round(c*a.V/a.la));c-=b-a.cb;if(b-=a.Ca)a.ba=Math.round(a.S/(100*b))/10,864E5<=b&&ta(a);0>c?c=0:1==a.speed?a.ba<=a.ea&&(c=0):2==a.speed&&(c=0);a.ma+=a.V;return c} -function N(a){if(oa(a,!0)){a.u.Z||(ta(a),a.I&&a.I.start(),a.u.Z=!0,a.A.run&&(a.A.run.innerHTML="Halt"),a.da());Aa(a);try{do{a.step(a.fa);var b=a.L-a.G;a.S+=b;a.V+=b;a.L=a.G=0;a.U-=a.fa;0>=a.U&&(a.U+=a.Ea,a.za());a.T-=a.fa;0>=a.T&&(a.T+=a.Da,ya(a));a.P-=a.fa;if(0>=a.P){a.P+=a.la;break}}while(a.u.Z)}catch(c){M(a);a.update();oa(a,!1);pa(a,c.stack||c.message);return}setTimeout(function(a){return function(){N(a)}}(a),Ba(a))}else a.update(),a.I&&a.I.stop(a.Ca,a.S)} -e.step=function(a){this.b=this.j=-1;this.L=this.G=a;do{a=this.a[this.c];this.c++;this.v[a].call(this);if(0<=this.b){if(this.b>=this.ja&&this.b<=this.ka)for(var b=this.b,c=this.c,d=0;d=this.O[d][0]&&b<=this.O[d][1]&&this.O[d][3].call(this.O[d][2],b,c);this.b=-1}else if(0<=this.j){if(this.j>=this.Y&&this.j<=this.ca)for(b=this.j,c=this.c,d=0;d=this.K[d][0]&&b<=this.K[d][1]&&this.K[d][3].call(this.K[d][2],b,c);this.j=-1}this.G-=this.$a[a]}while(0>1)&128?64:0),b=b|(a.h&128?128:0);return a.B&60|b} -function Q(a,b,c){var d=a.f&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.C=b^c;a.w=f;a.h=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.f=f;a.i=b+c+d&255;a.G--;return f&255}function R(a,b,c){var d=a.f&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.h=a.i=(a.f=b-c-d)&255;a.C=b^c;a.w=a.f;a.f^=256;a.G--;return f&255}function sa(a){a.g=0;a.m=0;a.o=0;a.s=256;a.B=0;a.h=0;a.i=0;a.C=0;a.w=0;a.f=0;a.c=0;a.b=-1;a.j=-1;a.ba=0;a.S=a.L=a.G=0} -e.Hb=function(){this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.B|=16;this.B=za(this);this.a[this.s--]=this.B;this.s|=256;this.B&=239;this.b=65534;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.$c=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g|=this.a[this.b]};e.bd=function(){this.b=this.a[this.c++];this.h=this.i=this.g|=this.a[this.b]}; -e.xb=function(){this.j=this.a[this.c++];this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.ed=function(){this.B=za(this);this.a[this.s--]=this.B;this.s|=256};e.Zc=function(){this.b=this.c++;this.h=this.i=this.g|=this.a[this.b]};e.wb=function(){this.f=this.g<<1;this.h=this.i=this.g=this.f&255};e.Wc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g|=this.a[this.b]}; -e.ub=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Gb=function(){this.c+=(this.h&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.ad=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.cd=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g|=this.a[this.b]}; -e.yb=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255};e.Kb=function(){this.f=0};e.Yc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g|=this.a[this.b]};e.Xc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g|=this.a[this.b]};e.vb=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.a[this.j]<<1;this.h=this.i=this.a[this.j]=this.f&255}; -e.xc=function(){this.b=this.c++;this.a[this.s--]=this.c>>8;this.s|=256;this.a[this.s--]=this.c&255;this.s|=256;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.qb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g&=this.a[this.b]};e.Db=function(){this.b=this.a[this.c++];this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.sb=function(){this.b=this.a[this.c++];this.h=this.i=this.g&=this.a[this.b]}; -e.ld=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.gd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0};e.pb=function(){this.b=this.c++;this.h=this.i=this.g&=this.a[this.b]}; -e.kd=function(){this.f=this.f&65280|this.g;this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.g=this.f&255};e.Cb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.i=this.g&this.a[this.b];this.h=this.h&127|this.a[this.b]&128;this.w=0;this.C=this.a[this.b]&64?128:0};e.mb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g&=this.a[this.b]}; -e.hd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Eb=function(){this.c+=(this.h&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.rb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.tb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g&=this.a[this.b]}; -e.md=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.Cd=function(){this.f=256};e.ob=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g&=this.a[this.b]};e.nb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g&=this.a[this.b]}; -e.jd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f<<=1;this.f=this.f&65534|(this.f&512?1:0);this.h=this.i=this.a[this.j]=this.f&255};e.sd=function(){this.s=this.s+1&255|256;this.B=this.a[this.s];this.f=this.B&1?256:0;this.i=this.B&2?0:1;this.h=this.B&128;this.w=0;this.C=this.B&64?128:0;this.s=this.s+2&255|256;this.c=this.a[this.s-1|256]|this.a[this.s]<<8}; -e.lc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g^=this.a[this.b]};e.nc=function(){this.b=this.a[this.c++];this.h=this.i=this.g^=this.a[this.b]};e.Tc=function(){this.j=this.a[this.c++];this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255};e.dd=function(){this.a[this.s--]=this.g;this.s|=256};e.kc=function(){this.b=this.c++;this.h=this.i=this.g^=this.a[this.b]}; -e.Sc=function(){this.f=this.f&65279|(this.g&1?256:0);this.g=(this.f=this.f&65280|this.g>>1)&255;this.h=this.i=this.f&255};e.wc=function(){this.b=this.c;this.c=this.a[this.b]|this.a[this.b+1]<<8};e.hc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g^=this.a[this.b]};e.Qc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Ib=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?0:(this.G--,this.a[this.c]<<24>>24))+1};e.mc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.oc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g^=this.a[this.b]};e.Uc=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.Mb=function(){this.B&=251};e.jc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g^=this.a[this.b]};e.ic=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g^=this.a[this.b]};e.Rc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65279|(this.a[this.j]&1?256:0);this.a[this.j]=(this.f=this.f&65280|this.a[this.j]>>1)&255;this.h=this.i=this.f&255}; -e.td=function(){this.s=this.s+2&255|256;this.c=(this.a[this.s-1|256]|this.a[this.s]<<8)+1};e.La=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.ib=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=Q(this,this.g,this.a[this.b])}; -e.Na=function(){this.b=this.a[this.c++];this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.kb=function(){this.b=this.a[this.c++];this.g=Q(this,this.g,this.a[this.b])};e.qd=function(){this.j=this.a[this.c++];this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.fd=function(){this.s=this.s+1&255|256;this.h=this.i=this.g=this.a[this.s]}; -e.Ka=function(){this.b=this.c++;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.hb=function(){this.b=this.c++;this.g=Q(this,this.g,this.a[this.b])};e.pd=function(){this.f=this.f&65280|this.g;this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.g=this.f&255};e.vc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.c=this.a[this.b]|this.a[this.b+1]<<8}; -e.Ha=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.eb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=Q(this,this.g,this.a[this.b])};e.nd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255}; -e.Jb=function(){this.c+=((this.w&255^this.C^this.w>>1)&128?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Ma=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.jb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])}; -e.Oa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.lb=function(){this.b=this.a[this.c++]+this.m&255;this.g=Q(this,this.g,this.a[this.b])};e.rd=function(){this.j=this.a[this.c++]+this.m&255;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Ed=function(){this.B|=4}; -e.Ja=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255};e.gb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=Q(this,this.g,this.a[this.b])};e.Ia=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g+this.a[this.b]+(this.f&256?1:0);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255}; -e.fb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=Q(this,this.g,this.a[this.b])};e.od=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.f&65280|this.a[this.j];this.f=this.f&65023|(this.f&1?512:0);this.f>>=1;this.h=this.i=this.a[this.j]=this.f&255};e.Id=function(){this.j=this.a[this.c++]+this.m&255;this.j=this.a[this.j]|this.a[this.j+1]<<8;this.a[this.j]=this.g};e.Qd=function(){this.j=this.a[this.c++];this.a[this.j]=this.o}; -e.Kd=function(){this.j=this.a[this.c++];this.a[this.j]=this.g};e.Nd=function(){this.j=this.a[this.c++];this.a[this.j]=this.m};e.gc=function(){this.h=this.i=this.o=this.o-1&255};e.Wd=function(){this.h=this.i=this.g=this.m};e.Pd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.o};e.Fd=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.g};e.Md=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.a[this.j]=this.m}; -e.zb=function(){this.c+=(this.f&256?0:(this.G--,this.a[this.c]<<24>>24))+1};e.Jd=function(){this.j=this.a[this.c++];this.j=(this.a[this.j]|this.a[this.j+1]<<8)+this.o;this.a[this.j]=this.g};e.Rd=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.o};e.Ld=function(){this.j=this.a[this.c++]+this.m&255;this.a[this.j]=this.g};e.Od=function(){this.j=this.a[this.c++]+this.o&255;this.a[this.j]=this.m};e.Yd=function(){this.h=this.i=this.g=this.o}; -e.Hd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.a[this.j]=this.g};e.Xd=function(){this.s=this.m|256};e.Gd=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.a[this.j]=this.g};e.Nc=function(){this.b=this.c++;this.h=this.i=this.o=this.a[this.b]};e.Cc=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.g=this.a[this.b]};e.Ic=function(){this.b=this.c++;this.h=this.i=this.m=this.a[this.b]}; -e.Oc=function(){this.b=this.a[this.c++];this.h=this.i=this.o=this.a[this.b]};e.Ec=function(){this.b=this.a[this.c++];this.h=this.i=this.g=this.a[this.b]};e.Jc=function(){this.b=this.a[this.c++];this.h=this.i=this.m=this.a[this.b]};e.Ud=function(){this.h=this.i=this.o=this.g};e.Bc=function(){this.b=this.c++;this.h=this.i=this.g=this.a[this.b]};e.Td=function(){this.h=this.i=this.m=this.g};e.Lc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.o=this.a[this.b]}; -e.yc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.g=this.a[this.b]};e.Gc=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.m=this.a[this.b]};e.Ab=function(){this.c+=(this.f&256?(this.G--,this.a[this.c]<<24>>24):0)+1};e.Dc=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Pc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.o=this.a[this.b]}; -e.Fc=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.g=this.a[this.b]};e.Kc=function(){this.b=this.a[this.c++]+this.o&255;this.h=this.i=this.m=this.a[this.b]};e.Nb=function(){this.C=this.w=0};e.Ac=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.g=this.a[this.b]};e.Vd=function(){this.h=this.i=this.m=this.s&255};e.Mc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.o=this.a[this.b]}; -e.zc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.g=this.a[this.b]};e.Hc=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.m=this.a[this.b]};e.$b=function(){this.b=this.c++;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Sb=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.ac=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ub=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.dc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.uc=function(){this.h=this.i=this.o=this.o+1&255};e.Rb=function(){this.b=this.c++;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.fc=function(){this.h=this.i=this.m=this.m-1&255}; -e.Zb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.o-this.a[this.b];this.f^=256};e.Ob=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.bc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Fb=function(){this.c+=(this.i&255?(this.G--,this.a[this.c]<<24>>24):0)+1}; -e.Tb=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.Vb=function(){this.b=this.a[this.c++]+this.m&255;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.ec=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255}; -e.Lb=function(){this.B&=-9;this.v[97]=this.La;this.v[101]=this.Na;this.v[105]=this.Ka;this.v[109]=this.Ha;this.v[113]=this.Ma;this.v[117]=this.Oa;this.v[121]=this.Ja;this.v[125]=this.Ia;this.v[225]=this.Ta;this.v[229]=this.Va;this.v[233]=this.Sa;this.v[237]=this.Pa;this.v[241]=this.Ua;this.v[245]=this.Wa;this.v[249]=this.Ra;this.v[253]=this.Qa};e.Qb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256}; -e.Pb=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.f=this.g-this.a[this.b];this.f^=256};e.cc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]-1&255};e.Xb=function(){this.b=this.c++;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Ta=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.yd=function(){this.b=this.a[this.c++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.g=R(this,this.g,this.a[this.b])};e.Yb=function(){this.b=this.a[this.c++];this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Va=function(){this.b=this.a[this.c++];this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Ad=function(){this.b=this.a[this.c++];this.g=R(this,this.g,this.a[this.b])};e.rc=function(){this.j=this.a[this.c++];this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.tc=function(){this.h=this.i=this.m=this.m+1&255}; -e.Sa=function(){this.b=this.c++;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.xd=function(){this.b=this.c++;this.g=R(this,this.g,this.a[this.b])};e.Vc=function(){};e.Wb=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.f=this.m-this.a[this.b];this.f^=256}; -e.Pa=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.ud=function(){this.b=this.a[this.c++]|this.a[this.c++]<<8;this.g=R(this,this.g,this.a[this.b])};e.pc=function(){this.j=this.a[this.c++]|this.a[this.c++]<<8;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};e.Bb=function(){this.c+=(this.i&255?0:(this.G--,this.a[this.c]<<24>>24))+1}; -e.Ua=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.zd=function(){this.b=this.a[this.c++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Wa=function(){this.b=this.a[this.c++]+this.m&255;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.Bd=function(){this.b=this.a[this.c++]+this.m&255;this.g=R(this,this.g,this.a[this.b])};e.sc=function(){this.j=this.a[this.c++]+this.m&255;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Dd=function(){this.B|=8;this.v[97]=this.ib;this.v[101]=this.kb;this.v[105]=this.hb;this.v[109]=this.eb;this.v[113]=this.jb;this.v[117]=this.lb;this.v[121]=this.gb;this.v[125]=this.fb;this.v[225]=this.yd;this.v[229]=this.Ad;this.v[233]=this.xd;this.v[237]=this.ud;this.v[241]=this.zd;this.v[245]=this.Bd;this.v[249]=this.wd;this.v[253]=this.vd}; -e.Ra=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.wd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.o;this.g=R(this,this.g,this.a[this.b])}; -e.Qa=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.f=this.g-this.a[this.b]-(this.f&256?0:1);this.C=this.g^this.a[this.b];this.w=this.f;this.h=this.i=this.g=this.f&255;this.f^=256};e.vd=function(){this.b=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.g=R(this,this.g,this.a[this.b])};e.qc=function(){this.j=(this.a[this.c++]|this.a[this.c++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255}; -e.Sd=function(){var a;a=this.a[this.c++];switch(a){case 0:this.F("HALT");M(this);break;case 1:a=this.c;for(var b="";a=c&&(c+=32);a.j=a.j.substr(1);T(a,c)}0=b&&(b+=32),Ja(a,b),U(a,b,!0,0)&&(a.f.speed==a.f.Aa?U(a,b,!1,1):(c=!1,a.h[b]&&(clearTimeout(a.h[b]),c=!0),c=Ia(a,c),a.h[a.i=b]=setTimeout(function(a){return function(){U(a,b,!1,3)}}(a),c)),c=!0));return c} -function U(a,b,c,d){var f=!1;c||(a.h[b]=null,a.i==b&&(a.i=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.v),h=a.b[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.g[b]|=1<b||8192<=b));b&&(b=a.w.shift(),void 0!==b&&(a.P=b),a.C=0,a.V=d);for(b=d=0;8>b;b++)a.S&1<b[d][0]&&(f=b[d][0]),g=a.K&&(d-=a.K,dMissing <canvas> support. Please try a newer web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor; -f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ma(d,f,h,g);g.onload=function(a){return function(){a.N()}}(f,d.charSet);g.src=d.charSet;H(f,c)}}); -function Pa(a){B.call(this,"C1PSerialPort",a);this.u.H=!1;this.m=a.demo;this.reset(!0)}D(Pa);e=Pa.prototype;e.reset=function(a){if(a||2!=this.g){this.h=-1;this.i=0;this.c="";if(this.m){a=1;if(this.Ba){var b=this.Ba.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.c='10 PRINT "HELLO OSI #'+a+'"\n'}this.j=!0;this.g=0}};e.start=function(){this.b&&this.m&&(V(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;V(a.b,"LOAD\n")}}(this),12E3));this.m=!1}; -e.J=function(a,b,c){var d=this;switch(b){case "listSerial":return this.A[b]=c,!0;case "loadSerial":return this.A[b]=c,c.onclick=function(){d.A.listSerial&&r(d.A.listSerial.value,function(a,b,c){Qa(d,a,b,c)})},!0;case "mountSerial":return!u("Mobi")&&window&&"FileReader"in window?(this.A[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){Qa(d, -b.name,c.result.toString(),0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};e.X=function(a,b,c,d){this.a=a;this.o=b;this.v=c-b+1;this.s=this.o+this.v;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a,b){a&&!this.u.H&&(this.u.H=!0,this.I=b,this.b=L(b,"keyboard"))}; -function Qa(a,b,c,d){if(c){a.i=0;a.c=c;a.j=!0;a.g=0;if(-1!==b.indexOf(".json",b.length-5))try{d="";var f=eval("("+c+")").bytes;for(c=0;c=--c.ha&&(0=c.Ga&&(c.aa=c.Ga),0>c.aa&&(c.aa=0),c.ha=20,a.g.update(a.g.D|128),Va(a))}this.D=b;a.m.D&4&&W(a,2,this)}}(a)};a.m={D:0,read:function(){}, -update:function(a){return function(b){void 0!==b&&(this.D=b&-193);W(a,3,this);a.i.update();a.w.update()}}(a)};a.B={D:0,read:function(){},update:function(a){return function(b){void 0!==b&&(3==(b&3)&&(a.h.D=14),this.D=b);a.h.update()}}(a)};a.h={D:14,read:function(){},update:function(a){return function(b){void 0===b&&(b=a.h.D);b&=-2;0<=a.b&&0<=a.c[a.b].ga&&(b|=1);this.D=b;W(a,16,this)}}(a)};a.s={D:0,read:function(a){return function(){Wa(a)}}(a),update:function(a){return function(b){void 0!==b&&(this.D= -b);W(a,17,this)}}(a)};a.C={D:0,read:function(){},update:function(){return function(){}}(a)}}e.J=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+aa(b)+"...");r(c,function(b,c,d){Xa(a,b,c,d)})}}}(this),!0}return!1}; -e.X=function(a,b,c,d){this.a=a;this.o=b;if(this.f=d)va(d,b,c,this,this.W),O(d,b,c,this,this.R);this.N()};e.$=function(a){a&&!this.u.H&&(this.u.H=!0)}; -function Xa(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c>8&255);a.push(b&255)}function Ya(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;cb?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} -function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.ra[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} -x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(!h){t(' definition must appear first in the specification'); -break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(h,l,k,g.cpu[0]);l=new Y(d,g);if(k=F("panel",d.id))if(g.panel=[k],k.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/, -"$1C1Pjs$2"),a=a.replace(/().*?(<\/xsl:variable>)/,"$1c1pjs$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(m){g=null,a=m.message}else a="unrecognized XML: "+(255/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],n,m=/( [a-z]+=)(['"])(.*?)\2/g;n=m.exec(g);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function f(a){d("Error: "+a);l&&(--Z||A(!0));l=!1}var g,h,l=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=k:m.appendChild(document.createTextNode(k));n.appendChild(m)}c||(c="/versions/c1pjs/1.30.4/components.xsl"); -k=function(h,k){k?bb(c,null,null,!1,d,function(h,l){l?(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Z||A(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")): -f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,k):cb(b,null,a,void 0,!1,d,k)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.30.4/common.css b/versions/c1pjs/1.30.4/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/c1pjs/1.30.4/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/c1pjs/1.30.4/common.xsl b/versions/c1pjs/1.30.4/common.xsl deleted file mode 100644 index cd41b2bd8..000000000 --- a/versions/c1pjs/1.30.4/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.4/components.css b/versions/c1pjs/1.30.4/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.30.4/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.30.4/components.xsl b/versions/c1pjs/1.30.4/components.xsl deleted file mode 100644 index 232c9e58f..000000000 --- a/versions/c1pjs/1.30.4/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.30.4 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.30.4/document.css b/versions/c1pjs/1.30.4/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.30.4/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.30.4/document.xsl b/versions/c1pjs/1.30.4/document.xsl deleted file mode 100644 index e7d9b4c3e..000000000 --- a/versions/c1pjs/1.30.4/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.4/machine.xsl b/versions/c1pjs/1.30.4/machine.xsl deleted file mode 100644 index fa528cfac..000000000 --- a/versions/c1pjs/1.30.4/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.4/manifest.xsl b/versions/c1pjs/1.30.4/manifest.xsl deleted file mode 100644 index f46cd87c2..000000000 --- a/versions/c1pjs/1.30.4/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.30.4/outline.xsl b/versions/c1pjs/1.30.4/outline.xsl deleted file mode 100644 index c633bdb11..000000000 --- a/versions/c1pjs/1.30.4/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.5/components.css b/versions/c1pjs/1.30.5/components.css deleted file mode 100644 index 604435675..000000000 --- a/versions/c1pjs/1.30.5/components.css +++ /dev/null @@ -1,108 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.c1pjs-embed { -} -.c1pjs-embed:after { - clear:both; -} -.c1pjs-machine { -} -.c1pjs-name { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.c1pjs-canvas { - width: 100%; - height: auto; -} -.c1pjs-container { - color: #000000; - position: relative; -} -.c1pjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.c1pjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.c1pjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.c1pjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.c1pjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.c1pjs-switches { - float: left; -} -.c1pjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.c1pjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.c1pjs-bitCellLeft { - border-left: 1px solid black; -} -.c1pjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.c1pjs-description, .c1pjs-status { - font-size: small; - line-height: 2em; -} -.c1pjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; -} -.c1pjs-reference { - float: left; - font-size: x-small; -} -.c1pjs-reference a { - text-decoration: none; -} -.c1pjs-copyright { - float: right; - font-size: x-small; -} -.c1pjs-copyright a { - text-decoration: none; -} diff --git a/versions/c1pjs/1.30.5/components.xsl b/versions/c1pjs/1.30.5/components.xsl deleted file mode 100644 index 284a8ff2f..000000000 --- a/versions/c1pjs/1.30.5/components.xsl +++ /dev/null @@ -1,588 +0,0 @@ - - - - - - - - - - - c1p - c1pjs - 1.30.5 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - -
    - - - - js - , - - -
    -
    - - - - - - - - - - - - - , - - - - - - - - - - - - .machine - . - - - - - - - - - - - - - - border:1px solid black;border-radius:10px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:absolute; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - -
    - - -
    [XML]
    - -
    - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - type:'' - - - binding:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - position:absolute; - float:left; - float:right; - margin:0 auto; - ; - float:left; - - - - - - - - -
    - - - font-size:; - - - - - -label - - - width:; - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -

    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - ,autoStart: - - - - - - - - - - - - - - - 600 - - - - - keyboard - ,model: - - - - - - - - - - - - - - - false - - - - - serial - ,demo: - - - - - - - - - - - - - - disk - - - - - - - - - - - - - - - 0 - - - - - - - - - - - rom - ,size:,image:'' - - - - - - - - - - - - - - - 0 - - - - - ram - ,size: - - - - - - - - - - - - - - - 600 - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 32 - - - - - - 32 - - - - - - - 0 - - - - - - - 0 - - - - - - - - - - - - - - null - - - - - video - ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: - - - - - - - - - - - - - - debugger - - - - - - - - - - - - - - panel - - - - - - - - - - - - - [ - {} - , - ] - - - - computer - ,modules: - - - - - type:'',refID:'',start:,end: - - -
    diff --git a/versions/c1pjs/1.30.5/document.css b/versions/c1pjs/1.30.5/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/c1pjs/1.30.5/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/c1pjs/1.30.5/document.xsl b/versions/c1pjs/1.30.5/document.xsl deleted file mode 100644 index cca3c8ed1..000000000 --- a/versions/c1pjs/1.30.5/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/c1pjs/1.30.5/machine.xsl b/versions/c1pjs/1.30.5/machine.xsl deleted file mode 100644 index b18f3f19c..000000000 --- a/versions/c1pjs/1.30.5/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.5/manifest.xsl b/versions/c1pjs/1.30.5/manifest.xsl deleted file mode 100644 index 8fb731ec3..000000000 --- a/versions/c1pjs/1.30.5/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/c1pjs/1.30.5/outline.xsl b/versions/c1pjs/1.30.5/outline.xsl deleted file mode 100644 index 4f1fcf47c..000000000 --- a/versions/c1pjs/1.30.5/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/c1pjs/1.30.5/c1p-dbg.js b/versions/c1pjs/1.31.0/c1p-dbg.js similarity index 99% rename from versions/c1pjs/1.30.5/c1p-dbg.js rename to versions/c1pjs/1.31.0/c1p-dbg.js index 475fa82f9..911b8adcf 100644 --- a/versions/c1pjs/1.30.5/c1p-dbg.js +++ b/versions/c1pjs/1.31.0/c1p-dbg.js @@ -177,7 +177,7 @@ break;case "modern":mb(a,!1);a.l("modern syntax enabled");break;case "msg":e=0;v void 0!==l&&(a.lb=0,a.l(b+" instructions earlier:"));l=a.lb?a.lb:1;c-=b;for(0>c&&(c=d.length-1);e&&c!=a.Ka;){g=d[c];if(0>g)break;a.l(vb(a,g,l++));++c==d.length&&(c=0);e--;b--}a.Rb=b;a.lb=l}10==e&&a.l("no history available");break;case "r":qb(a,c);break;case "s":a.S(a.s.f)==a.s.Pa?(ub(a,a.s.f+3),a.Ba=!0,a.va()||a.s.ca()):xb(a);break;case "t":xb(a,c[1]);break;case "u":pb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble"); a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=G(document,"c1pjs","debugger"),b=0;b");b&&b.ia(!0,a)} +function yb(a){var b=null,c;for(c in a.Y)for(var d=0;d");b&&b.ia(!0,a)} x(function(){for(var a=G(document,"c1pjs","computer"),b=0;b');return}}if(!h){u(' definition must appear first in the specification'); break}if(e=ta("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,l,k,g.cpu[0]);l=new Z(d,g);if(k=ta("panel",d.id))if(g.panel=[k],k.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/, @@ -186,5 +186,5 @@ b:""),null)} function Db(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); a=a.replace(d[0],h);Db(a,b,c)}})}else c(a,null)} function Eb(a,b,c){function d(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function e(a){d("Error: "+a);l&&(--zb||y(!0));l=!1}var g,h,l=!0;zb++;D[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var m=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css";n.styleSheet?n.styleSheet.cssText=k:n.appendChild(document.createTextNode(k));m.appendChild(n)}c||(c= -"/versions/c1pjs/1.30.5/components.xsl");k=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){l?(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--zb||y(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zb||y(!0)):e("invalid machine element: "+ +"/versions/c1pjs/1.31.0/components.xsl");k=function(h,k){k?Ab(c,null,null,!1,d,function(h,l){l?(D[a]&&c&&(D[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--zb||y(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zb||y(!0)):e("invalid machine element: "+ a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(h)}):e(h)};"<"!=b.charAt(0)?Ab(b,a,void 0,!0,d,k):Cb(b,null,a,void 0,!1,d,k)}else e("missing machine element: "+a)}catch(C){e(C.message)}return l}window.embedC1P=function(a,b,c){y(!1);return Eb(a,b,c)};window.enableEvents=y;window.sendEvent=ma;})(); diff --git a/versions/c1pjs/1.30.5/c1p.js b/versions/c1pjs/1.31.0/c1p.js similarity index 99% rename from versions/c1pjs/1.30.5/c1p.js rename to versions/c1pjs/1.31.0/c1p.js index 5b1d5917e..25981e98d 100644 --- a/versions/c1pjs/1.30.5/c1p.js +++ b/versions/c1pjs/1.31.0/c1p.js @@ -137,7 +137,7 @@ function Za(a,b){b=b.trackNum;if(void 0===b)throw Error("missing bcd value: trac function $a(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.j.D&4?a.g:a.v;break;case 1:a=a.j;break;case 2:a=a.m.D&4?a.i:a.w;break;case 3:a=a.m;break;case 16:a=c?a.B:a.h;break;case 17:a=a.s;break;default:a=a.C}return a}e.W=function(a,b){void 0!==b&&$a(this,a-this.o,!1).read()};e.R=function(a,b){void 0!==b&&(b=this.f.W(a),$a(this,a-this.o,!0).update(b))};function Ua(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.g.D&64||(d|=1));a.b!=d&&(a.b=d,a.h.update())} function Va(a){0<=a.b&&(a.c[a.b].ga=-1,a.s.update(255),a.h.update())}function Wa(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.ra[b.aa];void 0!==c&&(0<=b.ga&&b.ga");b&&b.$(!0,a)} +Y.prototype.J=function(a,b,c){switch(b){case "reset":return this.A[b]=c,c.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.M[b]?a.M[b][0]:null}function ab(a){var b=null,c;for(c in a.M)for(var d=0;d");b&&b.$(!0,a)} x(function(){for(var a=I(document,"c1pjs","computer"),b=0;b');return}}if(!h){t(' definition must appear first in the specification'); break}if(f=F("debugger",d.id))g["debugger"]=[f],f.X&&f.X(h,l,k,g.cpu[0]);l=new Y(d,g);if(k=F("panel",d.id))if(g.panel=[k],k.ya){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;dg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/, @@ -145,6 +145,6 @@ function cb(a,b,c,d,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(E[c]&&b&&(E[c b:""),null)} function db(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");r(f,function(g,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(g=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=l[0],n,m=/( [a-z]+=)(['"])(.*?)\2/g;n=m.exec(g);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);l[0]!=k&&(h=h.replace(l[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); a=a.replace(d[0],h);db(a,b,c)}})}else c(a,null)} -function fb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function f(a){d("Error: "+a);l&&(--Z||A(!0));l=!1}var g,h,l=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=k:m.appendChild(document.createTextNode(k));n.appendChild(m)}c||(c="/versions/c1pjs/1.30.5/components.xsl"); +function fb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=da(a))}function f(a){d("Error: "+a);l&&(--Z||A(!0));l=!1}var g,h,l=!0;Z++;E[a]={};try{if(g=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=k:m.appendChild(document.createTextNode(k));n.appendChild(m)}c||(c="/versions/c1pjs/1.31.0/components.xsl"); k=function(h,k){k?bb(c,null,null,!1,d,function(h,l){l?(E[a]&&c&&(E[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Z||A(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(l),(l=h.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Z||A(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")): f(h)}):f(h)};"<"!=b.charAt(0)?bb(b,a,void 0,!0,d,k):cb(b,null,a,void 0,!1,d,k)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedC1P=function(a,b,c){A(!1);return fb(a,b,c)};window.enableEvents=A;window.sendEvent=ha;})(); diff --git a/versions/c1pjs/1.30.5/common.css b/versions/c1pjs/1.31.0/common.css similarity index 100% rename from versions/c1pjs/1.30.5/common.css rename to versions/c1pjs/1.31.0/common.css diff --git a/versions/c1pjs/1.30.5/common.xsl b/versions/c1pjs/1.31.0/common.xsl similarity index 99% rename from versions/c1pjs/1.30.5/common.xsl rename to versions/c1pjs/1.31.0/common.xsl index 8c48f4f60..1b455359a 100644 --- a/versions/c1pjs/1.30.5/common.xsl +++ b/versions/c1pjs/1.31.0/common.xsl @@ -23,7 +23,7 @@ - + diff --git a/versions/c1pjs/1.21.0/components.css b/versions/c1pjs/1.31.0/components.css similarity index 100% rename from versions/c1pjs/1.21.0/components.css rename to versions/c1pjs/1.31.0/components.css diff --git a/versions/c1pjs/1.30.1/components.xsl b/versions/c1pjs/1.31.0/components.xsl similarity index 99% rename from versions/c1pjs/1.30.1/components.xsl rename to versions/c1pjs/1.31.0/components.xsl index 37eb19b4e..9446e4e21 100644 --- a/versions/c1pjs/1.30.1/components.xsl +++ b/versions/c1pjs/1.31.0/components.xsl @@ -11,7 +11,7 @@ c1p c1pjs - 1.30.1 + 1.31.0 www.pcjs.org diff --git a/versions/c1pjs/1.21.0/document.css b/versions/c1pjs/1.31.0/document.css similarity index 100% rename from versions/c1pjs/1.21.0/document.css rename to versions/c1pjs/1.31.0/document.css diff --git a/versions/c1pjs/1.21.2/document.xsl b/versions/c1pjs/1.31.0/document.xsl similarity index 99% rename from versions/c1pjs/1.21.2/document.xsl rename to versions/c1pjs/1.31.0/document.xsl index fbd657698..c8e5c0072 100644 --- a/versions/c1pjs/1.21.2/document.xsl +++ b/versions/c1pjs/1.31.0/document.xsl @@ -10,7 +10,7 @@ - + diff --git a/versions/c1pjs/1.21.0/machine.xsl b/versions/c1pjs/1.31.0/machine.xsl similarity index 94% rename from versions/c1pjs/1.21.0/machine.xsl rename to versions/c1pjs/1.31.0/machine.xsl index f2c6a986c..2ffb936e0 100644 --- a/versions/c1pjs/1.21.0/machine.xsl +++ b/versions/c1pjs/1.31.0/machine.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.23.0/manifest.xsl b/versions/c1pjs/1.31.0/manifest.xsl similarity index 98% rename from versions/c1pjs/1.23.0/manifest.xsl rename to versions/c1pjs/1.31.0/manifest.xsl index 7dd43edff..39bcb4406 100644 --- a/versions/c1pjs/1.23.0/manifest.xsl +++ b/versions/c1pjs/1.31.0/manifest.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.21.2/outline.xsl b/versions/c1pjs/1.31.0/outline.xsl similarity index 90% rename from versions/c1pjs/1.21.2/outline.xsl rename to versions/c1pjs/1.31.0/outline.xsl index f8e9474c2..f935ae0ec 100644 --- a/versions/c1pjs/1.21.2/outline.xsl +++ b/versions/c1pjs/1.31.0/outline.xsl @@ -8,9 +8,9 @@ - - - + + + diff --git a/versions/pc8080/1.21.7/common.css b/versions/pc8080/1.21.7/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/pc8080/1.21.7/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.21.7/common.xsl b/versions/pc8080/1.21.7/common.xsl deleted file mode 100644 index 0855d530f..000000000 --- a/versions/pc8080/1.21.7/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.21.7/components.css b/versions/pc8080/1.21.7/components.css deleted file mode 100644 index 03664918e..000000000 --- a/versions/pc8080/1.21.7/components.css +++ /dev/null @@ -1,148 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.pcjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } -} diff --git a/versions/pc8080/1.21.7/components.xsl b/versions/pc8080/1.21.7/components.xsl deleted file mode 100644 index f2a8cda6b..000000000 --- a/versions/pc8080/1.21.7/components.xsl +++ /dev/null @@ -1,1194 +0,0 @@ - - - - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.21.7 - www.pcjs.org - - - - - - - - - - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotation:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.21.7/document.css b/versions/pc8080/1.21.7/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.21.7/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.21.7/machine.xsl b/versions/pc8080/1.21.7/machine.xsl deleted file mode 100644 index 6a4b8cfb0..000000000 --- a/versions/pc8080/1.21.7/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.21.7/manifest.xsl b/versions/pc8080/1.21.7/manifest.xsl deleted file mode 100644 index 7156049d8..000000000 --- a/versions/pc8080/1.21.7/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.21.7/outline.xsl b/versions/pc8080/1.21.7/outline.xsl deleted file mode 100644 index 1dc120db7..000000000 --- a/versions/pc8080/1.21.7/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.21.7/pc8080-dbg.js b/versions/pc8080/1.21.7/pc8080-dbg.js deleted file mode 100644 index 46e3b9f37..000000000 --- a/versions/pc8080/1.21.7/pc8080-dbg.js +++ /dev/null @@ -1,202 +0,0 @@ -(function(){var m;function aa(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function q(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return"0x"+q(a,4)}function ba(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function fa(a){return a.replace(/[&<>"']/g,function(a){return ea[a]})}function ga(a,b){return(a+" ").slice(0,b)}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -function ia(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function la(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.U?10:20>=this.U?12:24>=this.U?14:15;this.ma=1<>2;this.F=this.ma-1;this.L=this.Y/this.ma|0;this.W=this.L-1;this.u=[];this.A=[];this.I=this.J=!1;this.ba=[];this.ea=[];a=new C;sb(a,this.C);this.D=Array(this.L);for(b=0;b>>a.Z;0c&&(g=c);if(f&&f.size){if(f.type==d){if(b+c<=f.B)return f.kb+=f.B-b,f.B=b,!0;if(b>=f.B+f.kb){g=f.size-(b-h);g>c&&(g=c);f.kb=b-f.B+g;b=h+a.ma;c-=g;e++;continue}}return ub(1,b,c)}b=new C(b,g,a.ma,d);sb(b,a.C,f);a.D[e++]=b;b=h+a.ma;c-=g}return 0>=c?!0:ub(2,b,c)} -rb.prototype.V=function(a){return this.D[(a&this.H)>>>this.Z].Ka(a&this.F,a)};function vb(a,b){return a.D[(b&a.H)>>>a.Z].ib(b&a.F,b)}function wb(a,b,c){a.D[(b&a.H)>>>a.Z].lb(b&a.F,c&255,b)}function xb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]} -function Gb(a,b,c){for(var d=1,e=0,f=0;0>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.C&&a.J!=h[1]&&Kb(a.C,b,k)}else a.C&&(gb(a.C,a,b,k,d),a.J&&Kb(a.C,b,k));f+=g<<3;b+=g;e-=g}}function ub(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lb;if(mb){var Mb=new ArrayBuffer(2);(new DataView(Mb)).setUint16(0,256,!0);Lb=256===(new Uint16Array(Mb))[0]}else Lb=!1;var Nb=Lb; -function C(a,b,c,d){this.id=Ob+=2;this.b=null;this.B=a;this.kb=b;this.size=c||0;this.type=d||Pb;this.u=d==Qb;sb(this);this.Aa=this.Yb=!1;if(c)if(mb)this.H=new ArrayBuffer(c),this.I=new DataView(this.H,0,c),this.D=new Uint8Array(this.H,0,c),this.L=new Uint16Array(this.H,0,c>>1),this.b=new Int32Array(this.H,0,c>>2),Rb(this,Nb?Sb:Tb);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ta: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},Da:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.Aa=!0},aa:function(a,b){if(this.C&&null!=this.B){var c=this.C;Zb(c,this.B+a,1,c.ba)&&c.da(!0)}return this.ib(a,b)},ka:function(a,b){if(this.C&&null!=this.B){var c=this.C;Zb(c,this.B+a,2,c.ba)&&c.da(!0)}return this.yb(a,b)},za:function(a,b,c){if(this.C&&null!=this.B){var d=this.C;Zb(d,this.B+a,1,d.I)&&d.da(!0)}this.u?this.F(a,b,c):this.lb(a,b,c)},Ma:function(a, -b,c){if(this.C&&null!=this.B){var d=this.C;Zb(d,this.B+a,2,d.I)&&d.da(!0)}this.u?this.F(a,b,c):this.zb(a,b,c)},Y:function(a){return this.D[a]},ba:function(a){return this.D[a]},ja:function(a){return this.I.getUint16(a,!0)},qa:function(a){return a&1?this.D[a]|this.D[a+1]<<8:this.L[a>>1]},ua:function(a,b){this.D[a]=b;this.Aa=!0},Ca:function(a,b){this.D[a]=b;this.Aa=!0},Ea:function(a,b){this.I.setUint16(a,b,!0);this.Aa=!0},$a:function(a,b){a&1?(this.D[a]=b,this.D[a+1]=b>>8):this.L[a>>1]=b;this.Aa=!0}}; -function sb(a,b,c){a.C=b;a.T=a.A=0;c&&((a.T=c.T)&&Yb(a,Xb,!1),(a.A=c.A)&&Wb(a,Xb,!1))}function $b(a,b){b?0===--a.A&&(a.Za=a.u?a.F:a.lb,a.Tb=a.u?a.J:a.zb):0===--a.T&&(a.Ka=a.ib,a.Rb=a.yb)}function Wb(a,b,c){c&&a.A||(a.Za=!a.u&&b[2]||a.F,a.Tb=!a.u&&b[3]||a.J);if(c||void 0===c)a.lb=b[2]||a.F,a.zb=b[3]||a.J}function Yb(a,b,c){c&&a.T||(a.Ka=b[0]||a.U,a.Rb=b[1]||a.W);if(c||void 0===c)a.ib=b[0]||a.U,a.yb=b[1]||a.W}function Rb(a,b){b||(b=ac);Yb(a,b,void 0);Wb(a,b,void 0)} -var ac=[],Ub=[C.prototype.ea,C.prototype.ta,C.prototype.Da,C.prototype.ab],Xb=[C.prototype.aa,C.prototype.ka,C.prototype.za,C.prototype.Ma];if(mb)var Tb=[C.prototype.Y,C.prototype.ja,C.prototype.ua,C.prototype.Ea],Sb=[C.prototype.ba,C.prototype.qa,C.prototype.Ca,C.prototype.$a]; -function bc(a,b){u.call(this,"CPU",a,bc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.Xa=c;this.i.qb=0;this.i.Ja=d;this.i.vb=Math.round(this.i.Xa/1E4)/100;this.i.Ha=this.i.vb*this.i.Ja;this.w.ia=!1;this.w.ub=!1;this.w.Ib=a.autoStart;this.w.Jb=!1;this.w.Oa=!1;this.i.bb=this.i.Ua=0;this.i.cb=a.csStart;this.i.Ta=a.csInterval;this.i.Va=a.csStop;this.ka=this.La.bind(this);B(this)}x(bc);var cc=["power","reset"];m=bc.prototype; -m.Ba=function(a,b,c,d){this.u=a;this.D=b;this.C=d;for(b=0;b=a.i.Ua&&(a.i.Ua+=a.i.Ta,c=!0);0<=a.i.Va&&a.i.Va<=vc(a)&&(a.i.Ta=a.i.Va=-1,qc(a),a.da(),c=!0);c&&a.g(vc(a)+" cycles: checksum="+q(a.i.bb))}} -m.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.T[b]=c;a=!0;break;case "run":this.T[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.w.ga)a=!0;else{var b=null,c,g=ab(a.id);for(c=0;cc&&(c=2);var d=1;b&&1a.i.Ga/a.i.Ha?b=1:d=!0;a.i.Ja=b;b=a.i.vb*a.i.Ja;if(a.i.Ha!=b){a.i.Ha=b;b=a.i.Ha.toFixed(2)+"Mhz";var e=a.T.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.jb()}xc(a,a.I);a.I=0;a.i.Sa=ja();a.i.Ia=0;yc(a);return d} -m.La=function(a){if(ib(this,!0)){if(!this.w.ia){wc(this);this.u&&this.u.start(this.i.Sa,vc(this));this.w.ia=!0;this.w.ub=!0;this.W&&this.W.start();var b=this.T.run;b&&(b.textContent="Halt");this.u&&(this.u.sa(!0),a&&this.u.jb(!0))}this.i.xb>=this.i.Xa&&yc(this,!0);this.i.gb=0;this.i.pb=ja();this.i.Ia&&(a=this.i.pb-this.i.Ia,a>this.i.Nb&&(this.i.Sa+=a,this.i.Sa>this.i.pb&&(this.i.Sa=this.i.pb)));try{do{var c=this.w.Oa?1:this.i.hc;try{this.Ya(c)}catch(e){if("number"!=typeof e)throw e;}var d=this.F- -this.b;this.I+=d;this.i.gb+=d;xc(this,0,!0);uc(this,d);this.i.fb-=d;0>=this.i.fb&&(this.i.fb+=this.i.Pb,this.u&&zc(this.u,this.i.qb++),this.i.qb>this.za&&(this.i.qb=0));this.i.eb-=d;0>=this.i.eb&&(this.i.eb+=this.i.Ob,this.u&&this.u.sa());this.i.Wa-=d;if(0>=this.i.Wa){this.i.Wa+=this.i.wb;break}}while(this.w.ia)}catch(e){this.da();sc(this);this.u&&this.u.stop(ja(),vc(this));ib(this,!1);lb(this,e.stack||e.message);return}c=setTimeout;d=this.ka;this.i.Ia=ja();a=this.i.Nb;this.i.gb&&(a=Math.round(a* -this.i.gb/this.i.wb));a-=this.i.Ia-this.i.pb;if(b=this.i.Ia-this.i.Sa)this.i.Ga=Math.round(this.I/(10*b))/100,864E5<=b&&(this.J=0,wc(this));if(0>a||this.i.Ga>8&255;a.N=b&255}function Jc(a){return a.O<<8|a.P}function Kc(a,b){a.O=b>>8&255;a.P=b&255}function J(a){return a.R<<8|a.S} -function L(a,b){a.R=b>>8&255;a.S=b&255}function G(a,b){a.K=b&65535}function Lc(a){return a.G&256?1:0}function Mc(a){return nb[a.X&255]?4:0}function Nc(a){return(a.X^a.ha)&16?16:0}function Oc(a){return a.G&255?0:64}function Pc(a){return a.X&128?128:0}function Gc(a){return a.oa&-214|Pc(a)|Oc(a)|Nc(a)|Mc(a)|Lc(a)}function Ec(a,b){a.G=a.X=a.ha=0;b&1&&(a.G|=256);b&4||(a.X|=1);b&16&&(a.ha|=16);b&64||(a.G|=255);b&128&&(a.X^=192);a.oa=a.oa&-513|b&512|2} -function Qc(a,b){a.ha=a.j^b;return a.X=(a.G=a.j+b)&255}function Rc(a,b){a.ha=a.j^b;return a.X=(a.G=a.j+b+(a.G&256?1:0))&255}function Sc(a,b){a.G=a.X=a.ha=a.j&b;(a.j|b)&8&&(a.ha^=16);return a.G}function jd(a,b){a.ha=b^255;b=a.X=b+255&255;a.G=a.G&-256|b;return b}function kd(a,b){a.ha=b;b=a.X=b+1&255;a.G=a.G&-256|b;return b}function ld(a,b){return a.X=a.G=a.ha=a.j|b}function M(a,b){b^=255;a.ha=a.j^b;return a.X=(a.G=a.j+b+1^256)&255} -function md(a,b){b^=255;a.ha=a.j^b;return a.X=(a.G=a.j+b+(a.G&256?0:1)^256)&255}function nd(a,b){return a.X=a.G=a.ha=a.j^b}m.V=function(a){return this.la[(a&this.L)>>>this.Z].Ka(a&this.H,a)};function od(a,b){var c=b&a.H,d=(b&a.L)>>>a.Z;if(c>>a.Z].Za(b&a.H,c&255,b)} -function pd(a,b,c){var d=b&a.H,e=(b&a.L)>>>a.Z;d>8&255,b+1))}function O(a){var b=a.V(a.K);G(a,a.K+1);return b}function P(a){var b=od(a,a.K);G(a,a.K+2);return b}function Q(a){var b=od(a,a.ca);a.ca=a.ca+2&65535;return b}function R(a,b){a.ca=a.ca-2&65535;pd(a,a.ca,b)} -function T(a,b,c,d){d=d||2;a.T[b]&&(void 0===c&&(lb(a,"Value for "+b+" is invalid"),a.da()),c=!a.w.ia||a.w.Jb?q(c,d):"--------".substr(0,d),a.T[b].textContent!=c&&(a.T[b].textContent=c))} -m.sa=function(a){this.ja&&(a||!this.w.ia||this.w.Jb)&&(T(this,"A",this.j),T(this,"B",this.M),T(this,"C",this.N),T(this,"BC",Hc(this),4),T(this,"D",this.O),T(this,"E",this.P),T(this,"DE",Jc(this),4),T(this,"H",this.R),T(this,"L",this.S),T(this,"HL",J(this),4),T(this,"SP",this.ca,4),T(this,"PC",this.K,4),a=Gc(this),T(this,"PS",a,4),T(this,"SF",a&128,1),T(this,"ZF",a&64,1),T(this,"AF",a&16,1),T(this,"PF",a&4,1),T(this,"CF",a&1,1));if(a=this.T.speed)a.textContent=this.w.ia&&this.i.Ga?this.i.Ga.toFixed(2)+ -"Mhz":"Stopped"};m.Ya=function(a){this.w.nb=!0;var b=this.w.Xb=this.C&&qd(this.C),c=a?this.w.ub?0:1:-1;this.w.ub=!1;this.F=this.b=a;do{if(this.A){var d;this.A&8&&this.oa&512?(d=199|(this.A&7)<<3,this.A&=-16,this.oa&=-513,this.ba[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.A&16){this.b=0;break}}if(b){if(rd(this.C,this.K,c)){this.da();break}c=1}this.ba[O(this)].call(this)}while(0>8;this.G=this.G&255|a&256;this.b-=4},sd,function(){var a;L(this,a=J(this)+Hc(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Hc(this));this.b-=7},function(){Ic(this,Hc(this)- -1);this.b-=5},function(){this.N=kd(this,this.N);this.b-=5},function(){this.N=jd(this,this.N);this.b-=5},function(){this.N=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;this.G=this.G&255|a;this.b-=4},sd,function(){Kc(this,P(this));this.b-=10},function(){N(this,Jc(this),this.j);this.b-=7},function(){Kc(this,Jc(this)+1);this.b-=5},function(){this.O=kd(this,this.O);this.b-=5},function(){this.O=jd(this,this.O);this.b-=5},function(){this.O=O(this);this.b-=7},function(){var a=this.j<< -1;this.j=a&255|this.G>>8;this.G=this.G&255|a&256;this.b-=4},sd,function(){var a;L(this,a=J(this)+Jc(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Jc(this));this.b-=7},function(){Kc(this,Jc(this)-1);this.b-=5},function(){this.P=kd(this,this.P);this.b-=5},function(){this.P=jd(this,this.P);this.b-=5},function(){this.P=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(this.G&256|this.j)>>1;this.G=this.G&255|a;this.b-=4},sd,function(){L(this,P(this));this.b-=10},function(){pd(this, -P(this),J(this));this.b-=16},function(){L(this,J(this)+1);this.b-=5},function(){this.R=kd(this,this.R);this.b-=5},function(){this.R=jd(this,this.R);this.b-=5},function(){this.R=O(this);this.b-=7},function(){var a=0,b=Lc(this);if(Nc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Qc(this,a);this.G=b?this.G|256:this.G&-257;this.b-=4},sd,function(){var a;L(this,a=J(this)+J(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){L(this,od(this,P(this)));this.b-=16},function(){L(this,J(this)- -1);this.b-=5},function(){this.S=kd(this,this.S);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=O(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},sd,function(){this.ca=P(this)&65535;this.b-=10},function(){N(this,P(this),this.j);this.b-=13},function(){this.ca=this.ca+1&65535;this.b-=5},function(){var a=J(this);N(this,a,kd(this,this.V(a)));this.b-=10},function(){var a=J(this);N(this,a,jd(this,this.V(a)));this.b-=10},function(){N(this,J(this),O(this));this.b-=10}, -function(){this.G|=256;this.b-=4},sd,function(){var a;L(this,a=J(this)+this.ca);this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(P(this));this.b-=13},function(){this.ca=this.ca-1&65535;this.b-=5},function(){this.j=kd(this,this.j);this.b-=5},function(){this.j=jd(this,this.j);this.b-=5},function(){this.j=O(this);this.b-=7},function(){this.G=Lc(this)?this.G&-257:this.G|256;this.b-=4},function(){this.b-=5},function(){this.M=this.N;this.b-=5},function(){this.M=this.O;this.b-=5},function(){this.M= -this.P;this.b-=5},function(){this.M=this.R;this.b-=5},function(){this.M=this.S;this.b-=5},function(){this.M=this.V(J(this));this.b-=7},function(){this.M=this.j;this.b-=5},function(){this.N=this.M;this.b-=5},function(){this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.N=this.R;this.b-=5},function(){this.N=this.S;this.b-=5},function(){this.N=this.V(J(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.O=this.M;this.b-=5},function(){this.O= -this.N;this.b-=5},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.R;this.b-=5},function(){this.O=this.S;this.b-=5},function(){this.O=this.V(J(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P=this.M;this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P=this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.V(J(this));this.b-=7},function(){this.P=this.j; -this.b-=5},function(){this.R=this.M;this.b-=5},function(){this.R=this.N;this.b-=5},function(){this.R=this.O;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.V(J(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.M;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.S=this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S= -this.V(J(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){N(this,J(this),this.M);this.b-=7},function(){N(this,J(this),this.N);this.b-=7},function(){N(this,J(this),this.O);this.b-=7},function(){N(this,J(this),this.P);this.b-=7},function(){N(this,J(this),this.R);this.b-=7},function(){N(this,J(this),this.S);this.b-=7},function(){var a=this.K-1;if(this.U.length)for(var b=0;b>8;this.b-=10},function(){var a=P(this);Pc(this)||G(this,a);this.b-=10},function(){this.oa&=-513;this.b-=4},function(){var a=P(this);Pc(this)||(R(this,this.K),G(this,a),this.b-=6);this.b-=11},function(){R(this,Gc(this)&255|this.j<<8);this.b-=11},function(){this.j=ld(this,O(this));this.b-=7},function(){R(this,this.K);G(this,48);this.b-=11},function(){Pc(this)&&(G(this, -Q(this)),this.b-=6);this.b-=5},function(){this.ca=J(this)&65535;this.b-=5},function(){var a=P(this);Pc(this)&&G(this,a);this.b-=10},function(){this.oa|=512;this.b-=4},function(){var a=P(this);Pc(this)&&(R(this,this.K),G(this,a),this.b-=6);this.b-=11},vd,function(){M(this,O(this));this.b-=7},function(){R(this,this.K);G(this,56);this.b-=11}]; -function U(a){u.call(this,"ChipSet",a,U,32768);var b=a.model;b&&!wd[b]&&t("Unrecognized ChipSet model: "+b);this.Ra=wd[b]||xd;a.sound&&(this.W=null,window&&(this.W=window.AudioContext||window.webkitAudioContext),this.W&&new this.W);B(this)}x(U);var xd=1978.1,wd={SI1978:xd};m=U.prototype;m.pa=function(){return!1}; -m.Ba=function(a,b,c,d){this.D=b;this.b=c;this.C=d;this.u=a;if(this.Ra==xd){var e;a=yd;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.u[g]?t("Input port "+r(g)+" already registered"):c.u[g]=[h,!1]}var k;e=zd;void 0===k&&(k=0);for(var l in e)if(f=b,a=+l+k,c=e[l].bind(this),void 0!==c)for(d=+l+k;d<=a;d++)void 0!==f.A[d]?t("Output port "+r(d)+" already registered"):f.A[d]=[c,!1]}}; -m.xa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.wa=function(a){return a?this.save():!0};m.reset=function(){this.H=this.I=this.F=this.A=this.U=this.L=this.J=0};m.save=function(){var a=new H(this);this.Ra==xd&&I(a,0,[this.J,this.L,this.U,this.A,this.F,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];this.Ra==xd&&(this.J=a[0],this.L=a[1],this.U=a[2],this.A=a[3],this.F=a[4],this.H=a[5],this.I=a[6]);return!0};m.start=function(){};m.stop=function(){}; -m.bc=function(a,b){var c=this.J;fb(this,a,null,b,"STATUS0",c);return c};m.cc=function(a,b){var c=this.L;fb(this,a,null,b,"STATUS1",c);return c};m.dc=function(a,b){var c=this.U;fb(this,a,null,b,"STATUS2",c);return c};m.ac=function(a,b){var c=this.A>>8-this.F&255;fb(this,a,null,b,"SHIFT.RESULT",c);return c};m.ic=function(a,b,c){fb(this,a,b,c,"SHIFT.COUNT",null);this.F=b};m.kc=function(a,b,c){fb(this,a,b,c,"SOUND1",null);this.H=b}; -m.jc=function(a,b,c){fb(this,a,b,c,"SHIFT.DATA",null);this.A=b<<8|this.A>>8};m.lc=function(a,b,c){fb(this,a,b,c,"SOUND2",null);this.I=b};m.mc=function(a,b,c){fb(this,a,b,c,"WATCHDOG",null)};var yd={0:U.prototype.bc,1:U.prototype.cc,2:U.prototype.dc,3:U.prototype.ac},zd={2:U.prototype.ic,3:U.prototype.kc,4:U.prototype.jc,5:U.prototype.lc,6:U.prototype.mc};Ma(function(){for(var a=A(document,"pc8080","chipset"),b=0;b>>0,h],p=ia(n,k,a.Eb);0>p&&n.splice(-(p+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.J.push({nc:b,B:c,gc:d,ya:e,Bb:f})}delete this.ya}return!0};Ad.prototype.wa=function(){return!0}; -function Bd(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{Xa(a.Hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.ya=e.symbols;if(!a.u.length){t("Empty ROM: "+b);return}if(1==a.u.length){t(a.u[0]);return}}catch(g){a.na("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e>>f.Z;0>>=f.Z;0Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=oa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ha("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");za("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new Id(d);eb(d,c)}}); -function Jd(a){u.call(this,"Debugger",a,Jd);this.aa=Kd;this.ja=this.Ma=this.U=0;this.Y=W();this.Fb=W();this.H=-1;this.F=[];this.qa=!1;this.ka=W();this.J=[];this.ta={};this.A=this.ba=this.I=[];Ld(this);this.Da=0;Md(this);this.$a=[];Nd(this,a.messages);this.rb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return rc(b,a)}):void 0===global.$&&(global.$=function(a){return rc(b,a)})}x(Jd); -var Od={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",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"},Kd=8080,Pd="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "), -Qd="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),Rd="B C D E H L M A BC DE HL SP PC PSW".split(" "),Sd=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768], -[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617], -[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43, -785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273], -[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785], -[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62], -[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,18193,33],[65,128],[59],[50,3347],[35,51],[24],[12,51],[51,3347],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19, -18193,33],[65,128]],Td={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};m=Jd.prototype; -m.Ba=function(a,b,c,d){this.D=b;this.b=c;this.u=a;(a=oc(a,"messages"))&&Nd(this,a);this.Cb=Sd;Ud(this,function(a){a:{var b=d.b.la,c=a[0],g=a=0,k=b.length;if(c){a=X(Y(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.b.Z;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var n=b[g];n.type==c?l++||d.g("..."):(c=n.type,l=Vb[c],n&&d.g(q(n.id)+" %"+q(g<>>c.Z,c=e!=c.F?c.D[f].yb(e,d):c.D[f++].ib(e,d)|c.D[f&c.W].ib(0,d+1)<<8;b&&Vd(a,b)}return c}; -m.Ab=function(a,b,c){var d=X(a);-1!==d&&(wb(this.D,d,b),c&&Vd(a,c),sc(this.b,!0))};m.Ub=function(a,b,c){var d=X(a);if(-1!==d){var e=this.D,f=d&e.F,h=(d&e.H)>>>e.Z;f!=e.F?e.D[h].zb(f,b&65535,d):(e.D[h++].lb(f,b&255,d),e.D[h&e.W].lb(0,b>>8&255,d+1));c&&Vd(a,c);sc(this.b,!0)}};function W(a){return{B:a,va:!1}}function Wd(a){return[a.B,a.va]}function Xd(a){return{B:a[0],va:a[1]}} -function Y(a,b,c){var d;c=(c?a.Y:a.Fb).B;if(void 0!==b){d=b=Yd(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=la(Rd,a.substr(b,2))));return c}function de(a,b){var c=0,d=ee(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:c=4}return c?q(d,c):"??"} -function ee(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.M;break;case 1:c=d.N;break;case 8:c=Hc(d);break;case 2:c=d.O;break;case 3:c=d.P;break;case 9:c=Jc(d);break;case 4:c=d.R;break;case 5:c=d.S;break;case 10:c=J(d);break;case 6:c=d.V(J(d));break;case 11:c=d.ca;break;case 12:c=d.K;break;case 13:c=d.j<<8|Gc(d)&255}}return c} -function fe(a,b){b=Yd(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=ce(b,c+1),0<=e&&(b=b.substr(0,c)+de(a,e)+b.substr(c+1+Rd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Y(a,e))?(d=e+' "'+be(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Y(a,e))?(Vd(d),d=e+' "'+ -be(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.K).B));if(!this.Ea||a!=this.Ea)if(this.Ea=a,this.fa&-2147483648&&(this.da(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Wa=0;c.F-=c.b;c.b=0;sc(c)}};function gb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.fa&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+Z(e):""))} -function Md(a){var b;if(qd(a)){if(!a.W||!a.W.length){a.W=Array(1E3);for(b=0;b>>d.Z],!1)}a.ba=["br"];if(void 0!==a.I)for(b=1;b>>d.Z],!0);a.I=["bw"];a.Kb=0}m.Fa=function(a,b,c){var d=!0;c||ke(this,a,b,!1,!0);if(a!=this.A){var e=X(b);if(-1===e)this.g("invalid address: "+Z(b.B)),d=!1;else{var f=this.b;f.la[e>>>f.Z].Fa(e&f.H,a==this.I)}}d&&(a.push(b),c?b.va=!0:(le(this,a,a.length-1,"set"),Md(this)));return d}; -function ke(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h>>d.Z],b==a.I));g.va||Md(a);break}}return f}function me(a,b){for(var c=1;c>24,4);break;case 3:E=q(D.mb(Da,2),4);break;default:D="imm("+r(v)+")";break a}8086==D.aa&&v&64?E="["+E+"]":v&16||(E=(D.aa==Kd?"$":"0x")+E);D=E}else v& -16?(D=(p&3840)>>8,v=Rd[D],8086==a.aa&&p&64&&(6==D&&(v="HL"),v="["+v+"]"),D=v):v&128&&(D=(f>>3&7).toString());if(!D||!D.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Re(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Zd(a,b,c){var d;if(b){b=Yd(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function Ue(a,b){if(b)return Te(a,b,a.ta[b]);var c=0;for(b in a.ta)Te(a,b,a.ta[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.gc;if(e>=h&&e>8&255;case "C":d.N=g&255;break;case "D":d.O= -g&255;break;case "DE":d.O=g>>8&255;case "E":d.P=g&255;break;case "H":d.R=g&255;break;case "HL":d.R=g>>8&255;case "L":d.S=g&255;break;case "SP":d.ca=g&65535;break;case "PC":G(d,g);a.Y=W(d.K);break;case "PS":Ec(d,g);break;case "C":d.G=g?d.G|256:d.G&255;break;case "P":g?Mc(d)||(d.X^=1):Mc(d)&&(d.X^=1);break;case "A":d.ha=g?~d.X&16|d.ha&-17:d.X&16|d.ha&-17;break;case "Z":d.G=g?d.G&-256:d.G|255;break;case "S":g?Pc(d)||(d.X^=192):Pc(d)&&(d.X^=192);break;case "I":d.oa=g?d.oa|512:d.oa&-513;break;default:a.g("unknown register: "+ -e);return}if(!h){a.g("invalid value: "+f);return}sc(d);a.g("updated registers:")}a.g(Pe(a));c&&(a.Y=W(d.K),ie(a,Z(a.Y.B)))}}function af(a,b){b=ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(fe(a,c[2])):Zd(a,b,!0)}function bf(a,b,c){var d="t"!=b;c=Se(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Aa(c,function(){return ib(a,!0)&&a.Ya(e,d,!1)},function(){sc(a.b);ib(a,!1)})} -function ie(a,b,c,d){if(b=Y(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Y(a,c,!0);if(!d||d.Bg[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=oe(a,b,h,f);a.g(f);a.Y=b;e-=b.B-k;c++}}} -function ae(a,b,c,d){if(c)if(b){0>a.H&&a.F.length&&(a.H=0);if(0>a.H||b!=a.F[a.H])a.F.splice(0,0,b),a.H=0;a.H--}else a.qa?b="end":b=a.F[a.H+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ha(b.substring(c,f))),c=f+1}}return a} -function ne(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.qa&&(a.g("ended assemble at "+Z(a.ka.B)),a.Y=a.ka,a.qa=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Ea=null;if(kb(a)&&0l||"z"ua.length&&(a.g("note: only "+ua.length+" available"),V=ua.length);S-=V;0>S&&(null==ua[ua.length-1].B?(V=S+V,S=0): -S+=ua.length);var Vc=[];"call"==ue&&(cb=1E5,Vc=["CALL"]);for(void 0!==te&&a.g(V+" instructions earlier:");0=ua.length&&(S=0);a.Lb=V;we++;cb--}}we||(a.g("no "+ve+"history available"),a.Lb=void 0)}else{var dc=Y(a,sa);if(dc){var ec=0;Ia&&("l"==Ia.charAt(0)&&(Ia=Ia.substr(1)||yf),ec=Se(a,Ia)>>>0,65536>4||1;Af--&&0ic?String.fromCharCode(ic):".";gc--}Ja&&(Ja+="\n");Ja+=sa+" "+Ab+(0==zb?" "+Xc:"")}Ja&&a.g(Ja);a.Fb=dc}}}}break;case "e":if("else"==f[0])break;var jc=1,ze=255,Ae=a.V,Be=a.Ab;"ew"==f[0]&&(jc=2,ze=65535,Ae=a.mb,Be=a.Ub);var Ce=jc<<1,De=f[1];if(null== -De)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var kc=Y(a,De);if(kc)for(var lc=2;lccd;){for(var Ka=null,Ff=256;65536>Db.B>>>0;){Fe.B=a.mb(Db,2);if(null==Db.B||!Ff--)break;for(var Gf=a,mc=Fe,Ge=null,Eb=mc.B,He=Eb,dd=1;6>=dd&&Eb;dd++){if(2mf){if(hf(d,this.W)){this.I=new H(this,of,"failsafe");hf(this.I)&&(sf(this,d),a=2,ef(this.I));I(this.I,"timestamp",ka());ff(this.I);var e=this.u&&!this.J;if(1==a||pa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=gf(d)){var f=jf(d,"code"),h=jf(d,"data");f&&("ok"==f?hf(d,h):("error"==f&&"no machine state"!= -h?(this.na("Error: "+h),"unable to verify user"==h&&(ya("user",""),this.A=null)):this.g(f+": "+h),ef(d),hf(d)?(c=gf(d),e=!0):c=!1))}e&&rf(this,c?d:null)}else 2==a&&d.clear()}else rf(this);delete this.W;delete this.Y}e=ab(this.id);for(f=0;fa[1];a=a[2];this.w.ga=!0;var d=this.T.power;d&&(d.textContent="Shutdown");this.ja||(this.g("PC8080 v"+of+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ja=!0);this.b&&(tf(this,this.b,b,c,a),tc(this.b));this.ka&&(sf(this,b),b.clear());!c&&this.I&&(this.I.clear(),delete this.I);this.F=0}; -function sf(a,b){if(pa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.ua,d=a.A||"",e=b.toString(),f={app:"PC8080"};f.ver=of;f.url=c;f.user=d;f.type="bug";f.data=e;ma("http://www.pcjs.org/api/v1/report",f,!0)}} -function cf(a,b,c){var d,e="none";if(a.F)return null;a.F--;var f=new H(a,of),h=new H(a,of,"validate"),g=ka();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.21.7");I(f,"url",window?window.location.href:null);I(f,"browser",oa());a.b&&a.b.wa&&(c&&a.b.da(),d=a.b.wa(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.w.ga=!1,!1===d&&(e=null)));for(var g=ab(a.id),k=0;kg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Mf(a,b,c)}})}else c(a,null)} -function Nf(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);k&&(--wf||Oa(!0));k=!1}var h,g,k=!0;wf++;Wa[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));n.appendChild(p)}c|| -(c="/versions/pc8080/1.21.7/components.xsl");l=function(d,g){g?xf(c,null,null,!1,e,function(d,l){if(l)if(Xa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var k=g.transformNode(l);k?(h.outerHTML=k,--wf||Oa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(k=new XSLTProcessor,k.importStylesheet(l),(k=k.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(k,h),--wf||Oa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?xf(b,a,d,!0,e,l):Lf(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(z){f(z.message)}return k}window.embedPC8080=function(a,b,c,d){Oa(!1);return Nf(a,b,c,d)};window.enableEvents=Oa;window.sendEvent=Pa; -function Of(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?ma(b,null,!0,function(a,b){Pf(b,d)}):Pf(null,d)}else t("Error ("+c+") requesting "+a)} -function Pf(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Wa[f],k={},l;for(l in g){var n=g[l],p=ca(l);if("xml"==p){for(p=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[l]);){var z=d[2];z&&(g[z]||(n=n.replace(d[0],"")))}d=l=ba(l)}else"xsl"==p&&(e=l=ba(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),l=h,g=null,k="data:application/javascript,",k=za("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', -c+='
    \n',c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pc8080/1.22.0/document.css b/versions/pc8080/1.22.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.22.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.22.0/document.xsl b/versions/pc8080/1.22.0/document.xsl deleted file mode 100644 index d77e90a17..000000000 --- a/versions/pc8080/1.22.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.22.0/machine.xsl b/versions/pc8080/1.22.0/machine.xsl deleted file mode 100644 index 3c38dbd12..000000000 --- a/versions/pc8080/1.22.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.22.0/manifest.xsl b/versions/pc8080/1.22.0/manifest.xsl deleted file mode 100644 index bff9b61b0..000000000 --- a/versions/pc8080/1.22.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.22.0/outline.xsl b/versions/pc8080/1.22.0/outline.xsl deleted file mode 100644 index b05c44dfe..000000000 --- a/versions/pc8080/1.22.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.22.0/pc8080-dbg.js b/versions/pc8080/1.22.0/pc8080-dbg.js deleted file mode 100644 index fa2051980..000000000 --- a/versions/pc8080/1.22.0/pc8080-dbg.js +++ /dev/null @@ -1,210 +0,0 @@ -(function(){var m;function aa(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function q(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return"0x"+q(a,4)}function ba(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a,b){return(a+" ").slice(0,b)}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -function ja(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function na(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.J?10:20>=this.J?12:24>=this.J?14:15;this.ua=1<>2;this.B=this.ua-1;this.L=this.W/this.ua|0;this.K=this.L-1;this.w=[];this.u=[];this.G=this.H=!1;this.aa=[];this.ba=[];a=new E;qb(a,this.F);this.U=Array(this.L);for(b=0;b>>a.ea;0f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.D)return g.nb+=g.D-e,g.D=e,!0;if(e>=g.D+g.nb){k=g.size-(e-l);k>f&&(k=f);g.nb=e-g.D+k;e=l+a.ua;f-=k;h++;continue}}return sb(1,e,f)}e=new E(e,k,a.ua,d);qb(e,a.F,g);a.U[h++]=e;e=l+a.ua;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+tb[d]+" at "+r(b)),!0):sb(2,b,c)}m.X=function(a){return this.U[(a&this.C)>>>this.ea].ab(a&this.B,a)}; -function ub(a,b){return a.U[(b&a.C)>>>a.ea].lb(b&a.B,b)}m.Ha=function(a){var b=a&this.B,c=(a&this.C)>>>this.ea;return b!=this.B?this.U[c].Tb(b,a):this.U[c++].ab(b,a)|this.U[c&this.K].ab(0,a+1)<<8};function vb(a,b){var c=b&a.B,d=(b&a.C)>>>a.ea;return c!=a.B?a.U[d].Cb(c,b):a.U[d++].lb(c,b)|a.U[d&a.K].lb(0,b+1)<<8}m.ga=function(a,b){this.U[(a&this.C)>>>this.ea].cb(a&this.B,b&255,a)};function wb(a,b,c){a.U[(b&a.C)>>>a.ea].ob(b&a.B,c&255,b)} -m.vb=function(a,b){var c=a&this.B,d=(a&this.C)>>>this.ea;c!=this.B?this.U[d].Vb(c,b&65535,a):(this.U[d++].cb(c,b&255,a),this.U[d&this.K].cb(0,b>>8&255,a+1))};function xb(a,b){if(void 0===b)return a.G=!a.G,a.G;void 0===a.w[b]&&(a.w[b]=[null,!1]);a.w[b][1]=!a.w[b][1];return a.w[b][1]} -function yb(a,b,c){for(var d=1,e=0,f=0;0>>=f)&l;if(void 0!==h){if(h[0])h[0](b,l,d);a.F&&a.H!=h[1]&&Kb(a.F,b,l)}else a.F&&(db(a.F,a,b,l,d),a.H&&Kb(a.F,b,l));f+=g<<3;b+=g;e-=g}}function sb(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lb;if(kb){var Mb=new ArrayBuffer(2);(new DataView(Mb)).setUint16(0,256,!0);Lb=256===(new Uint16Array(Mb))[0]}else Lb=!1;var Nb=Lb; -function E(a,b,c,d){this.id=Ob+=2;this.b=null;this.D=a;this.nb=b;this.size=c||0;this.type=d||Pb;this.w=d==Qb;qb(this);this.ya=this.Lb=!1;if(c)if(kb)this.G=new ArrayBuffer(c),this.H=new DataView(this.G,0,c),this.B=new Uint8Array(this.G,0,c),this.K=new Uint16Array(this.G,0,c>>1),this.b=new Int32Array(this.G,0,c>>2),Rb(this,Nb?Sb:Tb);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},fa: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},xa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.ya=!0},aa:function(a,b){if(this.F&&null!=this.D){var c=this.F;Yb(c,this.D+a,1,c.aa)&&c.da(!0)}return this.lb(a,b)},ia:function(a,b){if(this.F&&null!=this.D){var c=this.F;Yb(c,this.D+a,2,c.aa)&&c.da(!0)}return this.Cb(a,b)},sa:function(a,b,c){if(this.F&&null!=this.D){var d=this.F;Yb(d,this.D+a,1,d.H)&&d.da(!0)}this.w?this.C(a,b,c):this.ob(a,b,c)},Fa:function(a, -b,c){if(this.F&&null!=this.D){var d=this.F;Yb(d,this.D+a,2,d.H)&&d.da(!0)}this.w?this.C(a,b,c):this.Db(a,b,c)},Y:function(a){return this.B[a]},ba:function(a){return this.B[a]},ha:function(a){return this.H.getUint16(a,!0)},pa:function(a){return a&1?this.B[a]|this.B[a+1]<<8:this.K[a>>1]},Ea:function(a,b){this.B[a]=b;this.ya=!0},wa:function(a,b){this.B[a]=b;this.ya=!0},Ca:function(a,b){this.H.setUint16(a,b,!0);this.ya=!0},eb:function(a,b){a&1?(this.B[a]=b,this.B[a+1]=b>>8):this.K[a>>1]=b;this.ya=!0}}; -function qb(a,b,c){a.F=b;a.T=a.u=0;c&&((a.T=c.T)&&Xb(a,Wb,!1),(a.u=c.u)&&Vb(a,Wb,!1))}function Zb(a,b){b?0===--a.u&&(a.cb=a.w?a.C:a.ob,a.Vb=a.w?a.J:a.Db):0===--a.T&&(a.ab=a.lb,a.Tb=a.Cb)}function Vb(a,b,c){c&&a.u||(a.cb=!a.w&&b[2]||a.C,a.Vb=!a.w&&b[3]||a.J);if(c||void 0===c)a.ob=b[2]||a.C,a.Db=b[3]||a.J}function Xb(a,b,c){c&&a.T||(a.ab=b[0]||a.L,a.Tb=b[1]||a.W);if(c||void 0===c)a.lb=b[0]||a.L,a.Cb=b[1]||a.W}function Rb(a,b){b||(b=$b);Xb(a,b,void 0);Vb(a,b,void 0)} -var $b=[],Ub=[E.prototype.fa,E.prototype.ra,E.prototype.xa,E.prototype.Ga],Wb=[E.prototype.aa,E.prototype.ia,E.prototype.sa,E.prototype.Fa];if(kb)var Tb=[E.prototype.Y,E.prototype.ha,E.prototype.Ea,E.prototype.Ca],Sb=[E.prototype.ba,E.prototype.pa,E.prototype.wa,E.prototype.eb]; -function ac(a,b){v.call(this,"CPU",a,ac,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.$a=c;this.i.ub=0;this.i.Na=d;this.i.zb=Math.round(this.i.$a/1E4)/100;this.i.La=this.i.zb*this.i.Na;this.A.ma=!1;this.A.yb=!1;this.A.Kb=a.autoStart;this.A.Mb=!1;this.A.Ra=!1;this.i.fb=this.i.Xa=0;this.i.gb=a.csStart;this.i.Wa=a.csInterval;this.i.Ya=a.csStop;this.aa=this.Oa.bind(this);D(this)}Va(ac);var bc=["power","reset"];m=ac.prototype; -m.Ia=function(a,b,c,d){this.w=a;this.B=b;this.F=d;for(b=0;b=a.i.Xa&&(a.i.Xa+=a.i.Wa,c=!0);0<=a.i.Ya&&a.i.Ya<=uc(a)&&(a.i.Wa=a.i.Ya=-1,pc(a),a.da(),c=!0);c&&a.g(uc(a)+" cycles: checksum="+q(a.i.fb))}} -m.qa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.T[b]=c;a=!0;break;case "run":this.T[b]=c;c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.A.ka)a=!0;else{var b=null,c,g=Ya(a.id);for(c=0;cc&&(c=2);var d=1;b&&1a.i.Ka/a.i.La?b=1:d=!0;a.i.Na=b;b=a.i.zb*a.i.Na;if(a.i.La!=b){a.i.La=b;b=a.i.La.toFixed(2)+"Mhz";var e=a.T.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.w&&a.w.mb()}wc(a,a.G);a.G=0;a.i.Va=ka();a.i.Ma=0;xc(a);return d} -m.Oa=function(a){if(gb(this,!0)){if(!this.A.ma){vc(this);this.w&&this.w.start(this.i.Va,uc(this));this.A.ma=!0;this.A.yb=!0;this.K&&this.K.start();var b=this.T.run;b&&(b.textContent="Halt");this.w&&(this.w.va(!0),a&&this.w.mb(!0))}this.i.Bb>=this.i.$a&&xc(this,!0);this.i.jb=0;this.i.tb=ka();this.i.Ma&&(a=this.i.tb-this.i.Ma,a>this.i.Pb&&(this.i.Va+=a,this.i.Va>this.i.tb&&(this.i.Va=this.i.tb)));try{do{var c=this.A.Ra?1:this.i.hc;try{this.bb(c)}catch(e){if("number"!=typeof e)throw e;}var d=this.C- -this.b;this.G+=d;this.i.jb+=d;wc(this,0,!0);tc(this,d);this.i.ib-=d;0>=this.i.ib&&(this.i.ib+=this.i.Rb,this.w&&yc(this.w,this.i.ub++),this.i.ub>this.Ea&&(this.i.ub=0));this.i.hb-=d;0>=this.i.hb&&(this.i.hb+=this.i.Qb,this.w&&this.w.va());this.i.Za-=d;if(0>=this.i.Za){this.i.Za+=this.i.Ab;break}}while(this.A.ma)}catch(e){this.da();rc(this);this.w&&this.w.stop(ka(),uc(this));gb(this,!1);jb(this,e.stack||e.message);return}c=setTimeout;d=this.aa;this.i.Ma=ka();a=this.i.Pb;this.i.jb&&(a=Math.round(a* -this.i.jb/this.i.Ab));a-=this.i.Ma-this.i.tb;if(b=this.i.Ma-this.i.Va)this.i.Ka=Math.round(this.G/(10*b))/100,864E5<=b&&(this.H=0,vc(this));if(0>a||this.i.Ka>8&255;a.O=b&255}function Jc(a){return a.P<<8|a.R}function Kc(a,b){a.P=b>>8&255;a.R=b&255}function I(a){return a.S<<8|a.V} -function Lc(a,b){a.S=b>>8&255;a.V=b&255}function F(a,b){a.M=b&65535}function Mc(a){return a.I&256?1:0}function Nc(a){return lb[a.Z&255]?4:0}function Oc(a){return(a.Z^a.la)&16?16:0}function Pc(a){return a.I&255?0:64}function Qc(a){return a.Z&128?128:0}function Fc(a){return a.oa&-214|Qc(a)|Pc(a)|Oc(a)|Nc(a)|Mc(a)}function Dc(a,b){a.I=a.Z=a.la=0;b&1&&(a.I|=256);b&4||(a.Z|=1);b&16&&(a.la|=16);b&64||(a.I|=255);b&128&&(a.Z^=192);a.oa=a.oa&-726|b&512|2} -function Rc(a,b){a.la=a.j^b;return a.Z=(a.I=a.j+b)&255}function Sc(a,b){a.la=a.j^b;return a.Z=(a.I=a.j+b+(a.I&256?1:0))&255}function Tc(a,b){a.I=a.Z=a.la=a.j&b;(a.j|b)&8&&(a.la^=16);return a.I}function kd(a,b){a.la=b^255;b=a.Z=b+255&255;a.I=a.I&-256|b;return b}function ld(a,b){a.la=b;b=a.Z=b+1&255;a.I=a.I&-256|b;return b}function md(a,b){return a.Z=a.I=a.la=a.j|b}function J(a,b){b^=255;a.la=a.j^b;return a.Z=(a.I=a.j+b+1^256)&255} -function nd(a,b){b^=255;a.la=a.j^b;return a.Z=(a.I=a.j+b+(a.I&256?0:1)^256)&255}function od(a,b){return a.Z=a.I=a.la=a.j^b}m.X=function(a){return this.B.X(a)};m.ga=function(a,b){this.B.ga(a,b)};function L(a){var b=a.X(a.M);F(a,a.M+1);return b}function N(a){var b=a.B.Ha(a.M);F(a,a.M+2);return b}function O(a){var b=a.B.Ha(a.ca);a.ca=a.ca+2&65535;return b}function Q(a,b){a.ca=a.ca-2&65535;a.B.vb(a.ca,b)} -function R(a,b,c,d){d=d||2;a.T[b]&&(void 0===c&&(jb(a,"Value for "+b+" is invalid"),a.da()),c=!a.A.ma||a.A.Mb?q(c,d):"--------".substr(0,d),a.T[b].textContent!=c&&(a.T[b].textContent=c))} -m.va=function(a){this.Y&&(a||!this.A.ma||this.A.Mb)&&(R(this,"A",this.j),R(this,"B",this.N),R(this,"C",this.O),R(this,"BC",Hc(this),4),R(this,"D",this.P),R(this,"E",this.R),R(this,"DE",Jc(this),4),R(this,"H",this.S),R(this,"L",this.V),R(this,"HL",I(this),4),R(this,"SP",this.ca,4),R(this,"PC",this.M,4),a=Fc(this),R(this,"PS",a,4),R(this,"IF",a&512?1:0,1),R(this,"SF",a&128?1:0,1),R(this,"ZF",a&64?1:0,1),R(this,"AF",a&16?1:0,1),R(this,"PF",a&4?1:0,1),R(this,"CF",a&1?1:0,1));if(a=this.T.speed)a.textContent= -this.A.ma&&this.i.Ka?this.i.Ka.toFixed(2)+"Mhz":"Stopped"}; -m.bb=function(a){this.A.rb=!0;var b=this.A.Yb=this.F&&pd(this.F),c=a?this.A.yb?0:1:-1;this.A.yb=!1;this.C=this.b=a;do{if(this.u){var d;this.u&8&&this.oa&512?(d=199|(this.u&7)<<3,this.u&=-16,this.oa&=-513,this.L[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.u&16){this.b=0;break}}if(b){if(qd(this.F,this.M,c)){this.da();break}c=1}this.L[L(this)].call(this)}while(0>8;this.I=this.I&255|a&256;this.b-=4},rd,function(){var a;Lc(this,a=I(this)+Hc(this));this.I=this.I&255|a>>8&256;this.b-=10},function(){this.j=this.X(Hc(this));this.b-=7},function(){Ic(this,Hc(this)- -1);this.b-=5},function(){this.O=ld(this,this.O);this.b-=5},function(){this.O=kd(this,this.O);this.b-=5},function(){this.O=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;this.I=this.I&255|a;this.b-=4},rd,function(){Kc(this,N(this));this.b-=10},function(){this.ga(Jc(this),this.j);this.b-=7},function(){Kc(this,Jc(this)+1);this.b-=5},function(){this.P=ld(this,this.P);this.b-=5},function(){this.P=kd(this,this.P);this.b-=5},function(){this.P=L(this);this.b-=7},function(){var a=this.j<< -1;this.j=a&255|this.I>>8;this.I=this.I&255|a&256;this.b-=4},rd,function(){var a;Lc(this,a=I(this)+Jc(this));this.I=this.I&255|a>>8&256;this.b-=10},function(){this.j=this.X(Jc(this));this.b-=7},function(){Kc(this,Jc(this)-1);this.b-=5},function(){this.R=ld(this,this.R);this.b-=5},function(){this.R=kd(this,this.R);this.b-=5},function(){this.R=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(this.I&256|this.j)>>1;this.I=this.I&255|a;this.b-=4},rd,function(){Lc(this,N(this));this.b-=10},function(){var a= -N(this);this.B.vb(a,I(this));this.b-=16},function(){Lc(this,I(this)+1);this.b-=5},function(){this.S=ld(this,this.S);this.b-=5},function(){this.S=kd(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=0,b=Mc(this);if(Oc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Rc(this,a);this.I=b?this.I|256:this.I&-257;this.b-=4},rd,function(){var a;Lc(this,a=I(this)+I(this));this.I=this.I&255|a>>8&256;this.b-=10},function(){var a;a=N(this);a=this.B.Ha(a);Lc(this,a);this.b-= -16},function(){Lc(this,I(this)-1);this.b-=5},function(){this.V=ld(this,this.V);this.b-=5},function(){this.V=kd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},rd,function(){this.ca=N(this)&65535;this.b-=10},function(){this.ga(N(this),this.j);this.b-=13},function(){this.ca=this.ca+1&65535;this.b-=5},function(){var a=I(this);this.ga(a,ld(this,this.X(a)));this.b-=10},function(){var a=I(this);this.ga(a,kd(this,this.X(a)));this.b-=10},function(){this.ga(I(this), -L(this));this.b-=10},function(){this.I|=256;this.b-=4},rd,function(){var a;Lc(this,a=I(this)+this.ca);this.I=this.I&255|a>>8&256;this.b-=10},function(){this.j=this.X(N(this));this.b-=13},function(){this.ca=this.ca-1&65535;this.b-=5},function(){this.j=ld(this,this.j);this.b-=5},function(){this.j=kd(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){this.I=Mc(this)?this.I&-257:this.I|256;this.b-=4},function(){this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.P; -this.b-=5},function(){this.N=this.R;this.b-=5},function(){this.N=this.S;this.b-=5},function(){this.N=this.V;this.b-=5},function(){this.N=this.X(I(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.O=this.N;this.b-=5},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.R;this.b-=5},function(){this.O=this.S;this.b-=5},function(){this.O=this.V;this.b-=5},function(){this.O=this.X(I(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P= -this.N;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P=this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.V;this.b-=5},function(){this.P=this.X(I(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.N;this.b-=5},function(){this.R=this.O;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.V;this.b-=5},function(){this.R=this.X(I(this)); -this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.S=this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.X(I(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.V=this.N;this.b-=5},function(){this.V=this.O;this.b-=5},function(){this.V=this.P;this.b-=5},function(){this.V=this.R;this.b-=5},function(){this.V=this.S;this.b-= -5},function(){this.b-=5},function(){this.V=this.X(I(this));this.b-=7},function(){this.V=this.j;this.b-=5},function(){this.ga(I(this),this.N);this.b-=7},function(){this.ga(I(this),this.O);this.b-=7},function(){this.ga(I(this),this.P);this.b-=7},function(){this.ga(I(this),this.R);this.b-=7},function(){this.ga(I(this),this.S);this.b-=7},function(){this.ga(I(this),this.V);this.b-=7},function(){var a=this.M-1;if(this.J.length)for(var b=0;b>8;this.b-=10},function(){var a=N(this);Qc(this)||F(this,a);this.b-=10},function(){this.oa&=-513;this.b-=4},function(){var a=N(this);Qc(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Fc(this)&255|this.j<<8);this.b-=11},function(){this.j=md(this,L(this)); -this.b-=7},function(){Q(this,this.M);F(this,48);this.b-=11},function(){Qc(this)&&(F(this,O(this)),this.b-=6);this.b-=5},function(){this.ca=I(this)&65535;this.b-=5},function(){var a=N(this);Qc(this)&&F(this,a);this.b-=10},function(){this.oa|=512;this.b-=4},function(){var a=N(this);Qc(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},ud,function(){J(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,56);this.b-=11}]; -function S(a){v.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!vd[b]&&t("Unrecognized ChipSet model: "+b);this.Ua=vd[b]||wd;a.sound&&(this.W=null,window&&(this.W=window.AudioContext||window.webkitAudioContext),this.W&&new this.W);D(this)}Va(S);var wd=1978.1,vd={SI1978:wd};m=S.prototype;m.qa=function(){return!1}; -m.Ia=function(a,b,c,d){this.B=b;this.b=c;this.F=d;this.w=a;if(this.Ua==wd){var e;a=xd;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.w[g]?t("Input port "+r(g)+" already registered"):c.w[g]=[h,!1]}var l;e=yd;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.u[d]?t("Output port "+r(d)+" already registered"):f.u[d]=[c,!1]}}; -m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.Aa=function(a){return a?this.save():!0};m.reset=function(){this.G=this.H=this.C=this.u=this.L=this.K=this.J=0};m.save=function(){var a=new Gc(this);this.Ua==wd&&H(a,0,[this.J,this.K,this.L,this.u,this.C,this.G,this.H]);return a.data()};m.restore=function(a){a=a[0];this.Ua==wd&&(this.J=a[0],this.K=a[1],this.L=a[2],this.u=a[3],this.C=a[4],this.G=a[5],this.H=a[6]);return!0};m.start=function(){};m.stop=function(){}; -m.cc=function(a,b){var c=this.J;cb(this,a,null,b,"STATUS0",c);return c};m.dc=function(a,b){var c=this.K;cb(this,a,null,b,"STATUS1",c);return c};m.ec=function(a,b){var c=this.L;cb(this,a,null,b,"STATUS2",c);return c};m.bc=function(a,b){var c=this.u>>8-this.C&255;cb(this,a,null,b,"SHIFT.RESULT",c);return c};m.ic=function(a,b,c){cb(this,a,b,c,"SHIFT.COUNT",null);this.C=b};m.kc=function(a,b,c){cb(this,a,b,c,"SOUND1",null);this.G=b}; -m.jc=function(a,b,c){cb(this,a,b,c,"SHIFT.DATA",null);this.u=b<<8|this.u>>8};m.lc=function(a,b,c){cb(this,a,b,c,"SOUND2",null);this.H=b};m.mc=function(a,b,c){cb(this,a,b,c,"WATCHDOG",null)};var xd={0:S.prototype.cc,1:S.prototype.dc,2:S.prototype.ec,3:S.prototype.bc},yd={2:S.prototype.ic,3:S.prototype.kc,4:S.prototype.jc,5:S.prototype.lc,6:S.prototype.mc};Ia(function(){for(var a=C(document,"pc8080","chipset"),b=0;b>>0,h],p=ja(n,l,a.qb);0>p&&n.splice(-(p+1),0,l)}k&&(g.a=k.replace(/''/g,'"'))}a.J.push({nc:b,D:c,gc:d,Da:e,Eb:f})}delete this.Da}return!0};zd.prototype.Aa=function(){return!0}; -function Ad(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{Xa(a.Hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.w=f;else if(h)for(a.w=Array(4*h.length),d=c=0;c>8&255,a.w[d++]=h[c]>>16&255,a.w[d++]=h[c]>>24&255;else a.w=e;a.Da=e.symbols;if(!a.w.length){t("Empty ROM: "+b);return}if(1==a.w.length){t(a.w[0]);return}}catch(g){a.na("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.w=Array(b.length),e=0;e>>f.ea;0>>=f.ea;0>3)*this.Y;rb(this.B,this.ra,this.pa,3)&&(this.Fa=this.pa>>1,this.Ga=16/this.ia|0,this.sa=!1,void 0===this.fa||this.fa.length!=this.Fa)&&(this.fa=Array(this.Fa));D(this)};Hd.prototype.qa=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.T[b]=c,this.u&&this.u.Pa?c.onclick=function(){d.Pa()}:c.parentNode.removeChild(c),!0}return!1}; -Hd.prototype.Pa=function(){var a=!1;if(this.u){if(this.u.Pa){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ha/this.aa;b>c&&(a=Math.round(c/b*100)+"%")}this.wa?(this.L.style.width=a,this.L.style.width=a,this.L.style.display="block",this.L.style.margin="auto"):(this.u.style.width=a,this.u.style.height="auto");this.u.style.backgroundColor="black";this.u.Pa();a=!0}this.Ca&&this.Ca.focus()}return a}; -function Id(a,b){!b&&a.u&&(a.wa?a.L.style.width=a.L.style.height="":a.u.style.width=a.u.style.height="");eb(a,"notifyFullScreen("+b+")",!0)} -Ia(function(){for(var a=C(document,"pc8080","video"),b=0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Qa.aspect);f&&.3<=f&&3.33>=f&&(Ga("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Hd(d,e,h,f,c);$a(d,c)}}); -function Jd(a){v.call(this,"Debugger",a,Jd);this.style=Kd;this.fa=this.Ca=this.L=0;this.Y=T();this.Gb=T();this.G=-1;this.C=[];this.ia=!1;this.ha=T();this.J=[];this.pa={};this.u=this.aa=this.H=[];Ld(this);this.wa=0;Md(this);this.Fa=[];Nd(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return qc(b,a)}):void 0===global.$&&(global.$=function(a){return qc(b,a)})}Va(Jd); -var Od={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",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"},Kd=8080,Pd="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "), -Qd="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),Rd="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Sd=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768], -[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617], -[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43, -785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273], -[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785], -[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62], -[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19, -18193,33],[65,128]],Td={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};m=Jd.prototype; -m.Ia=function(a,b,c,d){this.B=b;this.b=c;this.w=a;(a=cc(a,"messages"))&&Nd(this,a);this.pb=Sd;Ud(this,function(a){a:{var b=d.B.U,c=a[0],g=a=0,l=b.length;if(c){a=V(W(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.B.ea;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,k=0;l--;){var n=b[g];n.type==c?k++||d.g("..."):(c=n.type,k=tb[c],n&&d.g(q(n.id)+" %"+q(g<>>e.ea;f!=e.B?e.U[h].Db(f,b&65535,d):(e.U[h++].ob(f,b&255,d),e.U[h&e.K].ob(0,b>>8&255,d+1));c&&Vd(a,c);rc(this.b,!0)}};function T(a){return{D:a,za:!1}}function Wd(a){return[a.D,a.za]}function Xd(a){return{D:a[0],za:a[1]}} -function W(a,b,c){var d;c=(c?a.Y:a.Gb).D;if(void 0!==b){d=b=Yd(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=na(Rd,a.substr(b,1))));return c}function de(a,b){var c=0,d=ee(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?q(d,c):"??"} -function ee(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.N;break;case 1:c=d.O;break;case 8:c=Hc(d);break;case 2:c=d.P;break;case 3:c=d.R;break;case 9:c=Jc(d);break;case 4:c=d.S;break;case 5:c=d.V;break;case 10:c=I(d);break;case 6:c=d.X(I(d));break;case 11:c=d.ca;break;case 12:c=d.M;break;case 13:c=Fc(d);break;case 14:c=Fc(d)&255|d.j<<8}}return c} -function fe(a,b){b=Yd(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=ce(b,c+1),0<=e&&(b=b.substr(0,c)+de(a,e)+b.substr(c+1+Rd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=W(a,e))?(d=e+' "'+be(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=W(a,e))?(Vd(d),d=e+' "'+ -be(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(T(this.b.M).D));if(!this.xa||a!=this.xa)if(this.xa=a,this.ja&-2147483648&&(this.da(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Za=0;c.C-=c.b;c.b=0;rc(c)}};function db(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ja&g)!=g||a.message(b.eb+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+Z(e):""))} -function Md(a){var b;if(pd(a)){if(!a.W||!a.W.length){a.W=Array(1E3);for(b=0;b>>d.ea],!1)}a.aa=["br"];if(void 0!==a.H)for(b=1;b>>d.ea],!0);a.H=["bw"];a.Jb=0}m.Ja=function(a,b,c){var d=!0;c||ke(this,a,b,!1,!0);if(a!=this.u){var e=V(b);if(-1===e)this.g("invalid address: "+Z(b.D)),d=!1;else{var f=this.B;f.U[e>>>f.ea].Ja(e&f.B,a==this.H)}}d&&(a.push(b),c?b.za=!0:(le(this,a,a.length-1,"set"),Md(this)));return d}; -function ke(a,b,c,d,e){var f=!1;c=V(c);for(var h=1;h>>d.ea],b==a.H));g.za||Md(a);break}}return f}function me(a,b){for(var c=1;c>24,4);break;case 3:w=q(B.Ha(la,2),4);break;default:B="imm("+r(u)+")";break a}8086==B.style&&u&64?w="["+w+"]":u&16||(w=(B.style==Kd?"$":"0x")+w); -B=w}else u&16?(B=(p&3840)>>8,u=Rd[B],8086==a.style&&p&64&&(6==B&&(u="HL"),u="["+u+"]"),B=u):u&128&&(B=(f>>3&7).toString());if(!B||!B.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Re(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Zd(a,b,c){var d;if(b){b=Yd(a,b);for(var e=0,f=!1,h=b,g=[],l=[],k=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function Ue(a,b){if(b)return Te(a,b,a.pa[b]);var c=0;for(b in a.pa)Te(a,b,a.pa[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.gc;if(e>=h&&e>8&255;case "C":d.O=g&255;break;case "D":d.P= -g&255;break;case "DE":d.P=g>>8&255;case "E":d.R=g&255;break;case "H":d.S=g&255;break;case "HL":d.S=g>>8&255;case "L":d.V=g&255;break;case "SP":d.ca=g&65535;break;case "PC":F(d,g);a.Y=T(d.M);break;case "PS":Dc(d,g);break;case "PSW":Dc(d,g&255|d.oa&-256);d.j=g>>8;break;case "CF":d.I=g?d.I|256:d.I&255;break;case "PF":g?Nc(d)||(d.Z^=1):Nc(d)&&(d.Z^=1);break;case "AF":d.la=g?~d.Z&16|d.la&-17:d.Z&16|d.la&-17;break;case "ZF":d.I=g?d.I&-256:d.I|255;break;case "SF":g?Qc(d)||(d.Z^=192):Qc(d)&&(d.Z^=192);break; -case "IF":d.oa=g?d.oa|512:d.oa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}rc(d);a.g("updated registers:")}a.g(Pe(a));c&&(a.Y=T(d.M),ie(a,Z(a.Y.D)))}}function af(a,b){b=ia(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(fe(a,c[2])):Zd(a,b,!0)}function bf(a,b,c){var d="t"!=b;c=Se(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return gb(a,!0)&&a.bb(e,d,!1)},function(){rc(a.b);gb(a,!1)})} -function ie(a,b,c,d){if(b=W(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=W(a,c,!0);if(!d||d.Dg[0].indexOf("+"))){var k=g[0]+":";g[2]&&(k+=" "+g[2]);a.g(k)}g[3]&&(h=g[3],f=null);f=oe(a,b,h,f);a.g(f);a.Y=b;e-=b.D-l;c++}}} -function ae(a,b,c,d){if(c)if(b){0>a.G&&a.C.length&&(a.G=0);if(0>a.G||b!=a.C[a.G])a.C.splice(0,0,b),a.G=0;a.G--}else a.ia?b="end":b=a.C[a.G+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ia(b.substring(c,f))),c=f+1}}return a} -function ne(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ia&&(a.g("ended assemble at "+Z(a.ha.D)),a.Y=a.ha,a.ia=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.xa=null;if(ib(a)&&0k||"z"ya.length&&(a.g("note: only "+ya.length+" available"),Y=ya.length);U-=Y;0>U&&(null==ya[ya.length-1].D?(Y=U+Y,U=0):U+=ya.length);var Wc=[];"call"== -we&&(bb=1E5,Wc=["CALL"]);for(void 0!==ve&&a.g(Y+" instructions earlier:");0=ya.length&&(U=0);a.Nb=Y;ye++;bb--}}ye||(a.g("no "+xe+"history available"),a.Nb=void 0)}else{var dc=W(a,A);if(dc){var ec=0;X&&("l"==X.charAt(0)&&(X=X.substr(1)||zf),ec=Se(a,X)>>>0,65536>4||1;Bf--&&0ic?String.fromCharCode(ic):".";gc--}La&&(La+="\n");La+=A+" "+Db+(0==Cb?" "+Yc:"")}La&&a.g(La);a.Gb=dc}}}}break;case "e":if("else"==f[0])break;var jc=1,Be=255,Ce=a.X,De=a.ga;"ew"==f[0]&&(jc=2,Be=65535,Ce=a.Ha,De=a.vb);var Ee=jc<<1,Fe=f[1];if(null==Fe)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"), -a.g("\tew [a] [...] edit words at address a");else{var kc=W(a,Fe);if(kc)for(var lc=2;lcdd;){for(var Ma=null,Gf=256;65536>Gb.D>>>0;){He.D=a.Ha(Gb,2);if(null==Gb.D||!Gf--)break;for(var Hf=a,mc=He,Ie=null,Hb=mc.D,Je=Hb,ed=1;6>=ed&&Hb;ed++){if(2mf){if(hf(d,this.W)){this.H=new Gc(this,pf,"failsafe");hf(this.H)&&(vf(this,d),a=2,ef(this.H));H(this.H,"timestamp",ma());ff(this.H);var e=this.w&&!this.J;if(1==a||ra("Click OK to restore the previous "+of+" machine state, or CANCEL to reset the machine.")){if(c=gf(d)){var f=jf(d,"code"),h=jf(d,"data");f&&("ok"==f?hf(d,h):("error"==f&&"no machine state"!= -h?(this.na("Error: "+h),"unable to verify user"==h&&(va("user",""),this.u=null)):this.g(f+": "+h),ef(d),hf(d)?(c=gf(d),e=!0):c=!1))}e&&uf(this,c?d:null)}else 2==a&&d.clear()}else uf(this);delete this.W;delete this.Y}e=Ya(this.id);for(f=0;fa[1];a=a[2];this.sa=!0;this.A.ka=!0;var d=this.T.power;d&&(d.textContent="Shutdown");this.b&&(wf(this,this.b,b,c,a),sc(this.b));this.ha&&(vf(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.C=0}; -function vf(a,b){if(ra("There may be a problem with your "+of+" machine.\n\nTo help us diagnose it, click OK to send this "+of+" machine state to http://www.pcjs.org.")){var c=a.ra,d=a.u||"",e=b.toString(),f=pf,h={};h.app=of;h.ver=f;h.url=c;h.user=d;h.type="bug";h.data=e;oa("http://www.pcjs.org/api/v1/report",h,!0)}} -function cf(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Gc(a,pf),h=new Gc(a,pf,"validate"),g=ma();H(h,"timestamp",g);H(f,"timestamp",g);H(f,"version","1.22.0");H(f,"url",window?window.location.href:null);H(f,"browser",qa());a.b&&a.b.Aa&&(c&&a.b.da(),d=a.b.Aa(b,c),"object"===typeof d&&H(f,a.b.id,d),c&&(a.b.A.ka=!1,!1===d&&(e=null)));for(var g=Ya(a.id),l=0;l>>e.ea;0>8|(w&255)<<8);n>da&la,P=d.xa,A=n++,X=M,M=void 0,M=d.C?(P.height-A-1)*P.width+p:A+p*P.width;X&&(208<=A&&236>A?X=d.ba+0:28<=A&&72>A&&(X=d.ba+1));A=d.W[X];M*=A.length;P.data[M]=A[0];P.data[M+1]=A[1];P.data[M+2]=A[2];P.data[M+3]=A[3];da+=u}n>x&&(x=n);p=h&&(h=p+1)}g+=2;k++;if(n>=d.J&&(n=0,p++,p>d.Y))break}d.sa=!0;eg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,n=/( [a-z]+=)(['"])(.*?)\2/g;k=n.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Pf(a,b,c)}})}else c(a,null)} -function Qf(a,b,c,d){function e(a){if(void 0===g){var b=h&&C(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--Mf||Ka(!0));l=!1}var h,g,l=!0;Mf++;Wa[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=k:p.appendChild(document.createTextNode(k));n.appendChild(p)}c|| -(c="/versions/pc8080/1.22.0/components.xsl");k=function(d,g){g?Nf(c,null,null,!1,e,function(d,k){if(k)if(Xa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Mf||Ka(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Mf||Ka(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Nf(b,a,d,!0,e,k):Of(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(x){f(x.message)}return l}window.embedPC8080=function(a,b,c,d){Ka(!1);return Qf(a,b,c,d)};window.enableEvents=Ka;window.sendEvent=Oa; -function Rf(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(ea(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){Sf(b,d)}):Sf(null,d)}else t("Error ("+c+") requesting "+a)} -function Sf(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Wa[f],l={},k;for(k in g){var n=g[k],p=ca(k);if("xml"==p){for(p=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[k]);){var x=d[2];x&&(g[x]||(n=n.replace(d[0],"")))}d=k=ba(k)}else"xsl"==p&&(e=k=ba(k));l[k]=n}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),k=h,g=null,l="data:application/javascript,",l=wa("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', -c+='
    \n',c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pc8080/1.22.1/document.css b/versions/pc8080/1.22.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.22.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.22.1/document.xsl b/versions/pc8080/1.22.1/document.xsl deleted file mode 100644 index f92c3454c..000000000 --- a/versions/pc8080/1.22.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.22.1/machine.xsl b/versions/pc8080/1.22.1/machine.xsl deleted file mode 100644 index 5327ca397..000000000 --- a/versions/pc8080/1.22.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.22.1/manifest.xsl b/versions/pc8080/1.22.1/manifest.xsl deleted file mode 100644 index 18dd0229c..000000000 --- a/versions/pc8080/1.22.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.22.1/outline.xsl b/versions/pc8080/1.22.1/outline.xsl deleted file mode 100644 index dd8a900be..000000000 --- a/versions/pc8080/1.22.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.22.1/pc8080-dbg.js b/versions/pc8080/1.22.1/pc8080-dbg.js deleted file mode 100644 index fafd04487..000000000 --- a/versions/pc8080/1.22.1/pc8080-dbg.js +++ /dev/null @@ -1,214 +0,0 @@ -(function(){var m;function aa(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function q(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return"0x"+q(a,4)}function ba(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a,b){return(a+" ").slice(0,b)}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -function ja(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function na(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.I?10:20>=this.I?12:24>=this.I?14:15;this.ua=1<>2;this.C=this.ua-1;this.L=this.V/this.ua|0;this.J=this.L-1;this.w=[];this.u=[];this.F=this.H=!1;this.Z=[];this.ba=[];a=new D;rb(a,this.G);this.T=Array(this.L);for(b=0;b>>a.fa;0f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.D)return g.ob+=g.D-e,g.D=e,!0;if(e>=g.D+g.ob){k=g.size-(e-l);k>f&&(k=f);g.ob=e-g.D+k;e=l+a.ua;f-=k;h++;continue}}return tb(1,e,f)}e=new D(e,k,a.ua,d);rb(e,a.G,g);a.T[h++]=e;e=l+a.ua;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ub[d]+" at "+r(b)),!0):tb(2,b,c)}m.W=function(a){return this.T[(a&this.B)>>>this.fa].ab(a&this.C,a)}; -function vb(a,b){return a.T[(b&a.B)>>>a.fa].mb(b&a.C,b)}m.Ia=function(a){var b=a&this.C,c=(a&this.B)>>>this.fa;return b!=this.C?this.T[c].Tb(b,a):this.T[c++].ab(b,a)|this.T[c&this.J].ab(0,a+1)<<8};function wb(a,b){var c=b&a.C,d=(b&a.B)>>>a.fa;return c!=a.C?a.T[d].Eb(c,b):a.T[d++].mb(c,b)|a.T[d&a.J].mb(0,b+1)<<8}m.ha=function(a,b){this.T[(a&this.B)>>>this.fa].cb(a&this.C,b&255,a)};function xb(a,b,c){a.T[(b&a.B)>>>a.fa].pb(b&a.C,c&255,b)} -m.xb=function(a,b){var c=a&this.C,d=(a&this.B)>>>this.fa;c!=this.C?this.T[d].Vb(c,b&65535,a):(this.T[d++].cb(c,b&255,a),this.T[d&this.J].cb(0,b>>8&255,a+1))};function yb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.w[b]&&(a.w[b]=[null,!1]);a.w[b][1]=!a.w[b][1];return a.w[b][1]} -function zb(a,b,c){for(var d=1,e=0,f=0;0>>=f)&l;if(void 0!==h){if(h[0])h[0](b,l,d);a.G&&a.H!=h[1]&&Db(a.G,b,l)}else a.G&&(cb(a.G,a,b,l,d),a.H&&Db(a.G,b,l));f+=g<<3;b+=g;e-=g}}function tb(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Eb;if(lb){var Nb=new ArrayBuffer(2);(new DataView(Nb)).setUint16(0,256,!0);Eb=256===(new Uint16Array(Nb))[0]}else Eb=!1;var Ob=Eb; -function D(a,b,c,d){this.id=Pb+=2;this.b=null;this.D=a;this.ob=b;this.size=c||0;this.type=d||Qb;this.K=d==Rb;rb(this);this.ya=this.Lb=!1;if(c)if(lb)this.F=new ArrayBuffer(c),this.H=new DataView(this.F,0,c),this.C=new Uint8Array(this.F,0,c),this.J=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),Sb(this,Ob?Tb:Ub);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},ea: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},xa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.ya=!0},Z:function(a,b){if(this.G&&null!=this.D){var c=this.G;Zb(c,this.D+a,1,c.Z)&&c.da(!0)}return this.mb(a,b)},ia:function(a,b){if(this.G&&null!=this.D){var c=this.G;Zb(c,this.D+a,2,c.Z)&&c.da(!0)}return this.Eb(a,b)},sa:function(a,b,c){if(this.G&&null!=this.D){var d=this.G;Zb(d,this.D+a,1,d.H)&&d.da(!0)}this.K?this.B(a,b,c):this.pb(a,b,c)},Ga:function(a, -b,c){if(this.G&&null!=this.D){var d=this.G;Zb(d,this.D+a,2,d.H)&&d.da(!0)}this.K?this.B(a,b,c):this.Fb(a,b,c)},Y:function(a){return this.C[a]},ba:function(a){return this.C[a]},ga:function(a){return this.H.getUint16(a,!0)},qa:function(a){return a&1?this.C[a]|this.C[a+1]<<8:this.J[a>>1]},Fa:function(a,b){this.C[a]=b;this.ya=!0},wa:function(a,b){this.C[a]=b;this.ya=!0},Ca:function(a,b){this.H.setUint16(a,b,!0);this.ya=!0},eb:function(a,b){a&1?(this.C[a]=b,this.C[a+1]=b>>8):this.J[a>>1]=b;this.ya=!0}}; -function rb(a,b,c){a.G=b;a.w=a.u=0;c&&((a.w=c.w)&&Yb(a,Xb,!1),(a.u=c.u)&&Wb(a,Xb,!1))}function $b(a,b){b?0===--a.u&&(a.cb=a.K?a.B:a.pb,a.Vb=a.K?a.I:a.Fb):0===--a.w&&(a.ab=a.mb,a.Tb=a.Eb)}function Wb(a,b,c){c&&a.u||(a.cb=!a.K&&b[2]||a.B,a.Vb=!a.K&&b[3]||a.I);if(c||void 0===c)a.pb=b[2]||a.B,a.Fb=b[3]||a.I}function Yb(a,b,c){c&&a.w||(a.ab=b[0]||a.L,a.Tb=b[1]||a.V);if(c||void 0===c)a.mb=b[0]||a.L,a.Eb=b[1]||a.V}function Sb(a,b){b||(b=ac);Yb(a,b,void 0);Wb(a,b,void 0)} -var ac=[],Vb=[D.prototype.ea,D.prototype.ra,D.prototype.xa,D.prototype.Ha],Xb=[D.prototype.Z,D.prototype.ia,D.prototype.sa,D.prototype.Ga];if(lb)var Ub=[D.prototype.Y,D.prototype.ga,D.prototype.Fa,D.prototype.Ca],Tb=[D.prototype.ba,D.prototype.qa,D.prototype.wa,D.prototype.eb]; -function bc(a,b){v.call(this,"CPU",a,bc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.$a=c;this.i.wb=0;this.i.Na=d;this.i.Bb=Math.round(this.i.$a/1E4)/100;this.i.La=this.i.Bb*this.i.Na;this.A.na=!1;this.A.Ab=!1;this.A.Kb=a.autoStart;this.A.Mb=!1;this.A.Ra=!1;this.i.gb=this.i.Xa=0;this.i.hb=a.csStart;this.i.Wa=a.csInterval;this.i.Ya=a.csStop;this.Z=this.Oa.bind(this);C(this)}Wa(bc);var cc=["power","reset"];m=bc.prototype; -m.Ea=function(a,b,c,d){this.w=a;this.C=b;this.G=d;for(b=0;b=a.i.Xa&&(a.i.Xa+=a.i.Wa,c=!0);0<=a.i.Ya&&a.i.Ya<=vc(a)&&(a.i.Wa=a.i.Ya=-1,fc(a),a.da(),c=!0);c&&a.g(vc(a)+" cycles: checksum="+q(a.i.gb))}} -m.ma=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.K[b]=c;a=!0;break;case "run":this.K[b]=c;c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.A.ka)a=!0;else{var b=null,c,g=Za(a.id);for(c=0;cc&&(c=2);var d=1;b&&1a.i.Ka/a.i.La?b=1:d=!0;a.i.Na=b;b=a.i.Bb*a.i.Na;if(a.i.La!=b){a.i.La=b;b=a.i.La.toFixed(2)+"Mhz";var e=a.K.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.w&&a.w.nb()}xc(a,a.H);a.H=0;a.i.Va=ka();a.i.Ma=0;yc(a);return d} -m.Oa=function(a){if(hb(this,!0)){if(!this.A.na){wc(this);this.w&&this.w.start(this.i.Va,vc(this));this.A.na=!0;this.A.Ab=!0;this.B&&this.B.start();var b=this.K.run;b&&(b.textContent="Halt");this.w&&(this.w.va(!0),a&&this.w.nb(!0))}this.i.Db>=this.i.$a&&yc(this,!0);this.i.kb=0;this.i.vb=ka();this.i.Ma&&(a=this.i.vb-this.i.Ma,a>this.i.Pb&&(this.i.Va+=a,this.i.Va>this.i.vb&&(this.i.Va=this.i.vb)));try{do{this.bb(this.A.Ra?1:this.i.hc);var c=this.F-this.b;this.H+=c;this.i.kb+=c;xc(this,0,!0);uc(this, -c);this.i.jb-=c;0>=this.i.jb&&(this.i.jb+=this.i.Rb,this.w&&zc(this.w,this.i.wb++),this.i.wb>this.Fa&&(this.i.wb=0));this.i.ib-=c;0>=this.i.ib&&(this.i.ib+=this.i.Qb,this.w&&this.w.va());this.i.Za-=c;if(0>=this.i.Za){this.i.Za+=this.i.Cb;break}}while(this.A.na)}catch(e){this.da();sc(this);this.w&&this.w.stop(ka(),vc(this));hb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.Z;this.i.Ma=ka();b=this.i.Pb;this.i.kb&&(b=Math.round(b*this.i.kb/this.i.Cb));var b=b-(this.i.Ma-this.i.vb),d= -this.i.Ma-this.i.Va;d&&(this.i.Ka=Math.round(this.H/(10*d))/100,864E5<=d&&(this.I=0,wc(this)));if(0>b||this.i.Ka>8&255;a.O=b&255}function Kc(a){return a.P<<8|a.R}function Lc(a,b){a.P=b>>8&255;a.R=b&255}function H(a){return a.S<<8|a.U} -function Mc(a,b){a.S=b>>8&255;a.U=b&255}function E(a,b){a.M=b&65535}function I(a){return a.X&256?1:0}function Nc(a,b){a.X=a.X&255|b}function Oc(a){return mb[a.aa&255]?4:0}function Pc(a){return(a.aa^a.la)&16?16:0}function Qc(a){return a.X&255?0:64}function Rc(a){return a.aa&128?128:0}function Gc(a){return a.pa&-214|Rc(a)|Qc(a)|Pc(a)|Oc(a)|I(a)}function Ec(a,b){a.X=a.aa=a.la=0;b&1&&(a.X|=256);b&4||(a.aa|=1);b&16&&(a.la|=16);b&64||(a.X|=255);b&128&&(a.aa^=192);a.pa=a.pa&-726|b&512|2} -function Sc(a,b){a.la=a.j^b;return a.aa=(a.X=a.j+b)&255}function Tc(a,b){a.la=a.j^b;return a.aa=(a.X=a.j+b+(a.X&256?1:0))&255}function Uc(a,b){a.X=a.aa=a.la=a.j&b;(a.j|b)&8&&(a.la^=16);return a.X}function Vc(a,b){a.la=b^255;b=a.aa=b+255&255;a.X=a.X&-256|b;return b}function Wc(a,b){a.la=b;b=a.aa=b+1&255;a.X=a.X&-256|b;return b}function Xc(a,b){return a.aa=a.X=a.la=a.j|b}function J(a,b){b^=255;a.la=a.j^b;return a.aa=(a.X=a.j+b+1^256)&255} -function od(a,b){b^=255;a.la=a.j^b;return a.aa=(a.X=a.j+b+(a.X&256?0:1)^256)&255}function pd(a,b){return a.aa=a.X=a.la=a.j^b}m.W=function(a){return this.C.W(a)};m.ha=function(a,b){this.C.ha(a,b)};function L(a){var b=a.W(a.M);E(a,a.M+1);return b}function N(a){var b=a.C.Ia(a.M);E(a,a.M+2);return b}function O(a){var b=a.C.Ia(a.ca);a.ca=a.ca+2&65535;return b}function Q(a,b){a.ca=a.ca-2&65535;a.C.xb(a.ca,b)} -function R(a,b,c,d){d=d||2;a.K[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.da()),c=!a.A.na||a.A.Mb?q(c,d):"--------".substr(0,d),a.K[b].textContent!=c&&(a.K[b].textContent=c))} -m.va=function(a){this.Y&&(a||!this.A.na||this.A.Mb)&&(R(this,"A",this.j),R(this,"B",this.N),R(this,"C",this.O),R(this,"BC",Ic(this),4),R(this,"D",this.P),R(this,"E",this.R),R(this,"DE",Kc(this),4),R(this,"H",this.S),R(this,"L",this.U),R(this,"HL",H(this),4),R(this,"SP",this.ca,4),R(this,"PC",this.M,4),a=Gc(this),R(this,"PS",a,4),R(this,"IF",a&512?1:0,1),R(this,"SF",a&128?1:0,1),R(this,"ZF",a&64?1:0,1),R(this,"AF",a&16?1:0,1),R(this,"PF",a&4?1:0,1),R(this,"CF",a&1?1:0,1));if(a=this.K.speed)a.textContent= -this.A.na&&this.i.Ka?this.i.Ka.toFixed(2)+"Mhz":"Stopped"}; -m.bb=function(a){this.A.tb=!0;var b=this.A.Yb=this.G&&qd(this.G),c=a?this.A.Ab?0:1:-1;this.A.Ab=!1;this.F=this.b=a;do{if(this.u){var d;this.u&8&&this.pa&512?(d=199|(this.u&7)<<3,this.u&=-16,this.pa&=-513,this.L[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.u&16){this.b=0;break}}if(b){if(rd(this.G,this.M,c)){this.da();break}c=1}this.L[L(this)].call(this)}while(0>8;Nc(this,a&256);this.b-=4},sd,function(){var a;Mc(this,a=H(this)+Ic(this));Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Ic(this));this.b-=7},function(){Jc(this,Ic(this)-1);this.b-= -5},function(){this.O=Wc(this,this.O);this.b-=5},function(){this.O=Vc(this,this.O);this.b-=5},function(){this.O=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Nc(this,a);this.b-=4},sd,function(){Lc(this,N(this));this.b-=10},function(){this.ha(Kc(this),this.j);this.b-=7},function(){Lc(this,Kc(this)+1);this.b-=5},function(){this.P=Wc(this,this.P);this.b-=5},function(){this.P=Vc(this,this.P);this.b-=5},function(){this.P=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| -I(this);Nc(this,a&256);this.b-=4},sd,function(){var a;Mc(this,a=H(this)+Kc(this));Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Kc(this));this.b-=7},function(){Lc(this,Kc(this)-1);this.b-=5},function(){this.R=Wc(this,this.R);this.b-=5},function(){this.R=Vc(this,this.R);this.b-=5},function(){this.R=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(I(this)<<8|this.j)>>1;Nc(this,a&256);this.b-=4},sd,function(){Mc(this,N(this));this.b-=10},function(){var a=N(this);this.C.xb(a,H(this));this.b-= -16},function(){Mc(this,H(this)+1);this.b-=5},function(){this.S=Wc(this,this.S);this.b-=5},function(){this.S=Vc(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=0,b=I(this);if(Pc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Sc(this,a);Nc(this,b?256:0);this.b-=4},sd,function(){var a;Mc(this,a=H(this)+H(this));Nc(this,a>>8&256);this.b-=10},function(){var a;a=N(this);a=this.C.Ia(a);Mc(this,a);this.b-=16},function(){Mc(this,H(this)-1);this.b-=5},function(){this.U= -Wc(this,this.U);this.b-=5},function(){this.U=Vc(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},sd,function(){this.ca=N(this)&65535;this.b-=10},function(){this.ha(N(this),this.j);this.b-=13},function(){this.ca=this.ca+1&65535;this.b-=5},function(){var a=H(this);this.ha(a,Wc(this,this.W(a)));this.b-=10},function(){var a=H(this);this.ha(a,Vc(this,this.W(a)));this.b-=10},function(){this.ha(H(this),L(this));this.b-=10},function(){this.X|=256;this.b-= -4},sd,function(){var a;Mc(this,a=H(this)+this.ca);Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(N(this));this.b-=13},function(){this.ca=this.ca-1&65535;this.b-=5},function(){this.j=Wc(this,this.j);this.b-=5},function(){this.j=Vc(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){Nc(this,I(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.N=this.R;this.b-=5},function(){this.N=this.S;this.b-= -5},function(){this.N=this.U;this.b-=5},function(){this.N=this.W(H(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.O=this.N;this.b-=5},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.R;this.b-=5},function(){this.O=this.S;this.b-=5},function(){this.O=this.U;this.b-=5},function(){this.O=this.W(H(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P= -this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.U;this.b-=5},function(){this.P=this.W(H(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.N;this.b-=5},function(){this.R=this.O;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.U;this.b-=5},function(){this.R=this.W(H(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.S= -this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.W(H(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.U=this.N;this.b-=5},function(){this.U=this.O;this.b-=5},function(){this.U=this.P;this.b-=5},function(){this.U=this.R;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.b-=5},function(){this.U=this.W(H(this));this.b-=7},function(){this.U=this.j; -this.b-=5},function(){this.ha(H(this),this.N);this.b-=7},function(){this.ha(H(this),this.O);this.b-=7},function(){this.ha(H(this),this.P);this.b-=7},function(){this.ha(H(this),this.R);this.b-=7},function(){this.ha(H(this),this.S);this.b-=7},function(){this.ha(H(this),this.U);this.b-=7},function(){var a=this.M-1;if(this.J.length)for(var b=0;b>8;this.b-=10},function(){var a=N(this);Rc(this)||E(this,a);this.b-=10},function(){this.pa&=-513;this.b-=4},function(){var a=N(this);Rc(this)||(Q(this,this.M),E(this,a),this.b-=6);this.b-=11},function(){Q(this,Gc(this)&255|this.j<<8);this.b-=11},function(){this.j=Xc(this,L(this));this.b-=7},function(){Q(this,this.M);E(this,48);this.b-=11},function(){Rc(this)&&(E(this,O(this)), -this.b-=6);this.b-=5},function(){this.ca=H(this)&65535;this.b-=5},function(){var a=N(this);Rc(this)&&E(this,a);this.b-=10},function(){this.pa|=512;this.b-=4},function(){var a=N(this);Rc(this)&&(Q(this,this.M),E(this,a),this.b-=6);this.b-=11},vd,function(){J(this,L(this));this.b-=7},function(){Q(this,this.M);E(this,56);this.b-=11}]; -function S(a){v.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!wd[b]&&t("Unrecognized ChipSet model: "+b);this.Ua=wd[b]||xd;a.sound&&(this.V=null,window&&(this.V=window.AudioContext||window.webkitAudioContext),this.V&&new this.V);C(this)}Wa(S);var xd=1978.1,wd={SI1978:xd};m=S.prototype;m.ma=function(){return!1}; -m.Ea=function(a,b,c,d){this.C=b;this.b=c;this.G=d;this.w=a;if(this.Ua==xd){var e;a=yd;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.w[g]?t("Input port "+r(g)+" already registered"):c.w[g]=[h,!1]}var l;e=zd;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.u[d]?t("Output port "+r(d)+" already registered"):f.u[d]=[c,!1]}}; -m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.Aa=function(a){return a?this.save():!0};m.reset=function(){this.J=14;this.u=8;this.H=this.I=this.F=this.B=this.L=0};m.save=function(){var a=new Hc(this);this.Ua==xd&&F(a,0,[this.J,this.u,this.L,this.B,this.F,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];this.Ua==xd&&(this.J=a[0],this.u=a[1],this.L=a[2],this.B=a[3],this.F=a[4],this.H=a[5],this.I=a[6]);return!0};m.start=function(){};m.stop=function(){}; -function Ad(a,b,c){a.u&=~b;c&&(a.u|=b)}m.cc=function(a,b){var c=this.J;bb(this,a,null,b,"STATUS0",c);return c};m.dc=function(a,b){var c=this.u;bb(this,a,null,b,"STATUS1",c);return c};m.ec=function(a,b){var c=this.L;bb(this,a,null,b,"STATUS2",c);return c};m.bc=function(a,b){var c=this.B>>8-this.F&255;bb(this,a,null,b,"SHIFT.RESULT",c);return c};m.ic=function(a,b,c){bb(this,a,b,c,"SHIFT.COUNT",null);this.F=b};m.kc=function(a,b,c){bb(this,a,b,c,"SOUND1",null);this.H=b}; -m.jc=function(a,b,c){bb(this,a,b,c,"SHIFT.DATA",null);this.B=b<<8|this.B>>8};m.lc=function(a,b,c){bb(this,a,b,c,"SOUND2",null);this.I=b};m.mc=function(a,b,c){bb(this,a,b,c,"WATCHDOG",null)};var yd={0:S.prototype.cc,1:S.prototype.dc,2:S.prototype.ec,3:S.prototype.bc},zd={2:S.prototype.ic,3:S.prototype.kc,4:S.prototype.jc,5:S.prototype.lc,6:S.prototype.mc};Ha(function(){for(var a=z(document,"pc8080","chipset"),b=0;b>>0,h],p=ja(n,l,a.qb);0>p&&n.splice(-(p+1),0,l)}k&&(g.a=k.replace(/''/g,'"'))}a.I.push({nc:b,D:c,gc:d,Da:e,Gb:f})}delete this.Da}return!0};Bd.prototype.Aa=function(){return!0}; -function Cd(a,b,c,d){if(d)a.oa("Unable to load system ROM (error "+d+": "+b+")");else{Ya(a.Ib,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.w=f;else if(h)for(a.w=Array(4*h.length),d=c=0;c>8&255,a.w[d++]=h[c]>>16&255,a.w[d++]=h[c]>>24&255;else a.w=e;a.Da=e.symbols;if(!a.w.length){t("Empty ROM: "+b);return}if(1==a.w.length){t(a.w[0]);return}}catch(g){a.oa("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.w=Array(b.length),e=0;e>>f.fa;0>>=f.fa;0>3)*this.Y;sb(this.C,this.wa,this.sa,3)&&(this.Ha=this.sa>>1,this.fb=16/this.ra|0,this.xa=!1,void 0===this.ia||this.ia.length!=this.Ha)&&(this.ia=Array(this.Ha));(this.ea=ob(a,"Keyboard"))&&this.H&&this.ea.ma(this.sb?"textarea":"canvas","kbd",this.ba);C(this)}; -Nd.prototype.ma=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.K[b]=c,this.u&&this.u.Pa?c.onclick=function(){d.Pa()}:c.parentNode.removeChild(c),!0}return!1}; -Nd.prototype.Pa=function(){var a=!1;if(this.u){if(this.u.Pa){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.qa/this.Z;b>c&&(a=Math.round(c/b*100)+"%")}this.Ca?(this.H.style.width=a,this.H.style.width=a,this.H.style.display="block",this.H.style.margin="auto"):(this.u.style.width=a,this.u.style.height="auto");this.u.style.backgroundColor="black";this.u.Pa();a=!0}this.ba&&this.ba.focus()}return a}; -function Od(a,b){!b&&a.u&&(a.Ca?a.H.style.width=a.H.style.height="":a.u.style.width=a.u.style.height="");db(a,"notifyFullScreen("+b+")",!0)} -Ha(function(){for(var a=z(document,"pc8080","video"),b=0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ga("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Nd(d,e,h,f,c);ab(d,c)}}); -function Pd(a){v.call(this,"Debugger",a,Pd);this.style=Qd;this.ea=this.Ca=this.L=0;this.Y=T();this.rb=T();this.F=-1;this.B=[];this.ia=!1;this.ga=T();this.I=[];this.qa={};this.u=this.Z=this.H=[];Rd(this);this.wa=0;Sd(this);this.Ga=[];Td(this,a.messages);this.Ha=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return rc(b,a)}):void 0===global.$&&(global.$=function(a){return rc(b,a)})}Wa(Pd); -var Ud={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",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"},Qd=8080,Vd="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "), -Wd="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),Xd="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Yd=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768], -[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617], -[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43, -785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273], -[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785], -[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62], -[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19, -18193,33],[65,128]],Zd={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};m=Pd.prototype; -m.Ea=function(a,b,c,d){this.C=b;this.b=c;this.w=a;(a=dc(a,"messages"))&&Td(this,a);this.fb=Yd;$d(this,function(a){a:{var b=d.C.T,c=a[0],g=a=0,l=b.length;if(c){a=V(W(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.C.fa;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,k=0;l--;){var n=b[g];n.type==c?k++||d.g("..."):(c=n.type,k=ub[c],n&&d.g(q(n.id)+" %"+q(g<>>e.fa;f!=e.C?e.T[h].Fb(f,b&65535,d):(e.T[h++].pb(f,b&255,d),e.T[h&e.J].pb(0,b>>8&255,d+1));c&&ae(a,c);sc(this.b,!0)}};function T(a){return{D:a,za:!1}}function be(a){return[a.D,a.za]}function ce(a){return{D:a[0],za:a[1]}} -function W(a,b,c){var d;c=(c?a.Y:a.rb).D;if(void 0!==b){d=b=de(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=na(Xd,a.substr(b,1))));return c}function je(a,b){var c=0,d=ke(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?q(d,c):"??"} -function ke(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.N;break;case 1:c=d.O;break;case 8:c=Ic(d);break;case 2:c=d.P;break;case 3:c=d.R;break;case 9:c=Kc(d);break;case 4:c=d.S;break;case 5:c=d.U;break;case 10:c=H(d);break;case 6:c=d.W(H(d));break;case 11:c=d.ca;break;case 12:c=d.M;break;case 13:c=Gc(d);break;case 14:c=Gc(d)&255|d.j<<8}}return c} -function le(a,b){b=de(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=ie(b,c+1),0<=e&&(b=b.substr(0,c)+je(a,e)+b.substr(c+1+Xd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=W(a,e))?(d=e+' "'+he(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=W(a,e))?(ae(d),d=e+' "'+ -he(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+X(T(this.b.M).D));if(!this.xa||a!=this.xa)if(this.xa=a,this.ja&-2147483648&&(this.da(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Za=0;c.F-=c.b;c.b=0;sc(c)}};function cb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ja&g)!=g||a.message(b.eb+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+X(e):""))} -function Sd(a){var b;if(qd(a)){if(!a.V||!a.V.length){a.V=Array(1E3);for(b=0;b>>d.fa],!1)}a.Z=["br"];if(void 0!==a.H)for(b=1;b>>d.fa],!0);a.H=["bw"];a.sb=0}m.Ja=function(a,b,c){var d=!0;c||qe(this,a,b,!1,!0);if(a!=this.u){var e=V(b);if(-1===e)this.g("invalid address: "+X(b.D)),d=!1;else{var f=this.C;f.T[e>>>f.fa].Ja(e&f.C,a==this.H)}}d&&(a.push(b),c?b.za=!0:(re(this,a,a.length-1,"set"),Sd(this)));return d}; -function qe(a,b,c,d,e){var f=!1;c=V(c);for(var h=1;h>>d.fa],b==a.H));g.za||Sd(a);break}}return f}function se(a,b){for(var c=1;c>24,4);break;case 3:w=q(B.Ia(ma,2),4);break;default:B="imm("+r(u)+")";break a}8086==B.style&&u&64?w="["+w+"]":u&16||(w=(B.style==Qd?"$":"0x")+w); -B=w}else u&16?(B=(p&3840)>>8,u=Xd[B],8086==a.style&&p&64&&(6==B&&(u="HL"),u="["+u+"]"),B=u):u&128&&(B=(f>>3&7).toString());if(!B||!B.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Xe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ee(a,b,c){var d;if(b){b=de(a,b);for(var e=0,f=!1,h=b,g=[],l=[],k=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function $e(a,b){if(b)return Ze(a,b,a.qa[b]);var c=0;for(b in a.qa)Ze(a,b,a.qa[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.gc;if(e>=h&&e>8&255;case "C":d.O=g&255;break;case "D":d.P= -g&255;break;case "DE":d.P=g>>8&255;case "E":d.R=g&255;break;case "H":d.S=g&255;break;case "HL":d.S=g>>8&255;case "L":d.U=g&255;break;case "SP":d.ca=g&65535;break;case "PC":E(d,g);a.Y=T(d.M);break;case "PS":Ec(d,g);break;case "PSW":Ec(d,g&255|d.pa&-256);d.j=g>>8;break;case "CF":d.X=g?d.X|256:d.X&255;break;case "PF":g?Oc(d)||(d.aa^=1):Oc(d)&&(d.aa^=1);break;case "AF":d.la=g?~d.aa&16|d.la&-17:d.aa&16|d.la&-17;break;case "ZF":d.X=g?d.X&-256:d.X|255;break;case "SF":g?Rc(d)||(d.aa^=192):Rc(d)&&(d.aa^=192); -break;case "IF":d.pa=g?d.pa|512:d.pa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}sc(d);a.g("updated registers:")}a.g(Ve(a));c&&(a.Y=T(d.M),oe(a,X(a.Y.D)))}}function gf(a,b){b=ia(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(le(a,c[2])):ee(a,b,!0)}function hf(a,b,c){var d="t"!=b;c=Ye(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);xa(c,function(){return hb(a,!0)&&a.bb(e,d,!1)},function(){sc(a.b);hb(a,!1)})} -function oe(a,b,c,d){if(b=W(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=W(a,c,!0);if(!d||d.Dg[0].indexOf("+"))){var k=g[0]+":";g[2]&&(k+=" "+g[2]);a.g(k)}g[3]&&(h=g[3],f=null);f=ue(a,b,h,f);a.g(f);a.Y=b;e-=b.D-l;c++}}} -function ge(a,b,c,d){if(c)if(b){0>a.F&&a.B.length&&(a.F=0);if(0>a.F||b!=a.B[a.F])a.B.splice(0,0,b),a.F=0;a.F--}else a.ia?b="end":b=a.B[a.F+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ia(b.substring(c,f))),c=f+1}}return a} -function te(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ia&&(a.g("ended assemble at "+X(a.ga.D)),a.Y=a.ga,a.ia=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.xa=null;if(jb(a)&&0k||"z"za.length&&(a.g("note: only "+za.length+" available"),Z=za.length);U-=Z;0>U&&(null==za[za.length-1].D?(Z=U+Z,U=0):U+=za.length);var $c=[];"call"==Be&&(fb=1E5, -$c=["CALL"]);for(void 0!==Ae&&a.g(Z+" instructions earlier:");0=za.length&&(U=0);a.Nb=Z;De++;fb--}}De||(a.g("no "+Ce+"history available"),a.Nb=void 0)}else{var gc=W(a,A);if(gc){var hc=0;Y&&("l"==Y.charAt(0)&&(Y=Y.substr(1)||Ff),hc=Ye(a,Y)>>>0,65536>4||1;Hf--&&0lc?String.fromCharCode(lc):".";jc--}Ma&&(Ma+="\n");Ma+=A+" "+Hb+(0==Gb?" "+bd:"")}Ma&&a.g(Ma);a.rb=gc}}}}break;case "e":if("else"==f[0])break;var mc=1,Ge=255,He=a.W,Ie=a.ha;"ew"==f[0]&&(mc=2,Ge=65535,He=a.Ia,Ie=a.xb);var Je=mc<<1,Ke=f[1];if(null==Ke)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"), -a.g("\tew [a] [...] edit words at address a");else{var nc=W(a,Ke);if(nc)for(var oc=2;ochd;){for(var Na=null,Mf=256;65536>Kb.D>>>0;){Me.D=a.Ia(Kb,2);if(null==Kb.D||!Mf--)break;for(var Nf=a,pc=Me,Ne=null,Lb=pc.D,Oe=Lb,id=1;6>=id&&Lb;id++){if(2sf){if(of(d,this.Y)){this.H=new Hc(this,vf,"failsafe");of(this.H)&&(Bf(this,d),a=2,lf(this.H));F(this.H,"timestamp",la());mf(this.H);var e=this.w&&!this.J;if(1==a||ra("Click OK to restore the previous "+uf+" machine state, or CANCEL to reset the machine.")){if(c=nf(d)){var f=pf(d,"code"),h=pf(d,"data");f&&("ok"==f?of(d,h):("error"==f&&"no machine state"!= -h?(this.oa("Error: "+h),"unable to verify user"==h&&(va("user",""),this.u=null)):this.g(f+": "+h),lf(d),of(d)?(c=nf(d),e=!0):c=!1))}e&&Af(this,c?d:null)}else 2==a&&d.clear()}else Af(this);delete this.Y;delete this.Z}e=Za(this.id);for(f=0;fa[1];a=a[2];this.sa=!0;this.A.ka=!0;var d=this.K.power;d&&(d.textContent="Shutdown");this.b&&(Cf(this,this.b,b,c,a),tc(this.b));this.ga&&(Bf(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.B=0}; -function Bf(a,b){if(ra("There may be a problem with your "+uf+" machine.\n\nTo help us diagnose it, click OK to send this "+uf+" machine state to http://www.pcjs.org.")){var c=a.ra,d=a.u||"",e=b.toString(),f=vf,h={};h.app=uf;h.ver=f;h.url=c;h.user=d;h.type="bug";h.data=e;oa("http://www.pcjs.org/api/v1/report",h,!0)}} -function jf(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new Hc(a,vf),h=new Hc(a,vf,"validate"),g=la();F(h,"timestamp",g);F(f,"timestamp",g);F(f,"version","1.22.1");F(f,"url",window?window.location.href:null);F(f,"browser",qa());a.b&&a.b.Aa&&(c&&a.b.da(),d=a.b.Aa(b,c),"object"===typeof d&&F(f,a.b.id,d),c&&(a.b.A.ka=!1,!1===d&&(e=null)));for(var g=Za(a.id),l=0;l>>e.fa;0>8|(w&255)<<8);n>ea&ma,P=d.Ga,A=n++,Y=M,M=void 0,M=d.B?(P.height-A-1)*P.width+p:A+p*P.width;Y&&(208<=A&&236>A?Y=d.ga+0:28<=A&&72>A&&(Y=d.ga+1));A=d.V[Y];M*=A.length;P.data[M]=A[0];P.data[M+1]=A[1];P.data[M+2]=A[2];P.data[M+3]=A[3];ea+=u}n>x&&(x=n);p=h&&(h=p+1)}g+=2;k++;if(n>=d.J&&(n=0,p++,p>d.Y))break}d.xa=!0;eg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,n=/( [a-z]+=)(['"])(.*?)\2/g;k=n.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Vf(a,b,c)}})}else c(a,null)} -function Wf(a,b,c,d){function e(a){if(void 0===g){var b=h&&z(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--Sf||Ka(!0));l=!1}var h,g,l=!0;Sf++;Xa[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=k:p.appendChild(document.createTextNode(k));n.appendChild(p)}c|| -(c="/versions/pc8080/1.22.1/components.xsl");k=function(d,g){g?Tf(c,null,null,!1,e,function(d,k){if(k)if(Ya(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Sf||Ka(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Sf||Ka(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Tf(b,a,d,!0,e,k):Uf(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(x){f(x.message)}return l}window.embedPC8080=function(a,b,c,d){Ka(!1);return Wf(a,b,c,d)};window.enableEvents=Ka;window.sendEvent=La; -function Xf(a,b,c,d){if(!c&&b){d.push(b);a=Xa[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){Yf(b,d)}):Yf(null,d)}else t("Error ("+c+") requesting "+a)} -function Yf(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Xa[f],l={},k;for(k in g){var n=g[k],p=ca(k);if("xml"==p){for(p=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[k]);){var x=d[2];x&&(g[x]||(n=n.replace(d[0],"")))}d=k=ba(k)}else"xsl"==p&&(e=k=ba(k));l[k]=n}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),k=h,g=null,l="data:application/javascript,",l=wa("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', -c+='
    \n',c+="...\n",c+=' -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pc8080/1.23.0/document.css b/versions/pc8080/1.23.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.23.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.23.0/document.xsl b/versions/pc8080/1.23.0/document.xsl deleted file mode 100644 index 0fbbdca95..000000000 --- a/versions/pc8080/1.23.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.23.0/machine.xsl b/versions/pc8080/1.23.0/machine.xsl deleted file mode 100644 index 3dc34dce8..000000000 --- a/versions/pc8080/1.23.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.23.0/manifest.xsl b/versions/pc8080/1.23.0/manifest.xsl deleted file mode 100644 index bf3256335..000000000 --- a/versions/pc8080/1.23.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.23.0/outline.xsl b/versions/pc8080/1.23.0/outline.xsl deleted file mode 100644 index eb5142e76..000000000 --- a/versions/pc8080/1.23.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.23.0/pc8080-dbg.js b/versions/pc8080/1.23.0/pc8080-dbg.js deleted file mode 100644 index 9a99881dd..000000000 --- a/versions/pc8080/1.23.0/pc8080-dbg.js +++ /dev/null @@ -1,214 +0,0 @@ -(function(){var m;function aa(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function q(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return"0x"+q(a,4)}function ba(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a,b){return(a+" ").slice(0,b)}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -function ja(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function na(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.I?10:20>=this.I?12:24>=this.I?14:15;this.ua=1<>2;this.C=this.ua-1;this.L=this.V/this.ua|0;this.J=this.L-1;this.w=[];this.u=[];this.F=this.H=!1;this.Z=[];this.ba=[];a=new D;rb(a,this.G);this.T=Array(this.L);for(b=0;b>>a.fa;0f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.D)return g.ob+=g.D-e,g.D=e,!0;if(e>=g.D+g.ob){k=g.size-(e-l);k>f&&(k=f);g.ob=e-g.D+k;e=l+a.ua;f-=k;h++;continue}}return tb(1,e,f)}e=new D(e,k,a.ua,d);rb(e,a.G,g);a.T[h++]=e;e=l+a.ua;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ub[d]+" at "+r(b)),!0):tb(2,b,c)}m.W=function(a){return this.T[(a&this.B)>>>this.fa].ab(a&this.C,a)}; -function vb(a,b){return a.T[(b&a.B)>>>a.fa].mb(b&a.C,b)}m.Ia=function(a){var b=a&this.C,c=(a&this.B)>>>this.fa;return b!=this.C?this.T[c].Tb(b,a):this.T[c++].ab(b,a)|this.T[c&this.J].ab(0,a+1)<<8};function wb(a,b){var c=b&a.C,d=(b&a.B)>>>a.fa;return c!=a.C?a.T[d].Eb(c,b):a.T[d++].mb(c,b)|a.T[d&a.J].mb(0,b+1)<<8}m.ha=function(a,b){this.T[(a&this.B)>>>this.fa].cb(a&this.C,b&255,a)};function xb(a,b,c){a.T[(b&a.B)>>>a.fa].pb(b&a.C,c&255,b)} -m.xb=function(a,b){var c=a&this.C,d=(a&this.B)>>>this.fa;c!=this.C?this.T[d].Vb(c,b&65535,a):(this.T[d++].cb(c,b&255,a),this.T[d&this.J].cb(0,b>>8&255,a+1))};function yb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.w[b]&&(a.w[b]=[null,!1]);a.w[b][1]=!a.w[b][1];return a.w[b][1]} -function zb(a,b,c){for(var d=1,e=0,f=0;0>>=f)&l;if(void 0!==h){if(h[0])h[0](b,l,d);a.G&&a.H!=h[1]&&Lb(a.G,b,l)}else a.G&&(cb(a.G,a,b,l,d),a.H&&Lb(a.G,b,l));f+=g<<3;b+=g;e-=g}}function tb(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Mb;if(lb){var Nb=new ArrayBuffer(2);(new DataView(Nb)).setUint16(0,256,!0);Mb=256===(new Uint16Array(Nb))[0]}else Mb=!1;var Ob=Mb; -function D(a,b,c,d){this.id=Pb+=2;this.b=null;this.D=a;this.ob=b;this.size=c||0;this.type=d||Qb;this.K=d==Rb;rb(this);this.ya=this.Lb=!1;if(c)if(lb)this.F=new ArrayBuffer(c),this.H=new DataView(this.F,0,c),this.C=new Uint8Array(this.F,0,c),this.J=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),Sb(this,Ob?Tb:Ub);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},ea: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},xa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.ya=!0},Z:function(a,b){if(this.G&&null!=this.D){var c=this.G;Zb(c,this.D+a,1,c.Z)&&c.da(!0)}return this.mb(a,b)},ia:function(a,b){if(this.G&&null!=this.D){var c=this.G;Zb(c,this.D+a,2,c.Z)&&c.da(!0)}return this.Eb(a,b)},sa:function(a,b,c){if(this.G&&null!=this.D){var d=this.G;Zb(d,this.D+a,1,d.H)&&d.da(!0)}this.K?this.B(a,b,c):this.pb(a,b,c)},Ga:function(a, -b,c){if(this.G&&null!=this.D){var d=this.G;Zb(d,this.D+a,2,d.H)&&d.da(!0)}this.K?this.B(a,b,c):this.Fb(a,b,c)},Y:function(a){return this.C[a]},ba:function(a){return this.C[a]},ga:function(a){return this.H.getUint16(a,!0)},qa:function(a){return a&1?this.C[a]|this.C[a+1]<<8:this.J[a>>1]},Fa:function(a,b){this.C[a]=b;this.ya=!0},wa:function(a,b){this.C[a]=b;this.ya=!0},Ca:function(a,b){this.H.setUint16(a,b,!0);this.ya=!0},eb:function(a,b){a&1?(this.C[a]=b,this.C[a+1]=b>>8):this.J[a>>1]=b;this.ya=!0}}; -function rb(a,b,c){a.G=b;a.w=a.u=0;c&&((a.w=c.w)&&Yb(a,Xb,!1),(a.u=c.u)&&Wb(a,Xb,!1))}function $b(a,b){b?0===--a.u&&(a.cb=a.K?a.B:a.pb,a.Vb=a.K?a.I:a.Fb):0===--a.w&&(a.ab=a.mb,a.Tb=a.Eb)}function Wb(a,b,c){c&&a.u||(a.cb=!a.K&&b[2]||a.B,a.Vb=!a.K&&b[3]||a.I);if(c||void 0===c)a.pb=b[2]||a.B,a.Fb=b[3]||a.I}function Yb(a,b,c){c&&a.w||(a.ab=b[0]||a.L,a.Tb=b[1]||a.V);if(c||void 0===c)a.mb=b[0]||a.L,a.Eb=b[1]||a.V}function Sb(a,b){b||(b=ac);Yb(a,b,void 0);Wb(a,b,void 0)} -var ac=[],Vb=[D.prototype.ea,D.prototype.ra,D.prototype.xa,D.prototype.Ha],Xb=[D.prototype.Z,D.prototype.ia,D.prototype.sa,D.prototype.Ga];if(lb)var Ub=[D.prototype.Y,D.prototype.ga,D.prototype.Fa,D.prototype.Ca],Tb=[D.prototype.ba,D.prototype.qa,D.prototype.wa,D.prototype.eb]; -function bc(a,b){v.call(this,"CPU",a,bc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.$a=c;this.i.wb=0;this.i.Na=d;this.i.Bb=Math.round(this.i.$a/1E4)/100;this.i.La=this.i.Bb*this.i.Na;this.A.na=!1;this.A.Ab=!1;this.A.Kb=a.autoStart;this.A.Mb=!1;this.A.Ra=!1;this.i.gb=this.i.Xa=0;this.i.hb=a.csStart;this.i.Wa=a.csInterval;this.i.Ya=a.csStop;this.Z=this.Oa.bind(this);C(this)}Wa(bc);var cc=["power","reset"];m=bc.prototype; -m.Ea=function(a,b,c,d){this.w=a;this.C=b;this.G=d;for(b=0;b=a.i.Xa&&(a.i.Xa+=a.i.Wa,c=!0);0<=a.i.Ya&&a.i.Ya<=vc(a)&&(a.i.Wa=a.i.Ya=-1,qc(a),a.da(),c=!0);c&&a.g(vc(a)+" cycles: checksum="+q(a.i.gb))}} -m.ma=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.K[b]=c;a=!0;break;case "run":this.K[b]=c;c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.A.ka)a=!0;else{var b=null,c,g=Za(a.id);for(c=0;cc&&(c=2);var d=1;b&&1a.i.Ka/a.i.La?b=1:d=!0;a.i.Na=b;b=a.i.Bb*a.i.Na;if(a.i.La!=b){a.i.La=b;b=a.i.La.toFixed(2)+"Mhz";var e=a.K.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.w&&a.w.nb()}xc(a,a.H);a.H=0;a.i.Va=ka();a.i.Ma=0;yc(a);return d} -m.Oa=function(a){if(hb(this,!0)){if(!this.A.na){wc(this);this.w&&this.w.start(this.i.Va,vc(this));this.A.na=!0;this.A.Ab=!0;this.B&&this.B.start();var b=this.K.run;b&&(b.textContent="Halt");this.w&&(this.w.va(!0),a&&this.w.nb(!0))}this.i.Db>=this.i.$a&&yc(this,!0);this.i.kb=0;this.i.vb=ka();this.i.Ma&&(a=this.i.vb-this.i.Ma,a>this.i.Pb&&(this.i.Va+=a,this.i.Va>this.i.vb&&(this.i.Va=this.i.vb)));try{do{this.bb(this.A.Ra?1:this.i.hc);var c=this.F-this.b;this.H+=c;this.i.kb+=c;xc(this,0,!0);uc(this, -c);this.i.jb-=c;0>=this.i.jb&&(this.i.jb+=this.i.Rb,this.w&&zc(this.w,this.i.wb++),this.i.wb>this.Fa&&(this.i.wb=0));this.i.ib-=c;0>=this.i.ib&&(this.i.ib+=this.i.Qb,this.w&&this.w.va());this.i.Za-=c;if(0>=this.i.Za){this.i.Za+=this.i.Cb;break}}while(this.A.na)}catch(e){this.da();sc(this);this.w&&this.w.stop(ka(),vc(this));hb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.Z;this.i.Ma=ka();b=this.i.Pb;this.i.kb&&(b=Math.round(b*this.i.kb/this.i.Cb));var b=b-(this.i.Ma-this.i.vb),d= -this.i.Ma-this.i.Va;d&&(this.i.Ka=Math.round(this.H/(10*d))/100,864E5<=d&&(this.I=0,wc(this)));if(0>b||this.i.Ka>8&255;a.O=b&255}function Kc(a){return a.P<<8|a.R}function Lc(a,b){a.P=b>>8&255;a.R=b&255}function H(a){return a.S<<8|a.U} -function Mc(a,b){a.S=b>>8&255;a.U=b&255}function E(a,b){a.M=b&65535}function I(a){return a.X&256?1:0}function Nc(a,b){a.X=a.X&255|b}function Oc(a){return mb[a.aa&255]?4:0}function Pc(a){return(a.aa^a.la)&16?16:0}function Qc(a){return a.X&255?0:64}function Rc(a){return a.aa&128?128:0}function Gc(a){return a.pa&-214|Rc(a)|Qc(a)|Pc(a)|Oc(a)|I(a)}function Ec(a,b){a.X=a.aa=a.la=0;b&1&&(a.X|=256);b&4||(a.aa|=1);b&16&&(a.la|=16);b&64||(a.X|=255);b&128&&(a.aa^=192);a.pa=a.pa&-726|b&512|2} -function Sc(a,b){a.la=a.j^b;return a.aa=(a.X=a.j+b)&255}function Tc(a,b){a.la=a.j^b;return a.aa=(a.X=a.j+b+(a.X&256?1:0))&255}function Uc(a,b){a.X=a.aa=a.la=a.j&b;(a.j|b)&8&&(a.la^=16);return a.X}function Vc(a,b){a.la=b^255;b=a.aa=b+255&255;a.X=a.X&-256|b;return b}function md(a,b){a.la=b;b=a.aa=b+1&255;a.X=a.X&-256|b;return b}function nd(a,b){return a.aa=a.X=a.la=a.j|b}function J(a,b){b^=255;a.la=a.j^b;return a.aa=(a.X=a.j+b+1^256)&255} -function od(a,b){b^=255;a.la=a.j^b;return a.aa=(a.X=a.j+b+(a.X&256?0:1)^256)&255}function pd(a,b){return a.aa=a.X=a.la=a.j^b}m.W=function(a){return this.C.W(a)};m.ha=function(a,b){this.C.ha(a,b)};function L(a){var b=a.W(a.M);E(a,a.M+1);return b}function N(a){var b=a.C.Ia(a.M);E(a,a.M+2);return b}function O(a){var b=a.C.Ia(a.ca);a.ca=a.ca+2&65535;return b}function Q(a,b){a.ca=a.ca-2&65535;a.C.xb(a.ca,b)} -function R(a,b,c,d){d=d||2;a.K[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.da()),c=!a.A.na||a.A.Mb?q(c,d):"--------".substr(0,d),a.K[b].textContent!=c&&(a.K[b].textContent=c))} -m.va=function(a){this.Y&&(a||!this.A.na||this.A.Mb)&&(R(this,"A",this.j),R(this,"B",this.N),R(this,"C",this.O),R(this,"BC",Ic(this),4),R(this,"D",this.P),R(this,"E",this.R),R(this,"DE",Kc(this),4),R(this,"H",this.S),R(this,"L",this.U),R(this,"HL",H(this),4),R(this,"SP",this.ca,4),R(this,"PC",this.M,4),a=Gc(this),R(this,"PS",a,4),R(this,"IF",a&512?1:0,1),R(this,"SF",a&128?1:0,1),R(this,"ZF",a&64?1:0,1),R(this,"AF",a&16?1:0,1),R(this,"PF",a&4?1:0,1),R(this,"CF",a&1?1:0,1));if(a=this.K.speed)a.textContent= -this.A.na&&this.i.Ka?this.i.Ka.toFixed(2)+"Mhz":"Stopped"}; -m.bb=function(a){this.A.tb=!0;var b=this.A.Yb=this.G&&qd(this.G),c=a?this.A.Ab?0:1:-1;this.A.Ab=!1;this.F=this.b=a;do{if(this.u){var d;this.u&8&&this.pa&512?(d=199|(this.u&7)<<3,this.u&=-16,this.pa&=-513,this.L[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.u&16){this.b=0;break}}if(b){if(rd(this.G,this.M,c)){this.da();break}c=1}this.L[L(this)].call(this)}while(0>8;Nc(this,a&256);this.b-=4},sd,function(){var a;Mc(this,a=H(this)+Ic(this));Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Ic(this));this.b-=7},function(){Jc(this,Ic(this)-1);this.b-= -5},function(){this.O=md(this,this.O);this.b-=5},function(){this.O=Vc(this,this.O);this.b-=5},function(){this.O=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Nc(this,a);this.b-=4},sd,function(){Lc(this,N(this));this.b-=10},function(){this.ha(Kc(this),this.j);this.b-=7},function(){Lc(this,Kc(this)+1);this.b-=5},function(){this.P=md(this,this.P);this.b-=5},function(){this.P=Vc(this,this.P);this.b-=5},function(){this.P=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| -I(this);Nc(this,a&256);this.b-=4},sd,function(){var a;Mc(this,a=H(this)+Kc(this));Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Kc(this));this.b-=7},function(){Lc(this,Kc(this)-1);this.b-=5},function(){this.R=md(this,this.R);this.b-=5},function(){this.R=Vc(this,this.R);this.b-=5},function(){this.R=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(I(this)<<8|this.j)>>1;Nc(this,a&256);this.b-=4},sd,function(){Mc(this,N(this));this.b-=10},function(){var a=N(this);this.C.xb(a,H(this));this.b-= -16},function(){Mc(this,H(this)+1);this.b-=5},function(){this.S=md(this,this.S);this.b-=5},function(){this.S=Vc(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=0,b=I(this);if(Pc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Sc(this,a);Nc(this,b?256:0);this.b-=4},sd,function(){var a;Mc(this,a=H(this)+H(this));Nc(this,a>>8&256);this.b-=10},function(){var a;a=N(this);a=this.C.Ia(a);Mc(this,a);this.b-=16},function(){Mc(this,H(this)-1);this.b-=5},function(){this.U= -md(this,this.U);this.b-=5},function(){this.U=Vc(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},sd,function(){this.ca=N(this)&65535;this.b-=10},function(){this.ha(N(this),this.j);this.b-=13},function(){this.ca=this.ca+1&65535;this.b-=5},function(){var a=H(this);this.ha(a,md(this,this.W(a)));this.b-=10},function(){var a=H(this);this.ha(a,Vc(this,this.W(a)));this.b-=10},function(){this.ha(H(this),L(this));this.b-=10},function(){this.X|=256;this.b-= -4},sd,function(){var a;Mc(this,a=H(this)+this.ca);Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(N(this));this.b-=13},function(){this.ca=this.ca-1&65535;this.b-=5},function(){this.j=md(this,this.j);this.b-=5},function(){this.j=Vc(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){Nc(this,I(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.N=this.R;this.b-=5},function(){this.N=this.S;this.b-= -5},function(){this.N=this.U;this.b-=5},function(){this.N=this.W(H(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.O=this.N;this.b-=5},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.R;this.b-=5},function(){this.O=this.S;this.b-=5},function(){this.O=this.U;this.b-=5},function(){this.O=this.W(H(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P= -this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.U;this.b-=5},function(){this.P=this.W(H(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.N;this.b-=5},function(){this.R=this.O;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.U;this.b-=5},function(){this.R=this.W(H(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.S= -this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.W(H(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.U=this.N;this.b-=5},function(){this.U=this.O;this.b-=5},function(){this.U=this.P;this.b-=5},function(){this.U=this.R;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.b-=5},function(){this.U=this.W(H(this));this.b-=7},function(){this.U=this.j; -this.b-=5},function(){this.ha(H(this),this.N);this.b-=7},function(){this.ha(H(this),this.O);this.b-=7},function(){this.ha(H(this),this.P);this.b-=7},function(){this.ha(H(this),this.R);this.b-=7},function(){this.ha(H(this),this.S);this.b-=7},function(){this.ha(H(this),this.U);this.b-=7},function(){var a=this.M-1;if(this.J.length)for(var b=0;b>8;this.b-=10},function(){var a=N(this);Rc(this)||E(this,a);this.b-=10},function(){this.pa&=-513;this.b-=4},function(){var a=N(this);Rc(this)||(Q(this,this.M),E(this,a),this.b-=6);this.b-=11},function(){Q(this,Gc(this)&255|this.j<<8);this.b-=11},function(){this.j=nd(this,L(this));this.b-=7},function(){Q(this,this.M);E(this,48);this.b-=11},function(){Rc(this)&&(E(this,O(this)), -this.b-=6);this.b-=5},function(){this.ca=H(this)&65535;this.b-=5},function(){var a=N(this);Rc(this)&&E(this,a);this.b-=10},function(){this.pa|=512;this.b-=4},function(){var a=N(this);Rc(this)&&(Q(this,this.M),E(this,a),this.b-=6);this.b-=11},vd,function(){J(this,L(this));this.b-=7},function(){Q(this,this.M);E(this,56);this.b-=11}]; -function S(a){v.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!wd[b]&&t("Unrecognized ChipSet model: "+b);this.Ua=wd[b]||xd;a.sound&&(this.V=null,window&&(this.V=window.AudioContext||window.webkitAudioContext),this.V&&new this.V);C(this)}Wa(S);var xd=1978.1,wd={SI1978:xd};m=S.prototype;m.ma=function(){return!1}; -m.Ea=function(a,b,c,d){this.C=b;this.b=c;this.G=d;this.w=a;if(this.Ua==xd){var e;a=yd;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.w[g]?t("Input port "+r(g)+" already registered"):c.w[g]=[h,!1]}var l;e=zd;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.u[d]?t("Output port "+r(d)+" already registered"):f.u[d]=[c,!1]}}; -m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.Aa=function(a){return a?this.save():!0};m.reset=function(){this.J=14;this.u=8;this.H=this.I=this.F=this.B=this.L=0};m.save=function(){var a=new Hc(this);this.Ua==xd&&F(a,0,[this.J,this.u,this.L,this.B,this.F,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];this.Ua==xd&&(this.J=a[0],this.u=a[1],this.L=a[2],this.B=a[3],this.F=a[4],this.H=a[5],this.I=a[6]);return!0};m.start=function(){};m.stop=function(){}; -function Ad(a,b,c){a.u&=~b;c&&(a.u|=b)}m.cc=function(a,b){var c=this.J;bb(this,a,null,b,"STATUS0",c);return c};m.dc=function(a,b){var c=this.u;bb(this,a,null,b,"STATUS1",c);return c};m.ec=function(a,b){var c=this.L;bb(this,a,null,b,"STATUS2",c);return c};m.bc=function(a,b){var c=this.B>>8-this.F&255;bb(this,a,null,b,"SHIFT.RESULT",c);return c};m.ic=function(a,b,c){bb(this,a,b,c,"SHIFT.COUNT",null);this.F=b};m.kc=function(a,b,c){bb(this,a,b,c,"SOUND1",null);this.H=b}; -m.jc=function(a,b,c){bb(this,a,b,c,"SHIFT.DATA",null);this.B=b<<8|this.B>>8};m.lc=function(a,b,c){bb(this,a,b,c,"SOUND2",null);this.I=b};m.mc=function(a,b,c){bb(this,a,b,c,"WATCHDOG",null)};var yd={0:S.prototype.cc,1:S.prototype.dc,2:S.prototype.ec,3:S.prototype.bc},zd={2:S.prototype.ic,3:S.prototype.kc,4:S.prototype.jc,5:S.prototype.lc,6:S.prototype.mc};Ia(function(){for(var a=z(document,"pc8080","chipset"),b=0;b>>0,h],p=ja(n,l,a.qb);0>p&&n.splice(-(p+1),0,l)}k&&(g.a=k.replace(/''/g,'"'))}a.I.push({nc:b,D:c,gc:d,Da:e,Gb:f})}delete this.Da}return!0};Bd.prototype.Aa=function(){return!0}; -function Cd(a,b,c,d){if(d)a.oa("Unable to load system ROM (error "+d+": "+b+")");else{Ya(a.Ib,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.w=f;else if(h)for(a.w=Array(4*h.length),d=c=0;c>8&255,a.w[d++]=h[c]>>16&255,a.w[d++]=h[c]>>24&255;else a.w=e;a.Da=e.symbols;if(!a.w.length){t("Empty ROM: "+b);return}if(1==a.w.length){t(a.w[0]);return}}catch(g){a.oa("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.w=Array(b.length),e=0;e>>f.fa;0>>=f.fa;0>3)*this.Y;sb(this.C,this.wa,this.sa,3)&&(this.Ha=this.sa>>1,this.fb=16/this.ra|0,this.xa=!1,void 0===this.ia||this.ia.length!=this.Ha)&&(this.ia=Array(this.Ha));(this.ea=ob(a,"Keyboard"))&&this.H&&this.ea.ma(this.sb?"textarea":"canvas","kbd",this.ba);C(this)}; -Nd.prototype.ma=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.K[b]=c,this.u&&this.u.Pa?c.onclick=function(){d.Pa()}:c.parentNode.removeChild(c),!0}return!1}; -Nd.prototype.Pa=function(){var a=!1;if(this.u){if(this.u.Pa){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.qa/this.Z;b>c&&(a=Math.round(c/b*100)+"%")}this.Ca?(this.H.style.width=a,this.H.style.width=a,this.H.style.display="block",this.H.style.margin="auto"):(this.u.style.width=a,this.u.style.height="auto");this.u.style.backgroundColor="black";this.u.Pa();a=!0}this.ba&&this.ba.focus()}return a}; -function Od(a,b){!b&&a.u&&(a.Ca?a.H.style.width=a.H.style.height="":a.u.style.width=a.u.style.height="");fb(a,"notifyFullScreen("+b+")",!0)} -Ia(function(){for(var a=z(document,"pc8080","video"),b=0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ga("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Nd(d,e,h,f,c);ab(d,c)}}); -function Pd(a){v.call(this,"Debugger",a,Pd);this.style=Qd;this.ea=this.Ca=this.L=0;this.Y=T();this.rb=T();this.F=-1;this.B=[];this.ia=!1;this.ga=T();this.I=[];this.qa={};this.u=this.Z=this.H=[];Rd(this);this.wa=0;Sd(this);this.Ga=[];Td(this,a.messages);this.Ha=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return rc(b,a)}):void 0===global.$&&(global.$=function(a){return rc(b,a)})}Wa(Pd); -var Ud={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",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"},Qd=8080,Vd="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "), -Wd="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),Xd="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Yd=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768], -[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617], -[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43, -785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273], -[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785], -[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62], -[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19, -18193,33],[65,128]],Zd={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};m=Pd.prototype; -m.Ea=function(a,b,c,d){this.C=b;this.b=c;this.w=a;(a=dc(a,"messages"))&&Td(this,a);this.fb=Yd;$d(this,function(a){a:{var b=d.C.T,c=a[0],g=a=0,l=b.length;if(c){a=V(W(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.C.fa;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,k=0;l--;){var n=b[g];n.type==c?k++||d.g("..."):(c=n.type,k=ub[c],n&&d.g(q(n.id)+" %"+q(g<>>e.fa;f!=e.C?e.T[h].Fb(f,b&65535,d):(e.T[h++].pb(f,b&255,d),e.T[h&e.J].pb(0,b>>8&255,d+1));c&&ae(a,c);sc(this.b,!0)}};function T(a){return{D:a,za:!1}}function be(a){return[a.D,a.za]}function ce(a){return{D:a[0],za:a[1]}} -function W(a,b,c){var d;c=(c?a.Y:a.rb).D;if(void 0!==b){d=b=de(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=na(Xd,a.substr(b,1))));return c}function je(a,b){var c=0,d=ke(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?q(d,c):"??"} -function ke(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.N;break;case 1:c=d.O;break;case 8:c=Ic(d);break;case 2:c=d.P;break;case 3:c=d.R;break;case 9:c=Kc(d);break;case 4:c=d.S;break;case 5:c=d.U;break;case 10:c=H(d);break;case 6:c=d.W(H(d));break;case 11:c=d.ca;break;case 12:c=d.M;break;case 13:c=Gc(d);break;case 14:c=Gc(d)&255|d.j<<8}}return c} -function le(a,b){b=de(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=ie(b,c+1),0<=e&&(b=b.substr(0,c)+je(a,e)+b.substr(c+1+Xd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=W(a,e))?(d=e+' "'+he(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=W(a,e))?(ae(d),d=e+' "'+ -he(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+X(T(this.b.M).D));if(!this.xa||a!=this.xa)if(this.xa=a,this.ja&-2147483648&&(this.da(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Za=0;c.F-=c.b;c.b=0;sc(c)}};function cb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ja&g)!=g||a.message(b.eb+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+X(e):""))} -function Sd(a){var b;if(qd(a)){if(!a.V||!a.V.length){a.V=Array(1E3);for(b=0;b>>d.fa],!1)}a.Z=["br"];if(void 0!==a.H)for(b=1;b>>d.fa],!0);a.H=["bw"];a.sb=0}m.Ja=function(a,b,c){var d=!0;c||qe(this,a,b,!1,!0);if(a!=this.u){var e=V(b);if(-1===e)this.g("invalid address: "+X(b.D)),d=!1;else{var f=this.C;f.T[e>>>f.fa].Ja(e&f.C,a==this.H)}}d&&(a.push(b),c?b.za=!0:(re(this,a,a.length-1,"set"),Sd(this)));return d}; -function qe(a,b,c,d,e){var f=!1;c=V(c);for(var h=1;h>>d.fa],b==a.H));g.za||Sd(a);break}}return f}function se(a,b){for(var c=1;c>24,4);break;case 3:w=q(B.Ia(ma,2),4);break;default:B="imm("+r(u)+")";break a}8086==B.style&&u&64?w="["+w+"]":u&16||(w=(B.style==Qd?"$":"0x")+w); -B=w}else u&16?(B=(p&3840)>>8,u=Xd[B],8086==a.style&&p&64&&(6==B&&(u="HL"),u="["+u+"]"),B=u):u&128&&(B=(f>>3&7).toString());if(!B||!B.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Xe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ee(a,b,c){var d;if(b){b=de(a,b);for(var e=0,f=!1,h=b,g=[],l=[],k=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function $e(a,b){if(b)return Ze(a,b,a.qa[b]);var c=0;for(b in a.qa)Ze(a,b,a.qa[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.gc;if(e>=h&&e>8&255;case "C":d.O=g&255;break;case "D":d.P= -g&255;break;case "DE":d.P=g>>8&255;case "E":d.R=g&255;break;case "H":d.S=g&255;break;case "HL":d.S=g>>8&255;case "L":d.U=g&255;break;case "SP":d.ca=g&65535;break;case "PC":E(d,g);a.Y=T(d.M);break;case "PS":Ec(d,g);break;case "PSW":Ec(d,g&255|d.pa&-256);d.j=g>>8;break;case "CF":d.X=g?d.X|256:d.X&255;break;case "PF":g?Oc(d)||(d.aa^=1):Oc(d)&&(d.aa^=1);break;case "AF":d.la=g?~d.aa&16|d.la&-17:d.aa&16|d.la&-17;break;case "ZF":d.X=g?d.X&-256:d.X|255;break;case "SF":g?Rc(d)||(d.aa^=192):Rc(d)&&(d.aa^=192); -break;case "IF":d.pa=g?d.pa|512:d.pa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}sc(d);a.g("updated registers:")}a.g(Ve(a));c&&(a.Y=T(d.M),oe(a,X(a.Y.D)))}}function gf(a,b){b=ia(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(le(a,c[2])):ee(a,b,!0)}function hf(a,b,c){var d="t"!=b;c=Ye(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return hb(a,!0)&&a.bb(e,d,!1)},function(){sc(a.b);hb(a,!1)})} -function oe(a,b,c,d){if(b=W(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=W(a,c,!0);if(!d||d.Dg[0].indexOf("+"))){var k=g[0]+":";g[2]&&(k+=" "+g[2]);a.g(k)}g[3]&&(h=g[3],f=null);f=Se(a,b,h,f);a.g(f);a.Y=b;e-=b.D-l;c++}}} -function ge(a,b,c,d){if(c)if(b){0>a.F&&a.B.length&&(a.F=0);if(0>a.F||b!=a.B[a.F])a.B.splice(0,0,b),a.F=0;a.F--}else a.ia?b="end":b=a.B[a.F+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ia(b.substring(c,f))),c=f+1}}return a} -function te(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ia&&(a.g("ended assemble at "+X(a.ga.D)),a.Y=a.ga,a.ia=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.xa=null;if(jb(a)&&0k||"z"ya.length&&(a.g("note: only "+ya.length+" available"),Z=ya.length);U-=Z;0>U&&(null==ya[ya.length-1].D?(Z=U+Z,U=0):U+=ya.length);var Yc=[];"call"==ze&&(eb=1E5, -Yc=["CALL"]);for(void 0!==ye&&a.g(Z+" instructions earlier:");0=ya.length&&(U=0);a.Nb=Z;Be++;eb--}}Be||(a.g("no "+Ae+"history available"),a.Nb=void 0)}else{var ec=W(a,A);if(ec){var fc=0;Y&&("l"==Y.charAt(0)&&(Y=Y.substr(1)||Df),fc=Ye(a,Y)>>>0,65536>4||1;Ff--&&0jc?String.fromCharCode(jc):".";hc--}La&&(La+="\n");La+=A+" "+Fb+(0==Eb?" "+$c:"")}La&&a.g(La);a.rb=ec}}}}break;case "e":if("else"==f[0])break;var kc=1,Ee=255,Fe=a.W,Ge=a.ha;"ew"==f[0]&&(kc=2,Ee=65535,Fe=a.Ia,Ge=a.xb);var He=kc<<1,Ie=f[1];if(null==Ie)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"), -a.g("\tew [a] [...] edit words at address a");else{var lc=W(a,Ie);if(lc)for(var mc=2;mcfd;){for(var Ma=null,Kf=256;65536>Ib.D>>>0;){Ke.D=a.Ia(Ib,2);if(null==Ib.D||!Kf--)break;for(var Lf=a,nc=Ke,Le=null,Jb=nc.D,Me=Jb,gd=1;6>=gd&&Jb;gd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bsf){if(of(d,this.Y)){this.H=new Hc(this,"1.23.0","failsafe");of(this.H)&&(xf(this,d),a=2,lf(this.H));F(this.H,"timestamp",la());mf(this.H);var e=this.w&&!this.J;if(1==a||ra("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=nf(d)){var f=pf(d,"code"),h=pf(d,"data");f&&("ok"==f?of(d,h):("error"== -f&&"no machine state"!=h?(this.oa("Error: "+h),"unable to verify user"==h&&(va("user",""),this.u=null)):this.g(f+": "+h),lf(d),of(d)?(c=nf(d),e=!0):c=!1))}e&&wf(this,c?d:null)}else 2==a&&d.clear()}else wf(this);delete this.Y;delete this.Z}e=Za(this.id);for(f=0;fa[1];a=a[2];this.sa=!0;this.A.ka=!0;var d=this.K.power;d&&(d.textContent="Shutdown");this.b&&(yf(this,this.b,b,c,a),tc(this.b));this.ga&&(xf(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.B=0}; -function xf(a,b){if(ra("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.u||"",d=b.toString(),e={app:"PC8080",ver:"1.23.0"};e.url=a.ra;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",e,!0)}} -function jf(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new Hc(a,"1.23.0"),h=new Hc(a,"1.23.0","validate"),g=la();F(h,"timestamp",g);F(f,"timestamp",g);F(f,"version","1.23.0");F(f,"url",window?window.location.href:null);F(f,"browser",qa());a.b&&a.b.Aa&&(c&&a.b.da(),d=a.b.Aa(b,c),"object"===typeof d&&F(f,a.b.id,d),c&&(a.b.A.ka=!1,!1===d&&(e=null)));for(var g=Za(a.id),l=0;l>>e.fa;0>8|(w&255)<<8);n>ea&ma,P=d.Ga,A=n++,Y=M,M=void 0,M=d.B?(P.height-A-1)*P.width+p:A+p*P.width;Y&&(208<=A&&236>A?Y=d.ga+0:28<=A&&72>A&&(Y=d.ga+1));A=d.V[Y];M*=A.length;P.data[M]=A[0];P.data[M+1]=A[1];P.data[M+2]=A[2];P.data[M+3]=A[3];ea+=u}n>x&&(x=n);p=h&&(h=p+1)}g+=2;k++;if(n>=d.J&&(n=0,p++,p>d.Y))break}d.xa=!0;eg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,n=/( [a-z]+=)(['"])(.*?)\2/g;k=n.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Rf(a,b,c)}})}else c(a,null)} -function Sf(a,b,c,d){function e(a){if(void 0===g){var b=h&&z(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--Bf||Ka(!0));l=!1}var h,g,l=!0;Bf++;Xa[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=k:p.appendChild(document.createTextNode(k));n.appendChild(p)}c|| -(c="/versions/pc8080/1.23.0/components.xsl");k=function(d,g){g?Cf(c,null,null,!1,e,function(d,k){if(k)if(Ya(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Bf||Ka(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Bf||Ka(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Cf(b,a,d,!0,e,k):Qf(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(x){f(x.message)}return l}window.embedPC8080=function(a,b,c,d){Ka(!1);return Sf(a,b,c,d)};window.enableEvents=Ka;window.sendEvent=Oa; -function Tf(a,b,c,d){if(!c&&b){d.push(b);a=Xa[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){Uf(b,d)}):Uf(null,d)}else t("Error ("+c+") requesting "+a)} -function Uf(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Xa[f],l={},k;for(k in g){var n=g[k],p=ca(k);if("xml"==p){for(p=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[k]);){var x=d[2];x&&(g[x]||(n=n.replace(d[0],"")))}d=k=ba(k)}else"xsl"==p&&(e=k=ba(k));l[k]=n}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),k=h,g=null,l="data:application/javascript,",l=wa("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', -c+='
    \n',c+="...\n",c+=' -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pc8080/1.23.2/document.css b/versions/pc8080/1.23.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.23.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.23.2/document.xsl b/versions/pc8080/1.23.2/document.xsl deleted file mode 100644 index 992e15967..000000000 --- a/versions/pc8080/1.23.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.23.2/machine.xsl b/versions/pc8080/1.23.2/machine.xsl deleted file mode 100644 index bffd9ebb9..000000000 --- a/versions/pc8080/1.23.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.23.2/manifest.xsl b/versions/pc8080/1.23.2/manifest.xsl deleted file mode 100644 index e8c9f263e..000000000 --- a/versions/pc8080/1.23.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.23.2/outline.xsl b/versions/pc8080/1.23.2/outline.xsl deleted file mode 100644 index c20057857..000000000 --- a/versions/pc8080/1.23.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.23.2/pc8080.js b/versions/pc8080/1.23.2/pc8080.js deleted file mode 100644 index df7644b89..000000000 --- a/versions/pc8080/1.23.2/pc8080.js +++ /dev/null @@ -1,137 +0,0 @@ -(function(){var m;function ca(a){var b=16,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function n(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function da(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}var ia=Date.now||function(){return+new Date};function ka(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function p(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",k;for(k in b)b.hasOwnProperty(k)&&(l&&(l+="&"),l+=k+"="+encodeURIComponent(b[k]));l=l.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(l)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function la(){return"http://"+(window?window.location.host:"www.pcjs.org")} -function r(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}var na=null;function oa(){if(null==na){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}na=a}return na}function pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} -function qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ra(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 sa={init:[],show:[],exit:[]},ta=!1,ua=!0;function va(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wa(a){sa.init.push(a)} -function xa(a){if(ua)try{for(var b=0;b=this.j?10:20>=this.j?12:24>=this.j?14:15;this.f=1<>2;this.g=this.f-1;this.o=this.s/this.f|0;this.u=this.o-1;this.l=[];this.m=[];this.C=[];this.D=[];a=new C;Ua(a,this.I);this.b=Array(this.o);for(b=0;b>>a.c;0f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.oa)return g.Ja+=g.oa-e,g.oa=e,!0;if(e>=g.oa+g.Ja){k=g.size-(e-l);k>f&&(k=f);g.Ja=e-g.oa+k;e=l+a.f;f-=k;h++;continue}}return Wa(1,e,f)}e=new C(e,k,a.f,d);Ua(e,a.I,g);a.b[h++]=e;e=l+a.f;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Xa[d]+" at "+("0x"+n(b,4))),!0):Wa(2,b,c)} -Ta.prototype.F=function(a){return this.b[(a&this.i)>>>this.c].xa(a&this.g,a)};function Ya(a,b){var c=b&a.g,d=(b&a.i)>>>a.c;return c!=a.g?a.b[d].tb(c,b):a.b[d++].xa(c,b)|a.b[d&a.u].xa(0,b+1)<<8}Ta.prototype.P=function(a,b){this.b[(a&this.i)>>>this.c].ya(a&this.g,b&255,a)};function $a(a,b,c){a.b[(b&a.i)>>>a.c].cb(b&a.g,c&255,b)}function ab(a,b,c){var d=b&a.g,e=(b&a.i)>>>a.c;d!=a.g?a.b[e].ub(d,c&65535,b):(a.b[e++].ya(d,c&255,b),a.b[e&a.u].ya(0,c>>8&255,b+1))} -function Wa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var bb;if(Oa){var cb=new ArrayBuffer(2);(new DataView(cb)).setUint16(0,256,!0);bb=256===(new Uint16Array(cb))[0]}else bb=!1;var db=bb; -function C(a,b,c,d){this.id=eb+=2;this.a=null;this.oa=a;this.Ja=b;this.size=c||0;this.type=d||fb;this.g=d==gb;Ua(this);this.U=this.Ta=!1;if(c)if(Oa)this.c=new ArrayBuffer(c),this.f=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.o=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),hb(this,db?ib:jb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},D:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},L: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},T:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<>8);this.U=!0},A:function(a,b){return this.Oa(a,b)},H:function(a,b){return this.ab(a,b)},Y:function(a,b,c){this.g||this.cb(a,b,c)},ba:function(a, -b,c){this.g||this.ca(a,b,c)},s:function(a){return this.b[a]},C:function(a){return this.b[a]},G:function(a){return this.f.getUint16(a,!0)},K:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.o[a>>1]},M:function(a,b){this.b[a]=b;this.U=!0},S:function(a,b){this.b[a]=b;this.U=!0},aa:function(a,b){this.f.setUint16(a,b,!0);this.U=!0},za:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.o[a>>1]=b;this.U=!0}};function Ua(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&lb(a,mb,!1),(a.j=c.j)&&nb(a,mb,!1))} -function nb(a,b,c){c&&a.j||(a.ya=!a.g&&b[2]||a.m,a.ub=!a.g&&b[3]||a.u);if(c||void 0===c)a.cb=b[2]||a.m,a.ca=b[3]||a.u}function lb(a,b,c){c&&a.i||(a.xa=b[0]||a.l,a.tb=b[1]||a.B);if(c||void 0===c)a.Oa=b[0]||a.l,a.ab=b[1]||a.B}function hb(a,b){b||(b=ob);lb(a,b,void 0);nb(a,b,void 0)}var ob=[],kb=[C.prototype.D,C.prototype.L,C.prototype.T,C.prototype.Aa],mb=[C.prototype.A,C.prototype.H,C.prototype.Y,C.prototype.ba]; -if(Oa)var jb=[C.prototype.s,C.prototype.G,C.prototype.M,C.prototype.aa],ib=[C.prototype.C,C.prototype.K,C.prototype.S,C.prototype.za]; -function pb(a,b){u.call(this,"CPU",a,pb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.na=c;this.c.Ia=0;this.c.ma=d;this.c.La=Math.round(this.c.na/1E4)/100;this.c.ja=this.c.La*this.c.ma;this.h.V=!1;this.h.Va=!1;this.h.Sa=a.autoStart;this.h.Ua=!1;this.h.Ca=!1;this.c.Ga=this.c.la=0;this.c.Ha=a.csStart;this.c.qa=a.csInterval;this.c.ra=a.csStop;this.Ba=this.Pa.bind(this);B(this)}w(pb);var qb=["power","reset"];m=pb.prototype; -m.$=function(a,b,c,d){this.u=a;this.o=b;this.I=d;for(b=0;bc&&(c=2);var d=1;b&&1a.c.ea/a.c.ja&&(b=1);a.c.ma=b;b=a.c.La*a.c.ma;if(a.c.ja!=b){a.c.ja=b;b=a.c.ja.toFixed(2)+"Mhz";var d=a.B.setSpeed;d&&(d.textContent=b);a.R("target speed: "+b)}c&&a.u&&Bb(a.u)}yb(a,a.K);a.K=0;a.c.ka=ia();a.c.fa=0;zb(a)} -m.Pa=function(a){if(Ma(this,!0)){if(!this.h.V){xb(this);this.u&&this.u.start(this.c.ka,Ab(this));this.h.V=!0;this.h.Va=!0;this.G&&this.G.start();var b=this.B.run;b&&(b.textContent="Halt");this.u&&(this.u.ga(!0),a&&Bb(this.u,!0))}this.c.Na>=this.c.na&&zb(this,!0);this.c.va=0;this.c.Fa=ia();this.c.fa&&(a=this.c.Fa-this.c.fa,a>this.c.Xa&&(this.c.ka+=a,this.c.ka>this.c.Fa&&(this.c.ka=this.c.Fa)));try{do{this.bb(this.h.Ca?1:this.c.nb);var c=this.L-this.a;this.K+=c;this.c.va+=c;yb(this,0,!0);a=c;this.h.Ca&& -(b=!1,this.c.Ga=this.c.Ga+this.Wa()|0,this.c.la-=a,0>=this.c.la&&(this.c.la+=this.c.qa,b=!0),0<=this.c.ra&&this.c.ra<=Ab(this)&&(this.c.qa=this.c.ra=-1,tb(this),wb(this),b=!0),b&&this.R(Ab(this)+" cycles: checksum="+n(this.c.Ga)));this.c.ta-=c;0>=this.c.ta&&(this.c.ta+=this.c.Za,this.u&&Cb(this.u,this.c.Ia++),this.c.Ia>this.Y&&(this.c.Ia=0));this.c.sa-=c;0>=this.c.sa&&(this.c.sa+=this.c.Ya,this.u&&this.u.ga());this.c.ua-=c;if(0>=this.c.ua){this.c.ua+=this.c.Ma;break}}while(this.h.V)}catch(e){wb(this); -ub(this);this.u&&this.u.stop(ia(),Ab(this));Ma(this,!1);c=e.stack||e.message;this.h.da=!0;this.J(c);return}c=setTimeout;a=this.Ba;this.c.fa=ia();b=this.c.Xa;this.c.va&&(b=Math.round(b*this.c.va/this.c.Ma));var b=b-(this.c.fa-this.c.Fa),d=this.c.fa-this.c.ka;d&&(this.c.ea=Math.round(this.K/(10*d))/100,864E5<=d&&(this.M=0,xb(this)));if(0>b||this.c.ea>8&255;a.v=b&255}function G(a){return a.g<<8|a.w}function Mb(a,b){a.g=b>>8&255;a.w=b&255}function H(a){return a.i<<8|a.j} -function J(a,b){a.i=b>>8&255;a.j=b&255}function D(a,b){a.m=b&65535}function K(a){return a.l&256?1:0}function L(a,b){a.l=a.l&255|b}function Nb(a){return Pa[a.s&255]?4:0}function Jb(a){return a.H&-214|(a.s&128?128:0)|(a.l&255?0:64)|((a.s^a.C)&16?16:0)|Nb(a)|K(a)}function Hb(a,b){a.l=a.s=a.C=0;b&1&&(a.l|=256);b&4||(a.s|=1);b&16&&(a.C|=16);b&64||(a.l|=255);b&128&&(a.s^=192);a.H=a.H&-726|b&512|2}function N(a,b){a.C=a.b^b;return a.s=(a.l=a.b+b)&255} -function O(a,b){a.C=a.b^b;return a.s=(a.l=a.b+b+(a.l&256?1:0))&255}function P(a,b){a.l=a.s=a.C=a.b&b;(a.b|b)&8&&(a.C^=16);return a.l}function Ob(a,b){a.C=b^255;b=a.s=b+255&255;a.l=a.l&-256|b;return b}function Pb(a,b){a.C=b;b=a.s=b+1&255;a.l=a.l&-256|b;return b}function Q(a,b){return a.s=a.l=a.C=a.b|b}function R(a,b){b^=255;a.C=a.b^b;return a.s=(a.l=a.b+b+1^256)&255}function S(a,b){b^=255;a.C=a.b^b;return a.s=(a.l=a.b+b+(a.l&256?0:1)^256)&255}function T(a,b){return a.s=a.l=a.C=a.b^b}m.F=function(a){return this.o.F(a)}; -m.P=function(a,b){this.o.P(a,b)};function U(a){var b=a.F(a.m);D(a,a.m+1);return b}function V(a){var b=Ya(a.o,a.m);D(a,a.m+2);return b}function W(a){var b=Ya(a.o,a.A);a.A=a.A+2&65535;return b}function X(a,b){a.A=a.A-2&65535;ab(a.o,a.A,b)}function Y(a,b,c,d){d=d||2;a.B[b]&&(void 0===c&&(a.h.da=!0,a.J("Value for "+b+" is invalid"),wb(a)),c=!a.h.V||a.h.Ua?n(c,d):"--------".substr(0,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))} -m.ga=function(a){this.ca&&(a||!this.h.V||this.h.Ua)&&(Y(this,"A",this.b),Y(this,"B",this.f),Y(this,"C",this.v),Y(this,"BC",Kb(this),4),Y(this,"D",this.g),Y(this,"E",this.w),Y(this,"DE",G(this),4),Y(this,"H",this.i),Y(this,"L",this.j),Y(this,"HL",H(this),4),Y(this,"SP",this.A,4),Y(this,"PC",this.m,4),a=Jb(this),Y(this,"PS",a,4),Y(this,"IF",a&512?1:0,1),Y(this,"SF",a&128?1:0,1),Y(this,"ZF",a&64?1:0,1),Y(this,"AF",a&16?1:0,1),Y(this,"PF",a&4?1:0,1),Y(this,"CF",a&1?1:0,1));if(a=this.B.speed)a.textContent= -this.h.V&&this.c.ea?this.c.ea.toFixed(2)+"Mhz":"Stopped"};m.bb=function(a){this.h.Da=!0;this.h.ib=!1;this.h.Va=!1;this.L=this.a=a;do{if(a=this.D)this.D&8&&this.H&512?(a=199|(this.D&7)<<3,this.D&=-16,this.H&=-513,this.aa[a].call(this),a=!0):a=!1,a=!a;if(a&&this.D&16){this.a=0;break}this.aa[U(this)].call(this)}while(0>8;L(this,a&256);this.a-=4},Qb,function(){var a;J(this,a=H(this)+Kb(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.F(Kb(this));this.a-=7},function(){Lb(this,Kb(this)-1);this.a-=5},function(){this.v= -Pb(this,this.v);this.a-=5},function(){this.v=Ob(this,this.v);this.a-=5},function(){this.v=U(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;L(this,a);this.a-=4},Qb,function(){Mb(this,V(this));this.a-=10},function(){this.P(G(this),this.b);this.a-=7},function(){Mb(this,G(this)+1);this.a-=5},function(){this.g=Pb(this,this.g);this.a-=5},function(){this.g=Ob(this,this.g);this.a-=5},function(){this.g=U(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|K(this);L(this,a&256);this.a-= -4},Qb,function(){var a;J(this,a=H(this)+G(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.F(G(this));this.a-=7},function(){Mb(this,G(this)-1);this.a-=5},function(){this.w=Pb(this,this.w);this.a-=5},function(){this.w=Ob(this,this.w);this.a-=5},function(){this.w=U(this);this.a-=7},function(){var a=this.b<<8;this.b=(K(this)<<8|this.b)>>1;L(this,a&256);this.a-=4},Qb,function(){J(this,V(this));this.a-=10},function(){var a=V(this);ab(this.o,a,H(this));this.a-=16},function(){J(this,H(this)+1); -this.a-=5},function(){this.i=Pb(this,this.i);this.a-=5},function(){this.i=Ob(this,this.i);this.a-=5},function(){this.i=U(this);this.a-=7},function(){var a=0,b=K(this);if((this.s^this.C)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=N(this,a);L(this,b?256:0);this.a-=4},Qb,function(){var a;J(this,a=H(this)+H(this));L(this,a>>8&256);this.a-=10},function(){var a;a=V(this);a=Ya(this.o,a);J(this,a);this.a-=16},function(){J(this,H(this)-1);this.a-=5},function(){this.j=Pb(this,this.j);this.a-= -5},function(){this.j=Ob(this,this.j);this.a-=5},function(){this.j=U(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Qb,function(){this.A=V(this)&65535;this.a-=10},function(){this.P(V(this),this.b);this.a-=13},function(){this.A=this.A+1&65535;this.a-=5},function(){var a=H(this);this.P(a,Pb(this,this.F(a)));this.a-=10},function(){var a=H(this);this.P(a,Ob(this,this.F(a)));this.a-=10},function(){this.P(H(this),U(this));this.a-=10},function(){this.l|=256;this.a-=4},Qb,function(){var a;J(this, -a=H(this)+this.A);L(this,a>>8&256);this.a-=10},function(){this.b=this.F(V(this));this.a-=13},function(){this.A=this.A-1&65535;this.a-=5},function(){this.b=Pb(this,this.b);this.a-=5},function(){this.b=Ob(this,this.b);this.a-=5},function(){this.b=U(this);this.a-=7},function(){L(this,K(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.v;this.a-=5},function(){this.f=this.g;this.a-=5},function(){this.f=this.w;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.j;this.a-= -5},function(){this.f=this.F(H(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.v=this.f;this.a-=5},function(){this.a-=5},function(){this.v=this.g;this.a-=5},function(){this.v=this.w;this.a-=5},function(){this.v=this.i;this.a-=5},function(){this.v=this.j;this.a-=5},function(){this.v=this.F(H(this));this.a-=7},function(){this.v=this.b;this.a-=5},function(){this.g=this.f;this.a-=5},function(){this.g=this.v;this.a-=5},function(){this.a-=5},function(){this.g=this.w;this.a-=5},function(){this.g= -this.i;this.a-=5},function(){this.g=this.j;this.a-=5},function(){this.g=this.F(H(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.w=this.f;this.a-=5},function(){this.w=this.v;this.a-=5},function(){this.w=this.g;this.a-=5},function(){this.a-=5},function(){this.w=this.i;this.a-=5},function(){this.w=this.j;this.a-=5},function(){this.w=this.F(H(this));this.a-=7},function(){this.w=this.b;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.v;this.a-=5},function(){this.i= -this.g;this.a-=5},function(){this.i=this.w;this.a-=5},function(){this.a-=5},function(){this.i=this.j;this.a-=5},function(){this.i=this.F(H(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.j=this.f;this.a-=5},function(){this.j=this.v;this.a-=5},function(){this.j=this.g;this.a-=5},function(){this.j=this.w;this.a-=5},function(){this.j=this.i;this.a-=5},function(){this.a-=5},function(){this.j=this.F(H(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.P(H(this), -this.f);this.a-=7},function(){this.P(H(this),this.v);this.a-=7},function(){this.P(H(this),this.g);this.a-=7},function(){this.P(H(this),this.w);this.a-=7},function(){this.P(H(this),this.i);this.a-=7},function(){this.P(H(this),this.j);this.a-=7},function(){var a=this.m-1;if(this.T.length)for(var b=0;b>>=f)&l;if(void 0!==h&& -h[0])h[0](a,l,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=V(this);K(this)||(X(this,this.m),D(this,a),this.a-=6);this.a-=11},function(){X(this,G(this));this.a-=11},function(){this.b=R(this,U(this));this.a-=7},function(){X(this,this.m);D(this,16);this.a-=11},function(){K(this)&&(D(this,W(this)),this.a-=6);this.a-=5},Sb,function(){var a=V(this);K(this)&&D(this,a);this.a-=10},function(){for(var a=U(this),b=this.o,c=this.m+-2&65535,d=1,e=0,f=0;0>8;this.a-=10},function(){var a=V(this);this.s&128||D(this,a);this.a-=10},function(){this.H&=-513;this.a-=4},function(){var a=V(this);this.s&128||(X(this,this.m),D(this,a),this.a-=6);this.a-=11},function(){X(this,Jb(this)&255|this.b<<8);this.a-=11},function(){this.b= -Q(this,U(this));this.a-=7},function(){X(this,this.m);D(this,48);this.a-=11},function(){this.s&128&&(D(this,W(this)),this.a-=6);this.a-=5},function(){this.A=H(this)&65535;this.a-=5},function(){var a=V(this);this.s&128&&D(this,a);this.a-=10},function(){this.H|=512;this.a-=4},function(){var a=V(this);this.s&128&&(X(this,this.m),D(this,a),this.a-=6);this.a-=11},Tb,function(){R(this,U(this));this.a-=7},function(){X(this,this.m);D(this,56);this.a-=11}]; -function Z(a){u.call(this,"ChipSet",a,Z);var b=a.model;b&&!Ub[b]&&r("Unrecognized ChipSet model: "+b);this.S=Ub[b]||Vb;a.sound&&(this.m=null,window&&(this.m=window.AudioContext||window.webkitAudioContext),this.m&&new this.m);B(this)}w(Z);var Vb=1978.1,Ub={SI1978:Vb};m=Z.prototype;m.O=function(){return!1}; -m.$=function(a,b,c,d){this.o=b;this.a=c;this.I=d;this.u=a;if(this.S==Vb){var e;a=Wb;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.l[g]?r("Input port 0x"+n(g,4)+" already registered"):c.l[g]=[h,!1]}var l;e=Xb;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.m[d]?r("Output port 0x"+n(d,4)+" already registered"):f.m[d]=[c,!1]}}; -m.X=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.W=function(a){return a?this.save():!0};m.reset=function(){this.j=14;this.b=8;this.g=this.i=this.f=this.c=this.l=0};m.save=function(){var a=new E(this);this.S==Vb&&F(a,0,[this.j,this.b,this.l,this.c,this.f,this.g,this.i]);return a.data()};m.restore=function(a){a=a[0];this.S==Vb&&(this.j=a[0],this.b=a[1],this.l=a[2],this.c=a[3],this.f=a[4],this.g=a[5],this.i=a[6]);return!0};m.start=function(){};m.stop=function(){}; -function Yb(a,b,c){a.b&=~b;c&&(a.b|=b)}m.kb=function(){return this.j};m.lb=function(){return this.b};m.mb=function(){return this.l};m.jb=function(){return this.c>>8-this.f&255};m.ob=function(a,b){this.f=b};m.qb=function(a,b){this.g=b};m.pb=function(a,b){this.c=b<<8|this.c>>8};m.rb=function(a,b){this.i=b};m.sb=function(){};var Wb={0:Z.prototype.kb,1:Z.prototype.lb,2:Z.prototype.mb,3:Z.prototype.jb},Xb={2:Z.prototype.ob,3:Z.prototype.qb,4:Z.prototype.pb,5:Z.prototype.rb,6:Z.prototype.sb}; -wa(function(){for(var a=z(document,"pc8080","chipset"),b=0;b>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){r("Empty ROM: "+b);return}if(1==a.b.length){r(a.b[0]);return}}catch(g){a.J("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.c;0>>=f.c;0>3)*this.s;Va(this.o,this.S,this.M,3)&&(this.ca=this.M>>1,this.Ba=16/this.L|0,this.T=!1,void 0===this.H||this.H.length!=this.ca)&&(this.H=Array(this.ca));(this.D=Ra(a,"Keyboard"))&&this.g&&this.D.O(this.hb?"textarea":"canvas","kbd",this.C);B(this)}; -lc.prototype.O=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.B[b]=c,this.b&&this.b.ha?c.onclick=function(){d.ha()}:c.parentNode.removeChild(c),!0}return!1}; -lc.prototype.ha=function(){var a=!1;if(this.b){if(this.b.ha){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.K/this.A;b>c&&(a=Math.round(c/b*100)+"%")}this.aa?(this.g.style.width=a,this.g.style.width=a,this.g.style.display="block",this.g.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.ha();a=!0}this.C&&this.C.focus()}return a}; -function mc(a,b){!b&&a.b&&(a.aa?a.g.style.width=a.g.style.height="":a.b.style.width=a.b.style.height="")} -wa(function(){for(var a=z(document,"pc8080","video"),b=0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a, -b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ba.aspect);f&&.3<=f&&3.33>=f&&(va("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ra("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new lc(d,e,h,f,c);Ja(d,c)}}); -function E(a,b,c){this.id=a.id;this.key=nc(a,b,c);this.I=a.I;oc(this,a.$a)}function nc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0\nLicense: GPL version 3 or later ");for(b=0;bvc){if(rc(d,this.s)){this.i=new E(this,"1.23.2","failsafe");rc(this.i)&&(Ac(this,d),a=2,oc(this.i));F(this.i,"timestamp",ka());pc(this.i);var e=this.b&&!this.l;if(1==a||ma("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=qc(d)){var f=sc(d,"code"),h=sc(d,"data");f&&("ok"==f?rc(d,h):("error"==f&& -"no machine state"!=h?(this.J("Error: "+h),"unable to verify user"==h&&(qa("user",""),this.c=null)):this.R(f+": "+h),oc(d),rc(d)?(c=qc(d),e=!0):c=!1))}e&&zc(this,c?d:null)}else 2==a&&d.clear()}else zc(this);delete this.s;delete this.A}e=x(this.id);for(f=0;fa[1];a=a[2];this.M=!0;this.h.N=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.a&&(Bc(this,this.a,b,c,a),vb(this.a));this.G&&(Ac(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; -function Ac(a,b){if(ma("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.23.2"};e.url=a.L;e.user=c;e.type="bug";e.data=d;p("http://www.pcjs.org/api/v1/report",e,!0)}} -function Cc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new E(a,"1.23.2"),h=new E(a,"1.23.2","validate"),g=ka();F(h,"timestamp",g);F(f,"timestamp",g);F(f,"version","1.23.2");F(f,"url",window?window.location.href:null);F(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.W&&(c&&wb(a.a),d=a.a.W(b,c),"object"===typeof d&&F(f,a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(e=null)));for(var g=x(a.id),l=0;l>>f.c;0>>A.c;A=La!=A.g?A.b[M].ab(La,aa):A.b[M++].Oa(La,aa)|A.b[M&A.u].Oa(0,aa+1)<<8; -if(d.T&&A===d.H[k])t+=d.Ba;else{d.H[k]=A;(aa=hc)&&(A=A>>8|(A&255)<<8);t>aa&Kc,M=d.ba,I=t++,Za=ba,ba=void 0,ba=d.c?(M.height-I-1)*M.width+q:I+q*M.width;Za&&(208<=I&&236>I?Za=d.G+0:28<=I&&72>I&&(Za=d.G+1));I=d.m[Za];ba*=I.length;M.data[ba]=I[0];M.data[ba+1]=I[1];M.data[ba+2]=I[2];M.data[ba+3]=I[3];aa+=Ka}t>ja&&(ja=t);q=h&&(h=q+1)}g+=2;k++;if(t>=d.j&&(t=0,q++,q>d.s))break}d.T=!0;eg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,t=/( [a-z]+=)(['"])(.*?)\2/g;k=t.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);Ic(a,b,c)}})}else c(a,null)} -function Jc(a,b,c,d){function e(a){if(void 0===g){var b=h&&z(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ha(a))}function f(a){e("Error: "+a);l&&(--Fc||ya(!0));l=!1}var h,g,l=!0;Fc++;Ga[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=k:q.appendChild(document.createTextNode(k));t.appendChild(q)}c|| -(c="/versions/pc8080/1.23.2/components.xsl");k=function(d,g){g?Gc(c,null,null,!1,e,function(d,k){if(k)if(Ha(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Fc||ya(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Fc||ya(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Gc(b,a,d,!0,e,k):Hc(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(ja){f(ja.message)}return l}window.embedPC8080=function(a,b,c,d){ya(!1);return Jc(a,b,c,d)};window.enableEvents=ya;window.sendEvent=za; -function Lc(a,b,c,d){if(!c&&b){d.push(b);a=Ga[d[0]];b=null;for(var e in a)if(fa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?p(b,null,!0,function(a,b){Mc(b,d)}):Mc(null,d)}else r("Error ("+c+") requesting "+a)} -function Mc(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Ga[f],l={},k;for(k in g){var t=g[k],q=ea(k);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[k]);){var ja=d[2];ja&&(g[ja]||(t=t.replace(d[0],"")))}d=k=da(k)}else"xsl"==q&&(e=k=da(k));l[k]=t}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),k=h,g=null,l="data:application/javascript,",l=ra("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', -c+='
    \n',c+="...\n",c+=' -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pc8080/1.23.3/document.css b/versions/pc8080/1.23.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.23.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.23.3/document.xsl b/versions/pc8080/1.23.3/document.xsl deleted file mode 100644 index bd2b5eedb..000000000 --- a/versions/pc8080/1.23.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.23.3/machine.xsl b/versions/pc8080/1.23.3/machine.xsl deleted file mode 100644 index 8b2d1a413..000000000 --- a/versions/pc8080/1.23.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.23.3/manifest.xsl b/versions/pc8080/1.23.3/manifest.xsl deleted file mode 100644 index c5a5325ad..000000000 --- a/versions/pc8080/1.23.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.23.3/outline.xsl b/versions/pc8080/1.23.3/outline.xsl deleted file mode 100644 index c930b2823..000000000 --- a/versions/pc8080/1.23.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.23.3/pc8080-dbg.js b/versions/pc8080/1.23.3/pc8080-dbg.js deleted file mode 100644 index cb7ae51b7..000000000 --- a/versions/pc8080/1.23.3/pc8080-dbg.js +++ /dev/null @@ -1,250 +0,0 @@ -(function(){var m;function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function n(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function da(a){return"0x"+n(a,2)}function t(a){return"0x"+n(a,4)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function ka(a,b){return(a+" ").slice(0,b)}function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ma={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"DC1",18:"DC2",19:"DC3",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function na(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function qa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.H?10:20>=this.H?12:24>=this.H?14:15;this.Ga=1<>2;this.w=this.Ga-1;this.L=this.M/this.Ga|0;this.K=this.L-1;this.A=[];this.u=[];this.F=this.J=!1;this.P=[];this.S=[];a=new F;wb(a,this.I);this.Y=Array(this.L);for(b=0;b>>a.pa;0f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.G)return g.Ib+=g.G-e,g.G=e,!0;if(e>=g.G+g.Ib){l=g.size-(e-k);l>f&&(l=f);g.Ib=e-g.G+l;e=k+a.Ga;f-=l;h++;continue}}return yb(1,e,f)}e=new F(e,l,a.Ga,d);wb(e,a.I,g);a.Y[h++]=e;e=k+a.Ga;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+zb[d]+" at "+t(b)),!0):yb(2,b,c)}m.aa=function(a){return this.Y[(a&this.B)>>>this.pa].tb(a&this.w,a)}; -function Ab(a,b){return a.Y[(b&a.B)>>>a.pa].Hb(b&a.w,b)}m.Sa=function(a){var b=a&this.w,c=(a&this.B)>>>this.pa;return b!=this.w?this.Y[c].Lc(b,a):this.Y[c++].tb(b,a)|this.Y[c&this.K].tb(0,a+1)<<8};function Bb(a,b){var c=b&a.w,d=(b&a.B)>>>a.pa;return c!=a.w?a.Y[d].ec(c,b):a.Y[d++].Hb(c,b)|a.Y[d&a.K].Hb(0,b+1)<<8}m.ta=function(a,b){this.Y[(a&this.B)>>>this.pa].vb(a&this.w,b&255,a)};function Cb(a,b,c){a.Y[(b&a.B)>>>a.pa].Jb(b&a.w,c&255,b)} -m.Tb=function(a,b){var c=a&this.w,d=(a&this.B)>>>this.pa;c!=this.w?this.Y[d].Oc(c,b&65535,a):(this.Y[d++].vb(c,b&255,a),this.Y[d&this.K].vb(0,b>>8&255,a+1))};function Db(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Eb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.A[k]?u("Input port "+t(k)+" already registered"):f.A[k]=[g,!1]}} -function Fb(a,b,c){for(var d=1,e=0,f=0;0>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.I&&a.J!=h[1]&&Lb(a.I,b,k)}else a.I&&(hb(a.I,a,b,k,d),a.J&&Lb(a.I,b,k));f+=g<<3;b+=g;e-=g}} -function yb(a,b,c){u("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ub;if(ob){var Vb=new ArrayBuffer(2);(new DataView(Vb)).setUint16(0,256,!0);Ub=256===(new Uint16Array(Vb))[0]}else Ub=!1;var Wb=Ub; -function F(a,b,c,d){this.id=Xb+=2;this.b=null;this.G=a;this.Ib=b;this.size=c||0;this.type=d||Yb;this.A=d==Zb;wb(this);this.Oa=this.vc=!1;if(c)if(ob)this.F=new ArrayBuffer(c),this.J=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),$b(this,Wb?ac:bc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},ba:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ha: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},ua:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.Oa=!0},P:function(a,b){if(this.I&&null!=this.G){var c=this.I;gc(c,this.G+a,1,c.P)&&c.na(!0)}return this.Hb(a,b)},ea:function(a,b){if(this.I&&null!=this.G){var c=this.I;gc(c,this.G+a,2,c.P)&&c.na(!0)}return this.ec(a,b)},qa:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;gc(d,this.G+a,1,d.J)&&d.na(!0)}this.A?this.B(a,b,c):this.Jb(a,b,c)},Ya:function(a, -b,c){if(this.I&&null!=this.G){var d=this.I;gc(d,this.G+a,2,d.J)&&d.na(!0)}this.A?this.B(a,b,c):this.hc(a,b,c)},O:function(a){return this.w[a]},S:function(a){return this.w[a]},da:function(a){return this.J.getUint16(a,!0)},ga:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.K[a>>1]},ia:function(a,b){this.w[a]=b;this.Oa=!0},ra:function(a,b){this.w[a]=b;this.Oa=!0},za:function(a,b){this.J.setUint16(a,b,!0);this.Oa=!0},Ca:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.K[a>>1]=b;this.Oa=!0}}; -function wb(a,b,c){a.I=b;a.N=a.u=0;c&&((a.N=c.N)&&fc(a,ec,!1),(a.u=c.u)&&dc(a,ec,!1))}function hc(a,b){b?0===--a.u&&(a.vb=a.A?a.B:a.Jb,a.Oc=a.A?a.H:a.hc):0===--a.N&&(a.tb=a.Hb,a.Lc=a.ec)}function dc(a,b,c){c&&a.u||(a.vb=!a.A&&b[2]||a.B,a.Oc=!a.A&&b[3]||a.H);if(c||void 0===c)a.Jb=b[2]||a.B,a.hc=b[3]||a.H}function fc(a,b,c){c&&a.N||(a.tb=b[0]||a.L,a.Lc=b[1]||a.M);if(c||void 0===c)a.Hb=b[0]||a.L,a.ec=b[1]||a.M}function $b(a,b){b||(b=ic);fc(a,b,void 0);dc(a,b,void 0)} -var ic=[],cc=[F.prototype.ba,F.prototype.ha,F.prototype.ua,F.prototype.Da],ec=[F.prototype.P,F.prototype.ea,F.prototype.qa,F.prototype.Ya];if(ob)var bc=[F.prototype.O,F.prototype.da,F.prototype.ia,F.prototype.za],ac=[F.prototype.S,F.prototype.ga,F.prototype.ra,F.prototype.Ca]; -function jc(a,b){x.call(this,"CPU",a,jc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.fb=c;this.i.Qb=0;this.i.Ta=d;this.i.ac=Math.round(this.i.fb/1E4)/100;this.i.cb=this.i.ac*this.i.Ta;this.D.ya=!1;this.D.Wb=!1;this.D.uc=a.autoStart;this.D.wc=!1;this.D.mb=!1;this.i.Bb=this.i.qb=0;this.i.Cb=a.csStart;this.i.pb=a.csInterval;this.i.rb=a.csStop;this.F=[];this.ba=this.gb.bind(this);E(this)}ab(jc);var kc=["power","reset"];m=jc.prototype; -m.Qa=function(a,b,c,d){this.A=a;this.w=b;this.I=d;for(b=0;b=a.i.qb&&(a.i.qb+=a.i.pb,c=!0);0<=a.i.rb&&a.i.rb<=Ec(a)&&(a.i.pb=a.i.rb=-1,nc(a),a.na(),c=!0);c&&a.g(Ec(a)+" cycles: checksum="+n(a.i.Bb))}} -m.ma=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.D.va)a=!0;else{var b=null,c,g=db(a.id);for(c=0;cc&&(c=2);var d=1;b&&1a.i.bb/a.i.cb?b=1:d=!0;a.i.Ta=b;b=a.i.ac*a.i.Ta;if(a.i.cb!=b){a.i.cb=b;b=a.i.cb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.hb()}Gc(a,a.H);a.H=0;a.i.ob=oa();a.i.eb=0;Hc(a);return d}function Ic(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Jc(a,b,c){var d=-1;0<=b&&b=this.i.fb&&Hc(this,!0);this.i.Fb=0;this.i.Pb=oa();this.i.eb&&(a=this.i.Pb-this.i.eb,a>this.i.Cc&&(this.i.ob+=a,this.i.ob>this.i.Pb&&(this.i.ob=this.i.Pb)));try{do{var c=this.D.mb?1:this.i.Hd;a=c;for(b=0;bd[0]||a>d[0]&&(a= -d[0])}c=a;this.ub(c);var e=this.B-this.b;a=e;for(b=0;bf[0]||(f[0]-=a,0>=f[0]&&(f[0]=-1,f[1]()))}this.i.Fb+=e;this.H+=e;Gc(this,0,!0);Dc(this,e);this.i.Eb-=e;0>=this.i.Eb&&(this.i.Eb+=this.i.Ec,this.A&&Kc(this.A,this.i.Qb++),this.i.Qb>this.M&&(this.i.Qb=0));this.i.Db-=e;0>=this.i.Db&&(this.i.Db+=this.i.Dc,this.A&&this.A.Ia());this.i.sb-=e;if(0>=this.i.sb){this.i.sb+=this.i.cc;break}}while(this.D.ya)}catch(h){this.na();pc(this);this.A&&this.A.stop(oa(),Ec(this)); -kb(this,!1);nb(this,h.stack||h.message);return}c=setTimeout;d=this.ba;this.i.eb=oa();e=this.i.Cc;this.i.Fb&&(e=Math.round(e*this.i.Fb/this.i.cc));e-=this.i.eb-this.i.Pb;if(f=this.i.eb-this.i.ob)this.i.bb=Math.round(this.H/(10*f))/100,864E5<=f&&(this.K=0,Fc(this));if(0>e||this.i.bb>8&255;a.U=b&255}function Uc(a){return a.V<<8|a.W}function Vc(a,b){a.V=b>>8&255;a.W=b&255}function J(a){return a.X<<8|a.Z} -function Wc(a,b){a.X=b>>8&255;a.Z=b&255}function G(a,b){a.R=b&65535}function Xc(a){return a.ca&256?1:0}function Yc(a,b){a.ca=a.ca&255|b}function Zc(a){return rb[a.fa&255]?4:0}function $c(a){return(a.fa^a.xa)&16?16:0}function ad(a){return a.ca&255?0:64}function bd(a){return a.fa&128?128:0}function Rc(a){return a.wa&-214|bd(a)|ad(a)|$c(a)|Zc(a)|Xc(a)}function Pc(a,b){a.ca=a.fa=a.xa=0;b&1&&(a.ca|=256);b&4||(a.fa|=1);b&16&&(a.xa|=16);b&64||(a.ca|=255);b&128&&(a.fa^=192);a.wa=a.wa&-726|b&512|2} -function cd(a,b){a.xa=a.j^b;return a.fa=(a.ca=a.j+b)&255}function dd(a,b){a.xa=a.j^b;return a.fa=(a.ca=a.j+b+(a.ca&256?1:0))&255}function ed(a,b){a.ca=a.fa=a.xa=a.j&b;(a.j|b)&8&&(a.xa^=16);return a.ca}function fd(a,b){a.xa=b^255;b=a.fa=b+255&255;a.ca=a.ca&-256|b;return b}function gd(a,b){a.xa=b;b=a.fa=b+1&255;a.ca=a.ca&-256|b;return b}function hd(a,b){return a.fa=a.ca=a.xa=a.j|b}function K(a,b){b^=255;a.xa=a.j^b;return a.fa=(a.ca=a.j+b+1^256)&255} -function Bd(a,b){b^=255;a.xa=a.j^b;return a.fa=(a.ca=a.j+b+(a.ca&256?0:1)^256)&255}function Cd(a,b){return a.fa=a.ca=a.xa=a.j^b}m.aa=function(a){return this.w.aa(a)};m.ta=function(a,b){this.w.ta(a,b)};function L(a){var b=a.aa(a.R);G(a,a.R+1);return b}function M(a){var b=a.w.Sa(a.R);G(a,a.R+2);return b}function O(a){var b=a.w.Sa(a.la);a.la=a.la+2&65535;return b}function P(a,b){a.la=a.la-2&65535;a.w.Tb(a.la,b)}function Dd(a,b){a.u|=1<d&&!(this.u&1<d?255:1<>8;Yc(this,a&256);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+Sc(this));Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(Sc(this));this.b-=7},function(){Tc(this,Sc(this)-1);this.b-= -5},function(){this.U=gd(this,this.U);this.b-=5},function(){this.U=fd(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Yc(this,a);this.b-=4},Gd,function(){Vc(this,M(this));this.b-=10},function(){this.ta(Uc(this),this.j);this.b-=7},function(){Vc(this,Uc(this)+1);this.b-=5},function(){this.V=gd(this,this.V);this.b-=5},function(){this.V=fd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| -Xc(this);Yc(this,a&256);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+Uc(this));Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-=5},function(){this.W=gd(this,this.W);this.b-=5},function(){this.W=fd(this,this.W);this.b-=5},function(){this.W=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(Xc(this)<<8|this.j)>>1;Yc(this,a&256);this.b-=4},Gd,function(){Wc(this,M(this));this.b-=10},function(){var a=M(this);this.w.Tb(a,J(this)); -this.b-=16},function(){Wc(this,J(this)+1);this.b-=5},function(){this.X=gd(this,this.X);this.b-=5},function(){this.X=fd(this,this.X);this.b-=5},function(){this.X=L(this);this.b-=7},function(){var a=0,b=Xc(this);if($c(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=cd(this,a);Yc(this,b?256:0);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+J(this));Yc(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.Sa(a);Wc(this,a);this.b-=16},function(){Wc(this,J(this)-1);this.b-=5},function(){this.Z= -gd(this,this.Z);this.b-=5},function(){this.Z=fd(this,this.Z);this.b-=5},function(){this.Z=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},Gd,function(){this.la=M(this)&65535;this.b-=10},function(){this.ta(M(this),this.j);this.b-=13},function(){this.la=this.la+1&65535;this.b-=5},function(){var a=J(this);this.ta(a,gd(this,this.aa(a)));this.b-=10},function(){var a=J(this);this.ta(a,fd(this,this.aa(a)));this.b-=10},function(){this.ta(J(this),L(this));this.b-=10},function(){this.ca|=256;this.b-= -4},Gd,function(){var a;Wc(this,a=J(this)+this.la);Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(M(this));this.b-=13},function(){this.la=this.la-1&65535;this.b-=5},function(){this.j=gd(this,this.j);this.b-=5},function(){this.j=fd(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){Yc(this,Xc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.X; -this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(J(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.X;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(J(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-= -5},function(){this.V=this.W;this.b-=5},function(){this.V=this.X;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(J(this));this.b-=7},function(){this.V=this.j;this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.X;this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(J(this));this.b-=7},function(){this.W=this.j;this.b-=5},function(){this.X=this.T; -this.b-=5},function(){this.X=this.U;this.b-=5},function(){this.X=this.V;this.b-=5},function(){this.X=this.W;this.b-=5},function(){this.b-=5},function(){this.X=this.Z;this.b-=5},function(){this.X=this.aa(J(this));this.b-=7},function(){this.X=this.j;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.Z=this.X;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(J(this));this.b-= -7},function(){this.Z=this.j;this.b-=5},function(){this.ta(J(this),this.T);this.b-=7},function(){this.ta(J(this),this.U);this.b-=7},function(){this.ta(J(this),this.V);this.b-=7},function(){this.ta(J(this),this.W);this.b-=7},function(){this.ta(J(this),this.X);this.b-=7},function(){this.ta(J(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.L.length)for(var b=0;b>8;this.b-=10},function(){var a=M(this);bd(this)||G(this,a);this.b-=10},function(){this.wa&=-513;this.b-=4},function(){var a=M(this);bd(this)||(P(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){P(this,Rc(this)&255|this.j<<8);this.b-=11},function(){this.j=hd(this,L(this));this.b-=7},function(){P(this,this.R);G(this,48);this.b-=11},function(){bd(this)&&(G(this, -O(this)),this.b-=6);this.b-=5},function(){this.la=J(this)&65535;this.b-=5},function(){var a=M(this);bd(this)&&G(this,a);this.b-=10},function(){this.wa|=512;this.b-=4},function(){var a=M(this);bd(this)&&(P(this,this.R),G(this,a),this.b-=6);this.b-=11},Jd,function(){K(this,L(this));this.b-=7},function(){P(this,this.R);G(this,56);this.b-=11}]; -function S(a){x.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Kd[b]&&Na("Unrecognized ChipSet model: "+b);this.B=Kd[b]||{};a.sound&&(this.ha=null,window&&(this.ha=window.AudioContext||window.webkitAudioContext),this.ha&&new this.ha);E(this)}ab(S); -var T={Aa:1978.1,sd:{Ba:0,ee:1,ie:16,pe:32,ye:64,xe:128,wb:14},Xa:{Ba:1,Tc:1,md:2,hd:4,jd:16,kd:32,ld:64,wb:8},td:{Ba:2,de:3,Ge:4,fe:8,te:16,ue:32,ve:64,ge:128,wb:0},Ce:{Ba:3},Ae:{Ba:2,qe:7},Ee:{Ba:3,He:1,De:2,we:4,ne:8,he:16,ae:32},Be:{Ba:4},Fe:{Ba:5,je:1,ke:2,le:4,me:8,Ie:16}},U={Aa:100,Ja:{Ba:66,rc:1,nc:2,gd:4,se:8,re:16,pc:32,oc:64,kc:128},Sc:{Ba:66,INIT:0},Va:{Ba:194,ce:0,jc:16,nd:32,qc:48,Xc:0,Yc:32},Kb:{Ba:162,ze:0,$c:0,Wc:0,Zc:0,Vc:0},Ka:{oe:{Ba:98},Ua:{Qc:0,Pc:1,pd:2,ud:4,Uc:5,od:6,qd:7}, -Lb:16383}},Kd={SI1978:T,VT100:U};S.prototype.ma=function(){return!1};S.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;this.A=a;this.K=tb(a,"Keyboard");this.Na=tb(a,"SerialPort");this.video=tb(a,"Video");Eb(b,this,this.B.Rb);Jb(b,this,this.B.Sb)};S.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};S.prototype.Ha=function(a){return a?this.save():!0};T.INIT=[[T.sd.wb,T.Xa.wb,T.td.wb,0,0,0,0]]; -U.INIT=[[U.Sc.INIT,U.Ja.nc|U.Ja.gd],[U.Va.Xc,U.Va.Yc],[U.Kb.$c,U.Kb.Wc,U.Kb.Zc,U.Kb.Vc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11856,11824,11840,11808,11776,12E3,12E3,11857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]]; -m=S.prototype;m.reset=function(){this.B.INIT&&!this.restore(this.B.INIT)&&this.ja("reset error")};m.save=function(){var a=new H(this);switch(this.B.Aa){case T.Aa:I(a,0,[this.Ca,this.J,this.Da,this.ba,this.ga,this.ua,this.za]);break;case U.Aa:I(a,0,[this.ia,this.H]),I(a,1,[this.M,this.O]),I(a,2,[this.F,this.da,this.ra,this.qa]),I(a,3,[this.S,this.u,this.P,this.ea,this.L])}return a.data()}; -m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.B.Aa){case T.Aa:return this.Ca=b[0],this.J=b[1],this.Da=b[2],this.ba=b[3],this.ga=b[4],this.ua=b[5],this.za=b[6],!0;case U.Aa:return this.ia=b[0],this.H=b[1],b=a[1],this.M=b[0],this.O=b[1],b=a[2],this.F=b[0],this.da=b[1],this.ra=b[2],this.qa=b[3],b=a[3],this.S=b[0],this.u=b[1],this.P=b[2],this.ea=b[3],this.L=b[4],!0}return!1};m.start=function(){};m.stop=function(){};m.Bd=function(a,b){var c=this.Ca;D(this,a,null,b,"STATUS0",c,!0);return c}; -m.Cd=function(a,b){var c=this.J;D(this,a,null,b,"STATUS1",c,!0);return c};m.Dd=function(a,b){var c=this.Da;D(this,a,null,b,"STATUS2",c,!0);return c};m.Ad=function(a,b){var c=this.ba>>8-this.ga&255;D(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.Ld=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null,!0);this.ga=b};m.Nd=function(a,b,c){D(this,a,b,c,"SOUND1",null,!0);this.ua=b};m.Md=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null,!0);this.ba=b<<8|this.ba>>8}; -m.Od=function(a,b,c){D(this,a,b,c,"SOUND2",null,!0);this.za=b};m.Pd=function(a,b,c){D(this,a,b,c,"WATCHDOG",null,!0)};function Ld(a){var b=0,c=0,d=~a.S;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -m.Ed=function(a,b){var c=this.H,c=c&~U.Ja.oc;if((Ec(this.b)&64)<<1&&(c|=U.Ja.oc,c!=this.H)){var d,e;d=this.P&1;e=this.P>>1&7;switch(e){case U.Ka.Ua.qd:break;case U.Ka.Ua.Pc:this.S=this.S<<1|d;break;case U.Ka.Ua.Uc:d=Ld(this);this.L[d]=U.Ka.Lb;ib(this,"doNVRCommand(): erase data at addr "+t(d));break;case U.Ka.Ua.Qc:this.u=this.u<<1|d;break;case U.Ka.Ua.ud:d=Ld(this);e=this.u&U.Ka.Lb;this.L[d]=e;ib(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case U.Ka.Ua.od:d=Ld(this);e=this.L[d]; -null==e&&(e=U.Ka.Lb);this.u=e;ib(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case U.Ka.Ua.pd:this.u<<=1;this.ea=this.u&U.Ka.Lb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+da(e))}}c&=~U.Ja.pc;this.ea&&(c|=U.Ja.pc);c&=~U.Ja.kc;this.K&&this.K.Zb()&&(c|=U.Ja.kc);c&=~U.Ja.rc;this.Na&&this.Na.Zb()&&(c|=U.Ja.rc);this.H=c;D(this,a,null,b,"FLAGS",c);return c};m.Qd=function(a,b,c){D(this,a,b,c,"BRIGHTNESS");this.ia=b}; -m.Td=function(a,b,c){D(this,a,b,c,"NVR.LATCH");this.P=b};m.Sd=function(a,b,c){D(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.F=this.F&-4|a;break;case 1:this.F=this.F&-13|a<<2;this.video&&(b=this.video,a=this.F,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Md(b,-1):b.yb=!0));break;case 2:switch(a){case 0:this.da=~this.da;break;case 2:case 3:this.ra=3-a}break;case 3:this.qa=a}}; -m.Rd=function(a,b,c){D(this,a,b,c,"DC011");b&U.Va.nd?(b&=U.Va.qc,this.O!=b&&(this.O=b,this.video&&(a=this.video,b=this.O==U.Va.qc?50:60,ib(a,"updateRate("+b+")"),a.$b=b))):(b&=U.Va.jc,this.M!=b&&(this.M=b,this.video&&(a=this.M==U.Va.jc?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80>>0,h],q=na(p,k,a.Za);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.H.push({Je:b,G:c,Gd:d,Ra:e,sc:f})}delete this.Ra}return!0};Pd.prototype.Ha=function(){return!0}; -function Qd(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.Xb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.A=f;else if(h)for(a.A=Array(4*h.length),d=c=0;c>8&255,a.A[d++]=h[c]>>16&255,a.A[d++]=h[c]>>24&255;else a.A=e;a.Ra=e.symbols;if(!a.A.length){u("Empty ROM: "+b);return}if(1==a.A.length){u(a.A[0]);return}}catch(g){a.ja("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>f.pa;0>>=f.pa;0d?a.u.push({gc:b,bc:Date.now(),Mb:!1}):(a.u[d].bc=Date.now(),a.u[d].Mb=!1);else if(0<=d){if(!a.u[d].Mb){var e=a.u[d].bc;if(e&&100>Date.now()-e)return a.u[d].Mb=!0,be(a),!0}a.u.splice(d,1)}if(a.J){d=0;switch(b){case "1p":d=T.Xa.hd;break;case "2p":d=T.Xa.md;break;case "coin":d=T.Xa.Tc;break;case "left":d=T.Xa.kd;break;case "right":d=T.Xa.ld;break;case "fire":d=T.Xa.jd}d&&(a=a.J,b=d,a.J&=~b,c&&(a.J|=b))}return!0} -function be(a){for(var b=0,c=-1;bc||c>e)c=e}else{$d(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){be(a)},c)}m.Zb=function(){return!0};m.Fd=function(a,b){var c=this.F;0<=this.B&&(this.B>3)*a.da,!xb(a.w,a.ua,a.S,3)))return!1;a.S?(a.Jc=a.F.createImageData(b,c),a.Nc=16/a.ab|0,he(a,a.S>>1)):he(a,(a.ea+1)*a.ha);a.M=document.createElement("canvas");a.M.width=b;a.M.height=c;a.jb=a.M.getContext("2d");a.qa={};a.Da=1<=a.zc?8:16,f=8>(7>4)*c)}return k} -ce.prototype.Ea=function(){if(2==this.ga){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.ua,c=-1,d=-1,e,f=-(60==this.$b?2:5);f>8&15|16;Cb(this.w,b++,e);Cb(this.w,b++, -c&255);if(g)break}if(h)for(c=0,e=1;ec&&(a=Math.round(c/b*100)+"%")}this.Hc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.u.style.width=a,this.u.style.height="auto");this.u.style.backgroundColor="black";this.u.kb();a=!0}this.Ca&&this.Ca.focus()}return a}; -function fe(a,b){!b&&a.u&&(a.Hc?a.O.style.width=a.O.style.height="":a.u.style.width=a.u.style.height="");ib(a,"notifyFullScreen("+b+")")}function he(a,b){a.Kc=b;a.za=!1;if(void 0===a.H||a.H.length!=a.Kc)a.H=Array(a.Kc)}function je(a,b,c,d,e){d=a.B?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ga&&(208<=c&&236>c?e=a.Da+0:28<=c&&72>c&&(e=a.Da+1));a=a.ra[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function ke(a,b){for(var c=a.ua,d=-1,e=0,f=60==a.$b?2:5,h=0,g=0,k=-1;e>=1);;){var w=Ab(a.w,p++);if(127==(w&127)){var r=Ab(a.w,p++),d=r&96,c=(r&15)<<8|Ab(a.w,p),c=c+(r&16?8192:16384);break}if(l>4)*w.ka,A=void 0,Q=void 0, -aa=void 0,Y=void 0,va=w.oa,Ib=w.ka;C?(A=v*r.oa,Q=e*r.ka,aa=r.oa,Y=r.ka):(A=v*r.Ac,Q=e*r.Fc,aa=r.Ac,Y=r.Fc);w.oa>r.oa&&(A*=2,aa*=2);w.ka>r.ka&&(0==q&&(y+=r.ka),Ib=r.ka);C?C.drawImage(w.canvas,X,y,va,Ib,A,Q,aa,Y):(A+=0,Q+=0,r.F.drawImage(w.canvas,X,y,va,Ib,A,Q,aa,Y))}g++}h++}e++}}a.za=!0;!b&&a.yb&&1==g&&(a.H[k]=-1,g=0);a.yb=!1;(g||b)&&a.jb&&a.F.drawImage(a.M,0,a.ib,a.L,a.da-a.ka,0,0,a.Vd,a.Wd)} -function Md(a,b){var c=!0,d=!0;if(0<=b){d=!1;a.Yb&&(120==a.Yb?b&1?(Dd(a.b,2),c=!1):Dd(a.b,1):Dd(a.b,4));var e;if(e=c&&a.za&&a.S){e=a.w;for(var f=a.S,h=!0,g=a.ua>>>e.pa;0>8|(r&255)<<8);k>C&w;je(a,a.Jc,k++,l,X);C+=v}k>p&&(p=k);l=e&&(e=l+1)}f+=2;g++;if(k>=a.L&&(k=0,l++,l>a.da))break}a.za=!0;cMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ta().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ua.aspect);f&&.3<=f&&3.33>=f&&(Ka("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Aa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new ce(d,e,h,f,c);gb(d,c)}}); -function le(a){this.ga=+a.adapter;switch(this.ga){case 0:this.ha=0;this.qa=2;break;default:u("Unrecognized serial adapter #"+this.ga);return}this.B=this.F=null;this.ia=a.tabSize;this.ea=a.charBOL;this.H=0;x.call(this,"SerialPort",a,le,8388608);var b=a.binding;if("console"==b)this.F="";else{var c;a=me;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.N[b])&&this.ma(null,a,b))}this.K="";this.M=this.ba=null;this.exports={receiveData:this.fc}}ab(le); -var ne=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],oe=[!1,0,0,133,142,39,238],me="buffer";m=le.prototype; -m.ma=function(a,b,c,d){var e=this;switch(b){case me:return this.N[b]=this.B=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64>=4);var c=ne[c],d=((a.L&12)>>2)+6;a.L&16&&d++;d+=((a.L&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function pe(a,b){ib(a,"receiveByte("+da(b)+"), status="+da(a.u));return a.u&2?!1:(a.S=b,a.u|=2,Dd(a.b,a.qa),!0)} -m.fc=function(a){null!=a&&(this.K="number"!=typeof a?a:this.K+String.fromCharCode(a));this.K&&(pe(this,this.K.charCodeAt(0))&&(this.K=this.K.substr(1)),this.K&&this.b&&Jc(this.b,this.ra,ue(this,15)))};m.Zb=function(){return!!(this.u&1)};m.zd=function(a,b){var c=this.S;D(this,a,null,b,"DATA",c);this.u&=-3;return c};m.yd=function(a,b){var c=this.u;D(this,a,null,b,"STATUS",c);return c}; -m.Kd=function(a,b,c){D(this,a,b,c,"DATA");this.da=b;this.u&=-6;ib(this,"transmitByte("+da(b)+")");this.ba&&this.ba.call(this.M,b);if(this.B)8==b?(this.B.value=this.B.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ia||8,c=b-this.H%b,this.ia&&(a=ka("",c))):13==b&&(this.H=c=0,a="\n"),this.ea&&!this.H&&c&&(a=String.fromCharCode(this.ea)+a),this.B.value+=a,this.B.scrollTop=this.B.scrollHeight,this.H+=c);else if(null!=this.F){if(10==b||1024<= -this.F.length)this.g(this.F),this.F="";10!=b&&(this.F+=String.fromCharCode(b))}this.b&&Jc(this.b,this.ua,ue(this,240))};m.Jd=function(a,b,c){D(this,a,b,c,"CONTROL");this.Ma?(this.P=b,this.P&64&&(this.Ma=!1)):(this.L=b,this.Ma=!0)};m.Id=function(a,b,c){D(this,a,b,c,"BAUDRATES");this.O=b};var qe={0:le.prototype.zd,1:le.prototype.yd},re={0:le.prototype.Kd,1:le.prototype.Jd,2:le.prototype.Id}; -La(function(){for(var a=B(document,"pc8080","serial"),b=0;b>>d.w.pa;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=zb[c],p&&d.g(n(p.id)+" %"+n(g<>>e.pa;f!=e.w?e.Y[h].hc(f,b&65535,d):(e.Y[h++].Jb(f,b&255,d),e.Y[h&e.K].Jb(0,b>>8&255,d+1));c&&Je(a,c);pc(this.b,!0)}};function W(a){return{G:a,Pa:!1}}function Ke(a){return[a.G,a.Pa]}function Le(a){return{G:a[0],Pa:a[1]}} -function Ie(a,b,c){var d;c=(c?a.O:a.ab).G;if(void 0!==b){d=b=Me(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=qa(De,a.substr(b,1))));return c}function Se(a,b){var c=0,d=Te(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"} -function Te(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.T;break;case 1:c=d.U;break;case 8:c=Sc(d);break;case 2:c=d.V;break;case 3:c=d.W;break;case 9:c=Uc(d);break;case 4:c=d.X;break;case 5:c=d.Z;break;case 10:c=J(d);break;case 6:c=d.aa(J(d));break;case 11:c=d.la;break;case 12:c=d.R;break;case 13:c=Rc(d);break;case 14:c=Rc(d)&255|d.j<<8}}return c} -function Ue(a,b){b=Me(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Re(b,c+1),0<=e&&(b=b.substr(0,c)+Se(a,e)+b.substr(c+1+De[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ie(a,e))?(d=e+' "'+Qe(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ie(a,e))?(Je(d),d=e+' "'+ -Qe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.R).G));if(this.sa&1073741824)this.ua.push(a);else if(!this.ra||a!=this.ra)if(this.ra=a,this.sa&-2147483648&&(this.na(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.sb=0;c.B-=c.b;c.b=0;pc(c)}}; -function hb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.sa&g)!=g||a.message(b.Ya+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?","+da(d):"")+")"+(null!=h?": "+da(h):"")+(null!=e?" at "+Z(e):""))} -function ye(a){var b;if(Ed(a)){if(!a.M||!a.M.length){a.M=Array(1E3);for(b=0;b>>d.pa],!1)}a.P=["br"];if(void 0!==a.J)for(b=1;b>>d.pa],!0);a.J=["bw"];a.ib=0}m.$a=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.u){var e=He(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.Y[e>>>f.pa].$a(e&f.w,a==this.J)}}d&&(a.push(b),c?b.Pa=!0:(yf(this,a,a.length-1,"set"),ye(this)));return d}; -function xf(a,b,c,d,e){var f=!1;c=He(c);for(var h=1;h>>d.pa],b==a.J));g.Pa||ye(a);break}}return f}function zf(a,b){for(var c=1;c>24,4);break;case 3:y=n(w.Sa(C,2),4);break;default:w="imm("+t(r)+")";break a}8086==w.style&&r&64?y="["+y+"]":r&16||(y=(w.style==we?"$":"0x")+y);w=y}else r& -16?(w=(q&3840)>>8,r=De[w],8086==a.style&&q&64&&(6==w&&(r="HL"),r="["+r+"]"),w=r):r&128&&(w=(f>>3&7).toString());if(!w||!w.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Gf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ne(a,b,c){var d;if(b){b=Me(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function Jf(a,b){if(b)return If(a,b,a.ga[b]);var c=0;for(b in a.ga)If(a,b,a.ga[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.Gd;if(e>=h&&e>8&255;case "C":d.U=g&255;break;case "D":d.V= -g&255;break;case "DE":d.V=g>>8&255;case "E":d.W=g&255;break;case "H":d.X=g&255;break;case "HL":d.X=g>>8&255;case "L":d.Z=g&255;break;case "SP":d.la=g&65535;break;case "PC":G(d,g);a.O=W(d.R);break;case "PS":Pc(d,g);break;case "PSW":Pc(d,g&255|d.wa&-256);d.j=g>>8;break;case "CF":d.ca=g?d.ca|256:d.ca&255;break;case "PF":g?Zc(d)||(d.fa^=1):Zc(d)&&(d.fa^=1);break;case "AF":d.xa=g?~d.fa&16|d.xa&-17:d.fa&16|d.xa&-17;break;case "ZF":d.ca=g?d.ca&-256:d.ca|255;break;case "SF":g?bd(d)||(d.fa^=192):bd(d)&&(d.fa^= -192);break;case "IF":d.wa=g?d.wa|512:d.wa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}pc(d);a.g("updated registers:")}a.g(Ef(a));c&&(a.O=W(d.R),vf(a,Z(a.O.G)))}}function Qf(a,b){b=la(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Ue(a,c[2])):Ne(a,b,!0)}function Rf(a,b,c){var d="t"!=b;c=Hf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return kb(a,!0)&&a.ub(e,d,!1)},function(){pc(a.b);kb(a,!1)})} -function vf(a,b,c,d){if(b=Ie(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ie(a,c,!0);if(!d||d.Gg[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=Bf(a,b,h,f);a.g(f);a.O=b;e-=b.G-k;c++}}} -function Pe(a,b,c,d){if(c)if(b){0>a.F&&a.B.length&&(a.F=0);if(0>a.F||b!=a.B[a.F])a.B.splice(0,0,b),a.F=0;a.F--}else a.ea?b="end":b=a.B[a.F+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(la(b.substring(c,f))),c=f+1}}return a} -function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ea&&(a.g("ended assemble at "+Z(a.da.G)),a.O=a.da,a.ea=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ra=null;if(mb(a)&&0l||"z"Ga.length&&(a.g("note: only "+Ga.length+" available"),ha=Ga.length);ba-=ha;0>ba&&(null==Ga[Ga.length-1].G?(ha=ba+ha,ba=0):ba+=Ga.length);var kd=[];"call"== -bf&&(qb=1E5,kd=["CALL"]);for(void 0!==af&&a.g(ha+" instructions earlier:");0=Ga.length&&(ba=0);a.jb=ha;df++;qb--}}df||(a.g("no "+cf+"history available"),a.jb=void 0)}else{var qc=Ie(a,Y);if(qc){var rc=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Ib),rc=Hf(a,va)>>>0,65536>4||1;mg--&&0vc?String.fromCharCode(vc):".";tc--}Za&&(Za+="\n");Za+=Y+" "+Ob+(0==Nb?" "+md:"")}Za&&a.g(Za);a.ab=qc}}}}break;case "e":if("else"==f[0])break;var wc=1,gf=255,hf=a.aa,jf=a.ta;"ew"==f[0]&&(wc=2,gf=65535,hf=a.Sa,jf=a.Tb);var kf=wc<<1,lf=f[1];if(null==lf)a.g("edit memory commands:"), -a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var xc=Ie(a,lf);if(xc)for(var yc=2;yctd;){for(var $a=null,sg=256;65536>Rb.G>>>0;){nf.G= -a.Sa(Rb,2);if(null==Rb.G||!sg--)break;for(var tg=a,Ac=nf,of=null,Sb=Ac.G,pf=Sb,ud=1;6>=ud&&Sb;ud++){if(2\nLicense: GPL version 3 or later ");for(b=0;bag){if(Xf(d,this.O)){this.J=new H(this,"1.23.3","failsafe");Xf(this.J)&&(fg(this,d),a=2,Uf(this.J));I(this.J,"timestamp",pa());Vf(this.J);var e=this.A&&!this.K;if(1==a||ua("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Wf(d)){var f=Yf(d,"code"),h=Yf(d,"data");f&&("ok"==f?Xf(d,h):("error"==f&& -"no machine state"!=h?(this.ja("Error: "+h),"unable to verify user"==h&&(za("user",""),this.u=null)):this.g(f+": "+h),Uf(d),Xf(d)?(c=Wf(d),e=!0):c=!1))}e&&eg(this,c?d:null)}else 2==a&&d.clear()}else eg(this);delete this.O;delete this.P}e=db(this.id);for(f=0;fa[1];a=a[2];this.ia=!0;this.D.va=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),Cc(this.b));this.da&&(fg(this,b),b.clear());!c&&this.J&&(this.J.clear(),delete this.J);this.B=0}; -function fg(a,b){if(ua("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.u||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.ha;e.user=c;e.type="bug";e.data=d;ra("http://www.pcjs.org/api/v1/report",e,!0)}} -function Sf(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new H(a,"1.23.3"),h=new H(a,"1.23.3","validate"),g=pa();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.23.3");I(f,"url",window?window.location.href:null);I(f,"browser",ta());a.b&&a.b.Ha&&(c&&a.b.na(),d=a.b.Ha(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.D.va=!1,!1===d&&(e=null)));for(var g=db(a.id),k=0;kg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ra(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);zg(a,b,c)}})}else c(a,null)} -function Ag(a,b,c,d){function e(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ja(a))}function f(a){e("Error: "+a);k&&(--jg||Oa(!0));k=!1}var h,g,k=!0;jg++;bb[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c|| -(c="/versions/pc8080/1.23.3/components.xsl");l=function(d,g){g?kg(c,null,null,!1,e,function(d,k){if(k)if(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--jg||Oa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--jg||Oa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?kg(b,a,d,!0,e,l):yg(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(v){f(v.message)}return k}window.embedPC8080=function(a,b,c,d){Oa(!1);return Ag(a,b,c,d)};window.enableEvents=Oa;window.sendEvent=Pa; -function Bg(a,b,c,d){if(!c&&b){d.push(b);a=bb[d[0]];b=null;for(var e in a)if(ga(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?ra(b,null,!0,function(a,b){Cg(b,d)}):Cg(null,d)}else u("Error ("+c+") requesting "+a)} -function Cg(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=bb[f],k={},l;for(l in g){var p=g[l],q=fa(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[l]);){var v=d[2];v&&(g[v]||(p=p.replace(d[0],"")))}d=l=ea(l)}else"xsl"==q&&(e=l=ea(l));k[l]=p}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),l=h,g=null,k="data:application/javascript,",k=Aa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', -c+='
    \n',c+="...\n",c+=' -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pc8080/1.24.0/document.css b/versions/pc8080/1.24.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.24.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.24.0/document.xsl b/versions/pc8080/1.24.0/document.xsl deleted file mode 100644 index fd0731582..000000000 --- a/versions/pc8080/1.24.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.24.0/machine.xsl b/versions/pc8080/1.24.0/machine.xsl deleted file mode 100644 index f1d06ee78..000000000 --- a/versions/pc8080/1.24.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.24.0/manifest.xsl b/versions/pc8080/1.24.0/manifest.xsl deleted file mode 100644 index b35428181..000000000 --- a/versions/pc8080/1.24.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.24.0/outline.xsl b/versions/pc8080/1.24.0/outline.xsl deleted file mode 100644 index 698e3edce..000000000 --- a/versions/pc8080/1.24.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.24.0/pc8080-dbg.js b/versions/pc8080/1.24.0/pc8080-dbg.js deleted file mode 100644 index 8f1184da7..000000000 --- a/versions/pc8080/1.24.0/pc8080-dbg.js +++ /dev/null @@ -1,248 +0,0 @@ -(function(){var m;function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function n(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function da(a){return"0x"+n(a,2)}function t(a){return"0x"+n(a,4)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})}function la(a,b){return(a+" ").slice(0,b)}function ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var na={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function ra(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.Ya=this.id:(this.Lb=this.id.substr(0,b),this.Ya=this.id.substr(b+1));this[a]=c;this.D={La:!1,kb:!1,Vb:!1,va:!1,mb:!1};this.Ob=null;this.D.mb=!1;this.N={};this.I=null;this.ra=d||0;Ta.push(this)}var Ua=void 0,Va={}; -if(window){Ua||(Ua=window.location.search.substr(1));for(var Wa,Xa=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Wa=$a.exec(Ua);)Va[decodeURIComponent(Wa[1].replace(Xa," "))]=decodeURIComponent(Wa[2].replace(Xa," "))}function ab(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 bb(a,b){b||(b=w);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var cb=window.PCjs.Machines||(window.PCjs.Machines={}),Ta=window.PCjs.Components||(window.PCjs.Components=[])}else cb={},Ta=[];function db(a,b,c){cb[a]&&b&&(cb[a][b]=c)}function Oa(a,b,c){b||u((c?c+": ":"")+a)} -function eb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.H?10:20>=this.H?12:24>=this.H?14:15;this.Fa=1<>2;this.w=this.Fa-1;this.L=this.M/this.Fa|0;this.K=this.L-1;this.A=[];this.u=[];this.F=this.J=!1;this.R=[];this.S=[];a=new F;yb(a,this.I);this.Y=Array(this.L);for(b=0;b>>a.pa;0f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.G)return g.Hb+=g.G-e,g.G=e,!0;if(e>=g.G+g.Hb){l=g.size-(e-k);l>f&&(l=f);g.Hb=e-g.G+l;e=k+a.Fa;f-=l;h++;continue}}return Ab(1,e,f)}e=new F(e,l,a.Fa,d);yb(e,a.I,g);a.Y[h++]=e;e=k+a.Fa;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Bb[d]+" at "+t(b)),!0):Ab(2,b,c)}m.$=function(a){return this.Y[(a&this.B)>>>this.pa].sb(a&this.w,a)}; -function Cb(a,b){return a.Y[(b&a.B)>>>a.pa].Gb(b&a.w,b)}m.Ra=function(a){var b=a&this.w,c=(a&this.B)>>>this.pa;return b!=this.w?this.Y[c].Lc(b,a):this.Y[c++].sb(b,a)|this.Y[c&this.K].sb(0,a+1)<<8};function Db(a,b){var c=b&a.w,d=(b&a.B)>>>a.pa;return c!=a.w?a.Y[d].dc(c,b):a.Y[d++].Gb(c,b)|a.Y[d&a.K].Gb(0,b+1)<<8}m.sa=function(a,b){this.Y[(a&this.B)>>>this.pa].ub(a&this.w,b&255,a)};function Eb(a,b,c){a.Y[(b&a.B)>>>a.pa].Ib(b&a.w,c&255,b)} -m.Tb=function(a,b){var c=a&this.w,d=(a&this.B)>>>this.pa;c!=this.w?this.Y[d].Nc(c,b&65535,a):(this.Y[d++].ub(c,b&255,a),this.Y[d&this.K].ub(0,b>>8&255,a+1))};function Gb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Hb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.A[k]?u("Input port "+t(k)+" already registered"):f.A[k]=[g,!1]}} -function Ib(a,b,c){for(var d=1,e=0,f=0;0>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.I&&a.J!=h[1]&&Vb(a.I,b,k)}else a.I&&(ib(a.I,a,b,k,d),a.J&&Vb(a.I,b,k));f+=g<<3;b+=g;e-=g}} -function Ab(a,b,c){u("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Wb;if(rb){var Xb=new ArrayBuffer(2);(new DataView(Xb)).setUint16(0,256,!0);Wb=256===(new Uint16Array(Xb))[0]}else Wb=!1;var Yb=Wb; -function F(a,b,c,d){this.id=Zb+=2;this.b=null;this.G=a;this.Hb=b;this.size=c||0;this.type=d||$b;this.A=d==ac;yb(this);this.Na=this.uc=!1;if(c)if(rb)this.F=new ArrayBuffer(c),this.J=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),bc(this,Yb?cc:dc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},aa:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ga: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},ta:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.Na=!0},R:function(a,b){if(this.I&&null!=this.G){var c=this.I;ic(c,this.G+a,1,c.R)&&c.ma(!0)}return this.Gb(a,b)},da:function(a,b){if(this.I&&null!=this.G){var c=this.I;ic(c,this.G+a,2,c.R)&&c.ma(!0)}return this.dc(a,b)},na:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;ic(d,this.G+a,1,d.J)&&d.ma(!0)}this.A?this.B(a,b,c):this.Ib(a,b,c)},Ya:function(a, -b,c){if(this.I&&null!=this.G){var d=this.I;ic(d,this.G+a,2,d.J)&&d.ma(!0)}this.A?this.B(a,b,c):this.gc(a,b,c)},O:function(a){return this.w[a]},S:function(a){return this.w[a]},ca:function(a){return this.J.getUint16(a,!0)},fa:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.K[a>>1]},ha:function(a,b){this.w[a]=b;this.Na=!0},qa:function(a,b){this.w[a]=b;this.Na=!0},ua:function(a,b){this.J.setUint16(a,b,!0);this.Na=!0},Ba:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.K[a>>1]=b;this.Na=!0}}; -function yb(a,b,c){a.I=b;a.N=a.u=0;c&&((a.N=c.N)&&hc(a,gc,!1),(a.u=c.u)&&fc(a,gc,!1))}function jc(a,b){b?0===--a.u&&(a.ub=a.A?a.B:a.Ib,a.Nc=a.A?a.H:a.gc):0===--a.N&&(a.sb=a.Gb,a.Lc=a.dc)}function fc(a,b,c){c&&a.u||(a.ub=!a.A&&b[2]||a.B,a.Nc=!a.A&&b[3]||a.H);if(c||void 0===c)a.Ib=b[2]||a.B,a.gc=b[3]||a.H}function hc(a,b,c){c&&a.N||(a.sb=b[0]||a.L,a.Lc=b[1]||a.M);if(c||void 0===c)a.Gb=b[0]||a.L,a.dc=b[1]||a.M}function bc(a,b){b||(b=kc);hc(a,b,void 0);fc(a,b,void 0)} -var kc=[],ec=[F.prototype.aa,F.prototype.ga,F.prototype.ta,F.prototype.Ca],gc=[F.prototype.R,F.prototype.da,F.prototype.na,F.prototype.Ya];if(rb)var dc=[F.prototype.O,F.prototype.ca,F.prototype.ha,F.prototype.ua],cc=[F.prototype.S,F.prototype.fa,F.prototype.qa,F.prototype.Ba]; -function lc(a,b){w.call(this,"CPU",a,lc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.eb=c;this.i.Qb=0;this.i.Sa=d;this.i.$b=Math.round(this.i.eb/1E4)/100;this.i.bb=this.i.$b*this.i.Sa;this.D.ya=!1;this.D.Wb=!1;this.D.tc=a.autoStart;this.D.vc=!1;this.D.lb=!1;this.i.Ab=this.i.pb=0;this.i.Bb=a.csStart;this.i.ob=a.csInterval;this.i.qb=a.csStop;this.F=[];this.aa=this.fb.bind(this);E(this)}bb(lc);var mc=["power","reset"];m=lc.prototype; -m.Pa=function(a,b,c,d){this.A=a;this.w=b;this.I=d;for(b=0;b=a.i.pb&&(a.i.pb+=a.i.ob,c=!0);0<=a.i.qb&&a.i.qb<=Gc(a)&&(a.i.ob=a.i.qb=-1,Bc(a),a.ma(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+n(a.i.Ab))}} -m.la=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.D.va)a=!0;else{var b=null,c,g=eb(a.id);for(c=0;cc&&(c=2);var d=1;b&&1a.i.ab/a.i.bb?b=1:d=!0;a.i.Sa=b;b=a.i.$b*a.i.Sa;if(a.i.bb!=b){a.i.bb=b;b=a.i.bb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.gb()}Ic(a,a.H);a.H=0;a.i.nb=pa();a.i.cb=0;Jc(a);return d}function Kc(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Lc(a,b,c){var d=-1;0<=b&&b=this.i.eb&&Jc(this,!0);this.i.Eb=0;this.i.Pb=pa();this.i.cb&&(a=this.i.Pb-this.i.cb,a>this.i.Dc&&(this.i.nb+=a,this.i.nb>this.i.Pb&&(this.i.nb=this.i.Pb)));try{do{var c=this.D.lb?1:this.i.Gd;a=c;for(b=0;bd[0]||a>d[0]&&(a= -d[0])}c=a;this.tb(c);var e=this.B-this.b;a=e;for(b=0;bf[0]||(f[0]-=a,0>=f[0]&&(f[0]=-1,f[1]()))}this.i.Eb+=e;this.H+=e;Ic(this,0,!0);Fc(this,e);this.i.Db-=e;0>=this.i.Db&&(this.i.Db+=this.i.Fc,this.A&&Mc(this.A,this.i.Qb++),this.i.Qb>this.M&&(this.i.Qb=0));this.i.Cb-=e;0>=this.i.Cb&&(this.i.Cb+=this.i.Ec,this.A&&this.A.Ha());this.i.rb-=e;if(0>=this.i.rb){this.i.rb+=this.i.bc;break}}while(this.D.ya)}catch(h){this.ma();Dc(this);this.A&&this.A.stop(pa(),Gc(this)); -lb(this,!1);qb(this,h.stack||h.message);return}c=setTimeout;d=this.aa;this.i.cb=pa();e=this.i.Dc;this.i.Eb&&(e=Math.round(e*this.i.Eb/this.i.bc));e-=this.i.cb-this.i.Pb;if(f=this.i.cb-this.i.nb)this.i.ab=Math.round(this.H/(10*f))/100,864E5<=f&&(this.K=0,Hc(this));if(0>e||this.i.ab>8&255;a.U=b&255}function Wc(a){return a.V<<8|a.W}function Xc(a,b){a.V=b>>8&255;a.W=b&255}function J(a){return a.X<<8|a.Z} -function Yc(a,b){a.X=b>>8&255;a.Z=b&255}function G(a,b){a.P=b&65535}function Zc(a){return a.ba&256?1:0}function $c(a,b){a.ba=a.ba&255|b}function ad(a){return sb[a.ea&255]?4:0}function bd(a){return(a.ea^a.xa)&16?16:0}function cd(a){return a.ba&255?0:64}function dd(a){return a.ea&128?128:0}function Tc(a){return a.wa&-214|dd(a)|cd(a)|bd(a)|ad(a)|Zc(a)}function Rc(a,b){a.ba=a.ea=a.xa=0;b&1&&(a.ba|=256);b&4||(a.ea|=1);b&16&&(a.xa|=16);b&64||(a.ba|=255);b&128&&(a.ea^=192);a.wa=a.wa&-726|b&512|2} -function ed(a,b){a.xa=a.j^b;return a.ea=(a.ba=a.j+b)&255}function fd(a,b){a.xa=a.j^b;return a.ea=(a.ba=a.j+b+(a.ba&256?1:0))&255}function gd(a,b){a.ba=a.ea=a.xa=a.j&b;(a.j|b)&8&&(a.xa^=16);return a.ba}function Ad(a,b){a.xa=b^255;b=a.ea=b+255&255;a.ba=a.ba&-256|b;return b}function Bd(a,b){a.xa=b;b=a.ea=b+1&255;a.ba=a.ba&-256|b;return b}function Cd(a,b){return a.ea=a.ba=a.xa=a.j|b}function K(a,b){b^=255;a.xa=a.j^b;return a.ea=(a.ba=a.j+b+1^256)&255} -function Dd(a,b){b^=255;a.xa=a.j^b;return a.ea=(a.ba=a.j+b+(a.ba&256?0:1)^256)&255}function Ed(a,b){return a.ea=a.ba=a.xa=a.j^b}m.$=function(a){return this.w.$(a)};m.sa=function(a,b){this.w.sa(a,b)};function L(a){var b=a.$(a.P);G(a,a.P+1);return b}function M(a){var b=a.w.Ra(a.P);G(a,a.P+2);return b}function O(a){var b=a.w.Ra(a.ka);a.ka=a.ka+2&65535;return b}function P(a,b){a.ka=a.ka-2&65535;a.w.Tb(a.ka,b)}function Fd(a,b){a.u|=1<d&&!(this.u&1<d?255:1<>8;$c(this,a&256);this.b-=4},Id,function(){var a;Yc(this,a=J(this)+Uc(this));$c(this,a>>8&256);this.b-=10},function(){this.j=this.$(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-= -5},function(){this.U=Bd(this,this.U);this.b-=5},function(){this.U=Ad(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;$c(this,a);this.b-=4},Id,function(){Xc(this,M(this));this.b-=10},function(){this.sa(Wc(this),this.j);this.b-=7},function(){Xc(this,Wc(this)+1);this.b-=5},function(){this.V=Bd(this,this.V);this.b-=5},function(){this.V=Ad(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| -Zc(this);$c(this,a&256);this.b-=4},Id,function(){var a;Yc(this,a=J(this)+Wc(this));$c(this,a>>8&256);this.b-=10},function(){this.j=this.$(Wc(this));this.b-=7},function(){Xc(this,Wc(this)-1);this.b-=5},function(){this.W=Bd(this,this.W);this.b-=5},function(){this.W=Ad(this,this.W);this.b-=5},function(){this.W=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(Zc(this)<<8|this.j)>>1;$c(this,a&256);this.b-=4},Id,function(){Yc(this,M(this));this.b-=10},function(){var a=M(this);this.w.Tb(a,J(this)); -this.b-=16},function(){Yc(this,J(this)+1);this.b-=5},function(){this.X=Bd(this,this.X);this.b-=5},function(){this.X=Ad(this,this.X);this.b-=5},function(){this.X=L(this);this.b-=7},function(){var a=0,b=Zc(this);if(bd(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=ed(this,a);$c(this,b?256:0);this.b-=4},Id,function(){var a;Yc(this,a=J(this)+J(this));$c(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.Ra(a);Yc(this,a);this.b-=16},function(){Yc(this,J(this)-1);this.b-=5},function(){this.Z= -Bd(this,this.Z);this.b-=5},function(){this.Z=Ad(this,this.Z);this.b-=5},function(){this.Z=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},Id,function(){this.ka=M(this)&65535;this.b-=10},function(){this.sa(M(this),this.j);this.b-=13},function(){this.ka=this.ka+1&65535;this.b-=5},function(){var a=J(this);this.sa(a,Bd(this,this.$(a)));this.b-=10},function(){var a=J(this);this.sa(a,Ad(this,this.$(a)));this.b-=10},function(){this.sa(J(this),L(this));this.b-=10},function(){this.ba|=256;this.b-= -4},Id,function(){var a;Yc(this,a=J(this)+this.ka);$c(this,a>>8&256);this.b-=10},function(){this.j=this.$(M(this));this.b-=13},function(){this.ka=this.ka-1&65535;this.b-=5},function(){this.j=Bd(this,this.j);this.b-=5},function(){this.j=Ad(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){$c(this,Zc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.X;this.b-= -5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.$(J(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.X;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.$(J(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V= -this.W;this.b-=5},function(){this.V=this.X;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.$(J(this));this.b-=7},function(){this.V=this.j;this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.X;this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.$(J(this));this.b-=7},function(){this.W=this.j;this.b-=5},function(){this.X=this.T;this.b-=5},function(){this.X= -this.U;this.b-=5},function(){this.X=this.V;this.b-=5},function(){this.X=this.W;this.b-=5},function(){this.b-=5},function(){this.X=this.Z;this.b-=5},function(){this.X=this.$(J(this));this.b-=7},function(){this.X=this.j;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.Z=this.X;this.b-=5},function(){this.b-=5},function(){this.Z=this.$(J(this));this.b-=7},function(){this.Z=this.j; -this.b-=5},function(){this.sa(J(this),this.T);this.b-=7},function(){this.sa(J(this),this.U);this.b-=7},function(){this.sa(J(this),this.V);this.b-=7},function(){this.sa(J(this),this.W);this.b-=7},function(){this.sa(J(this),this.X);this.b-=7},function(){this.sa(J(this),this.Z);this.b-=7},function(){var a=this.P-1;if(this.L.length)for(var b=0;b>8;this.b-=10},function(){var a=M(this);dd(this)||G(this,a);this.b-=10},function(){this.wa&=-513;this.b-=4},function(){var a=M(this);dd(this)||(P(this,this.P),G(this,a),this.b-=6);this.b-=11},function(){P(this,Tc(this)&255|this.j<<8);this.b-=11},function(){this.j=Cd(this,L(this));this.b-=7},function(){P(this,this.P);G(this,48);this.b-=11},function(){dd(this)&&(G(this,O(this)), -this.b-=6);this.b-=5},function(){this.ka=J(this)&65535;this.b-=5},function(){var a=M(this);dd(this)&&G(this,a);this.b-=10},function(){this.wa|=512;this.b-=4},function(){var a=M(this);dd(this)&&(P(this,this.P),G(this,a),this.b-=6);this.b-=11},Ld,function(){K(this,L(this));this.b-=7},function(){P(this,this.P);G(this,56);this.b-=11}]; -function S(a){w.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Md[b]&&Oa("Unrecognized ChipSet model: "+b);this.B=Md[b]||{};a.sound&&(this.ga=null,window&&(this.ga=window.AudioContext||window.webkitAudioContext),this.ga&&new this.ga);E(this)}bb(S); -var T={za:1978.1,rd:{Aa:0,ee:1,ie:16,pe:32,ye:64,xe:128,vb:14},Xa:{Aa:1,Sc:1,ld:2,gd:4,hd:16,jd:32,kd:64,vb:8},sd:{Aa:2,de:3,Ge:4,fe:8,te:16,ue:32,ve:64,ge:128,vb:0},Ce:{Aa:3},Ae:{Aa:2,qe:7},Ee:{Aa:3,He:1,De:2,we:4,ne:8,he:16,ae:32},Be:{Aa:4},Fe:{Aa:5,je:1,ke:2,le:4,me:8,Ie:16}},U={za:100,Ia:{Aa:66,qc:1,mc:2,fd:4,se:8,re:16,oc:32,nc:64,jc:128},Rc:{Aa:66,INIT:0},Va:{Aa:194,ce:0,ic:16,md:32,pc:48,Wc:0,Xc:32},Jb:{Aa:162,ze:0,Zc:0,Vc:0,Yc:0,Uc:0},Ja:{oe:{Aa:98},Ua:{Pc:0,Oc:1,od:2,td:4,Tc:5,nd:6,pd:7}, -Kb:16383}},Md={SI1978:T,VT100:U};S.prototype.la=function(){return!1};S.prototype.Pa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;this.A=a;this.K=vb(a,"Keyboard");this.Ma=vb(a,"SerialPort");this.video=vb(a,"Video");Hb(b,this,this.B.Rb);Tb(b,this,this.B.Sb);if(d){var e=this;Nd(d,16384,function(){for(var a="",b=0;b>8-this.fa&255;D(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.Kd=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null,!0);this.fa=b};m.Md=function(a,b,c){D(this,a,b,c,"SOUND1",null,!0);this.ta=b};m.Ld=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null,!0);this.aa=b<<8|this.aa>>8}; -m.Nd=function(a,b,c){D(this,a,b,c,"SOUND2",null,!0);this.ua=b};m.Od=function(a,b,c){D(this,a,b,c,"WATCHDOG",null,!0)};function Od(a){var b=0,c=0,d=~a.S;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -m.Dd=function(a,b){var c=this.L,c=c&~U.Ia.nc;if((Gc(this.b)&64)<<1&&(c|=U.Ia.nc,c!=this.L)){var d,e;d=this.R&1;e=this.R>>1&7;switch(e){case U.Ja.Ua.pd:break;case U.Ja.Ua.Oc:this.S=this.S<<1|d;break;case U.Ja.Ua.Tc:d=Od(this);this.F[d]=U.Ja.Kb;jb(this,"doNVRCommand(): erase data at addr "+t(d));break;case U.Ja.Ua.Pc:this.u=this.u<<1|d;break;case U.Ja.Ua.td:d=Od(this);e=this.u&U.Ja.Kb;this.F[d]=e;jb(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case U.Ja.Ua.nd:d=Od(this);e=this.F[d]; -null==e&&(e=U.Ja.Kb);this.u=e;jb(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case U.Ja.Ua.od:this.u<<=1;this.da=this.u&U.Ja.Kb+1;break;default:jb(this,"doNVRCommand(): unrecognized command "+da(e))}}c&=~U.Ia.oc;this.da&&(c|=U.Ia.oc);c&=~U.Ia.jc;this.K&&this.K.Zb()&&(c|=U.Ia.jc);c&=~U.Ia.qc;this.Ma&&this.Ma.Zb()&&(c|=U.Ia.qc);this.L=c;D(this,a,null,b,"FLAGS",c);return c};m.Pd=function(a,b,c){D(this,a,b,c,"BRIGHTNESS");this.ha=b}; -m.Sd=function(a,b,c){D(this,a,b,c,"NVR.LATCH");this.R=b};m.Rd=function(a,b,c){D(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.J=this.J&-4|a;break;case 1:this.J=this.J&-13|a<<2;this.video&&(b=this.video,a=this.J,jb(b,"updateScrollOffset("+a+")"),b.hb!==a&&((b.hb=a)?Pd(b,-1):b.xb=!0));break;case 2:switch(a){case 0:this.ca=~this.ca;break;case 2:case 3:this.qa=3-a}break;case 3:this.na=a}}; -m.Qd=function(a,b,c){D(this,a,b,c,"DC011");b&U.Va.md?(b&=U.Va.pc,this.O!=b&&(this.O=b,this.video&&(a=this.video,b=this.O==U.Va.pc?50:60,jb(a,"updateRate("+b+")"),a.Yb=b))):(b&=U.Va.ic,this.M!=b&&(this.M=b,this.video&&(a=this.M==U.Va.ic?132:80,b=this.video,jb(b,"updateDimensions("+a+","+(80>>0,h],q=oa(p,k,a.Ta);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.H.push({Je:b,G:c,Fd:d,Qa:e,rc:f})}delete this.Qa}return!0};Sd.prototype.Ga=function(){return!0}; -function Td(a,b,c,d){if(d)a.ia("Unable to load system ROM (error "+d+": "+b+")");else{db(a.Lb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.A=f;else if(h)for(a.A=Array(4*h.length),d=c=0;c>8&255,a.A[d++]=h[c]>>16&255,a.A[d++]=h[c]>>24&255;else a.A=e;a.Qa=e.symbols;if(!a.A.length){u("Empty ROM: "+b);return}if(1==a.A.length){u(a.A[0]);return}}catch(g){a.ia("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>f.pa;0>>=f.pa;0d?a.u.push({fc:b,ac:Date.now(),Mb:!1}):(a.u[d].ac=Date.now(),a.u[d].Mb=!1);else if(0<=d){if(!a.u[d].Mb){var e=a.u[d].ac;if(e&&100>Date.now()-e)return a.u[d].Mb=!0,ee(a),!0}a.u.splice(d,1)}if(a.J){d=0;switch(b){case "1p":d=T.Xa.gd;break;case "2p":d=T.Xa.ld;break;case "coin":d=T.Xa.Sc;break;case "left":d=T.Xa.jd;break;case "right":d=T.Xa.kd;break;case "fire":d=T.Xa.hd}d&&(a=a.J,b=d,a.H&=~b,c&&(a.H|=b))}return!0} -function ee(a){for(var b=0,c=-1;bc||c>e)c=e}else{ce(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){ee(a)},c)}m.Zb=function(){return!0};m.Ed=function(a,b){var c=this.F;0<=this.B&&(this.B>3)*a.ca,!zb(a.w,a.ta,a.S,3)))return!1;a.S?(a.Ic=a.F.createImageData(b,c),a.Kc=16/a.$a|0,ke(a,a.S>>1)):ke(a,(a.da+1)*a.ga);a.M=document.createElement("canvas");a.M.width=b;a.M.height=c;a.ib=a.M.getContext("2d");a.na={};a.Ca=1<=a.zc?8:16,f=8>(7>4)*c)}return k} -fe.prototype.Da=function(){if(2==this.fa){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.ta,c=-1,d=-1,e,f=-(60==this.Yb?2:5);f>8&15|16;Eb(this.w,b++,e);Eb(this.w,b++, -c&255);if(g)break}if(h)for(c=0,e=1;ec&&(a=Math.round(c/b*100)+"%")}this.Hc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.u.style.width=a,this.u.style.height="auto");this.u.style.backgroundColor="black";this.u.jb();a=!0}this.Ba&&this.Ba.focus()}return a}; -function ie(a,b){!b&&a.u&&(a.Hc?a.O.style.width=a.O.style.height="":a.u.style.width=a.u.style.height="");jb(a,"notifyFullScreen("+b+")")}function ke(a,b){a.Jc=b;a.ua=!1;if(void 0===a.H||a.H.length!=a.Jc)a.H=Array(a.Jc)}function me(a,b,c,d,e){d=a.B?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.fa&&(208<=c&&236>c?e=a.Ca+0:28<=c&&72>c&&(e=a.Ca+1));a=a.qa[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function ne(a,b){for(var c=a.ta,d=-1,e=0,f=60==a.Yb?2:5,h=0,g=0,k=-1;e>=1);;){var v=Cb(a.w,p++);if(127==(v&127)){var r=Cb(a.w,p++),d=r&96,c=(r&15)<<8|Cb(a.w,p),c=c+(r&16?8192:16384);break}if(l>4)*v.ja,A=void 0,Q=void 0, -aa=void 0,Y=void 0,va=v.oa,Fb=v.ja;C?(A=x*r.oa,Q=e*r.ja,aa=r.oa,Y=r.ja):(A=x*r.Ac,Q=e*r.Bc,aa=r.Ac,Y=r.Bc);v.oa>r.oa&&(A*=2,aa*=2);v.ja>r.ja&&(0==q&&(y+=r.ja),Fb=r.ja);C?C.drawImage(v.canvas,X,y,va,Fb,A,Q,aa,Y):(A+=0,Q+=0,r.F.drawImage(v.canvas,X,y,va,Fb,A,Q,aa,Y))}g++}h++}e++}}a.ua=!0;!b&&a.xb&&1==g&&(a.H[k]=-1,g=0);a.xb=!1;(g||b)&&a.ib&&a.F.drawImage(a.M,0,a.hb,a.L,a.ca-a.ja,0,0,a.Ud,a.Vd)} -function Pd(a,b){var c=!0,d=!0;if(0<=b){d=!1;a.Xb&&(120==a.Xb?b&1?(Fd(a.b,2),c=!1):Fd(a.b,1):Fd(a.b,4));var e;if(e=c&&a.ua&&a.S){e=a.w;for(var f=a.S,h=!0,g=a.ta>>>e.pa;0>8|(r&255)<<8);k>C&v;me(a,a.Ic,k++,l,X);C+=x}k>p&&(p=k);l=e&&(e=l+1)}f+=2;g++;if(k>=a.L&&(k=0,l++,l>a.ca))break}a.ua=!0;cMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ta().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Va.aspect);f&&.3<=f&&3.33>=f&&(La("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Aa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new fe(d,e,h,f,c);hb(d,c)}}); -function oe(a){this.ga=+a.adapter;switch(this.ga){case 0:this.ha=0;this.qa=2;break;default:u("Unrecognized serial adapter #"+this.ga);return}this.B=this.F=null;this.na=a.tabSize;this.fa=a.charBOL;this.H=0;this.ca=!1;w.call(this,"SerialPort",a,oe,8388608);var b=a.binding;if("console"==b)this.F="";else{var c;a=pe;b&&(void 0===c&&(c="Panel"),(c=gb(c,this.id))&&(b=c.N[b])&&this.la(null,a,b))}this.K="";this.L=this.O=null;this.exports={connect:this.xc,receiveData:this.ec}}bb(oe); -var qe=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],re=[!1,0,0,133,142,39,238],pe="buffer";m=oe.prototype; -m.la=function(a,b,c,d){var e=this;switch(b){case pe:return this.N[b]=this.B=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ma(b[0]);if(c!=this.Ya)return;b=ma(b[1]);if(this.L=fb(b)){var d=this.L.exports;if(d){var e=d.connect;e&&e.call(this.L);if(this.O=d.receiveData){this.status(this.Lb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};m.Da=function(a,b){if(!b)if(this.xc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -m.Ga=function(a){return a?this.save():!0};m.reset=function(){ve(this)};m.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.La;c[b++]=this.aa;c[b++]=this.da;c[b++]=this.u;c[b++]=this.M;c[b++]=this.S;c[b]=this.R;I(a,0,c);return a.data()};m.restore=function(a){return ve(this,a[0])};function ve(a,b){var c=0;void 0===b&&(b=re);a.La=b[c++];a.aa=b[c++];a.da=b[c++];a.u=b[c++];a.M=b[c++];a.S=b[c++];a.R=b[c];return!0} -function we(a,b){var c=a.R&b;b&15||(c>>=4);var c=qe[c],d=((a.M&12)>>2)+6;a.M&16&&d++;d+=((a.M&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function se(a,b){jb(a,"receiveByte("+da(b)+"), status="+da(a.u));return a.ca||a.u&2?!1:(a.aa=b,a.u|=2,Fd(a.b,a.qa),!0)}m.ec=function(a){null!=a&&(this.K="number"!=typeof a?a:this.K+String.fromCharCode(a));this.K&&(se(this,this.K.charCodeAt(0))&&(this.K=this.K.substr(1)),this.K&&this.b&&Lc(this.b,this.ta,we(this,15)));return!0};m.Zb=function(){return!!(this.u&1)}; -m.yd=function(a,b){var c=this.aa;D(this,a,null,b,"DATA",c);this.u&=-3;return c};m.xd=function(a,b){var c=this.u;D(this,a,null,b,"STATUS",c);return c}; -m.Jd=function(a,b,c){D(this,a,b,c,"DATA");this.da=b;this.u&=-6;jb(this,"transmitByte("+da(b)+")");if(19==b)this.ca=!0;else if(17==b)this.ca=!1;else if(this.O&&this.O.call(this.L,b),this.B)8==b?(this.B.value=this.B.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.na||8,c=b-this.H%b,this.na&&(a=la("",c))):13==b&&(this.H=c=0,a="\n"),this.fa&&!this.H&&c&&(a=String.fromCharCode(this.fa)+a),this.B.value+=a,this.B.scrollTop=this.B.scrollHeight,this.H+= -c);else if(null!=this.F){if(10==b||1024<=this.F.length)this.g(this.F),this.F="";10!=b&&(this.F+=String.fromCharCode(b))}this.b&&Lc(this.b,this.ua,we(this,240))};m.Id=function(a,b,c){D(this,a,b,c,"CONTROL");this.La?(this.S=b,this.S&64&&(this.La=!1)):(this.M=b,this.La=!0)};m.Hd=function(a,b,c){D(this,a,b,c,"BAUDRATES");this.R=b};var te={0:oe.prototype.yd,1:oe.prototype.xd},ue={0:oe.prototype.Jd,1:oe.prototype.Id,2:oe.prototype.Hd}; -Ma(function(){for(var a=B(document,"pc8080","serial"),b=0;b>>d.w.pa;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=Bb[c],p&&d.g(n(p.id)+" %"+n(g<>>e.pa;f!=e.w?e.Y[h].gc(f,b&65535,d):(e.Y[h++].Ib(f,b&255,d),e.Y[h&e.K].Ib(0,b>>8&255,d+1));c&&Je(a,c);Dc(this.b,!0)}};function W(a){return{G:a,Oa:!1}}function Ke(a){return[a.G,a.Oa]}function Le(a){return{G:a[0],Oa:a[1]}} -function Ie(a,b,c){var d;c=(c?a.O:a.$a).G;if(void 0!==b){d=b=Me(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=ra(Fe,a.substr(b,1))));return c}function Se(a,b){var c=0,d=Te(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"} -function Te(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.T;break;case 1:c=d.U;break;case 8:c=Uc(d);break;case 2:c=d.V;break;case 3:c=d.W;break;case 9:c=Wc(d);break;case 4:c=d.X;break;case 5:c=d.Z;break;case 10:c=J(d);break;case 6:c=d.$(J(d));break;case 11:c=d.ka;break;case 12:c=d.P;break;case 13:c=Tc(d);break;case 14:c=Tc(d)&255|d.j<<8}}return c} -function Ue(a,b){b=Me(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Re(b,c+1),0<=e&&(b=b.substr(0,c)+Se(a,e)+b.substr(c+1+Fe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ie(a,e))?(d=e+' "'+Qe(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ie(a,e))?(Je(d),d=e+' "'+ -Qe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.P).G));if(this.ra&1073741824)this.ta.push(a);else if(!this.qa||a!=this.qa)if(this.qa=a,this.ra&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.rb=0;c.B-=c.b;c.b=0;Dc(c)}}; -function ib(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ra&g)!=g||a.message(b.Ya+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?","+da(d):"")+")"+(null!=h?": "+da(h):"")+(null!=e?" at "+Z(e):""))} -function Ae(a){var b;if(Gd(a)){if(!a.M||!a.M.length){a.M=Array(1E3);for(b=0;b>>d.pa],!1)}a.R=["br"];if(void 0!==a.J)for(b=1;b>>d.pa],!0);a.J=["bw"];a.hb=0}m.Za=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.u){var e=He(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.Y[e>>>f.pa].Za(e&f.w,a==this.J)}}d&&(a.push(b),c?b.Oa=!0:(yf(this,a,a.length-1,"set"),Ae(this)));return d}; -function xf(a,b,c,d,e){var f=!1;c=He(c);for(var h=1;h>>d.pa],b==a.J));g.Oa||Ae(a);break}}return f}function zf(a,b){for(var c=1;c>24,4);break;case 3:y=n(v.Ra(C,2),4);break;default:v="imm("+t(r)+")";break a}8086==v.style&&r&64?y="["+y+"]":r&16||(y=(v.style==ye?"$":"0x")+y);v=y}else r& -16?(v=(q&3840)>>8,r=Fe[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Gf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ne(a,b,c){var d;if(b){b=Me(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function Jf(a,b){if(b)return If(a,b,a.fa[b]);var c=0;for(b in a.fa)If(a,b,a.fa[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.Fd;if(e>=h&&e>8&255;case "C":d.U=g&255;break;case "D":d.V= -g&255;break;case "DE":d.V=g>>8&255;case "E":d.W=g&255;break;case "H":d.X=g&255;break;case "HL":d.X=g>>8&255;case "L":d.Z=g&255;break;case "SP":d.ka=g&65535;break;case "PC":G(d,g);a.O=W(d.P);break;case "PS":Rc(d,g);break;case "PSW":Rc(d,g&255|d.wa&-256);d.j=g>>8;break;case "CF":d.ba=g?d.ba|256:d.ba&255;break;case "PF":g?ad(d)||(d.ea^=1):ad(d)&&(d.ea^=1);break;case "AF":d.xa=g?~d.ea&16|d.xa&-17:d.ea&16|d.xa&-17;break;case "ZF":d.ba=g?d.ba&-256:d.ba|255;break;case "SF":g?dd(d)||(d.ea^=192):dd(d)&&(d.ea^= -192);break;case "IF":d.wa=g?d.wa|512:d.wa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}Dc(d);a.g("updated registers:")}a.g(Ef(a));c&&(a.O=W(d.P),vf(a,Z(a.O.G)))}}function Qf(a,b){b=ma(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Ue(a,c[2])):Ne(a,b,!0)}function Rf(a,b,c){var d="t"!=b;c=Hf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return lb(a,!0)&&a.tb(e,d,!1)},function(){Dc(a.b);lb(a,!1)})} -function vf(a,b,c,d){if(b=Ie(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ie(a,c,!0);if(!d||d.Gg[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=Bf(a,b,h,f);a.g(f);a.O=b;e-=b.G-k;c++}}} -function Pe(a,b,c,d){if(c)if(b){0>a.F&&a.B.length&&(a.F=0);if(0>a.F||b!=a.B[a.F])a.B.splice(0,0,b),a.F=0;a.F--}else a.da?b="end":b=a.B[a.F+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ma(b.substring(c,f))),c=f+1}}return a} -function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+Z(a.ca.G)),a.O=a.ca,a.da=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.qa=null;if(nb(a)&&0l||"z"Fa.length&&(a.g("note: only "+Fa.length+" available"),ia=Fa.length);ba-=ia;0>ba&&(null==Fa[Fa.length-1].G?(ia=ba+ia,ba=0):ba+=Fa.length);var jd=[];"call"== -bf&&(pb=1E5,jd=["CALL"]);for(void 0!==af&&a.g(ia+" instructions earlier:");0=Fa.length&&(ba=0);a.ib=ia;df++;pb--}}df||(a.g("no "+cf+"history available"),a.ib=void 0)}else{var pc=Ie(a,Y);if(pc){var qc=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Fb),qc=Hf(a,va)>>>0,65536>4||1;lg--&&0uc?String.fromCharCode(uc):".";sc--}Ya&&(Ya+="\n");Ya+=Y+" "+Mb+(0==Lb?" "+ld:"")}Ya&&a.g(Ya);a.$a=pc}}}}break;case "e":if("else"==f[0])break;var vc=1,gf=255,hf=a.$,jf=a.sa;"ew"==f[0]&&(vc=2,gf=65535,hf=a.Ra,jf=a.Tb);var kf=vc<<1,lf=f[1];if(null==lf)a.g("edit memory commands:"), -a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var wc=Ie(a,lf);if(wc)for(var xc=2;xcsd;){for(var Za=null,rg=256;65536>Pb.G>>>0;){nf.G= -a.Ra(Pb,2);if(null==Pb.G||!rg--)break;for(var sg=a,zc=nf,of=null,Qb=zc.G,pf=Qb,td=1;6>=td&&Qb;td++){if(2\nLicense: GPL version 3 or later ");for(b=0;bVf){if(Xf(d,this.M)){this.J=new H(this,"1.24.0","failsafe");Xf(this.J)&&(cg(this,d),a=2,dg(this.J));I(this.J,"timestamp",qa());eg(this.J);var e=this.A&&!this.K;if(1==a||ua("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=ag(d)){var f=bg(d,"code"),h=bg(d,"data");f&&("ok"==f?Xf(d,h):("error"==f&& -"no machine state"!=h?(this.ia("Error: "+h),"unable to verify user"==h&&(za("user",""),this.u=null)):this.g(f+": "+h),dg(d),Xf(d)?(c=ag(d),e=!0):c=!1))}e&&$f(this,c?d:null)}else 2==a&&d.clear()}else $f(this);delete this.M;delete this.O}e=eb(this.id);for(f=0;fa[1];a=a[2];this.ha=!0;this.D.va=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(fg(this,this.b,b,c,a),Ec(this.b));this.aa&&(cg(this,b),b.clear());!c&&this.J&&(this.J.clear(),delete this.J);this.B=0}; -function cg(a,b){if(ua("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.u||"",d=b.toString(),e={app:"PC8080",ver:"1.24.0"};e.url=a.ga;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",e,!0)}} -function Sf(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new H(a,"1.24.0"),h=new H(a,"1.24.0","validate"),g=qa();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.24.0");I(f,"url",window?window.location.href:null);I(f,"browser",ta());a.b&&a.b.Ga&&(c&&a.b.ma(),d=a.b.Ga(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.D.va=!1,!1===d&&(e=null)));for(var g=eb(a.id),k=0;kg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);zg(a,b,c)}})}else c(a,null)} -function Ag(a,b,c,d){function e(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ka(a))}function f(a){e("Error: "+a);k&&(--jg||Pa(!0));k=!1}var h,g,k=!0;jg++;cb[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c|| -(c="/versions/pc8080/1.24.0/components.xsl");l=function(d,g){g?xg(c,null,null,!1,e,function(d,k){if(k)if(db(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--jg||Pa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--jg||Pa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?xg(b,a,d,!0,e,l):yg(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Pa(!1);return Ag(a,b,c,d)};window.enableEvents=Pa;window.sendEvent=Sa;})(); diff --git a/versions/pc8080/1.24.0/pc8080.js b/versions/pc8080/1.24.0/pc8080.js deleted file mode 100644 index ab38f8dcc..000000000 --- a/versions/pc8080/1.24.0/pc8080.js +++ /dev/null @@ -1,165 +0,0 @@ -(function(){var k;function aa(a){var b=16,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function m(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date}; -function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function ma(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(l)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")} -function p(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}var oa=null;function pa(){if(null==oa){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}oa=a}return oa}function qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} -function ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function sa(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 ta={init:[],show:[],exit:[]},ua=!1,va=!1,wa=!0;function xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ya(a){ta.init.push(a)} -function za(a){if(wa)try{for(var b=0;bb?this.Qa=this.id:(this.Ra=this.id.substr(0,b),this.Qa=this.id.substr(b+1));this[a]=c;this.j={fa:!1,Fa:!1,mb:!1,V:!1,ra:!1};this.Xa=null;this.j.ra=!1;this.B={};this.O=null;r.push(this)}var Ea=void 0,Fa={}; -if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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 v(a,b){b||(b=q);a.prototype=Ja(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ka=window.PCjs.Machines||(window.PCjs.Machines={}),r=window.PCjs.Components||(window.PCjs.Components=[])}else Ka={},r=[];function La(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function Aa(a,b,c){b||p((c?c+": ":"")+a)} -function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.h?10:20>=this.h?12:24>=this.h?14:15;this.o=1<>2;this.l=this.o-1;this.i=this.v/this.o|0;this.u=this.i-1;this.m=[];this.s=[];this.A=[];this.C=[];a=new E;Xa(a,this.O);this.b=Array(this.i);for(b=0;b>>a.c;0f&&(n=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Ea)return g.fb+=g.Ea-e,g.Ea=e,!0;if(e>=g.Ea+g.fb){n=g.size-(e-l);n>f&&(n=f);g.fb=e-g.Ea+n;e=l+a.o;f-=n;h++;continue}}return Za(1,e,f)}e=new E(e,n,a.o,d);Xa(e,a.O,g);a.b[h++]=e;e=l+a.o;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+$a[d]+" at "+("0x"+m(b,4))),!0):Za(2,b,c)} -Wa.prototype.K=function(a){return this.b[(a&this.f)>>>this.c].Na(a&this.l,a)};function ab(a,b){return a.b[(b&a.f)>>>a.c].eb(b&a.l,b)}function bb(a,b){var c=b&a.l,d=(b&a.f)>>>a.c;return c!=a.l?a.b[d].kd(c,b):a.b[d++].Na(c,b)|a.b[d&a.u].Na(0,b+1)<<8}Wa.prototype.X=function(a,b){this.b[(a&this.f)>>>this.c].Oa(a&this.l,b&255,a)};function cb(a,b,c){a.b[(b&a.f)>>>a.c].$b(b&a.l,c&255,b)} -function db(a,b,c){var d=b&a.l,e=(b&a.f)>>>a.c;d!=a.l?a.b[e].ld(d,c&65535,b):(a.b[e++].Oa(d,c&255,b),a.b[e&a.u].Oa(0,c>>8&255,b+1))}function fb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var l=+e+d;l<=h;l++)void 0!==f.m[l]?p("Input port 0x"+m(l,4)+" already registered"):f.m[l]=[g,!1]}} -function gb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var l=+e+d;l<=h;l++)void 0!==f.s[l]?p("Output port 0x"+m(l,4)+" already registered"):f.s[l]=[g,!1]}}function Za(a,b,c){p("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}var hb;if(Sa){var ib=new ArrayBuffer(2);(new DataView(ib)).setUint16(0,256,!0);hb=256===(new Uint16Array(ib))[0]}else hb=!1;var jb=hb; -function E(a,b,c,d){this.id=kb+=2;this.a=null;this.Ea=a;this.fb=b;this.size=c||0;this.type=d||lb;this.B=d==mb;Xa(this);this.ja=this.Nb=!1;if(c)if(Sa)this.c=new ArrayBuffer(c),this.o=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.h=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),nb(this,jb?ob:pb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},C:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},I: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},U:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<>8);this.ja=!0},w:function(a,b){return this.eb(a,b)},H:function(a,b){return this.Yb(a,b)},N:function(a,b,c){this.B||this.$b(a,b,c)},$:function(a, -b,c){this.B||this.aa(a,b,c)},v:function(a){return this.b[a]},A:function(a){return this.b[a]},G:function(a){return this.o.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.h[a>>1]},J:function(a,b){this.b[a]=b;this.ja=!0},T:function(a,b){this.b[a]=b;this.ja=!0},W:function(a,b){this.o.setUint16(a,b,!0);this.ja=!0},da:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.h[a>>1]=b;this.ja=!0}}; -function Xa(a,b,c){a.O=b;a.l=a.f=0;c&&((a.l=c.l)&&rb(a,sb,!1),(a.f=c.f)&&tb(a,sb,!1))}function tb(a,b,c){c&&a.f||(a.Oa=!a.B&&b[2]||a.s,a.ld=!a.B&&b[3]||a.u);if(c||void 0===c)a.$b=b[2]||a.s,a.aa=b[3]||a.u}function rb(a,b,c){c&&a.l||(a.Na=b[0]||a.i,a.kd=b[1]||a.m);if(c||void 0===c)a.eb=b[0]||a.i,a.Yb=b[1]||a.m}function nb(a,b){b||(b=ub);rb(a,b,void 0);tb(a,b,void 0)}var ub=[],qb=[E.prototype.C,E.prototype.I,E.prototype.U,E.prototype.ma],sb=[E.prototype.w,E.prototype.H,E.prototype.N,E.prototype.$]; -if(Sa)var pb=[E.prototype.v,E.prototype.G,E.prototype.J,E.prototype.W],ob=[E.prototype.A,E.prototype.L,E.prototype.T,E.prototype.da]; -function vb(a,b){q.call(this,"CPU",a,vb);var c=a.cycles||b,d=a.multiplier||1;this.b={};this.b.va=c;this.b.ab=0;this.b.ua=d;this.b.ob=Math.round(this.b.va/1E4)/100;this.b.za=this.b.ob*this.b.ua;this.j.ka=!1;this.j.Pb=!1;this.j.Mb=a.autoStart;this.j.Ob=!1;this.j.Va=!1;this.b.Za=this.b.Ba=0;this.b.$a=a.csStart;this.b.Ga=a.csInterval;this.b.Ha=a.csStop;this.H=[];this.ma=this.ub.bind(this);C(this)}v(vb);var wb=["power","reset"];k=vb.prototype; -k.la=function(a,b,c,d){this.l=a;this.o=b;this.O=d;for(b=0;bc&&(c=2);var d=1;b&&1a.b.sa/a.b.za&&(b=1);a.b.ua=b;b=a.b.ob*a.b.ua;if(a.b.za!=b){a.b.za=b;b=a.b.za.toFixed(2)+"Mhz";var d=a.B.setSpeed;d&&(d.textContent=b);a.ba("target speed: "+b)}c&&a.l&&Hb(a.l)}Eb(a,a.I);a.I=0;a.b.Aa=ja();a.b.ta=0;Fb(a)}function Jb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function Kb(a,b,c){var d=-1;0<=b&&b=this.b.va&&Fb(this,!0);this.b.La=0;this.b.Ya=ja();this.b.ta&&(a=this.b.Ya-this.b.ta,a>this.b.Vb&&(this.b.Aa+=a,this.b.Aa>this.b.Ya&&(this.b.Aa=this.b.Ya)));try{do{var c=this.j.Va?1:this.b.Uc;a=c;for(b=0;bd[0]||a>d[0]&&(a= -d[0])}c=a;this.Zb(c);var e=this.J-this.a;a=e;for(b=0;bf[0]||(f[0]-=a,0>=f[0]&&(f[0]=-1,f[1]()))}this.b.La+=e;this.I+=e;Eb(this,0,!0);a=e;this.j.Va&&(b=!1,this.b.Za=this.b.Za+this.Sb()|0,this.b.Ba-=a,0>=this.b.Ba&&(this.b.Ba+=this.b.Ga,b=!0),0<=this.b.Ha&&this.b.Ha<=Gb(this)&&(this.b.Ga=this.b.Ha=-1,zb(this),Cb(this),b=!0),b&&this.ba(Gb(this)+" cycles: checksum="+m(this.b.Za)));this.b.Ja-=e;0>=this.b.Ja&&(this.b.Ja+=this.b.Xb,this.l&&Lb(this.l,this.b.ab++),this.b.ab> -this.U&&(this.b.ab=0));this.b.Ia-=e;0>=this.b.Ia&&(this.b.Ia+=this.b.Wb,this.l&&this.l.wa());this.b.Ka-=e;if(0>=this.b.Ka){this.b.Ka+=this.b.qb;break}}while(this.j.ka)}catch(h){Cb(this);Ab(this);this.l&&this.l.stop(ja(),Gb(this));Qa(this,!1);c=h.stack||h.message;this.j.ra=!0;this.M(c);return}c=setTimeout;d=this.ma;this.b.ta=ja();e=this.b.Vb;this.b.La&&(e=Math.round(e*this.b.La/this.b.qb));e-=this.b.ta-this.b.Ya;if(f=this.b.ta-this.b.Aa)this.b.sa=Math.round(this.I/(10*f))/100,864E5<=f&&(this.N=0,Db(this)); -if(0>e||this.b.sa>8&255;a.D=b&255}function Vb(a){return a.h<<8|a.F}function Wb(a,b){a.h=b>>8&255;a.F=b&255}function J(a){return a.i<<8|a.m} -function K(a,b){a.i=b>>8&255;a.m=b&255}function F(a,b){a.u=b&65535}function L(a){return a.s&256?1:0}function M(a,b){a.s=a.s&255|b}function Xb(a){return Ta[a.v&255]?4:0}function Sb(a){return a.G&-214|(a.v&128?128:0)|(a.s&255?0:64)|((a.v^a.A)&16?16:0)|Xb(a)|L(a)}function Qb(a,b){a.s=a.v=a.A=0;b&1&&(a.s|=256);b&4||(a.v|=1);b&16&&(a.A|=16);b&64||(a.s|=255);b&128&&(a.v^=192);a.G=a.G&-726|b&512|2}function N(a,b){a.A=a.c^b;return a.v=(a.s=a.c+b)&255} -function Yb(a,b){a.A=a.c^b;return a.v=(a.s=a.c+b+(a.s&256?1:0))&255}function Zb(a,b){a.s=a.v=a.A=a.c&b;(a.c|b)&8&&(a.A^=16);return a.s}function $b(a,b){a.A=b^255;b=a.v=b+255&255;a.s=a.s&-256|b;return b}function ac(a,b){a.A=b;b=a.v=b+1&255;a.s=a.s&-256|b;return b}function bc(a,b){return a.v=a.s=a.A=a.c|b}function O(a,b){b^=255;a.A=a.c^b;return a.v=(a.s=a.c+b+1^256)&255}function cc(a,b){b^=255;a.A=a.c^b;return a.v=(a.s=a.c+b+(a.s&256?0:1)^256)&255}function dc(a,b){return a.v=a.s=a.A=a.c^b}k.K=function(a){return this.o.K(a)}; -k.X=function(a,b){this.o.X(a,b)};function P(a){var b=a.K(a.u);F(a,a.u+1);return b}function Q(a){var b=bb(a.o,a.u);F(a,a.u+2);return b}function S(a){var b=bb(a.o,a.w);a.w=a.w+2&65535;return b}function T(a,b){a.w=a.w-2&65535;db(a.o,a.w,b)}function ec(a,b){a.C|=1<b&&!(this.C&1<b?255:1<>8;M(this,a&256);this.a-=4},fc,function(){var a;K(this,a=J(this)+Tb(this));M(this,a>>8&256);this.a-=10},function(){this.c=this.K(Tb(this));this.a-=7},function(){Ub(this,Tb(this)-1);this.a-=5},function(){this.D= -ac(this,this.D);this.a-=5},function(){this.D=$b(this,this.D);this.a-=5},function(){this.D=P(this);this.a-=7},function(){var a=this.c<<8&256;this.c=(a|this.c)>>1;M(this,a);this.a-=4},fc,function(){Wb(this,Q(this));this.a-=10},function(){this.X(Vb(this),this.c);this.a-=7},function(){Wb(this,Vb(this)+1);this.a-=5},function(){this.h=ac(this,this.h);this.a-=5},function(){this.h=$b(this,this.h);this.a-=5},function(){this.h=P(this);this.a-=7},function(){var a=this.c<<1;this.c=a&255|L(this);M(this,a&256); -this.a-=4},fc,function(){var a;K(this,a=J(this)+Vb(this));M(this,a>>8&256);this.a-=10},function(){this.c=this.K(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5},function(){this.F=ac(this,this.F);this.a-=5},function(){this.F=$b(this,this.F);this.a-=5},function(){this.F=P(this);this.a-=7},function(){var a=this.c<<8;this.c=(L(this)<<8|this.c)>>1;M(this,a&256);this.a-=4},fc,function(){K(this,Q(this));this.a-=10},function(){var a=Q(this);db(this.o,a,J(this));this.a-=16},function(){K(this, -J(this)+1);this.a-=5},function(){this.i=ac(this,this.i);this.a-=5},function(){this.i=$b(this,this.i);this.a-=5},function(){this.i=P(this);this.a-=7},function(){var a=0,b=L(this);if((this.v^this.A)&16||9<(this.c&15))a|=6;if(b||154<=this.c)a|=96,b=1;this.c=N(this,a);M(this,b?256:0);this.a-=4},fc,function(){var a;K(this,a=J(this)+J(this));M(this,a>>8&256);this.a-=10},function(){var a;a=Q(this);a=bb(this.o,a);K(this,a);this.a-=16},function(){K(this,J(this)-1);this.a-=5},function(){this.m=ac(this,this.m); -this.a-=5},function(){this.m=$b(this,this.m);this.a-=5},function(){this.m=P(this);this.a-=7},function(){this.c=~this.c&255;this.a-=4},fc,function(){this.w=Q(this)&65535;this.a-=10},function(){this.X(Q(this),this.c);this.a-=13},function(){this.w=this.w+1&65535;this.a-=5},function(){var a=J(this);this.X(a,ac(this,this.K(a)));this.a-=10},function(){var a=J(this);this.X(a,$b(this,this.K(a)));this.a-=10},function(){this.X(J(this),P(this));this.a-=10},function(){this.s|=256;this.a-=4},fc,function(){var a; -K(this,a=J(this)+this.w);M(this,a>>8&256);this.a-=10},function(){this.c=this.K(Q(this));this.a-=13},function(){this.w=this.w-1&65535;this.a-=5},function(){this.c=ac(this,this.c);this.a-=5},function(){this.c=$b(this,this.c);this.a-=5},function(){this.c=P(this);this.a-=7},function(){M(this,L(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.f=this.h;this.a-=5},function(){this.f=this.F;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.m; -this.a-=5},function(){this.f=this.K(J(this));this.a-=7},function(){this.f=this.c;this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.a-=5},function(){this.D=this.h;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.m;this.a-=5},function(){this.D=this.K(J(this));this.a-=7},function(){this.D=this.c;this.a-=5},function(){this.h=this.f;this.a-=5},function(){this.h=this.D;this.a-=5},function(){this.a-=5},function(){this.h=this.F;this.a-= -5},function(){this.h=this.i;this.a-=5},function(){this.h=this.m;this.a-=5},function(){this.h=this.K(J(this));this.a-=7},function(){this.h=this.c;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.h;this.a-=5},function(){this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.m;this.a-=5},function(){this.F=this.K(J(this));this.a-=7},function(){this.F=this.c;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.D;this.a-= -5},function(){this.i=this.h;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.a-=5},function(){this.i=this.m;this.a-=5},function(){this.i=this.K(J(this));this.a-=7},function(){this.i=this.c;this.a-=5},function(){this.m=this.f;this.a-=5},function(){this.m=this.D;this.a-=5},function(){this.m=this.h;this.a-=5},function(){this.m=this.F;this.a-=5},function(){this.m=this.i;this.a-=5},function(){this.a-=5},function(){this.m=this.K(J(this));this.a-=7},function(){this.m=this.c;this.a-=5},function(){this.X(J(this), -this.f);this.a-=7},function(){this.X(J(this),this.D);this.a-=7},function(){this.X(J(this),this.h);this.a-=7},function(){this.X(J(this),this.F);this.a-=7},function(){this.X(J(this),this.i);this.a-=7},function(){this.X(J(this),this.m);this.a-=7},function(){var a=this.u-1;if(this.T.length)for(var b=0;b>>=f)&l;if(void 0!==h&&h[0])h[0](a,l,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=Q(this);L(this)||(T(this,this.u),F(this,a),this.a-=6);this.a-=11},function(){T(this,Vb(this));this.a-=11},function(){this.c=O(this,P(this));this.a-=7},function(){T(this,this.u);F(this,16);this.a-=11},function(){L(this)&&(F(this,S(this)),this.a-=6);this.a-=5},hc,function(){var a=Q(this);L(this)&&F(this,a);this.a-=10},function(){for(var a=P(this),b=this.o,c=this.u+-2&65535,d=1,e=0,f=0;0>8;this.a-=10},function(){var a=Q(this);this.v&128||F(this,a);this.a-=10},function(){this.G&=-513;this.a-=4},function(){var a=Q(this);this.v&128||(T(this,this.u),F(this,a),this.a-=6);this.a-=11},function(){T(this,Sb(this)& -255|this.c<<8);this.a-=11},function(){this.c=bc(this,P(this));this.a-=7},function(){T(this,this.u);F(this,48);this.a-=11},function(){this.v&128&&(F(this,S(this)),this.a-=6);this.a-=5},function(){this.w=J(this)&65535;this.a-=5},function(){var a=Q(this);this.v&128&&F(this,a);this.a-=10},function(){this.G|=512;this.a-=4},function(){var a=Q(this);this.v&128&&(T(this,this.u),F(this,a),this.a-=6);this.a-=11},ic,function(){O(this,P(this));this.a-=7},function(){T(this,this.u);F(this,56);this.a-=11}]; -function W(a){q.call(this,"ChipSet",a,W);var b=a.model;b&&!jc[b]&&Aa("Unrecognized ChipSet model: "+b);this.c=jc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);C(this)}v(W); -var X={Y:1978.1,Dc:{Z:0,qd:1,ud:16,Bd:32,Kd:64,Jd:128,Ca:14},qa:{Z:1,ec:1,yc:2,uc:4,vc:16,wc:32,xc:64,Ca:8},Ec:{Z:2,pd:3,Td:4,rd:8,Fd:16,Gd:32,Hd:64,sd:128,Ca:0},Od:{Z:3},Md:{Z:2,Cd:7},Qd:{Z:3,Ud:1,Pd:2,Id:4,zd:8,td:16,md:32},Nd:{Z:4},Rd:{Z:5,vd:1,wd:2,xd:4,yd:8,Vd:16}},Y={Y:100,ha:{Z:66,Fb:1,sc:2,tc:4,Ed:8,Dd:16,Db:32,Cb:64,zb:128},dc:{Z:66,INIT:0},oa:{Z:194,od:0,yb:16,zc:32,Eb:48,ic:0,jc:32},Pa:{Z:162,Ld:0,lc:0,hc:0,kc:0,gc:0},ia:{Ad:{Z:98},xa:{bc:0,ac:1,Bc:2,Fc:4,fc:5,Ac:6,Sd:7},Ta:16383}},jc= -{SI1978:X,VT100:Y};W.prototype.S=function(){return!1};W.prototype.la=function(a,b,c,d){this.o=b;this.a=c;this.O=d;this.l=a;this.m=D(a,"Keyboard");this.da=D(a,"SerialPort");this.video=D(a,"Video");fb(b,this,this.c.bb);gb(b,this,this.c.cb)};W.prototype.ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};W.prototype.ga=function(a){return a?this.save():!0};X.INIT=[[X.Dc.Ca,X.qa.Ca,X.Ec.Ca,0,0,0,0]]; -Y.INIT=[[Y.dc.INIT,Y.ha.sc|Y.ha.tc],[Y.oa.ic,Y.oa.jc],[Y.Pa.lc,Y.Pa.hc,Y.Pa.kc,Y.Pa.gc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11824,11840,11808,11776,12E3,12E3,11889,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]]; -k=W.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.M("reset error")};k.save=function(){var a=new G(this);switch(this.c.Y){case X.Y:I(a,0,[this.$,this.h,this.aa,this.C,this.L,this.U,this.W]);break;case Y.Y:I(a,0,[this.J,this.v]),I(a,1,[this.s,this.u]),I(a,2,[this.f,this.G,this.T,this.N]),I(a,3,[this.A,this.b,this.w,this.H,this.i])}return a.data()}; -k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.Y){case X.Y:return this.$=b[0],this.h=b[1],this.aa=b[2],this.C=b[3],this.L=b[4],this.U=b[5],this.W=b[6],!0;case Y.Y:return this.J=b[0],this.v=b[1],b=a[1],this.s=b[0],this.u=b[1],b=a[2],this.f=b[0],this.G=b[1],this.T=b[2],this.N=b[3],b=a[3],this.A=b[0],this.b=b[1],this.w=b[2],this.H=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Lc=function(){return this.$};k.Mc=function(){return this.h};k.Nc=function(){return this.aa}; -k.Kc=function(){return this.C>>8-this.L&255};k.$c=function(a,b){this.L=b};k.bd=function(a,b){this.U=b};k.ad=function(a,b){this.C=b<<8|this.C>>8};k.cd=function(a,b){this.W=b};k.dd=function(){};function kc(a){var b=0,c=0,d=~a.A;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -k.Oc=function(){var a=this.v,a=a&~Y.ha.Cb;if((Gb(this.a)&64)<<1&&(a|=Y.ha.Cb,a!=this.v)){var b,c;b=this.w&1;switch(this.w>>1&7){case Y.ia.xa.ac:this.A=this.A<<1|b;break;case Y.ia.xa.fc:b=kc(this);this.i[b]=Y.ia.Ta;break;case Y.ia.xa.bc:this.b=this.b<<1|b;break;case Y.ia.xa.Fc:b=kc(this);c=this.b&Y.ia.Ta;this.i[b]=c;break;case Y.ia.xa.Ac:b=kc(this);c=this.i[b];null==c&&(c=Y.ia.Ta);this.b=c;break;case Y.ia.xa.Bc:this.b<<=1,this.H=this.b&Y.ia.Ta+1}}a&=~Y.ha.Db;this.H&&(a|=Y.ha.Db);a&=~Y.ha.zb;this.m&& -this.m.nb()&&(a|=Y.ha.zb);a&=~Y.ha.Fb;this.da&&this.da.nb()&&(a|=Y.ha.Fb);return this.v=a};k.ed=function(a,b){this.J=b};k.hd=function(a,b){this.w=b};k.gd=function(a,b){var c=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|c;break;case 1:this.f=this.f&-13|c<<2;if(this.video){var c=this.video,d=this.f;c.gb!==d&&((c.gb=d)?lc(c,-1):c.ib=!0)}break;case 2:switch(c){case 0:this.G=~this.G;break;case 2:case 3:this.T=3-c}break;case 3:this.N=c}}; -k.fd=function(a,b){if(b&Y.oa.zc)b&=Y.oa.Eb,this.u!=b&&(this.u=b,this.video&&(this.video.sb=this.u==Y.oa.Eb?50:60));else if(b&=Y.oa.yb,this.s!=b&&(this.s=b,this.video)){var c=this.video,d=this.s==Y.oa.yb?132:80;c.H=d;c.R=c.Gb;80>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.h=e.symbols;if(!a.b.length){p("Empty ROM: "+b);return}if(1==a.b.length){p(a.b[0]);return}}catch(g){a.M("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.c;0>>=f.c;0d?a.c.push({vb:b,pb:Date.now(),Ua:!1}):(a.c[d].pb=Date.now(),a.c[d].Ua=!1);else if(0<=d){if(!a.c[d].Ua){var e=a.c[d].pb;if(e&&100>Date.now()-e)return a.c[d].Ua=!0,Cc(a),!0}a.c.splice(d,1)}if(a.L){d=0;switch(b){case "1p":d=X.qa.uc;break;case "2p":d=X.qa.yc;break;case "coin":d=X.qa.ec;break;case "left":d=X.qa.wc;break;case "right":d=X.qa.xc;break;case "fire":d=X.qa.vc}d&&(a=a.L,b=d,a.h&=~b,c&&(a.h|=b))}return!0} -function Cc(a){for(var b=0,c=-1;bc||c>e)c=e}else{zc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Cc(a)},c)}k.nb=function(){return!0};k.Pc=function(){var a=this.f;0<=this.o&&(this.o>3)*a.G,!Ya(a.o,a.U,a.A,3)))return!1;a.A?(a.Qb=a.f.createImageData(b,c),a.Tb=16/a.Sa|0,Ic(a,a.A>>1)):Ic(a,(a.H+1)*a.I);a.u=document.createElement("canvas");a.u.width=b;a.u.height=c;a.hb=a.u.getContext("2d");a.N={};a.aa=1<=a.Gb?8:16,f=8>(7>4)*c)}return l} -Dc.prototype.ca=function(){if(2==this.L){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.U,c=-1,d=-1,e,f=-(60==this.sb?2:5);f>8&15|16;cb(this.o,b++,e);cb(this.o,b++,c&255); -if(g)break}if(h)for(c=0,e=1;ec&&(a=Math.round(c/b*100)+"%")}this.Lb?(this.v.style.width=a,this.v.style.width=a,this.v.style.display="block",this.v.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.ya();a=!0}this.$&&this.$.focus()}return a}; -function Gc(a,b){!b&&a.b&&(a.Lb?a.v.style.width=a.v.style.height="":a.b.style.width=a.b.style.height="")}function Ic(a,b){a.Rb=b;a.W=!1;if(void 0===a.i||a.i.length!=a.Rb)a.i=Array(a.Rb)}function Kc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.L&&(208<=c&&236>c?e=a.aa+0:28<=c&&72>c&&(e=a.aa+1));a=a.T[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Lc(a,b){for(var c=a.U,d=-1,e=0,f=60==a.sb?2:5,h=0,g=0,l=-1;e>=1);;){var A=ab(a.o,w++);if(127==(A&127)){var t=ab(a.o,w++),d=t&96,c=(t&15)<<8|ab(a.o,w),c=c+(t&16?8192:16384);break}if(n>4)*A.P,R=void 0,ka=void 0,Da=void 0, -eb=void 0,Ac=A.R,Ib=A.P;B?(R=z*t.R,ka=e*t.P,Da=t.R,eb=t.P):(R=z*t.Hb,ka=e*t.Ib,Da=t.Hb,eb=t.Ib);A.R>t.R&&(R*=2,Da*=2);A.P>t.P&&(0==u&&(H+=t.P),Ib=t.P);B?B.drawImage(A.canvas,V,H,Ac,Ib,R,ka,Da,eb):(R+=0,ka+=0,t.f.drawImage(A.canvas,V,H,Ac,Ib,R,ka,Da,eb))}g++}h++}e++}}a.W=!0;!b&&a.ib&&1==g&&(a.i[l]=-1,g=0);a.ib=!1;(g||b)&&a.hb&&a.f.drawImage(a.u,0,a.gb,a.s,a.G-a.P,0,0,a.Hc,a.Qc)} -function lc(a,b){var c=!0,d=!0;if(0<=b){d=!1;a.lb&&(120==a.lb?b&1?(ec(a.a,2),c=!1):ec(a.a,1):ec(a.a,4));var e;if(e=c&&a.W&&a.A){e=a.o;for(var f=a.A,h=!0,g=a.U>>>e.c;0>>t.c;t=H!=t.l?t.b[V].Yb(H,B):t.b[V++].eb(H,B)|t.b[V&t.u].eb(0,B+1)<< -8;if(a.W&&t===a.i[g])l+=a.Tb;else{a.i[g]=t;(B=u)&&(t=t>>8|(t&255)<<8);l>B&A,Kc(a,a.Qb,l++,n,V),B+=z;l>w&&(w=l);n=e&&(e=n+1)}f+=2;g++;if(l>=a.s&&(l=0,n++,n>a.G))break}a.W=!0;cMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a, -b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Fa.aspect);f&&.3<=f&&3.33>=f&&(xa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");sa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Dc(d,e,h,f,c);Pa(d,c)}}); -function Mc(a){this.I=+a.adapter;switch(this.I){case 0:this.J=0;this.T=2;break;default:p("Unrecognized serial adapter #"+this.I);return}this.c=this.f=null;this.N=a.tabSize;this.H=a.charBOL;this.h=0;this.C=!1;q.call(this,"SerialPort",a,Mc);var b=a.binding;if("console"==b)this.f="";else{var c;a=Nc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.B[b])&&this.S(null,a,b))}this.i="";this.m=this.u=null;this.exports={connect:this.Ub,receiveData:this.tb}}v(Mc); -var Oc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Pc=[!1,0,0,133,142,39,238],Nc="buffer";k=Mc.prototype; -k.S=function(a,b,c,d){var e=this;switch(b){case Nc:return this.B[b]=this.c=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.Qa)return;b=ha(b[1]);if(this.m=Na(b)){var d=this.m.exports;if(d){var e=d.connect;e&&e.call(this.m);if(this.u=d.receiveData){this.status(this.Ra+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ca=function(a,b){if(!b)if(this.Ub(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ga=function(a){return a?this.save():!0};k.reset=function(){Tc(this)};k.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.fa;c[b++]=this.A;c[b++]=this.G;c[b++]=this.b;c[b++]=this.s;c[b++]=this.w;c[b]=this.v;I(a,0,c);return a.data()};k.restore=function(a){return Tc(this,a[0])};function Tc(a,b){var c=0;void 0===b&&(b=Pc);a.fa=b[c++];a.A=b[c++];a.G=b[c++];a.b=b[c++];a.s=b[c++];a.w=b[c++];a.v=b[c];return!0} -function Uc(a,b){var c=a.v&b;b&15||(c>>=4);var c=Oc[c],d=((a.s&12)>>2)+6;a.s&16&&d++;d+=((a.s&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function Qc(a,b){return a.C||a.b&2?!1:(a.A=b,a.b|=2,ec(a.a,a.T),!0)}k.tb=function(a){null!=a&&(this.i="number"!=typeof a?a:this.i+String.fromCharCode(a));this.i&&(Qc(this,this.i.charCodeAt(0))&&(this.i=this.i.substr(1)),this.i&&this.a&&Kb(this.a,this.U,Uc(this,15)));return!0};k.nb=function(){return!!(this.b&1)};k.Jc=function(){var a=this.A;this.b&=-3;return a}; -k.Ic=function(){return this.b}; -k.Zc=function(a,b){this.G=b;this.b&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.u&&this.u.call(this.m,b),this.c)if(8==b)this.c.value=this.c.value.slice(0,-1),0":String.fromCharCode(b);var d=c.length;9==b?(d=this.N||8,d=d-this.h%d,this.N&&(c=" ".slice(0,d))):13==b&&(this.h=d=0,c="\n");this.H&&!this.h&&d&&(c=String.fromCharCode(this.H)+c);this.c.value+=c;this.c.scrollTop=this.c.scrollHeight;this.h+= -d}else if(null!=this.f){if(10==b||1024<=this.f.length)this.ba(this.f),this.f="";10!=b&&(this.f+=String.fromCharCode(b))}this.a&&Kb(this.a,this.W,Uc(this,240))};k.Yc=function(a,b){this.fa?(this.w=b,this.w&64&&(this.fa=!1)):(this.s=b,this.fa=!0)};k.Xc=function(a,b){this.v=b};var Rc={0:Mc.prototype.Jc,1:Mc.prototype.Ic},Sc={0:Mc.prototype.Zc,1:Mc.prototype.Yc,2:Mc.prototype.Xc};ya(function(){for(var a=y(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bXc){if(Zc(d,this.u)){this.h=new G(this,"1.24.0","failsafe");Zc(this.h)&&(ed(this,d),a=2,fd(this.h));I(this.h,"timestamp",la());gd(this.h);var e=this.b&&!this.m;if(1==a||na("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=cd(d)){var f=dd(d,"code"),h=dd(d,"data");f&&("ok"==f?Zc(d,h):("error"==f&& -"no machine state"!=h?(this.M("Error: "+h),"unable to verify user"==h&&(ra("user",""),this.c=null)):this.ba(f+": "+h),fd(d),Zc(d)?(c=cd(d),e=!0):c=!1))}e&&bd(this,c?d:null)}else 2==a&&d.clear()}else bd(this);delete this.u;delete this.v}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.J=!0;this.j.V=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.a&&(hd(this,this.a,b,c,a),Bb(this.a));this.C&&(ed(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.l=0}; -function ed(a,b){if(na("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.24.0"};e.url=a.I;e.user=c;e.type="bug";e.data=d;ma("http://www.pcjs.org/api/v1/report",e,!0)}} -function id(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new G(a,"1.24.0"),h=new G(a,"1.24.0","validate"),g=la();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.24.0");I(f,"url",window?window.location.href:null);I(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.ga&&(c&&Cb(a.a),d=a.a.ga(b,c),"object"===typeof d&&I(f,a.a.id,d),c&&(a.a.j.V=!1,!1===d&&(e=null)));for(var g=Ma(a.id),l=0;lg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){g=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],n,w=/( [a-z]+=)(['"])(.*?)\2/g;n=w.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);pd(a,b,c)}})}else c(a,null)} -function qd(a,b,c,d){function e(a){if(void 0===g){var b=h&&y(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--md||Ba(!0));l=!1}var h,g,l=!0;md++;Ka[a]={};try{if(h=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css";u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n));w.appendChild(u)}c|| -(c="/versions/pc8080/1.24.0/components.xsl");n=function(d,g){g?nd(c,null,null,!1,e,function(d,l){if(l)if(La(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=g.transformNode(l);n?(h.outerHTML=n,--md||Ba(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(n,h),--md||Ba(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?nd(b,a,d,!0,e,n):od(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(z){f(z.message)}return l}window.embedPC8080=function(a,b,c,d){Ba(!1);return qd(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Ca;})(); diff --git a/versions/pc8080/1.24.1/common.css b/versions/pc8080/1.24.1/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pc8080/1.24.1/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.24.1/common.xsl b/versions/pc8080/1.24.1/common.xsl deleted file mode 100644 index e299efb2d..000000000 --- a/versions/pc8080/1.24.1/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.24.1/components.css b/versions/pc8080/1.24.1/components.css deleted file mode 100644 index 0e0842602..000000000 --- a/versions/pc8080/1.24.1/components.css +++ /dev/null @@ -1,159 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.pcjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-rled { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } -} diff --git a/versions/pc8080/1.24.1/components.xsl b/versions/pc8080/1.24.1/components.xsl deleted file mode 100644 index f89b2be4c..000000000 --- a/versions/pc8080/1.24.1/components.xsl +++ /dev/null @@ -1,1242 +0,0 @@ - - - - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.24.1 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.24.1/document.css b/versions/pc8080/1.24.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.24.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.24.1/document.xsl b/versions/pc8080/1.24.1/document.xsl deleted file mode 100644 index 318fe15eb..000000000 --- a/versions/pc8080/1.24.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.24.1/machine.xsl b/versions/pc8080/1.24.1/machine.xsl deleted file mode 100644 index 2c46565a6..000000000 --- a/versions/pc8080/1.24.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.24.1/manifest.xsl b/versions/pc8080/1.24.1/manifest.xsl deleted file mode 100644 index a4ac8ddba..000000000 --- a/versions/pc8080/1.24.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.24.1/outline.xsl b/versions/pc8080/1.24.1/outline.xsl deleted file mode 100644 index 33167b951..000000000 --- a/versions/pc8080/1.24.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.24.1/pc8080-dbg.js b/versions/pc8080/1.24.1/pc8080-dbg.js deleted file mode 100644 index 3ebb3c1db..000000000 --- a/versions/pc8080/1.24.1/pc8080-dbg.js +++ /dev/null @@ -1,245 +0,0 @@ -(function(){var m;function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function n(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function da(a){return"0x"+n(a,2)}function t(a){return"0x"+n(a,4)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})}function la(a,b){return(a+" ").slice(0,b)}function ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var na={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function ra(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.Za=this.id:(this.Kb=this.id.substr(0,b),this.Za=this.id.substr(b+1));this[a]=c;this.D={Ma:!1,jb:!1,Ub:!1,va:!1,lb:!1};this.Nb=null;this.D.lb=!1;this.M={};this.I=null;this.ra=d||0;Ta.push(this)}var Ua=void 0,Va={}; -if(window){Ua||(Ua=window.location.search.substr(1));for(var Wa,Za=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Wa=$a.exec(Ua);)Va[decodeURIComponent(Wa[1].replace(Za," "))]=decodeURIComponent(Wa[2].replace(Za," "))}function ab(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 bb(a,b){b||(b=w);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var cb=window.PCjs.Machines||(window.PCjs.Machines={}),Ta=window.PCjs.Components||(window.PCjs.Components=[])}else cb={},Ta=[];function db(a,b,c){cb[a]&&b&&(cb[a][b]=c)}function Oa(a,b,c){b||v((c?c+": ":"")+a)} -function eb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.H?10:20>=this.H?12:24>=this.H?14:15;this.Ga=1<>2;this.w=this.Ga-1;this.L=this.N/this.Ga|0;this.K=this.L-1;this.C=[];this.j=[];this.F=this.J=!1;this.R=[];this.X=[];a=new F;yb(a,this.I);this.Y=Array(this.L);for(b=0;b>>a.oa;0f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.G)return g.Gb+=g.G-e,g.G=e,!0;if(e>=g.G+g.Gb){l=g.size-(e-k);l>f&&(l=f);g.Gb=e-g.G+l;e=k+a.Ga;f-=l;h++;continue}}return Ab(1,e,f)}e=new F(e,l,a.Ga,d);yb(e,a.I,g);a.Y[h++]=e;e=k+a.Ga;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Bb[d]+" at "+t(b)),!0):Ab(2,b,c)}m.$=function(a){return this.Y[(a&this.A)>>>this.oa].rb(a&this.w,a)}; -function Cb(a,b){return a.Y[(b&a.A)>>>a.oa].Eb(b&a.w,b)}m.Ta=function(a){var b=a&this.w,c=(a&this.A)>>>this.oa;return b!=this.w?this.Y[c].Hc(b,a):this.Y[c++].rb(b,a)|this.Y[c&this.K].rb(0,a+1)<<8};function Db(a,b){var c=b&a.w,d=(b&a.A)>>>a.oa;return c!=a.w?a.Y[d].$b(c,b):a.Y[d++].Eb(c,b)|a.Y[d&a.K].Eb(0,b+1)<<8}m.ta=function(a,b){this.Y[(a&this.A)>>>this.oa].tb(a&this.w,b&255,a)};function Fb(a,b,c){a.Y[(b&a.A)>>>a.oa].Hb(b&a.w,c&255,b)} -m.Sb=function(a,b){var c=a&this.w,d=(a&this.A)>>>this.oa;c!=this.w?this.Y[d].Mc(c,b&65535,a):(this.Y[d++].tb(c,b&255,a),this.Y[d&this.K].tb(0,b>>8&255,a+1))};function Gb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}function Hb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.C[k]?v("Input port "+t(k)+" already registered"):f.C[k]=[g,!1]}} -function Ib(a,b,c){for(var d=1,e=0,f=0;0>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.I&&a.J!=h[1]&&Vb(a.I,b,k)}else a.I&&(ib(a.I,a,b,k,d),a.J&&Vb(a.I,b,k));f+=g<<3;b+=g;e-=g}} -function Ab(a,b,c){v("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Wb;if(rb){var Xb=new ArrayBuffer(2);(new DataView(Xb)).setUint16(0,256,!0);Wb=256===(new Uint16Array(Xb))[0]}else Wb=!1;var Yb=Wb; -function F(a,b,c,d){this.id=Zb+=2;this.b=null;this.G=a;this.Gb=b;this.size=c||0;this.type=d||$b;this.M=d==ac;yb(this);this.Oa=this.qc=!1;if(c)if(rb)this.F=new ArrayBuffer(c),this.J=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),bc(this,Yb?cc:dc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},ba:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ga: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},qa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.Oa=!0},R:function(a,b){if(this.I&&null!=this.G){var c=this.I;ic(c,this.G+a,1,c.R)&&c.ma(!0)}return this.Eb(a,b)},da:function(a,b){if(this.I&&null!=this.G){var c=this.I;ic(c,this.G+a,2,c.R)&&c.ma(!0)}return this.$b(a,b)},pa:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;ic(d,this.G+a,1,d.J)&&d.ma(!0)}this.M?this.A(a,b,c):this.Hb(a,b,c)},ya:function(a, -b,c){if(this.I&&null!=this.G){var d=this.I;ic(d,this.G+a,2,d.J)&&d.ma(!0)}this.M?this.A(a,b,c):this.cc(a,b,c)},O:function(a){return this.w[a]},X:function(a){return this.w[a]},ca:function(a){return this.J.getUint16(a,!0)},fa:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.K[a>>1]},ha:function(a,b){this.w[a]=b;this.Oa=!0},Za:function(a,b){this.w[a]=b;this.Oa=!0},ua:function(a,b){this.J.setUint16(a,b,!0);this.Oa=!0},Ba:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.K[a>>1]=b;this.Oa=!0}}; -function yb(a,b,c){a.I=b;a.C=a.j=0;c&&((a.C=c.C)&&hc(a,gc,!1),(a.j=c.j)&&fc(a,gc,!1))}function jc(a,b){b?0===--a.j&&(a.tb=a.M?a.A:a.Hb,a.Mc=a.M?a.H:a.cc):0===--a.C&&(a.rb=a.Eb,a.Hc=a.$b)}function fc(a,b,c){c&&a.j||(a.tb=!a.M&&b[2]||a.A,a.Mc=!a.M&&b[3]||a.H);if(c||void 0===c)a.Hb=b[2]||a.A,a.cc=b[3]||a.H}function hc(a,b,c){c&&a.C||(a.rb=b[0]||a.L,a.Hc=b[1]||a.N);if(c||void 0===c)a.Eb=b[0]||a.L,a.$b=b[1]||a.N}function bc(a,b){b||(b=kc);hc(a,b,void 0);fc(a,b,void 0)} -var kc=[],ec=[F.prototype.ba,F.prototype.ga,F.prototype.qa,F.prototype.Ca],gc=[F.prototype.R,F.prototype.da,F.prototype.pa,F.prototype.ya];if(rb)var dc=[F.prototype.O,F.prototype.ca,F.prototype.ha,F.prototype.ua],cc=[F.prototype.X,F.prototype.fa,F.prototype.Za,F.prototype.Ba]; -function lc(a,b){w.call(this,"CPU",a,lc,1);var c=a.cycles||b,d=a.multiplier||1;this.u={};this.u.Bb=c;this.u.Sa=d;this.u.Xb=Math.round(this.u.Bb/1E4)/100;this.u.eb=this.u.Xb*this.u.Sa;this.D.xa=!1;this.D.Vb=!1;this.D.pc=a.autoStart;this.D.rc=!1;this.D.kb=!1;this.u.zb=this.u.ob=0;this.u.Ab=a.csStart;this.u.nb=a.csInterval;this.u.pb=a.csStop;this.F=[];this.X=this.gb.bind(this);E(this)}bb(lc);var mc=["power","reset"];m=lc.prototype; -m.Qa=function(a,b,c,d){this.C=a;this.w=b;this.I=d;for(b=0;b=a.u.ob&&(a.u.ob+=a.u.nb,c=!0);0<=a.u.pb&&a.u.pb<=Gc(a)&&(a.u.nb=a.u.pb=-1,Bc(a),a.ma(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+n(a.u.zb))}} -m.la=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.D.va)a=!0;else{var b=null,c,g=eb(a.id);for(c=0;ca.u.cb/a.u.eb?b=1:d=!0;a.u.Sa=b;b=a.u.Xb*a.u.Sa;if(a.u.eb!=b){a.u.eb=b;b=a.u.eb.toFixed(2)+"Mhz";var e=a.M.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.C&&a.C.Fb()}Ic(a,a.H);a.H=0;a.u.mb=pa();a.u.fb=0;Jc(a);return d}function Kc(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Lc(a,b,c){var d=-1;0<=b&&b=this.u.Bb&&Jc(this,!0);this.u.Cb=0;this.u.Ob=pa();this.u.fb&&(a=this.u.Ob-this.u.fb,a>this.u.Ac&&(this.u.mb+=a,this.u.mb>this.u.Ob&&(this.u.mb=this.u.Ob)));try{do{for(var c=this.D.kb?1:this.u.Pb,d=this.F.length-1;0<=d;d--){var e=this.F[d];0>e[0]||c>e[0]&&(c=e[0])}this.sb(c); -var f=this.j-this.b;a=f;for(var h=this.F.length-1;0<=h;h--){var g=this.F[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.u.Cb+=f;this.H+=f;Ic(this,0,!0);Fc(this,f);this.u.qb-=f;if(0>=this.u.qb){this.u.qb+=this.u.Pb;15<=++this.u.Bc&&(this.C&&this.C.Ia(),this.u.Bc=0);break}}while(this.D.xa)}catch(k){this.ma();Dc(this);this.C&&this.C.stop(pa(),Gc(this));lb(this,!1);qb(this,k.stack||k.message);return}c=setTimeout;d=this.X;this.u.fb=pa();e=this.u.Ac;this.u.Cb&&(e=Math.round(e*this.u.Cb/this.u.Pb)); -e-=this.u.fb-this.u.Ob;if(f=this.u.fb-this.u.mb)this.u.cb=Math.round(this.H/(10*f))/100,864E5<=f&&(this.K=0,Hc(this));if(0>e||this.u.cb>8&255;a.T=b&255}function Wc(a){return a.U<<8|a.V}function Xc(a,b){a.U=b>>8&255;a.V=b&255}function J(a){return a.W<<8|a.Z} -function Yc(a,b){a.W=b>>8&255;a.Z=b&255}function G(a,b){a.P=b&65535}function Zc(a){return a.aa&256?1:0}function $c(a,b){a.aa=a.aa&255|b}function ad(a){return sb[a.ea&255]?4:0}function bd(a){return(a.ea^a.wa)&16?16:0}function cd(a){return a.aa&255?0:64}function dd(a){return a.ea&128?128:0}function Tc(a){return a.sa&-214|dd(a)|cd(a)|bd(a)|ad(a)|Zc(a)}function Rc(a,b){a.aa=a.ea=a.wa=0;b&1&&(a.aa|=256);b&4||(a.ea|=1);b&16&&(a.wa|=16);b&64||(a.aa|=255);b&128&&(a.ea^=192);a.sa=a.sa&-726|b&512|2} -function ed(a,b){a.wa=a.i^b;return a.ea=(a.aa=a.i+b)&255}function fd(a,b){a.wa=a.i^b;return a.ea=(a.aa=a.i+b+(a.aa&256?1:0))&255}function gd(a,b){a.aa=a.ea=a.wa=a.i&b;(a.i|b)&8&&(a.wa^=16);return a.aa}function hd(a,b){a.wa=b^255;b=a.ea=b+255&255;a.aa=a.aa&-256|b;return b}function id(a,b){a.wa=b;b=a.ea=b+1&255;a.aa=a.aa&-256|b;return b}function jd(a,b){return a.ea=a.aa=a.wa=a.i|b}function K(a,b){b^=255;a.wa=a.i^b;return a.ea=(a.aa=a.i+b+1^256)&255} -function Dd(a,b){b^=255;a.wa=a.i^b;return a.ea=(a.aa=a.i+b+(a.aa&256?0:1)^256)&255}function Ed(a,b){return a.ea=a.aa=a.wa=a.i^b}m.$=function(a){return this.w.$(a)};m.ta=function(a,b){this.w.ta(a,b)};function L(a){var b=a.$(a.P);G(a,a.P+1);return b}function M(a){var b=a.w.Ta(a.P);G(a,a.P+2);return b}function O(a){var b=a.w.Ta(a.ka);a.ka=a.ka+2&65535;return b}function P(a,b){a.ka=a.ka-2&65535;a.w.Sb(a.ka,b)} -function Fd(a){if(a.b&&a.A&255&&a.sa&512){for(var b=0;8>b&&!(a.A&1<b?255:1<>8;$c(this,a&256);this.b-=4},Jd,function(){var a;Yc(this,a=J(this)+Uc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.$(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-= -5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=hd(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;$c(this,a);this.b-=4},Jd,function(){Xc(this,M(this));this.b-=10},function(){this.ta(Wc(this),this.i);this.b-=7},function(){Xc(this,Wc(this)+1);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=hd(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| -Zc(this);$c(this,a&256);this.b-=4},Jd,function(){var a;Yc(this,a=J(this)+Wc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.$(Wc(this));this.b-=7},function(){Xc(this,Wc(this)-1);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=hd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.i<<8;this.i=(Zc(this)<<8|this.i)>>1;$c(this,a&256);this.b-=4},Jd,function(){Yc(this,M(this));this.b-=10},function(){var a=M(this);this.w.Sb(a,J(this)); -this.b-=16},function(){Yc(this,J(this)+1);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=hd(this,this.W);this.b-=5},function(){this.W=L(this);this.b-=7},function(){var a=0,b=Zc(this);if(bd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=ed(this,a);$c(this,b?256:0);this.b-=4},Jd,function(){var a;Yc(this,a=J(this)+J(this));$c(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.Ta(a);Yc(this,a);this.b-=16},function(){Yc(this,J(this)-1);this.b-=5},function(){this.Z= -id(this,this.Z);this.b-=5},function(){this.Z=hd(this,this.Z);this.b-=5},function(){this.Z=L(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Jd,function(){this.ka=M(this)&65535;this.b-=10},function(){this.ta(M(this),this.i);this.b-=13},function(){this.ka=this.ka+1&65535;this.b-=5},function(){var a=J(this);this.ta(a,id(this,this.$(a)));this.b-=10},function(){var a=J(this);this.ta(a,hd(this,this.$(a)));this.b-=10},function(){this.ta(J(this),L(this));this.b-=10},function(){this.aa|=256;this.b-= -4},Jd,function(){var a;Yc(this,a=J(this)+this.ka);$c(this,a>>8&256);this.b-=10},function(){this.i=this.$(M(this));this.b-=13},function(){this.ka=this.ka-1&65535;this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=hd(this,this.i);this.b-=5},function(){this.i=L(this);this.b-=7},function(){$c(this,Zc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W;this.b-= -5},function(){this.S=this.Z;this.b-=5},function(){this.S=this.$(J(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.$(J(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U= -this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.$(J(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.$(J(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S;this.b-=5},function(){this.W= -this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.$(J(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Z=this.S;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.b-=5},function(){this.Z=this.$(J(this));this.b-=7},function(){this.Z=this.i; -this.b-=5},function(){this.ta(J(this),this.S);this.b-=7},function(){this.ta(J(this),this.T);this.b-=7},function(){this.ta(J(this),this.U);this.b-=7},function(){this.ta(J(this),this.V);this.b-=7},function(){this.ta(J(this),this.W);this.b-=7},function(){this.ta(J(this),this.Z);this.b-=7},function(){var a=this.P-1;if(this.L.length)for(var b=0;b>8;this.b-=10},function(){var a=M(this);dd(this)||G(this,a);this.b-=10},function(){this.sa&=-513;this.b-=4},function(){var a=M(this);dd(this)||(P(this,this.P),G(this,a),this.b-=6);this.b-=11},function(){P(this,Tc(this)&255|this.i<<8);this.b-=11},function(){this.i=jd(this,L(this));this.b-=7},function(){P(this,this.P);G(this,48);this.b-=11},function(){dd(this)&&(G(this, -O(this)),this.b-=6);this.b-=5},function(){this.ka=J(this)&65535;this.b-=5},function(){var a=M(this);dd(this)&&G(this,a);this.b-=10},function(){this.sa|=512;this.b-=4;Fd(this)},function(){var a=M(this);dd(this)&&(P(this,this.P),G(this,a),this.b-=6);this.b-=11},Md,function(){K(this,L(this));this.b-=7},function(){P(this,this.P);G(this,56);this.b-=11}]; -function S(a){w.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Nd[b]&&Oa("Unrecognized ChipSet model: "+b);this.A=Nd[b]||{};a.sound&&(this.ga=null,window&&(this.ga=window.AudioContext||window.webkitAudioContext),this.ga&&new this.ga);E(this)}bb(S); -var T={za:1978.1,rd:{Aa:0,be:1,fe:16,me:32,ve:64,ue:128,ub:14},Ya:{Aa:1,Sc:1,ld:2,gd:4,hd:16,jd:32,kd:64,ub:8},sd:{Aa:2,ae:3,De:4,ce:8,qe:16,re:32,se:64,de:128,ub:0},ze:{Aa:3},xe:{Aa:2,ne:7},Be:{Aa:3,Ee:1,Ae:2,te:4,ke:8,ee:16,Yd:32},ye:{Aa:4},Ce:{Aa:5,ge:1,he:2,ie:4,je:8,Fe:16}},U={za:100,Ja:{Aa:66,mc:1,ic:2,fd:4,pe:8,oe:16,kc:32,jc:64,fc:128},Rc:{Aa:66,INIT:0},Wa:{Aa:194,$d:0,ec:16,md:32,lc:48,Wc:0,Xc:32},Ib:{Aa:162,we:0,Zc:0,Vc:0,Yc:0,Uc:0},Ka:{le:{Aa:98},Va:{Oc:0,Nc:1,od:2,td:4,Tc:5,nd:6,pd:7}, -Jb:16383}},Nd={SI1978:T,VT100:U};S.prototype.la=function(){return!1};S.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;this.C=a;this.K=vb(a,"Keyboard");this.Na=vb(a,"SerialPort");this.video=vb(a,"Video");Hb(b,this,this.A.Qb);Tb(b,this,this.A.Rb);if(d){var e=this;Od(d,16384,function(){for(var a="",b=0;b>8-this.fa&255;D(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.Jd=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null,!0);this.fa=b};m.Ld=function(a,b,c){D(this,a,b,c,"SOUND1",null,!0);this.ua=b};m.Kd=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null,!0);this.ba=b<<8|this.ba>>8}; -m.Md=function(a,b,c){D(this,a,b,c,"SOUND2",null,!0);this.ya=b};m.Nd=function(a,b,c){D(this,a,b,c,"WATCHDOG",null,!0)};function Pd(a){var b=0,c=0,d=~a.X;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -m.Dd=function(a,b){var c=this.L,c=c&~U.Ja.jc;if((Gc(this.b)&64)<<1&&(c|=U.Ja.jc,c!=this.L)){var d,e;d=this.R&1;e=this.R>>1&7;switch(e){case U.Ka.Va.pd:break;case U.Ka.Va.Nc:this.X=this.X<<1|d;break;case U.Ka.Va.Tc:d=Pd(this);this.F[d]=U.Ka.Jb;jb(this,"doNVRCommand(): erase data at addr "+t(d));break;case U.Ka.Va.Oc:this.j=this.j<<1|d;break;case U.Ka.Va.td:d=Pd(this);e=this.j&U.Ka.Jb;this.F[d]=e;jb(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case U.Ka.Va.nd:d=Pd(this);e=this.F[d]; -null==e&&(e=U.Ka.Jb);this.j=e;jb(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case U.Ka.Va.od:this.j<<=1;this.da=this.j&U.Ka.Jb+1;break;default:jb(this,"doNVRCommand(): unrecognized command "+da(e))}}c&=~U.Ja.kc;this.da&&(c|=U.Ja.kc);c&=~U.Ja.fc;if(d=this.K){d=this.K;if(e=d.F)e=d.b,e=Gc(d.b)>=d.L+e.u.Bb*e.u.Sa/1E3*1.2731488;e&&(d.F=!1);d=!d.F}d&&(c|=U.Ja.fc);c&=~U.Ja.mc;this.Na&&this.Na.Da&1&&(c|=U.Ja.mc);this.L=c;D(this,a,null,b,"FLAGS",c);return c}; -m.Od=function(a,b,c){D(this,a,b,c,"BRIGHTNESS");this.ha=b};m.Rd=function(a,b,c){D(this,a,b,c,"NVR.LATCH");this.R=b};m.Qd=function(a,b,c){D(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.J=this.J&-4|a;break;case 1:this.J=this.J&-13|a<<2;this.video&&(b=this.video,a=this.J,jb(b,"updateScrollOffset("+a+")"),b.hb!==a&&((b.hb=a)?Mc(b,!0):b.xb=!0));break;case 2:switch(a){case 0:this.ca=~this.ca;break;case 2:case 3:this.qa=3-a}break;case 3:this.pa=a}}; -m.Pd=function(a,b,c){D(this,a,b,c,"DC011");b&U.Wa.md?(b&=U.Wa.lc,this.O!=b&&(this.O=b,this.video&&(a=this.video,b=this.O==U.Wa.lc?50:60,jb(a,"updateRate("+b+")"),a.Jc=b))):(b&=U.Wa.ec,this.N!=b&&(this.N=b,this.video&&(a=this.N==U.Wa.ec?132:80,b=this.video,jb(b,"updateDimensions("+a+","+(80>>0,h],q=oa(p,k,a.Ua);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.H.push({Ge:b,G:c,Fd:d,Ra:e,nc:f})}delete this.Ra}return!0};Sd.prototype.Ha=function(){return!0}; -function Td(a,b,c,d){if(d)a.ia("Unable to load system ROM (error "+d+": "+b+")");else{db(a.Kb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.C=f;else if(h)for(a.C=Array(4*h.length),d=c=0;c>8&255,a.C[d++]=h[c]>>16&255,a.C[d++]=h[c]>>24&255;else a.C=e;a.Ra=e.symbols;if(!a.C.length){v("Empty ROM: "+b);return}if(1==a.C.length){v(a.C[0]);return}}catch(g){a.ia("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.C=Array(b.length),e=0;e>>f.oa;0>>=f.oa;0d?a.j.push({bc:b,Yb:Date.now(),Lb:!1}):(a.j[d].Yb=Date.now(),a.j[d].Lb=!1);else if(0<=d){if(!a.j[d].Lb){var e=a.j[d].Yb;if(e&&100>Date.now()-e)return a.j[d].Lb=!0,ee(a),!0}a.j.splice(d,1)}if(a.J){d=0;switch(b){case "1p":d=T.Ya.gd;break;case "2p":d=T.Ya.ld;break;case "coin":d=T.Ya.Sc;break;case "left":d=T.Ya.jd;break;case "right":d=T.Ya.kd;break;case "fire":d=T.Ya.hd}d&&(a=a.J,b=d,a.H&=~b,c&&(a.H|=b))}return!0} -function ee(a){for(var b=0,c=-1;bc||c>e)c=e}else{ce(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){ee(a)},c)}m.Ed=function(a,b){var c=this.H;0<=this.A&&(this.A>3)*a.ca,!zb(a.w,a.Ua,a.X,3)))return!1;a.X?(a.Dc=a.F.createImageData(b,c),a.Fc=16/a.ab|0,ke(a,a.X>>1)):ke(a,(a.da+1)*a.Ba);a.N=document.createElement("canvas");a.N.width=b;a.N.height=c;a.wb=a.N.getContext("2d");a.ga={};a.ua=1<=a.vc?8:16,f=8>(7>4)*c)}return k}fe.prototype.Ea=function(){return!0};fe.prototype.la=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Wb[b]=c,!0;switch(b){case "fullScreen":return this.M[b]=c,this.j&&this.j.ib?c.onclick=function(){d.ib()}:c.parentNode.removeChild(c),!0}return!1}; -fe.prototype.ib=function(){var a=!1;if(this.j){if(this.j.ib){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ba/this.R;b>c&&(a=Math.round(c/b*100)+"%")}this.Cc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.ib();a=!0}this.qa&&this.qa.focus()}return a}; -function ie(a,b){!b&&a.j&&(a.Cc?a.O.style.width=a.O.style.height="":a.j.style.width=a.j.style.height="");jb(a,"notifyFullScreen("+b+")")}function ke(a,b){a.Ec=b;a.pa=!1;if(void 0===a.H||a.H.length!=a.Ec)a.H=Array(a.Ec)}function me(a,b,c,d,e){d=a.A?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ya&&(208<=c&&236>c?e=a.ua+0:28<=c&&72>c&&(e=a.ua+1));a=a.ha[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Mc(a,b){var c=!0;if(!b){a.bb&&(120==a.bb?a.Gc&1?(Gd(a.b,2),c=!1):Gd(a.b,1):Gd(a.b,4));if(c&&a.pa&&a.X){for(var d=a.w,e=a.X,f=!0,h=a.Ua>>>d.oa;0>=1);;){var u=Cb(a.w,p++);if(127==(u&127)){var r=Cb(a.w,p++),d=r&96,c=(r&15)<<8|Cb(a.w,p),c=c+ -(r&16?8192:16384);break}if(l>4)*u.ja,A=void 0,Q=void 0,aa=void 0,Y=void 0,ua=u.na,Eb=u.ja;B?(A=x*r.na,Q=e*r.ja,aa=r.na,Y=r.ja):(A=x*r.wc,Q=e*r.xc,aa=r.wc,Y=r.xc);u.na>r.na&&(A*=2,aa*=2);u.ja>r.ja&&(0==q&&(y+=r.ja),Eb=r.ja);B?B.drawImage(u.canvas,X,y,ua,Eb,A,Q,aa,Y): -(A+=0,Q+=0,r.F.drawImage(u.canvas,X,y,ua,Eb,A,Q,aa,Y))}g++}h++}e++}}a.pa=!0;!b&&a.xb&&1==g&&(a.H[k]=-1,g=0);a.xb=!1;(g||b)&&a.wb&&a.F.drawImage(a.N,0,a.hb,a.L,a.ca-a.ja,0,0,a.Td,a.Ud)}else{f=a.Ua;h=f+a.X;l=k=g=0;c=a.L;q=0;d=a.ca;p=e=0;x=a.ab;r=(1<>8|(B&255)<<8);k>u&r,me(a,a.Dc,k++,l,y),u+=x;k>q&&(q=k);l=e&&(e=l+1)}f+=2;g++;if(k>=a.L&&(k=0,l++,l>a.ca))break}a.pa= -!0;cMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ta().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Va.aspect);f&&.3<=f&&3.33>=f&&(La("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Aa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new fe(d,e,h,f,c);hb(d,c)}}); -function ne(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ga=0;this.pa=2;break;default:v("Unrecognized serial adapter #"+this.fa);return}this.j=this.A=null;this.ha=a.tabSize;this.da=a.charBOL;this.F=0;this.ba=!1;w.call(this,"SerialPort",a,ne,8388608);var b=a.binding;if("console"==b)this.A="";else{var c;a=oe;b&&(void 0===c&&(c="Panel"),(c=gb(c,this.id))&&(b=c.M[b])&&this.la(null,a,b))}this.H="";this.K=this.N=null;this.exports={connect:this.uc,receiveData:this.ac}}bb(ne); -var pe=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],qe=[!1,0,0,133,142,39,238],oe="buffer";m=ne.prototype; -m.la=function(a,b,c,d){var e=this;switch(b){case oe:return this.M[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ma(b[0]);if(c!=this.Za)return;b=ma(b[1]);if(this.K=fb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.N=d.receiveData){this.status(this.Kb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};m.Ea=function(a,b){if(!b)if(this.uc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -m.Ha=function(a){return a?this.save():!0};m.reset=function(){ue(this)};m.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.Ma;c[b++]=this.X;c[b++]=this.ca;c[b++]=this.Da;c[b++]=this.L;c[b++]=this.R;c[b]=this.O;I(a,0,c);return a.data()};m.restore=function(a){return ue(this,a[0])};function ue(a,b){var c=0;void 0===b&&(b=qe);a.Ma=b[c++];a.X=b[c++];a.ca=b[c++];a.Da=b[c++];a.L=b[c++];a.R=b[c++];a.O=b[c];return!0} -function ve(a,b){var c=a.O&b;b&15||(c>>=4);var c=pe[c],d=((a.L&12)>>2)+6;a.L&16&&d++;d+=((a.L&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function re(a,b){jb(a,"receiveByte("+da(b)+"), status="+da(a.Da));return a.ba||a.Da&2?!1:(a.X=b,a.Da|=2,Gd(a.b,a.pa),!0)}m.ac=function(a){null!=a&&(this.H="number"!=typeof a?a:this.H+String.fromCharCode(a));this.H&&(re(this,this.H.charCodeAt(0))&&(this.H=this.H.substr(1)),this.H&&this.b&&Lc(this.b,this.qa,ve(this,15)));return!0}; -m.yd=function(a,b){var c=this.X;D(this,a,null,b,"DATA",c);this.Da&=-3;return c};m.xd=function(a,b){var c=this.Da;D(this,a,null,b,"STATUS",c);return c}; -m.Id=function(a,b,c){D(this,a,b,c,"DATA");this.ca=b;this.Da&=-6;jb(this,"transmitByte("+da(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.N&&this.N.call(this.K,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ha||8,c=b-this.F%b,this.ha&&(a=la("",c))):13==b&&(this.F=c=0,a="\n"),this.da&&!this.F&&c&&(a=String.fromCharCode(this.da)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight, -this.F+=c);else if(null!=this.A){if(10==b||1024<=this.A.length)this.g(this.A),this.A="";10!=b&&(this.A+=String.fromCharCode(b))}this.b&&Lc(this.b,this.ua,ve(this,240))};m.Hd=function(a,b,c){D(this,a,b,c,"CONTROL");this.Ma?(this.R=b,this.R&64&&(this.Ma=!1)):(this.L=b,this.Ma=!0)};m.Gd=function(a,b,c){D(this,a,b,c,"BAUDRATES");this.O=b};var se={0:ne.prototype.yd,1:ne.prototype.xd},te={0:ne.prototype.Id,1:ne.prototype.Hd,2:ne.prototype.Gd}; -Ma(function(){for(var a=C(document,"pc8080","serial"),b=0;b>>d.w.oa;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=Bb[c],p&&d.g(n(p.id)+" %"+n(g<>>e.oa;f!=e.w?e.Y[h].cc(f,b&65535,d):(e.Y[h++].Hb(f,b&255,d),e.Y[h&e.K].Hb(0,b>>8&255,d+1));c&&Ie(a,c);Dc(this.b,!0)}};function W(a){return{G:a,Pa:!1}}function Je(a){return[a.G,a.Pa]}function Ke(a){return{G:a[0],Pa:a[1]}} -function He(a,b,c){var d;c=(c?a.O:a.ab).G;if(void 0!==b){d=b=Le(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=ra(Ee,a.substr(b,1))));return c}function Re(a,b){var c=0,d=Se(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"} -function Se(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.i;break;case 0:c=d.S;break;case 1:c=d.T;break;case 8:c=Uc(d);break;case 2:c=d.U;break;case 3:c=d.V;break;case 9:c=Wc(d);break;case 4:c=d.W;break;case 5:c=d.Z;break;case 10:c=J(d);break;case 6:c=d.$(J(d));break;case 11:c=d.ka;break;case 12:c=d.P;break;case 13:c=Tc(d);break;case 14:c=Tc(d)&255|d.i<<8}}return c} -function Te(a,b){b=Le(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Qe(b,c+1),0<=e&&(b=b.substr(0,c)+Re(a,e)+b.substr(c+1+Ee[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=He(a,e))?(d=e+' "'+Pe(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=He(a,e))?(Ie(d),d=e+' "'+ -Pe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.P).G));if(this.ra&1073741824)this.ua.push(a);else if(!this.qa||a!=this.qa)if(this.qa=a,this.ra&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.u.qb=0;c.j-=c.b;c.b=0;Dc(c)}}; -function ib(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ra&g)!=g||a.message(b.Za+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?","+da(d):"")+")"+(null!=h?": "+da(h):"")+(null!=e?" at "+Z(e):""))} -function ze(a){var b;if(Hd(a)){if(!a.N||!a.N.length){a.N=Array(1E3);for(b=0;b>>d.oa],!1)}a.R=["br"];if(void 0!==a.J)for(b=1;b>>d.oa],!0);a.J=["bw"];a.bb=0}m.$a=function(a,b,c){var d=!0;c||wf(this,a,b,!1,!0);if(a!=this.j){var e=Ge(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.Y[e>>>f.oa].$a(e&f.w,a==this.J)}}d&&(a.push(b),c?b.Pa=!0:(xf(this,a,a.length-1,"set"),ze(this)));return d}; -function wf(a,b,c,d,e){var f=!1;c=Ge(c);for(var h=1;h>>d.oa],b==a.J));g.Pa||ze(a);break}}return f}function yf(a,b){for(var c=1;c>24,4);break;case 3:y=n(u.Ta(B,2),4);break;default:u="imm("+t(r)+")";break a}8086==u.style&&r&64?y="["+y+"]":r&16||(y=(u.style==xe?"$":"0x")+y);u=y}else r& -16?(u=(q&3840)>>8,r=Ee[u],8086==a.style&&q&64&&(6==u&&(r="HL"),r="["+r+"]"),u=r):r&128&&(u=(f>>3&7).toString());if(!u||!u.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ff(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Me(a,b,c){var d;if(b){b=Le(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function If(a,b){if(b)return Hf(a,b,a.fa[b]);var c=0;for(b in a.fa)Hf(a,b,a.fa[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.Fd;if(e>=h&&e>8&255;case "C":d.T=g&255;break;case "D":d.U= -g&255;break;case "DE":d.U=g>>8&255;case "E":d.V=g&255;break;case "H":d.W=g&255;break;case "HL":d.W=g>>8&255;case "L":d.Z=g&255;break;case "SP":d.ka=g&65535;break;case "PC":G(d,g);a.O=W(d.P);break;case "PS":Rc(d,g);break;case "PSW":Rc(d,g&255|d.sa&-256);d.i=g>>8;break;case "CF":d.aa=g?d.aa|256:d.aa&255;break;case "PF":g?ad(d)||(d.ea^=1):ad(d)&&(d.ea^=1);break;case "AF":d.wa=g?~d.ea&16|d.wa&-17:d.ea&16|d.wa&-17;break;case "ZF":d.aa=g?d.aa&-256:d.aa|255;break;case "SF":g?dd(d)||(d.ea^=192):dd(d)&&(d.ea^= -192);break;case "IF":d.sa=g?d.sa|512:d.sa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}Dc(d);a.g("updated registers:")}a.g(Df(a));c&&(a.O=W(d.P),uf(a,Z(a.O.G)))}}function Pf(a,b){b=ma(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Te(a,c[2])):Me(a,b,!0)}function Qf(a,b,c){var d="t"!=b;c=Gf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return lb(a,!0)&&a.sb(e,d,!1)},function(){Dc(a.b);lb(a,!1)})} -function uf(a,b,c,d){if(b=He(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=He(a,c,!0);if(!d||d.Gg[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=Af(a,b,h,f);a.g(f);a.O=b;e-=b.G-k;c++}}} -function Oe(a,b,c,d){if(c)if(b){0>a.F&&a.A.length&&(a.F=0);if(0>a.F||b!=a.A[a.F])a.A.splice(0,0,b),a.F=0;a.F--}else a.da?b="end":b=a.A[a.F+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ma(b.substring(c,f))),c=f+1}}return a} -function zf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+Z(a.ca.G)),a.O=a.ca,a.da=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.qa=null;if(pb(a)&&0l||"z"Ga.length&&(a.g("note: only "+Ga.length+" available"),ia=Ga.length);ba-=ia;0>ba&&(null==Ga[Ga.length-1].G?(ia=ba+ia,ba=0):ba+=Ga.length);var md=[];"call"== -af&&(ob=1E5,md=["CALL"]);for(void 0!==$e&&a.g(ia+" instructions earlier:");0=Ga.length&&(ba=0);a.hb=ia;cf++;ob--}}cf||(a.g("no "+bf+"history available"),a.hb=void 0)}else{var pc=He(a,Y);if(pc){var qc=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Eb),qc=Gf(a,ua)>>>0,65536>4||1;kg--&&0uc?String.fromCharCode(uc):".";sc--}Xa&&(Xa+="\n");Xa+=Y+" "+Lb+(0==Kb?" "+od:"")}Xa&&a.g(Xa);a.ab=pc}}}}break;case "e":if("else"==f[0])break;var vc=1,ff=255,gf=a.$,hf=a.ta;"ew"==f[0]&&(vc=2,ff=65535,gf=a.Ta,hf=a.Sb);var jf=vc<<1,kf=f[1];if(null==kf)a.g("edit memory commands:"), -a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var wc=He(a,kf);if(wc)for(var xc=2;xcvd;){for(var Ya=null,qg=256;65536>Ob.G>>>0;){mf.G= -a.Ta(Ob,2);if(null==Ob.G||!qg--)break;for(var rg=a,zc=mf,nf=null,Pb=zc.G,of=Pb,wd=1;6>=wd&&Pb;wd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bUf){if(Wf(d,this.N)){this.J=new H(this,"1.24.1","failsafe");Wf(this.J)&&(bg(this,d),a=2,cg(this.J));I(this.J,"timestamp",qa());dg(this.J);var e=this.C&&!this.K;if(1==a||va("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=$f(d)){var f=ag(d,"code"),h=ag(d,"data");f&&("ok"==f?Wf(d,h):("error"==f&& -"no machine state"!=h?(this.ia("Error: "+h),"unable to verify user"==h&&(za("user",""),this.j=null)):this.g(f+": "+h),cg(d),Wf(d)?(c=$f(d),e=!0):c=!1))}e&&Zf(this,c?d:null)}else 2==a&&d.clear()}else Zf(this);delete this.N;delete this.O}e=eb(this.id);for(f=0;fa[1];a=a[2];this.ha=!0;this.D.va=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(eg(this,this.b,b,c,a),Ec(this.b));this.ba&&(bg(this,b),b.clear());!c&&this.J&&(this.J.clear(),delete this.J);this.A=0}; -function bg(a,b){if(va("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"",d=b.toString(),e={app:"PC8080",ver:"1.24.1"};e.url=a.ga;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",e,!0)}} -function Rf(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new H(a,"1.24.1"),h=new H(a,"1.24.1","validate"),g=qa();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.24.1");I(f,"url",window?window.location.href:null);I(f,"browser",ta());a.b&&a.b.Ha&&(c&&a.b.ma(),d=a.b.Ha(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.D.va=!1,!1===d&&(e=null)));for(var g=eb(a.id),k=0;kg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);yg(a,b,c)}})}else c(a,null)} -function zg(a,b,c,d){function e(a){if(void 0===g){var b=h&&C(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ka(a))}function f(a){e("Error: "+a);k&&(--ig||Pa(!0));k=!1}var h,g,k=!0;ig++;cb[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c|| -(c="/versions/pc8080/1.24.1/components.xsl");l=function(d,g){g?wg(c,null,null,!1,e,function(d,k){if(k)if(db(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--ig||Pa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--ig||Pa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?wg(b,a,d,!0,e,l):xg(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Pa(!1);return zg(a,b,c,d)};window.enableEvents=Pa;window.sendEvent=Qa;})(); diff --git a/versions/pc8080/1.24.1/pc8080.js b/versions/pc8080/1.24.1/pc8080.js deleted file mode 100644 index 4d9a58b10..000000000 --- a/versions/pc8080/1.24.1/pc8080.js +++ /dev/null @@ -1,164 +0,0 @@ -(function(){var k;function aa(a){var b=16,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function m(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date}; -function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function ma(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(l)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")} -function p(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}var oa=null;function pa(){if(null==oa){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}oa=a}return oa}function qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} -function ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function sa(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 ta={init:[],show:[],exit:[]},ua=!1,va=!1,wa=!0;function xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ya(a){ta.init.push(a)} -function za(a){if(wa)try{for(var b=0;bb?this.Pa=this.id:(this.Qa=this.id.substr(0,b),this.Pa=this.id.substr(b+1));this[a]=c;this.l={ga:!1,Fa:!1,lb:!1,U:!1,sa:!1};this.Xa=null;this.l.sa=!1;this.B={};this.N=null;r.push(this)}var Ea=void 0,Fa={}; -if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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=q);a.prototype=Ja(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ka=window.PCjs.Machines||(window.PCjs.Machines={}),r=window.PCjs.Components||(window.PCjs.Components=[])}else Ka={},r=[];function La(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function Aa(a,b,c){b||p((c?c+": ":"")+a)} -function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.i?10:20>=this.i?12:24>=this.i?14:15;this.o=1<>2;this.f=this.o-1;this.j=this.u/this.o|0;this.s=this.j-1;this.m=[];this.w=[];this.A=[];this.C=[];a=new D;Ya(a,this.N);this.b=Array(this.j);for(b=0;b>>a.c;0f&&(n=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Ea)return g.fb+=g.Ea-e,g.Ea=e,!0;if(e>=g.Ea+g.fb){n=g.size-(e-l);n>f&&(n=f);g.fb=e-g.Ea+n;e=l+a.o;f-=n;h++;continue}}return $a(1,e,f)}e=new D(e,n,a.o,d);Ya(e,a.N,g);a.b[h++]=e;e=l+a.o;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ab[d]+" at "+("0x"+m(b,4))),!0):$a(2,b,c)} -Xa.prototype.K=function(a){return this.b[(a&this.g)>>>this.c].Ma(a&this.f,a)};function bb(a,b){return a.b[(b&a.g)>>>a.c].eb(b&a.f,b)}function cb(a,b){var c=b&a.f,d=(b&a.g)>>>a.c;return c!=a.f?a.b[d].gd(c,b):a.b[d++].Ma(c,b)|a.b[d&a.s].Ma(0,b+1)<<8}Xa.prototype.W=function(a,b){this.b[(a&this.g)>>>this.c].Na(a&this.f,b&255,a)};function eb(a,b,c){a.b[(b&a.g)>>>a.c].Zb(b&a.f,c&255,b)} -function fb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.c;d!=a.f?a.b[e].hd(d,c&65535,b):(a.b[e++].Na(d,c&255,b),a.b[e&a.s].Na(0,c>>8&255,b+1))}function gb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var l=+e+d;l<=h;l++)void 0!==f.m[l]?p("Input port 0x"+m(l,4)+" already registered"):f.m[l]=[g,!1]}} -function hb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var l=+e+d;l<=h;l++)void 0!==f.w[l]?p("Output port 0x"+m(l,4)+" already registered"):f.w[l]=[g,!1]}}function $a(a,b,c){p("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}var ib;if(Sa){var jb=new ArrayBuffer(2);(new DataView(jb)).setUint16(0,256,!0);ib=256===(new Uint16Array(jb))[0]}else ib=!1;var kb=ib; -function D(a,b,c,d){this.id=lb+=2;this.a=null;this.Ea=a;this.fb=b;this.size=c||0;this.type=d||mb;this.B=d==nb;Ya(this);this.ka=this.Jb=!1;if(c)if(Sa)this.c=new ArrayBuffer(c),this.o=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.i=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),ob(this,kb?pb:qb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},C:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},M: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},V:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<>8);this.ka=!0},v:function(a,b){return this.eb(a,b)},H:function(a,b){return this.Xb(a,b)},O:function(a,b,c){this.B||this.Zb(a,b,c)},$:function(a, -b,c){this.B||this.da(a,b,c)},u:function(a){return this.b[a]},A:function(a){return this.b[a]},G:function(a){return this.o.getUint16(a,!0)},I:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},J:function(a,b){this.b[a]=b;this.ka=!0},T:function(a,b){this.b[a]=b;this.ka=!0},Z:function(a,b){this.o.setUint16(a,b,!0);this.ka=!0},ea:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.ka=!0}}; -function Ya(a,b,c){a.N=b;a.f=a.g=0;c&&((a.f=c.f)&&sb(a,tb,!1),(a.g=c.g)&&ub(a,tb,!1))}function ub(a,b,c){c&&a.g||(a.Na=!a.B&&b[2]||a.w,a.hd=!a.B&&b[3]||a.s);if(c||void 0===c)a.Zb=b[2]||a.w,a.da=b[3]||a.s}function sb(a,b,c){c&&a.f||(a.Ma=b[0]||a.j,a.gd=b[1]||a.m);if(c||void 0===c)a.eb=b[0]||a.j,a.Xb=b[1]||a.m}function ob(a,b){b||(b=vb);sb(a,b,void 0);ub(a,b,void 0)}var vb=[],rb=[D.prototype.C,D.prototype.M,D.prototype.V,D.prototype.xa],tb=[D.prototype.v,D.prototype.H,D.prototype.O,D.prototype.$]; -if(Sa)var qb=[D.prototype.u,D.prototype.G,D.prototype.J,D.prototype.Z],pb=[D.prototype.A,D.prototype.I,D.prototype.T,D.prototype.ea]; -function wb(a,b){q.call(this,"CPU",a,wb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.Ja=c;this.c.oa=d;this.c.mb=Math.round(this.c.Ja/1E4)/100;this.c.za=this.c.mb*this.c.oa;this.l.la=!1;this.l.Lb=!1;this.l.Ib=a.autoStart;this.l.Kb=!1;this.l.Va=!1;this.c.Za=this.c.Ba=0;this.c.$a=a.csStart;this.c.Ga=a.csInterval;this.c.Ha=a.csStop;this.I=[];this.ea=this.qb.bind(this);C(this)}w(wb);var xb=["power","reset"];k=wb.prototype; -k.ma=function(a,b,c,d){this.w=a;this.o=b;this.N=d;for(b=0;ba.c.ta/a.c.za&&(b=1);a.c.oa=b;b=a.c.mb*a.c.oa;if(a.c.za!=b){a.c.za=b;b=a.c.za.toFixed(2)+"Mhz";var d=a.B.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.w&&Ib(a.w)}Fb(a,a.J);a.J=0;a.c.Aa=ja();a.c.ua=0;Gb(a)}function Kb(a,b){var c=a.I.length;a.I.push([-1,b]);return c}function Lb(a,b,c){var d=-1;0<=b&&b=this.c.Ja&&Gb(this,!0);this.c.Ka=0;this.c.Ya=ja();this.c.ua&&(a=this.c.Ya-this.c.ua,a>this.c.Ub&&(this.c.Aa+=a,this.c.Aa>this.c.Ya&&(this.c.Aa=this.c.Ya)));try{do{for(var c=this.l.Va?1:this.c.ab,d=this.I.length-1;0<=d;d--){var e=this.I[d];0>e[0]||c>e[0]&&(c=e[0])}this.Yb(c); -var f=this.G-this.a;a=f;for(var h=this.I.length-1;0<=h;h--){var g=this.I[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.c.Ka+=f;this.J+=f;Fb(this,0,!0);a=f;this.l.Va&&(b=!1,this.c.Za=this.c.Za+this.Ob()|0,this.c.Ba-=a,0>=this.c.Ba&&(this.c.Ba+=this.c.Ga,b=!0),0<=this.c.Ha&&this.c.Ha<=Hb(this)&&(this.c.Ga=this.c.Ha=-1,Ab(this),Db(this),b=!0),b&&this.aa(Hb(this)+" cycles: checksum="+m(this.c.Za)));this.c.Ia-=f;if(0>=this.c.Ia){this.c.Ia+=this.c.ab;15<=++this.c.Vb&&(this.w&&this.w.va(),this.c.Vb= -0);break}}while(this.l.la)}catch(l){Db(this);Bb(this);this.w&&this.w.stop(ja(),Hb(this));Qa(this,!1);c=l.stack||l.message;this.l.sa=!0;this.L(c);return}c=setTimeout;d=this.ea;this.c.ua=ja();e=this.c.Ub;this.c.Ka&&(e=Math.round(e*this.c.Ka/this.c.ab));e-=this.c.ua-this.c.Ya;if(f=this.c.ua-this.c.Aa)this.c.ta=Math.round(this.J/(10*f))/100,864E5<=f&&(this.O=0,Eb(this));if(0>e||this.c.ta>8&255;a.D=b&255}function Wb(a){return a.g<<8|a.F}function Xb(a,b){a.g=b>>8&255;a.F=b&255}function I(a){return a.i<<8|a.j} -function J(a,b){a.i=b>>8&255;a.j=b&255}function E(a,b){a.s=b&65535}function K(a){return a.m&256?1:0}function L(a,b){a.m=a.m&255|b}function Yb(a){return Ta[a.u&255]?4:0}function Tb(a){return a.H&-214|(a.u&128?128:0)|(a.m&255?0:64)|((a.u^a.A)&16?16:0)|Yb(a)|K(a)}function Rb(a,b){a.m=a.u=a.A=0;b&1&&(a.m|=256);b&4||(a.u|=1);b&16&&(a.A|=16);b&64||(a.m|=255);b&128&&(a.u^=192);a.H=a.H&-726|b&512|2}function M(a,b){a.A=a.b^b;return a.u=(a.m=a.b+b)&255} -function Zb(a,b){a.A=a.b^b;return a.u=(a.m=a.b+b+(a.m&256?1:0))&255}function $b(a,b){a.m=a.u=a.A=a.b&b;(a.b|b)&8&&(a.A^=16);return a.m}function ac(a,b){a.A=b^255;b=a.u=b+255&255;a.m=a.m&-256|b;return b}function bc(a,b){a.A=b;b=a.u=b+1&255;a.m=a.m&-256|b;return b}function cc(a,b){return a.u=a.m=a.A=a.b|b}function N(a,b){b^=255;a.A=a.b^b;return a.u=(a.m=a.b+b+1^256)&255}function dc(a,b){b^=255;a.A=a.b^b;return a.u=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function ec(a,b){return a.u=a.m=a.A=a.b^b}k.K=function(a){return this.o.K(a)}; -k.W=function(a,b){this.o.W(a,b)};function O(a){var b=a.K(a.s);E(a,a.s+1);return b}function P(a){var b=cb(a.o,a.s);E(a,a.s+2);return b}function Q(a){var b=cb(a.o,a.v);a.v=a.v+2&65535;return b}function S(a,b){a.v=a.v-2&65535;fb(a.o,a.v,b)}function fc(a){if(a.a&&a.C&255&&a.H&512){for(var b=0;8>b&&!(a.C&1<b?255:1<>8;L(this,a&256);this.a-=4},hc,function(){var a;J(this,a=I(this)+Ub(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.K(Ub(this));this.a-=7},function(){Vb(this,Ub(this)-1);this.a-=5},function(){this.D= -bc(this,this.D);this.a-=5},function(){this.D=ac(this,this.D);this.a-=5},function(){this.D=O(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;L(this,a);this.a-=4},hc,function(){Xb(this,P(this));this.a-=10},function(){this.W(Wb(this),this.b);this.a-=7},function(){Xb(this,Wb(this)+1);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=ac(this,this.g);this.a-=5},function(){this.g=O(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|K(this);L(this,a&256); -this.a-=4},hc,function(){var a;J(this,a=I(this)+Wb(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.K(Wb(this));this.a-=7},function(){Xb(this,Wb(this)-1);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=ac(this,this.F);this.a-=5},function(){this.F=O(this);this.a-=7},function(){var a=this.b<<8;this.b=(K(this)<<8|this.b)>>1;L(this,a&256);this.a-=4},hc,function(){J(this,P(this));this.a-=10},function(){var a=P(this);fb(this.o,a,I(this));this.a-=16},function(){J(this, -I(this)+1);this.a-=5},function(){this.i=bc(this,this.i);this.a-=5},function(){this.i=ac(this,this.i);this.a-=5},function(){this.i=O(this);this.a-=7},function(){var a=0,b=K(this);if((this.u^this.A)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=M(this,a);L(this,b?256:0);this.a-=4},hc,function(){var a;J(this,a=I(this)+I(this));L(this,a>>8&256);this.a-=10},function(){var a;a=P(this);a=cb(this.o,a);J(this,a);this.a-=16},function(){J(this,I(this)-1);this.a-=5},function(){this.j=bc(this,this.j); -this.a-=5},function(){this.j=ac(this,this.j);this.a-=5},function(){this.j=O(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},hc,function(){this.v=P(this)&65535;this.a-=10},function(){this.W(P(this),this.b);this.a-=13},function(){this.v=this.v+1&65535;this.a-=5},function(){var a=I(this);this.W(a,bc(this,this.K(a)));this.a-=10},function(){var a=I(this);this.W(a,ac(this,this.K(a)));this.a-=10},function(){this.W(I(this),O(this));this.a-=10},function(){this.m|=256;this.a-=4},hc,function(){var a; -J(this,a=I(this)+this.v);L(this,a>>8&256);this.a-=10},function(){this.b=this.K(P(this));this.a-=13},function(){this.v=this.v-1&65535;this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=ac(this,this.b);this.a-=5},function(){this.b=O(this);this.a-=7},function(){L(this,K(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.f=this.g;this.a-=5},function(){this.f=this.F;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.j; -this.a-=5},function(){this.f=this.K(I(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.j;this.a-=5},function(){this.D=this.K(I(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.g=this.f;this.a-=5},function(){this.g=this.D;this.a-=5},function(){this.a-=5},function(){this.g=this.F;this.a-= -5},function(){this.g=this.i;this.a-=5},function(){this.g=this.j;this.a-=5},function(){this.g=this.K(I(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.j;this.a-=5},function(){this.F=this.K(I(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.D;this.a-= -5},function(){this.i=this.g;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.a-=5},function(){this.i=this.j;this.a-=5},function(){this.i=this.K(I(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.j=this.f;this.a-=5},function(){this.j=this.D;this.a-=5},function(){this.j=this.g;this.a-=5},function(){this.j=this.F;this.a-=5},function(){this.j=this.i;this.a-=5},function(){this.a-=5},function(){this.j=this.K(I(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.W(I(this), -this.f);this.a-=7},function(){this.W(I(this),this.D);this.a-=7},function(){this.W(I(this),this.g);this.a-=7},function(){this.W(I(this),this.F);this.a-=7},function(){this.W(I(this),this.i);this.a-=7},function(){this.W(I(this),this.j);this.a-=7},function(){var a=this.s-1;if(this.T.length)for(var b=0;b>>=f)&l;if(void 0!==h&&h[0])h[0](a,l,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=P(this);K(this)||(S(this,this.s),E(this,a),this.a-=6);this.a-=11},function(){S(this,Wb(this));this.a-=11},function(){this.b=N(this,O(this));this.a-=7},function(){S(this,this.s);E(this,16);this.a-=11},function(){K(this)&&(E(this,Q(this)),this.a-=6);this.a-=5},jc,function(){var a=P(this);K(this)&&E(this,a);this.a-=10},function(){for(var a=O(this),b=this.o,c=this.s+-2&65535,d=1,e=0, -f=0;0>8;this.a-=10},function(){var a=P(this);this.u&128||E(this,a);this.a-=10},function(){this.H&=-513;this.a-=4},function(){var a=P(this);this.u&128||(S(this,this.s),E(this,a),this.a-=6);this.a-=11},function(){S(this, -Tb(this)&255|this.b<<8);this.a-=11},function(){this.b=cc(this,O(this));this.a-=7},function(){S(this,this.s);E(this,48);this.a-=11},function(){this.u&128&&(E(this,Q(this)),this.a-=6);this.a-=5},function(){this.v=I(this)&65535;this.a-=5},function(){var a=P(this);this.u&128&&E(this,a);this.a-=10},function(){this.H|=512;this.a-=4;fc(this)},function(){var a=P(this);this.u&128&&(S(this,this.s),E(this,a),this.a-=6);this.a-=11},kc,function(){N(this,O(this));this.a-=7},function(){S(this,this.s);E(this,56); -this.a-=11}];function U(a){q.call(this,"ChipSet",a,U);var b=a.model;b&&!lc[b]&&Aa("Unrecognized ChipSet model: "+b);this.c=lc[b]||{};a.sound&&(this.M=null,window&&(this.M=window.AudioContext||window.webkitAudioContext),this.M&&new this.M);C(this)}w(U); -var W={X:1978.1,Cc:{Y:0,nd:1,rd:16,yd:32,Hd:64,Gd:128,Ca:14},ra:{Y:1,dc:1,xc:2,tc:4,uc:16,vc:32,wc:64,Ca:8},Dc:{Y:2,md:3,Qd:4,od:8,Cd:16,Dd:32,Ed:64,pd:128,Ca:0},Ld:{Y:3},Jd:{Y:2,zd:7},Nd:{Y:3,Rd:1,Md:2,Fd:4,wd:8,qd:16,jd:32},Kd:{Y:4},Od:{Y:5,sd:1,td:2,ud:4,vd:8,Sd:16}},X={X:100,ia:{Y:66,Bb:1,rc:2,sc:4,Bd:8,Ad:16,zb:32,yb:64,vb:128},cc:{Y:66,INIT:0},pa:{Y:194,ld:0,ub:16,yc:32,Ab:48,hc:0,ic:32},Oa:{Y:162,Id:0,kc:0,gc:0,jc:0,fc:0},ja:{xd:{Y:98},wa:{ac:0,$b:1,Ac:2,Ec:4,ec:5,zc:6,Pd:7},Ta:16383}},lc= -{SI1978:W,VT100:X};U.prototype.S=function(){return!1};U.prototype.ma=function(a,b,c,d){this.o=b;this.a=c;this.N=d;this.w=a;this.j=Va(a,"Keyboard");this.ea=Va(a,"SerialPort");this.video=Va(a,"Video");gb(b,this,this.c.bb);hb(b,this,this.c.cb)};U.prototype.ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};U.prototype.ha=function(a){return a?this.save():!0};W.INIT=[[W.Cc.Ca,W.ra.Ca,W.Dc.Ca,0,0,0,0]]; -X.INIT=[[X.cc.INIT,X.ia.rc|X.ia.sc],[X.pa.hc,X.pa.ic],[X.Oa.kc,X.Oa.gc,X.Oa.jc,X.Oa.fc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], -[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=U.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.L("reset error")}; -k.save=function(){var a=new F(this);switch(this.c.X){case W.X:G(a,0,[this.$,this.g,this.da,this.C,this.I,this.V,this.Z]);break;case X.X:G(a,0,[this.J,this.u]),G(a,1,[this.m,this.s]),G(a,2,[this.f,this.G,this.T,this.O]),G(a,3,[this.A,this.b,this.v,this.H,this.i])}return a.data()}; -k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.X){case W.X:return this.$=b[0],this.g=b[1],this.da=b[2],this.C=b[3],this.I=b[4],this.V=b[5],this.Z=b[6],!0;case X.X:return this.J=b[0],this.u=b[1],b=a[1],this.m=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.T=b[2],this.O=b[3],b=a[3],this.A=b[0],this.b=b[1],this.v=b[2],this.H=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Jc=function(){return this.$};k.Kc=function(){return this.g};k.Lc=function(){return this.da}; -k.Ic=function(){return this.C>>8-this.I&255};k.Vc=function(a,b){this.I=b};k.Xc=function(a,b){this.V=b};k.Wc=function(a,b){this.C=b<<8|this.C>>8};k.Yc=function(a,b){this.Z=b};k.Zc=function(){};function mc(a){var b=0,c=0,d=~a.A;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -k.Mc=function(){var a=this.u,a=a&~X.ia.yb;if((Hb(this.a)&64)<<1&&(a|=X.ia.yb,a!=this.u)){var b,c;b=this.v&1;switch(this.v>>1&7){case X.ja.wa.$b:this.A=this.A<<1|b;break;case X.ja.wa.ec:b=mc(this);this.i[b]=X.ja.Ta;break;case X.ja.wa.ac:this.b=this.b<<1|b;break;case X.ja.wa.Ec:b=mc(this);c=this.b&X.ja.Ta;this.i[b]=c;break;case X.ja.wa.zc:b=mc(this);c=this.i[b];null==c&&(c=X.ja.Ta);this.b=c;break;case X.ja.wa.Ac:this.b<<=1,this.H=this.b&X.ja.Ta+1}}a&=~X.ia.zb;this.H&&(a|=X.ia.zb);a&=~X.ia.vb;if(b=this.j){b= -this.j;if(c=b.f)c=b.a,c=Hb(b.a)>=b.j+c.c.Ja*c.c.oa/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=X.ia.vb);a&=~X.ia.Bb;this.ea&&this.ea.ba&1&&(a|=X.ia.Bb);return this.u=a};k.$c=function(a,b){this.J=b};k.cd=function(a,b){this.v=b}; -k.bd=function(a,b){var c=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|c;break;case 1:this.f=this.f&-13|c<<2;if(this.video){var c=this.video,d=this.f;c.gb!==d&&((c.gb=d)?Mb(c,!0):c.ib=!0)}break;case 2:switch(c){case 0:this.G=~this.G;break;case 2:case 3:this.T=3-c}break;case 3:this.O=c}}; -k.ad=function(a,b){if(b&X.pa.yc)b&=X.pa.Ab,this.s!=b&&(this.s=b,this.video&&(this.video.Wb=this.s==X.pa.Ab?50:60));else if(b&=X.pa.ub,this.m!=b&&(this.m=b,this.video)){var c=this.video,d=this.m==X.pa.ub?132:80;c.H=d;c.R=c.Cb;80>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){p("Empty ROM: "+b);return}if(1==a.b.length){p(a.b[0]);return}}catch(g){a.L("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.c;0>>=f.c;0d?a.c.push({rb:b,nb:Date.now(),Ua:!1}):(a.c[d].nb=Date.now(),a.c[d].Ua=!1);else if(0<=d){if(!a.c[d].Ua){var e=a.c[d].nb;if(e&&100>Date.now()-e)return a.c[d].Ua=!0,Cc(a),!0}a.c.splice(d,1)}if(a.M){d=0;switch(b){case "1p":d=W.ra.tc;break;case "2p":d=W.ra.xc;break;case "coin":d=W.ra.dc;break;case "left":d=W.ra.vc;break;case "right":d=W.ra.wc;break;case "fire":d=W.ra.uc}d&&(a=a.M,b=d,a.g&=~b,c&&(a.g|=b))}return!0} -function Cc(a){for(var b=0,c=-1;bc||c>e)c=e}else{Ac(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Cc(a)},c)}k.Nc=function(){var a=this.g;0<=this.o&&(this.o>3)*a.G,!Za(a.o,a.xa,a.A,3)))return!1;a.A?(a.Mb=a.f.createImageData(b,c),a.Pb=16/a.Ra|0,Ic(a,a.A>>1)):Ic(a,(a.H+1)*a.$);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.hb=a.s.getContext("2d");a.M={};a.V=1<=a.Cb?8:16,f=8>(7>4)*c)}return l}Dc.prototype.ca=function(){return!0};Dc.prototype.S=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.kb[b]=c,!0;switch(b){case "fullScreen":return this.B[b]=c,this.b&&this.b.ya?c.onclick=function(){d.ya()}:c.parentNode.removeChild(c),!0}return!1}; -Dc.prototype.ya=function(){var a=!1;if(this.b){if(this.b.ya){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.v;b>c&&(a=Math.round(c/b*100)+"%")}this.Hb?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.ya();a=!0}this.T&&this.T.focus()}return a}; -function Gc(a,b){!b&&a.b&&(a.Hb?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Ic(a,b){a.Nb=b;a.O=!1;if(void 0===a.i||a.i.length!=a.Nb)a.i=Array(a.Nb)}function Kc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.Z&&(208<=c&&236>c?e=a.V+0:28<=c&&72>c&&(e=a.V+1));a=a.J[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Mb(a,b){var c=!0;if(!b){a.Sa&&(120==a.Sa?a.Qb&1?(gc(a.a,2),c=!1):gc(a.a,1):gc(a.a,4));if(c&&a.O&&a.A){for(var d=a.o,e=a.A,f=!0,h=a.xa>>>d.c;0>=1);;){var u=bb(a.o,x++);if(127==(u&127)){var y=bb(a.o,x++),d=y&96,c=(y&15)<<8|bb(a.o,x),c=c+(y&16? -8192:16384);break}if(n>4)*u.P,R=void 0,ka=void 0,Ca=void 0,db=void 0,zc=u.R,Jb=u.P;v?(R=B*y.R,ka=e*y.P,Ca=y.R,db=y.P):(R=B*y.Db,ka=e*y.Eb,Ca=y.Db,db=y.Eb);u.R>y.R&&(R*=2,Ca*=2);u.P>y.P&&(0==t&&(H+=y.P),Jb=y.P);v?v.drawImage(u.canvas,V,H,zc,Jb,R,ka,Ca,db):(R+=0,ka+=0, -y.f.drawImage(u.canvas,V,H,zc,Jb,R,ka,Ca,db))}g++}h++}e++}}a.O=!0;!b&&a.ib&&1==g&&(a.i[l]=-1,g=0);a.ib=!1;(g||b)&&a.hb&&a.f.drawImage(a.s,0,a.gb,a.m,a.G-a.P,0,0,a.Oc,a.Pc)}else{f=a.xa;h=f+a.A;n=l=g=0;c=a.m;t=0;d=a.G;x=e=0;B=a.Ra;y=(1<>>v.c;v=V!=v.f?v.b[H].Xb(V,u):v.b[H++].eb(V,u)|v.b[H&v.s].eb(0,u+1)<<8;if(a.O&&v===a.i[g])l+=a.Pb;else{a.i[g]=v;(u=x)&&(v=v>>8|(v&255)<<8);l>u&y,Kc(a,a.Mb,l++,n,H),u+=B;l>t&& -(t=l);n=e&&(e=n+1)}f+=2;g++;if(l>=a.m&&(l=0,n++,n>a.G))break}a.O=!0;cMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a, -b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Fa.aspect);f&&.3<=f&&3.33>=f&&(xa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");sa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Dc(d,e,h,f,c);Pa(d,c)}}); -function Lc(a){this.H=+a.adapter;switch(this.H){case 0:this.I=0;this.O=2;break;default:p("Unrecognized serial adapter #"+this.H);return}this.b=this.c=null;this.J=a.tabSize;this.G=a.charBOL;this.f=0;this.A=!1;q.call(this,"SerialPort",a,Lc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Mc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.B[b])&&this.S(null,a,b))}this.g="";this.i=this.m=null;this.exports={connect:this.Rb,receiveData:this.pb}}w(Lc); -var Nc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Oc=[!1,0,0,133,142,39,238],Mc="buffer";k=Lc.prototype; -k.S=function(a,b,c,d){var e=this;switch(b){case Mc:return this.B[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.Pa)return;b=ha(b[1]);if(this.i=Na(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.m=d.receiveData){this.status(this.Qa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ca=function(a,b){if(!b)if(this.Rb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ha=function(a){return a?this.save():!0};k.reset=function(){Sc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.ga;c[b++]=this.v;c[b++]=this.C;c[b++]=this.ba;c[b++]=this.j;c[b++]=this.u;c[b]=this.s;G(a,0,c);return a.data()};k.restore=function(a){return Sc(this,a[0])};function Sc(a,b){var c=0;void 0===b&&(b=Oc);a.ga=b[c++];a.v=b[c++];a.C=b[c++];a.ba=b[c++];a.j=b[c++];a.u=b[c++];a.s=b[c];return!0} -function Tc(a,b){var c=a.s&b;b&15||(c>>=4);var c=Nc[c],d=((a.j&12)>>2)+6;a.j&16&&d++;d+=((a.j&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function Pc(a,b){return a.A||a.ba&2?!1:(a.v=b,a.ba|=2,gc(a.a,a.O),!0)}k.pb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Pc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Lb(this.a,this.T,Tc(this,15)));return!0};k.Hc=function(){var a=this.v;this.ba&=-3;return a};k.Gc=function(){return this.ba}; -k.Uc=function(a,b){this.C=b;this.ba&=-6;if(19==b)this.A=!0;else if(17==b)this.A=!1;else if(this.m&&this.m.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);var d=c.length;9==b?(d=this.J||8,d=d-this.f%d,this.J&&(c=" ".slice(0,d))):13==b&&(this.f=d=0,c="\n");this.G&&!this.f&&d&&(c=String.fromCharCode(this.G)+c);this.b.value+=c;this.b.scrollTop=this.b.scrollHeight;this.f+= -d}else if(null!=this.c){if(10==b||1024<=this.c.length)this.aa(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Lb(this.a,this.V,Tc(this,240))};k.Tc=function(a,b){this.ga?(this.u=b,this.u&64&&(this.ga=!1)):(this.j=b,this.ga=!0)};k.Sc=function(a,b){this.s=b};var Qc={0:Lc.prototype.Hc,1:Lc.prototype.Gc},Rc={0:Lc.prototype.Uc,1:Lc.prototype.Tc,2:Lc.prototype.Sc};ya(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bWc){if(Yc(d,this.s)){this.i=new F(this,"1.24.1","failsafe");Yc(this.i)&&(dd(this,d),a=2,ed(this.i));G(this.i,"timestamp",la());fd(this.i);var e=this.b&&!this.m;if(1==a||na("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=cd(d,"code"),h=cd(d,"data");f&&("ok"==f?Yc(d,h):("error"==f&& -"no machine state"!=h?(this.L("Error: "+h),"unable to verify user"==h&&(ra("user",""),this.c=null)):this.aa(f+": "+h),ed(d),Yc(d)?(c=bd(d),e=!0):c=!1))}e&&ad(this,c?d:null)}else 2==a&&d.clear()}else ad(this);delete this.s;delete this.u}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.J=!0;this.l.U=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.a&&(gd(this,this.a,b,c,a),Cb(this.a));this.C&&(dd(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; -function dd(a,b){if(na("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.24.1"};e.url=a.M;e.user=c;e.type="bug";e.data=d;ma("http://www.pcjs.org/api/v1/report",e,!0)}} -function hd(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.24.1"),h=new F(a,"1.24.1","validate"),g=la();G(h,"timestamp",g);G(f,"timestamp",g);G(f,"version","1.24.1");G(f,"url",window?window.location.href:null);G(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.ha&&(c&&Db(a.a),d=a.a.ha(b,c),"object"===typeof d&&G(f,a.a.id,d),c&&(a.a.l.U=!1,!1===d&&(e=null)));for(var g=Ma(a.id),l=0;lg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); -g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],n,x=/( [a-z]+=)(['"])(.*?)\2/g;n=x.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);od(a,b,c)}})}else c(a,null)} -function pd(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--ld||Ba(!0));l=!1}var h,g,l=!0;ld++;Ka[a]={};try{if(h=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var x=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));x.appendChild(t)}c|| -(c="/versions/pc8080/1.24.1/components.xsl");n=function(d,g){g?md(c,null,null,!1,e,function(d,l){if(l)if(La(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=g.transformNode(l);n?(h.outerHTML=n,--ld||Ba(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(n,h),--ld||Ba(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?md(b,a,d,!0,e,n):nd(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(B){f(B.message)}return l}window.embedPC8080=function(a,b,c,d){Ba(!1);return pd(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})(); diff --git a/versions/pc8080/1.24.2/common.css b/versions/pc8080/1.24.2/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pc8080/1.24.2/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.24.2/common.xsl b/versions/pc8080/1.24.2/common.xsl deleted file mode 100644 index 4ee47031c..000000000 --- a/versions/pc8080/1.24.2/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.24.2/components.css b/versions/pc8080/1.24.2/components.css deleted file mode 100644 index 0e0842602..000000000 --- a/versions/pc8080/1.24.2/components.css +++ /dev/null @@ -1,159 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.pcjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-rled { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } -} diff --git a/versions/pc8080/1.24.2/components.xsl b/versions/pc8080/1.24.2/components.xsl deleted file mode 100644 index 1fe5b3c8a..000000000 --- a/versions/pc8080/1.24.2/components.xsl +++ /dev/null @@ -1,1242 +0,0 @@ - - - - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.24.2 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.24.2/document.css b/versions/pc8080/1.24.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.24.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.24.2/document.xsl b/versions/pc8080/1.24.2/document.xsl deleted file mode 100644 index 15ca6874c..000000000 --- a/versions/pc8080/1.24.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.24.2/machine.xsl b/versions/pc8080/1.24.2/machine.xsl deleted file mode 100644 index 89de96410..000000000 --- a/versions/pc8080/1.24.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.24.2/manifest.xsl b/versions/pc8080/1.24.2/manifest.xsl deleted file mode 100644 index 59e12f4cf..000000000 --- a/versions/pc8080/1.24.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.24.2/outline.xsl b/versions/pc8080/1.24.2/outline.xsl deleted file mode 100644 index b4f866b6d..000000000 --- a/versions/pc8080/1.24.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.24.2/pc8080-dbg.js b/versions/pc8080/1.24.2/pc8080-dbg.js deleted file mode 100644 index e16b347d1..000000000 --- a/versions/pc8080/1.24.2/pc8080-dbg.js +++ /dev/null @@ -1,246 +0,0 @@ -(function(){var m;function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function n(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function da(a){return"0x"+n(a,2)}function t(a){return"0x"+n(a,4)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})}function la(a,b){return(a+" ").slice(0,b)}function ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var na={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,g;g=c(b,a[h]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function ra(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.Xa=this.id:(this.Bb=this.id.substr(0,b),this.Xa=this.id.substr(b+1));this[a]=c;this.C={ready:!1,cb:!1,Hb:!1,wa:!1,error:!1};this.Db=null;this.C.error=!1;this.N={};this.H=null;this.sa=d||0;Ta.push(this)}var Ua=void 0,Va={}; -if(window){Ua||(Ua=window.location.search.substr(1));for(var Wa,Za=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Wa=$a.exec(Ua);)Va[decodeURIComponent(Wa[1].replace(Za," "))]=decodeURIComponent(Wa[2].replace(Za," "))}function ab(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 bb(a,b){b||(b=w);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var cb=window.PCjs.Machines||(window.PCjs.Machines={}),Ta=window.PCjs.Components||(window.PCjs.Components=[])}else cb={},Ta=[];function db(a,b,c){cb[a]&&b&&(cb[a][b]=c)}function Oa(a,b,c){b||v((c?c+": ":"")+a)} -function eb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.G?10:20>=this.G?12:24>=this.G?14:15;this.Ga=1<>2;this.u=this.Ga-1;this.J=this.L/this.Ga|0;this.K=this.J-1;this.B=[];this.j=[];this.I=this.D=!1;this.O=[];this.P=[];a=new F;yb(a,this.H);this.X=Array(this.J);for(b=0;b>>a.ra;0f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.F)return g.xb+=g.F-e,g.F=e,!0;if(e>=g.F+g.xb){l=g.size-(e-k);l>f&&(l=f);g.xb=e-g.F+l;e=k+a.Ga;f-=l;h++;continue}}return Ab(1,e,f)}e=new F(e,l,a.Ga,d);yb(e,a.H,g);a.X[h++]=e;e=k+a.Ga;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Bb[d]+" at "+t(b)),!0):Ab(2,b,c)}m.$=function(a){return this.X[(a&this.w)>>>this.ra].jb(a&this.u,a)}; -function Cb(a,b){return a.X[(b&a.w)>>>a.ra].vb(b&a.u,b)}m.Ra=function(a){var b=a&this.u,c=(a&this.w)>>>this.ra;return b!=this.u?this.X[c].qc(b,a):this.X[c++].jb(b,a)|this.X[c&this.K].jb(0,a+1)<<8};function Db(a,b){var c=b&a.u,d=(b&a.w)>>>a.ra;return c!=a.u?a.X[d].Lb(c,b):a.X[d++].vb(c,b)|a.X[d&a.K].vb(0,b+1)<<8}m.ua=function(a,b){this.X[(a&this.w)>>>this.ra].lb(a&this.u,b&255,a)};function Eb(a,b,c){a.X[(b&a.w)>>>a.ra].yb(b&a.u,c&255,b)} -m.Gb=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.ra;c!=this.u?this.X[d].vc(c,b&65535,a):(this.X[d++].lb(c,b&255,a),this.X[d&this.K].lb(0,b>>8&255,a+1))};function Gb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}function Hb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.B[k]?v("Input port "+t(k)+" already registered"):f.B[k]=[g,!1]}} -function Ib(a,b,c){for(var d=1,e=0,f=0;0>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.H&&a.D!=h[1]&&Vb(a.H,b,k)}else a.H&&(ib(a.H,a,b,k,d),a.D&&Vb(a.H,b,k));f+=g<<3;b+=g;e-=g}} -function Ab(a,b,c){v("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Wb;if(rb){var Xb=new ArrayBuffer(2);(new DataView(Xb)).setUint16(0,256,!0);Wb=256===(new Uint16Array(Xb))[0]}else Wb=!1;var Yb=Wb; -function F(a,b,c,d){this.id=Zb+=2;this.b=null;this.F=a;this.xb=b;this.size=c||0;this.type=d||$b;this.N=d==ac;yb(this);this.Ma=this.cc=!1;if(c)if(rb)this.I=new ArrayBuffer(c),this.D=new DataView(this.I,0,c),this.u=new Uint8Array(this.I,0,c),this.K=new Uint16Array(this.I,0,c>>1),this.b=new Int32Array(this.I,0,c>>2),bc(this,Yb?cc:dc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Z:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea: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},ia:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.Ma=!0},O:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,1,c.O)&&c.pa(!0)}return this.vb(a,b)},ba:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,2,c.O)&&c.pa(!0)}return this.Lb(a,b)},ha:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;ic(d,this.F+a,1,d.D)&&d.pa(!0)}this.N?this.w(a,b,c):this.yb(a,b,c)},la:function(a, -b,c){if(this.H&&null!=this.F){var d=this.H;ic(d,this.F+a,2,d.D)&&d.pa(!0)}this.N?this.w(a,b,c):this.Pb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},aa:function(a){return this.D.getUint16(a,!0)},da:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.K[a>>1]},ga:function(a,b){this.u[a]=b;this.Ma=!0},Xa:function(a,b){this.u[a]=b;this.Ma=!0},ka:function(a,b){this.D.setUint16(a,b,!0);this.Ma=!0},va:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.K[a>>1]=b;this.Ma=!0}}; -function yb(a,b,c){a.H=b;a.B=a.j=0;c&&((a.B=c.B)&&hc(a,gc,!1),(a.j=c.j)&&fc(a,gc,!1))}function jc(a,b){b?0===--a.j&&(a.lb=a.N?a.w:a.yb,a.vc=a.N?a.G:a.Pb):0===--a.B&&(a.jb=a.vb,a.qc=a.Lb)}function fc(a,b,c){c&&a.j||(a.lb=!a.N&&b[2]||a.w,a.vc=!a.N&&b[3]||a.G);if(c||void 0===c)a.yb=b[2]||a.w,a.Pb=b[3]||a.G}function hc(a,b,c){c&&a.B||(a.jb=b[0]||a.J,a.qc=b[1]||a.L);if(c||void 0===c)a.vb=b[0]||a.J,a.Lb=b[1]||a.L}function bc(a,b){b||(b=kc);hc(a,b,void 0);fc(a,b,void 0)} -var kc=[],ec=[F.prototype.Z,F.prototype.ea,F.prototype.ia,F.prototype.ya],gc=[F.prototype.O,F.prototype.ba,F.prototype.ha,F.prototype.la];if(rb)var dc=[F.prototype.M,F.prototype.aa,F.prototype.ga,F.prototype.ka],cc=[F.prototype.P,F.prototype.da,F.prototype.Xa,F.prototype.va]; -function lc(a,b){w.call(this,"CPU",a,lc,1);var c=a.multiplier||1;this.Z=a.cycles||b;this.Qa=c;this.ga=Math.round(this.Z/1E4)/100;this.ab=this.ga*this.Qa;this.C.za=!1;this.C.Ob=!1;this.C.ob=a.autoStart;this.C.ac=!1;this.C.eb=!1;this.sb=this.O=0;this.tb=a.csStart;this.hb=a.csInterval;this.ib=a.csStop;this.w=[];this.Ea=this.bb.bind(this);E(this)}bb(lc);var mc=["power","reset"];m=lc.prototype; -m.Oa=function(a,b,c,d){this.B=a;this.u=b;this.H=d;for(b=0;b=a.O&&(a.O+=a.hb,c=!0);0<=a.ib&&a.ib<=Fc(a)&&(a.hb=a.ib=-1,pc(a),a.pa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+n(a.sb))}} -m.oa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.wa)a=!0;else{var b=null,c,g=eb(a.id);for(c=0;ca.K/a.ab?b=1:d=!0;a.Qa=b;b=a.ga*a.Qa;if(a.ab!=b){a.ab=b;b=a.ab.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.wb()}Hc(a,a.G);a.G=0;a.D=pa();a.J=0;Ic(a);return d}function Jc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Kc(a,b,c){var d=-1;0<=b&&b=this.Z&&Ic(this,!0);this.aa=0;this.da=pa();this.J&&(a=this.da-this.J,a>this.va&&(this.D+=a,this.D>this.da&&(this.D=this.da)));try{do{for(var c=this.C.eb?1:this.ea,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}this.kb(c);var f=this.L-this.b;a= -f;for(var h=this.w.length-1;0<=h;h--){var g=this.w[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.aa+=f;this.G+=f;Hc(this,0,!0);Ec(this,f);this.P-=f;if(0>=this.P){this.P+=this.ea;15<=++this.ya&&(this.B&&this.B.Ia(),this.ya=0);break}}while(this.C.za)}catch(k){this.pa();Dc(this);this.B&&this.B.stop(pa(),Fc(this));lb(this,!1);qb(this,k.stack||k.message);return}c=setTimeout;d=this.Ea;this.J=pa();e=this.va;this.aa&&(e=Math.round(e*this.aa/this.ea));e=e-(this.J-this.da);if(f=this.J-this.D)this.K=Math.round(this.G/ -(10*f))/100,864E5<=f&&(this.M=0,Gc(this));if(0>e||this.Ke&&(this.D-=e),e=0;this.ha+=this.aa;this.J+=e;c(d,e)}else Dc(this),this.B&&this.B.stop(pa(),Fc(this))};m.kb=function(){return 0};m.pa=function(a){mb(this,!0);Lc(this);Hc(this,this.G);this.G=0;if(this.C.za){this.C.za=!1;this.I&&this.I.stop();var b=this.N.run;b&&(b.textContent="Run")}this.C.complete=a};function Dc(a,b){if(a.B){for(var c=a.B,d=0;d>8&255;a.T=b&255}function Wc(a){return a.U<<8|a.V}function Xc(a,b){a.U=b>>8&255;a.V=b&255}function J(a){return a.W<<8|a.Y} -function Yc(a,b){a.W=b>>8&255;a.Y=b&255}function G(a,b){a.R=b&65535}function Zc(a){return a.ca&256?1:0}function $c(a,b){a.ca=a.ca&255|b}function ad(a){return sb[a.fa&255]?4:0}function bd(a){return(a.fa^a.xa)&16?16:0}function cd(a){return a.ca&255?0:64}function dd(a){return a.fa&128?128:0}function Tc(a){return a.ta&-214|dd(a)|cd(a)|bd(a)|ad(a)|Zc(a)}function Rc(a,b){a.ca=a.fa=a.xa=0;b&1&&(a.ca|=256);b&4||(a.fa|=1);b&16&&(a.xa|=16);b&64||(a.ca|=255);b&128&&(a.fa^=192);a.ta=a.ta&-726|b&512|2} -function ed(a,b){a.xa=a.i^b;return a.fa=(a.ca=a.i+b)&255}function fd(a,b){a.xa=a.i^b;return a.fa=(a.ca=a.i+b+(a.ca&256?1:0))&255}function gd(a,b){a.ca=a.fa=a.xa=a.i&b;(a.i|b)&8&&(a.xa^=16);return a.ca}function hd(a,b){a.xa=b^255;b=a.fa=b+255&255;a.ca=a.ca&-256|b;return b}function id(a,b){a.xa=b;b=a.fa=b+1&255;a.ca=a.ca&-256|b;return b}function jd(a,b){return a.fa=a.ca=a.xa=a.i|b}function K(a,b){b^=255;a.xa=a.i^b;return a.fa=(a.ca=a.i+b+1^256)&255} -function kd(a,b){b^=255;a.xa=a.i^b;return a.fa=(a.ca=a.i+b+(a.ca&256?0:1)^256)&255}function Ed(a,b){return a.fa=a.ca=a.xa=a.i^b}m.$=function(a){return this.u.$(a)};m.ua=function(a,b){this.u.ua(a,b)};function L(a){var b=a.$(a.R);G(a,a.R+1);return b}function M(a){var b=a.u.Ra(a.R);G(a,a.R+2);return b}function O(a){var b=a.u.Ra(a.na);a.na=a.na+2&65535;return b}function P(a,b){a.na=a.na-2&65535;a.u.Gb(a.na,b)} -function Fd(a){if(a.b&&a.j&255&&a.ta&512){for(var b=0;8>b&&!(a.j&1<b?255:1<>8;$c(this,a&256);this.b-=4},Jd,function(){var a;Yc(this,a=J(this)+Uc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.$(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-= -5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=hd(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;$c(this,a);this.b-=4},Jd,function(){Xc(this,M(this));this.b-=10},function(){this.ua(Wc(this),this.i);this.b-=7},function(){Xc(this,Wc(this)+1);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=hd(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| -Zc(this);$c(this,a&256);this.b-=4},Jd,function(){var a;Yc(this,a=J(this)+Wc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.$(Wc(this));this.b-=7},function(){Xc(this,Wc(this)-1);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=hd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.i<<8;this.i=(Zc(this)<<8|this.i)>>1;$c(this,a&256);this.b-=4},Jd,function(){Yc(this,M(this));this.b-=10},function(){var a=M(this);this.u.Gb(a,J(this)); -this.b-=16},function(){Yc(this,J(this)+1);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=hd(this,this.W);this.b-=5},function(){this.W=L(this);this.b-=7},function(){var a=0,b=Zc(this);if(bd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=ed(this,a);$c(this,b?256:0);this.b-=4},Jd,function(){var a;Yc(this,a=J(this)+J(this));$c(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.u.Ra(a);Yc(this,a);this.b-=16},function(){Yc(this,J(this)-1);this.b-=5},function(){this.Y= -id(this,this.Y);this.b-=5},function(){this.Y=hd(this,this.Y);this.b-=5},function(){this.Y=L(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Jd,function(){this.na=M(this)&65535;this.b-=10},function(){this.ua(M(this),this.i);this.b-=13},function(){this.na=this.na+1&65535;this.b-=5},function(){var a=J(this);this.ua(a,id(this,this.$(a)));this.b-=10},function(){var a=J(this);this.ua(a,hd(this,this.$(a)));this.b-=10},function(){this.ua(J(this),L(this));this.b-=10},function(){this.ca|=256;this.b-= -4},Jd,function(){var a;Yc(this,a=J(this)+this.na);$c(this,a>>8&256);this.b-=10},function(){this.i=this.$(M(this));this.b-=13},function(){this.na=this.na-1&65535;this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=hd(this,this.i);this.b-=5},function(){this.i=L(this);this.b-=7},function(){$c(this,Zc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W;this.b-= -5},function(){this.S=this.Y;this.b-=5},function(){this.S=this.$(J(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Y;this.b-=5},function(){this.T=this.$(J(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U= -this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Y;this.b-=5},function(){this.U=this.$(J(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Y;this.b-=5},function(){this.V=this.$(J(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S;this.b-=5},function(){this.W= -this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Y;this.b-=5},function(){this.W=this.$(J(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Y=this.S;this.b-=5},function(){this.Y=this.T;this.b-=5},function(){this.Y=this.U;this.b-=5},function(){this.Y=this.V;this.b-=5},function(){this.Y=this.W;this.b-=5},function(){this.b-=5},function(){this.Y=this.$(J(this));this.b-=7},function(){this.Y=this.i; -this.b-=5},function(){this.ua(J(this),this.S);this.b-=7},function(){this.ua(J(this),this.T);this.b-=7},function(){this.ua(J(this),this.U);this.b-=7},function(){this.ua(J(this),this.V);this.b-=7},function(){this.ua(J(this),this.W);this.b-=7},function(){this.ua(J(this),this.Y);this.b-=7},function(){var a=this.R-1;if(this.ba.length)for(var b=0;b>8;this.b-=10},function(){var a=M(this);dd(this)||G(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=M(this);dd(this)||(P(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){P(this,Tc(this)&255|this.i<<8);this.b-=11},function(){this.i=jd(this,L(this));this.b-=7},function(){P(this,this.R);G(this,48);this.b-=11},function(){dd(this)&&(G(this, -O(this)),this.b-=6);this.b-=5},function(){this.na=J(this)&65535;this.b-=5},function(){var a=M(this);dd(this)&&G(this,a);this.b-=10},function(){this.ta|=512;this.b-=4;Fd(this)},function(){var a=M(this);dd(this)&&(P(this,this.R),G(this,a),this.b-=6);this.b-=11},Md,function(){K(this,L(this));this.b-=7},function(){P(this,this.R);G(this,56);this.b-=11}]; -function S(a){w.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Nd[b]&&Oa("Unrecognized ChipSet model: "+b);this.w=Nd[b]||{};a.sound&&(this.ea=null,window&&(this.ea=window.AudioContext||window.webkitAudioContext),this.ea&&new this.ea);E(this)}bb(S); -var T={Aa:1978.1,$c:{Ba:0,Ld:1,Pd:16,Wd:32,ee:64,de:128,mb:14},Wa:{Ba:1,Bc:1,Uc:2,Qc:4,Rc:16,Sc:32,Tc:64,mb:8},ad:{Ba:2,Kd:3,me:4,Md:8,$d:16,ae:32,be:64,Nd:128,mb:0},ie:{Ba:3},ge:{Ba:2,Xd:7},ke:{Ba:3,ne:1,je:2,ce:4,Ud:8,Od:16,Hd:32},he:{Ba:4},le:{Ba:5,Qd:1,Rd:2,Sd:4,Td:8,oe:16}},U={Aa:100,Ja:{Ba:66,Zb:1,Vb:2,Pc:4,Zd:8,Yd:16,Xb:32,Wb:64,Sb:128},Ac:{Ba:66,INIT:0},Ua:{Ba:194,Jd:0,Rb:16,Vc:32,Yb:48,Fc:0,Gc:32},zb:{Ba:162,fe:0,Ic:0,Ec:0,Hc:0,Dc:0},Ka:{Vd:{Ba:98},Ta:{xc:0,wc:1,Xc:2,bd:4,Cc:5,Wc:6,Yc:7}, -Ab:16383}},Nd={SI1978:T,VT100:U};S.prototype.oa=function(){return!1};S.prototype.Oa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;this.B=a;this.K=vb(a,"Keyboard");this.Ea=vb(a,"SerialPort");this.video=vb(a,"Video");Hb(b,this,this.w.Eb);Tb(b,this,this.w.Fb);if(d){var e=this;Od(d,16384,function(){for(var a="",b=0;b>8-this.da&255;D(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.sd=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null,!0);this.da=b};m.ud=function(a,b,c){D(this,a,b,c,"SOUND1",null,!0);this.ka=b};m.td=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null,!0);this.Z=b<<8|this.Z>>8}; -m.vd=function(a,b,c){D(this,a,b,c,"SOUND2",null,!0);this.la=b};m.wd=function(a,b,c){D(this,a,b,c,"WATCHDOG",null,!0)};function Pd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -m.md=function(a,b){var c=this.J,c=c&~U.Ja.Wb;if((Fc(this.b)&64)<<1&&(c|=U.Ja.Wb,c!=this.J)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case U.Ka.Ta.Yc:break;case U.Ka.Ta.wc:this.P=this.P<<1|d;break;case U.Ka.Ta.Cc:d=Pd(this);this.I[d]=U.Ka.Ab;jb(this,"doNVRCommand(): erase data at addr "+t(d));break;case U.Ka.Ta.xc:this.j=this.j<<1|d;break;case U.Ka.Ta.bd:d=Pd(this);e=this.j&U.Ka.Ab;this.I[d]=e;jb(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case U.Ka.Ta.Wc:d=Pd(this);e=this.I[d]; -null==e&&(e=U.Ka.Ab);this.j=e;jb(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case U.Ka.Ta.Xc:this.j<<=1;this.ba=this.j&U.Ka.Ab+1;break;default:jb(this,"doNVRCommand(): unrecognized command "+da(e))}}c&=~U.Ja.Xb;this.ba&&(c|=U.Ja.Xb);c&=~U.Ja.Sb;if(d=this.K){d=this.K;if(e=d.D)e=d.b,e=Fc(d.b)>=d.J+e.Z*e.Qa/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=U.Ja.Sb);c&=~U.Ja.Zb;this.Ea&&this.Ea.Ca&1&&(c|=U.Ja.Zb);this.J=c;D(this,a,null,b,"FLAGS",c);return c}; -m.xd=function(a,b,c){D(this,a,b,c,"BRIGHTNESS");this.ga=b};m.Ad=function(a,b,c){D(this,a,b,c,"NVR.LATCH");this.O=b};m.zd=function(a,b,c){D(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.D=this.D&-4|a;break;case 1:this.D=this.D&-13|a<<2;this.video&&(b=this.video,a=this.D,jb(b,"updateScrollOffset("+a+")"),b.fb!==a&&((b.fb=a)?Mc(b,!0):b.qb=!0));break;case 2:switch(a){case 0:this.aa=~this.aa;break;case 2:case 3:this.ia=3-a}break;case 3:this.ha=a}}; -m.yd=function(a,b,c){D(this,a,b,c,"DC011");b&U.Ua.Vc?(b&=U.Ua.Yb,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==U.Ua.Yb?50:60,jb(a,"updateRate("+b+")"),a.sc=b))):(b&=U.Ua.Rb,this.L!=b&&(this.L=b,this.video&&(a=this.L==U.Ua.Rb?132:80,b=this.video,jb(b,"updateDimensions("+a+","+(80>>0,h],q=oa(p,k,a.Sa);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.G.push({pe:b,F:c,od:d,Pa:e,$b:f})}delete this.Pa}return!0};Sd.prototype.Ha=function(){return!0}; -function Td(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{db(a.Bb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.B=f;else if(h)for(a.B=Array(4*h.length),d=c=0;c>8&255,a.B[d++]=h[c]>>16&255,a.B[d++]=h[c]>>24&255;else a.B=e;a.Pa=e.symbols;if(!a.B.length){v("Empty ROM: "+b);return}if(1==a.B.length){v(a.B[0]);return}}catch(g){a.ja("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.B=Array(b.length),e=0;e>>f.ra;0>>=f.ra;0d?a.j.push({Nb:b,Kb:Date.now(),Cb:!1}):(a.j[d].Kb=Date.now(),a.j[d].Cb=!1);else if(0<=d){if(!a.j[d].Cb){var e=a.j[d].Kb;if(e&&100>Date.now()-e)return a.j[d].Cb=!0,ee(a),!0}a.j.splice(d,1)}if(a.I){d=0;switch(b){case "1p":d=T.Wa.Qc;break;case "2p":d=T.Wa.Uc;break;case "coin":d=T.Wa.Bc;break;case "left":d=T.Wa.Sc;break;case "right":d=T.Wa.Tc;break;case "fire":d=T.Wa.Rc}d&&(a=a.I,b=d,a.G&=~b,c&&(a.G|=b))}return!0} -function ee(a){for(var b=0,c=-1;bc||c>e)c=e}else{ce(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){ee(a)},c)}m.nd=function(a,b){var c=this.G;0<=this.w&&(this.w>3)*a.aa,!zb(a.u,a.Sa,a.P,3)))return!1;a.P?(a.mc=a.I.createImageData(b,c),a.oc=16/a.Za|0,ke(a,a.P>>1)):ke(a,(a.ba+1)*a.va);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.pb=a.L.getContext("2d");a.ea={};a.ka=1<=a.gc?8:16,f=8>(7>4)*c)}return k}fe.prototype.Da=function(){return!0};fe.prototype.oa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Jb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.gb?c.onclick=function(){d.gb()}:c.parentNode.removeChild(c),!0}return!1}; -fe.prototype.gb=function(){var a=!1;if(this.j){if(this.j.gb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Z/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.lc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.gb();a=!0}this.ia&&this.ia.focus()}return a}; -function ie(a,b){!b&&a.j&&(a.lc?a.M.style.width=a.M.style.height="":a.j.style.width=a.j.style.height="");jb(a,"notifyFullScreen("+b+")")}function ke(a,b){a.nc=b;a.ha=!1;if(void 0===a.G||a.G.length!=a.nc)a.G=Array(a.nc)}function me(a,b,c,d,e){d=a.w?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.la&&(208<=c&&236>c?e=a.ka+0:28<=c&&72>c&&(e=a.ka+1));a=a.ga[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Mc(a,b){var c=!0;if(!b){a.$a&&(120==a.$a?a.pc&1?(Gd(a.b,2),c=!1):Gd(a.b,1):Gd(a.b,4));if(c&&a.ha&&a.P){for(var d=a.u,e=a.P,f=!0,h=a.Sa>>>d.ra;0>=1);;){var u=Cb(a.u,p++);if(127==(u&127)){var r=Cb(a.u,p++),d=r&96,c=(r&15)<<8|Cb(a.u,p),c=c+ -(r&16?8192:16384);break}if(l>4)*u.ma,A=void 0,Q=void 0,aa=void 0,Y=void 0,ua=u.qa,Fb=u.ma;B?(A=x*r.qa,Q=e*r.ma,aa=r.qa,Y=r.ma):(A=x*r.hc,Q=e*r.ic,aa=r.hc,Y=r.ic);u.qa>r.qa&&(A*=2,aa*=2);u.ma>r.ma&&(0==q&&(y+=r.ma),Fb=r.ma);B?B.drawImage(u.canvas,X,y,ua,Fb,A,Q,aa,Y): -(A+=0,Q+=0,r.I.drawImage(u.canvas,X,y,ua,Fb,A,Q,aa,Y))}g++}h++}e++}}a.ha=!0;!b&&a.qb&&1==g&&(a.G[k]=-1,g=0);a.qb=!1;(g||b)&&a.pb&&a.I.drawImage(a.L,0,a.fb,a.J,a.aa-a.ma,0,0,a.Cd,a.Dd)}else{f=a.Sa;h=f+a.P;l=k=g=0;c=a.J;q=0;d=a.aa;p=e=0;x=a.Za;r=(1<>8|(B&255)<<8);k>u&r,me(a,a.mc,k++,l,y),u+=x;k>q&&(q=k);l=e&&(e=l+1)}f+=2;g++;if(k>=a.J&&(k=0,l++,l>a.aa))break}a.ha= -!0;cMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ta().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Va.aspect);f&&.3<=f&&3.33>=f&&(La("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Aa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new fe(d,e,h,f,c);hb(d,c)}}); -function ne(a){this.ea=+a.adapter;switch(this.ea){case 0:this.ga=0;this.ia=2;break;default:v("Unrecognized serial adapter #"+this.ea);return}this.j=this.w=null;this.ha=a.tabSize;this.da=a.charBOL;this.D=0;this.aa=!1;w.call(this,"SerialPort",a,ne,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=oe;b&&(void 0===c&&(c="Panel"),(c=gb(c,this.id))&&(b=c.N[b])&&this.oa(null,a,b))}this.G="";this.K=this.M=null;this.exports={connect:this.fc,receiveData:this.Mb}}bb(ne); -var pe=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],qe=[!1,0,0,133,142,39,238],oe="buffer";m=ne.prototype; -m.oa=function(a,b,c,d){var e=this;switch(b){case oe:return this.N[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ma(b[0]);if(c!=this.Xa)return;b=ma(b[1]);if(this.K=fb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.M=d.receiveData){this.status(this.Bb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};m.Da=function(a,b){if(!b)if(this.fc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -m.Ha=function(a){return a?this.save():!0};m.reset=function(){ue(this)};m.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Z;c[b++]=this.ba;c[b++]=this.Ca;c[b++]=this.J;c[b++]=this.P;c[b]=this.O;I(a,0,c);return a.data()};m.restore=function(a){return ue(this,a[0])};function ue(a,b){var c=0;void 0===b&&(b=qe);a.L=b[c++];a.Z=b[c++];a.ba=b[c++];a.Ca=b[c++];a.J=b[c++];a.P=b[c++];a.O=b[c];return!0} -function ve(a,b){var c=a.O&b;b&15||(c>>=4);var c=pe[c],d=((a.J&12)>>2)+6;a.J&16&&d++;d+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function re(a,b){jb(a,"receiveByte("+da(b)+"), status="+da(a.Ca));return a.aa||a.Ca&2?!1:(a.Z=b,a.Ca|=2,Gd(a.b,a.ia),!0)}m.Mb=function(a){null!=a&&(this.G="number"!=typeof a?a:this.G+String.fromCharCode(a));this.G&&(re(this,this.G.charCodeAt(0))&&(this.G=this.G.substr(1)),this.G&&this.b&&Kc(this.b,this.ka,ve(this,15)));return!0}; -m.gd=function(a,b){var c=this.Z;D(this,a,null,b,"DATA",c);this.Ca&=-3;return c};m.fd=function(a,b){var c=this.Ca;D(this,a,null,b,"STATUS",c);return c}; -m.rd=function(a,b,c){D(this,a,b,c,"DATA");this.ba=b;this.Ca&=-6;jb(this,"transmitByte("+da(b)+")");if(19==b)this.aa=!0;else if(17==b)this.aa=!1;else if(this.M&&this.M.call(this.K,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ha||8,c=b-this.D%b,this.ha&&(a=la("",c))):13==b&&(this.D=c=0,a="\n"),this.da&&!this.D&&c&&(a=String.fromCharCode(this.da)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight, -this.D+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Kc(this.b,this.la,ve(this,240))};m.qd=function(a,b,c){D(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.J=b,this.L=!0)};m.pd=function(a,b,c){D(this,a,b,c,"BAUDRATES");this.O=b};var se={0:ne.prototype.gd,1:ne.prototype.fd},te={0:ne.prototype.rd,1:ne.prototype.qd,2:ne.prototype.pd}; -Ma(function(){for(var a=C(document,"pc8080","serial"),b=0;b>>d.u.ra;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=Bb[c],p&&d.g(n(p.id)+" %"+n(g<>>e.ra;f!=e.u?e.X[h].Pb(f,b&65535,d):(e.X[h++].yb(f,b&255,d),e.X[h&e.K].yb(0,b>>8&255,d+1));c&&Ie(a,c);Dc(this.b,!0)}};function W(a){return{F:a,Na:!1}}function Je(a){return[a.F,a.Na]}function Ke(a){return{F:a[0],Na:a[1]}} -function He(a,b,c){var d;c=(c?a.M:a.Za).F;if(void 0!==b){d=b=Le(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=ra(Ee,a.substr(b,1))));return c}function Re(a,b){var c=0,d=Se(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"} -function Se(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.i;break;case 0:c=d.S;break;case 1:c=d.T;break;case 8:c=Uc(d);break;case 2:c=d.U;break;case 3:c=d.V;break;case 9:c=Wc(d);break;case 4:c=d.W;break;case 5:c=d.Y;break;case 10:c=J(d);break;case 6:c=d.$(J(d));break;case 11:c=d.na;break;case 12:c=d.R;break;case 13:c=Tc(d);break;case 14:c=Tc(d)&255|d.i<<8}}return c} -function Te(a,b){b=Le(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Qe(b,c+1),0<=e&&(b=b.substr(0,c)+Re(a,e)+b.substr(c+1+Ee[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=He(a,e))?(d=e+' "'+Pe(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=He(a,e))?(Ie(d),d=e+' "'+ -Pe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.R).F));if(this.sa&1073741824)this.ka.push(a);else if(!this.ia||a!=this.ia)if(this.ia=a,this.sa&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;Lc(c);c.P=0;Dc(c)}}; -function ib(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.sa&g)!=g||a.message(b.Xa+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?","+da(d):"")+")"+(null!=h?": "+da(h):"")+(null!=e?" at "+Z(e):""))} -function ze(a){var b;if(Hd(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b>>d.ra],!1)}a.O=["br"];if(void 0!==a.D)for(b=1;b>>d.ra],!0);a.D=["bw"];a.$a=0}m.Ya=function(a,b,c){var d=!0;c||wf(this,a,b,!1,!0);if(a!=this.j){var e=Ge(b);if(-1===e)this.g("invalid address: "+Z(b.F)),d=!1;else{var f=this.u;f.X[e>>>f.ra].Ya(e&f.u,a==this.D)}}d&&(a.push(b),c?b.Na=!0:(xf(this,a,a.length-1,"set"),ze(this)));return d}; -function wf(a,b,c,d,e){var f=!1;c=Ge(c);for(var h=1;h>>d.ra],b==a.D));g.Na||ze(a);break}}return f}function yf(a,b){for(var c=1;c>24,4);break;case 3:y=n(u.Ra(B,2),4);break;default:u="imm("+t(r)+")";break a}8086==u.style&&r&64?y="["+y+"]":r&16||(y=(u.style==xe?"$":"0x")+y);u=y}else r& -16?(u=(q&3840)>>8,r=Ee[u],8086==a.style&&q&64&&(6==u&&(r="HL"),r="["+r+"]"),u=r):r&128&&(u=(f>>3&7).toString());if(!u||!u.length){g="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ff(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Me(a,b,c){var d;if(b){b=Le(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function If(a,b){if(b)return Hf(a,b,a.da[b]);var c=0;for(b in a.da)Hf(a,b,a.da[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,g=f.od;if(e>=h&&e>8&255;case "C":d.T=g&255;break;case "D":d.U= -g&255;break;case "DE":d.U=g>>8&255;case "E":d.V=g&255;break;case "H":d.W=g&255;break;case "HL":d.W=g>>8&255;case "L":d.Y=g&255;break;case "SP":d.na=g&65535;break;case "PC":G(d,g);a.M=W(d.R);break;case "PS":Rc(d,g);break;case "PSW":Rc(d,g&255|d.ta&-256);d.i=g>>8;break;case "CF":d.ca=g?d.ca|256:d.ca&255;break;case "PF":g?ad(d)||(d.fa^=1):ad(d)&&(d.fa^=1);break;case "AF":d.xa=g?~d.fa&16|d.xa&-17:d.fa&16|d.xa&-17;break;case "ZF":d.ca=g?d.ca&-256:d.ca|255;break;case "SF":g?dd(d)||(d.fa^=192):dd(d)&&(d.fa^= -192);break;case "IF":d.ta=g?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}Dc(d);a.g("updated registers:")}a.g(Df(a));c&&(a.M=W(d.R),uf(a,Z(a.M.F)))}}function Pf(a,b){b=ma(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Te(a,c[2])):Me(a,b,!0)}function Qf(a,b,c){var d="t"!=b;c=Gf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return lb(a,!0)&&a.kb(e,d,!1)},function(){Dc(a.b);lb(a,!1)})} -function uf(a,b,c,d){if(b=He(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=He(a,c,!0);if(!d||d.Fg[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=Af(a,b,h,f);a.g(f);a.M=b;e-=b.F-k;c++}}} -function Oe(a,b,c,d){if(c)if(b){0>a.I&&a.w.length&&(a.I=0);if(0>a.I||b!=a.w[a.I])a.w.splice(0,0,b),a.I=0;a.I--}else a.ba?b="end":b=a.w[a.I+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ma(b.substring(c,f))),c=f+1}}return a} -function zf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ba&&(a.g("ended assemble at "+Z(a.aa.F)),a.M=a.aa,a.ba=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ia=null;if(pb(a)&&0l||"z"Ga.length&&(a.g("note: only "+Ga.length+" available"),ia=Ga.length);ba-=ia;0>ba&&(null==Ga[Ga.length-1].F?(ia=ba+ia,ba=0):ba+=Ga.length);var nd=[];"call"== -af&&(ob=1E5,nd=["CALL"]);for(void 0!==$e&&a.g(ia+" instructions earlier:");0=Ga.length&&(ba=0);a.fb=ia;cf++;ob--}}cf||(a.g("no "+bf+"history available"),a.fb=void 0)}else{var qc=He(a,Y);if(qc){var rc=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Fb),rc=Gf(a,ua)>>>0,65536>4||1;kg--&&0vc?String.fromCharCode(vc):".";tc--}Xa&&(Xa+="\n");Xa+=Y+" "+Mb+(0==Lb?" "+pd:"")}Xa&&a.g(Xa);a.Za=qc}}}}break;case "e":if("else"==f[0])break;var wc=1,ff=255,gf=a.$,hf=a.ua;"ew"==f[0]&&(wc=2,ff=65535,gf=a.Ra,hf=a.Gb);var jf=wc<<1,kf=f[1];if(null==kf)a.g("edit memory commands:"), -a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var xc=He(a,kf);if(xc)for(var yc=2;ycwd;){for(var Ya=null,qg=256;65536>Pb.F>>>0;){mf.F= -a.Ra(Pb,2);if(null==Pb.F||!qg--)break;for(var rg=a,Ac=mf,nf=null,Qb=Ac.F,of=Qb,xd=1;6>=xd&&Qb;xd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bUf){if(Wf(d,this.L)){this.D=new H(this,"1.24.2","failsafe");Wf(this.D)&&(bg(this,d),a=2,cg(this.D));I(this.D,"timestamp",qa());dg(this.D);var e=this.B&&!this.K;if(1==a||va("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=$f(d)){var f=ag(d,"code"),h=ag(d,"data");f&&("ok"==f?Wf(d,h):("error"==f&& -"no machine state"!=h?(this.ja("Error: "+h),"unable to verify user"==h&&(za("user",""),this.j=null)):this.g(f+": "+h),cg(d),Wf(d)?(c=$f(d),e=!0):c=!1))}e&&Zf(this,c?d:null)}else 2==a&&d.clear()}else Zf(this);delete this.L;delete this.M}e=eb(this.id);for(f=0;fa[1];a=a[2];this.ga=!0;this.C.wa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(eg(this,this.b,b,c,a),this.b.ob());this.Z&&(bg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0}; -function bg(a,b){if(va("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"",d=b.toString(),e={app:"PC8080",ver:"1.24.2"};e.url=a.ea;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",e,!0)}} -function Rf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new H(a,"1.24.2"),h=new H(a,"1.24.2","validate"),g=qa();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.24.2");I(f,"url",window?window.location.href:null);I(f,"browser",ta());a.b&&a.b.Ha&&(c&&a.b.pa(),d=a.b.Ha(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.C.wa=!1,!1===d&&(e=null)));for(var g=eb(a.id),k=0;kg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);yg(a,b,c)}})}else c(a,null)} -function zg(a,b,c,d){function e(a){if(void 0===g){var b=h&&C(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ka(a))}function f(a){e("Error: "+a);k&&(--ig||Pa(!0));k=!1}var h,g,k=!0;ig++;cb[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c|| -(c="/versions/pc8080/1.24.2/components.xsl");l=function(d,g){g?wg(c,null,null,!1,e,function(d,k){if(k)if(db(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--ig||Pa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--ig||Pa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?wg(b,a,d,!0,e,l):xg(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Pa(!1);return zg(a,b,c,d)};window.enableEvents=Pa;window.sendEvent=Qa;})(); diff --git a/versions/pc8080/1.24.2/pc8080.js b/versions/pc8080/1.24.2/pc8080.js deleted file mode 100644 index 19203ea73..000000000 --- a/versions/pc8080/1.24.2/pc8080.js +++ /dev/null @@ -1,164 +0,0 @@ -(function(){var k;function aa(a){var b=16,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function m(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date}; -function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function ma(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(l)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")} -function p(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}var oa=null;function pa(){if(null==oa){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}oa=a}return oa}function qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} -function ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function sa(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 ta={init:[],show:[],exit:[]},ua=!1,va=!1,wa=!0;function xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ya(a){ta.init.push(a)} -function za(a){if(wa)try{for(var b=0;bb?this.Sa=this.id:(this.Ta=this.id.substr(0,b),this.Sa=this.id.substr(b+1));this[a]=c;this.l={ready:!1,Ia:!1,eb:!1,Y:!1,error:!1};this.Xa=null;this.l.error=!1;this.A={};this.O=null;r.push(this)}var Ea=void 0,Fa={}; -if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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=q);a.prototype=Ja(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ka=window.PCjs.Machines||(window.PCjs.Machines={}),r=window.PCjs.Components||(window.PCjs.Components=[])}else Ka={},r=[];function La(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function Aa(a,b,c){b||p((c?c+": ":"")+a)} -function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.i?10:20>=this.i?12:24>=this.i?14:15;this.c=1<>2;this.f=this.c-1;this.m=this.u/this.c|0;this.s=this.m-1;this.v=[];this.o=[];this.B=[];this.C=[];a=new D;Ya(a,this.O);this.b=Array(this.m);for(b=0;b>>a.j;0f&&(n=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Ga)return g.cb+=g.Ga-e,g.Ga=e,!0;if(e>=g.Ga+g.cb){n=g.size-(e-l);n>f&&(n=f);g.cb=e-g.Ga+n;e=l+a.c;f-=n;h++;continue}}return $a(1,e,f)}e=new D(e,n,a.c,d);Ya(e,a.O,g);a.b[h++]=e;e=l+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ab[d]+" at "+("0x"+m(b,4))),!0):$a(2,b,c)} -Xa.prototype.L=function(a){return this.b[(a&this.g)>>>this.j].Pa(a&this.f,a)};function bb(a,b){return a.b[(b&a.g)>>>a.j].bb(b&a.f,b)}function cb(a,b){var c=b&a.f,d=(b&a.g)>>>a.j;return c!=a.f?a.b[d].Lc(c,b):a.b[d++].Pa(c,b)|a.b[d&a.s].Pa(0,b+1)<<8}Xa.prototype.$=function(a,b){this.b[(a&this.g)>>>this.j].Qa(a&this.f,b&255,a)};function db(a,b,c){a.b[(b&a.g)>>>a.j].Db(b&a.f,c&255,b)} -function fb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.j;d!=a.f?a.b[e].Mc(d,c&65535,b):(a.b[e++].Qa(d,c&255,b),a.b[e&a.s].Qa(0,c>>8&255,b+1))}function gb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var l=+e+d;l<=h;l++)void 0!==f.v[l]?p("Input port 0x"+m(l,4)+" already registered"):f.v[l]=[g,!1]}} -function hb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var l=+e+d;l<=h;l++)void 0!==f.o[l]?p("Output port 0x"+m(l,4)+" already registered"):f.o[l]=[g,!1]}}function $a(a,b,c){p("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}var ib;if(Sa){var jb=new ArrayBuffer(2);(new DataView(jb)).setUint16(0,256,!0);ib=256===(new Uint16Array(jb))[0]}else ib=!1;var kb=ib; -function D(a,b,c,d){this.id=lb+=2;this.a=null;this.Ga=a;this.cb=b;this.size=c||0;this.type=d||mb;this.c=d==nb;Ya(this);this.ma=this.ub=!1;if(c)if(Sa)this.j=new ArrayBuffer(c),this.A=new DataView(this.j,0,c),this.b=new Uint8Array(this.j,0,c),this.i=new Uint16Array(this.j,0,c>>1),this.a=new Int32Array(this.j,0,c>>2),ob(this,kb?pb:qb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},C:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},I: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},R:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<>8);this.ma=!0},w:function(a,b){return this.bb(a,b)},J:function(a,b){return this.Ab(a,b)},N:function(a,b,c){this.c||this.Db(a,b,c)},W:function(a, -b,c){this.c||this.X(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.A.getUint16(a,!0)},H:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},K:function(a,b){this.b[a]=b;this.ma=!0},P:function(a,b){this.b[a]=b;this.ma=!0},S:function(a,b){this.A.setUint16(a,b,!0);this.ma=!0},Z:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.ma=!0}};function Ya(a,b,c){a.O=b;a.f=a.g=0;c&&((a.f=c.f)&&sb(a,tb,!1),(a.g=c.g)&&ub(a,tb,!1))} -function ub(a,b,c){c&&a.g||(a.Qa=!a.c&&b[2]||a.o,a.Mc=!a.c&&b[3]||a.s);if(c||void 0===c)a.Db=b[2]||a.o,a.X=b[3]||a.s}function sb(a,b,c){c&&a.f||(a.Pa=b[0]||a.m,a.Lc=b[1]||a.v);if(c||void 0===c)a.bb=b[0]||a.m,a.Ab=b[1]||a.v}function ob(a,b){b||(b=vb);sb(a,b,void 0);ub(a,b,void 0)}var vb=[],rb=[D.prototype.C,D.prototype.I,D.prototype.R,D.prototype.da],tb=[D.prototype.w,D.prototype.J,D.prototype.N,D.prototype.W]; -if(Sa)var qb=[D.prototype.u,D.prototype.G,D.prototype.K,D.prototype.S],pb=[D.prototype.B,D.prototype.H,D.prototype.P,D.prototype.Z];function wb(a,b){q.call(this,"CPU",a,wb);var c=a.multiplier||1;this.la=a.cycles||b;this.I=c;this.Ba=Math.round(this.la/1E4)/100;this.W=this.Ba*this.I;this.l.na=!1;this.l.Bb=!1;this.l.Ha=a.autoStart;this.l.sb=!1;this.l.Va=!1;this.sa=this.X=0;this.ta=a.csStart;this.Z=a.csInterval;this.da=a.csStop;this.G=[];this.Za=this.hb.bind(this);C(this)}w(wb);var xb=["power","reset"]; -k=wb.prototype;k.pa=function(a,b,c,d){this.v=a;this.j=b;this.O=d;for(b=0;ba.N/a.W&&(b=1);a.I=b;b=a.Ba*a.I;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.A.setSpeed;d&&(d.textContent=b);a.ca("target speed: "+b)}c&&a.v&&Hb(a.v)}Eb(a,a.K);a.K=0;a.H=ja();a.P=0;Fb(a)}function Ib(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Jb(a,b,c){var d=-1;0<=b&&b=this.la&&Fb(this,!0);this.oa=0;this.ra=ja();this.P&&(a=this.ra-this.P,a>this.Ma&&(this.H+=a,this.H>this.ra&&(this.H=this.ra)));try{do{for(var c=this.l.Va?1:this.va,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}this.Cb(c);var f=this.R-this.a; -a=f;for(var h=this.G.length-1;0<=h;h--){var g=this.G[h];0>g[0]||(g[0]-=a,0>=g[0]&&(g[0]=-1,g[1]()))}this.oa+=f;this.K+=f;Eb(this,0,!0);a=f;this.l.Va&&(b=!1,this.sa=this.sa+this.wb()|0,this.X-=a,0>=this.X&&(this.X+=this.Z,b=!0),0<=this.da&&this.da<=Gb(this)&&(this.Z=this.da=-1,Ab(this),Cb(this),b=!0),b&&this.ca(Gb(this)+" cycles: checksum="+m(this.sa)));this.ka-=f;if(0>=this.ka){this.ka+=this.va;15<=++this.Na&&(this.v&&this.v.za(),this.Na=0);break}}while(this.l.na)}catch(l){Cb(this);Bb(this);this.v&& -this.v.stop(ja(),Gb(this));Qa(this,!1);c=l.stack||l.message;this.l.error=!0;this.M(c);return}c=setTimeout;d=this.Za;this.P=ja();e=this.Ma;this.oa&&(e=Math.round(e*this.oa/this.va));e=e-(this.P-this.ra);if(f=this.P-this.H)this.N=Math.round(this.K/(10*f))/100,864E5<=f&&(this.S=0,Db(this));if(0>e||this.Ne&&(this.H-=e),e=0;this.Ca+=this.oa;this.P+=e;c(d,e)}else Bb(this),this.v&&this.v.stop(ja(),Gb(this))};k.Cb=function(){return 0}; -function Cb(a){a.l.Ia&&(a.l.eb=!0);Lb(a);Eb(a,a.K);a.K=0;if(a.l.na){a.l.na=!1;a.J&&a.J.stop();var b=a.A.run;b&&(b.textContent="Run")}a.l.complete=void 0}function Bb(a){if(a.v){for(var b=a.v,c=0;c>8&255;a.D=b&255}function Wb(a){return a.f<<8|a.F}function Xb(a,b){a.f=b>>8&255;a.F=b&255}function I(a){return a.g<<8|a.i} -function J(a,b){a.g=b>>8&255;a.i=b&255}function E(a,b){a.o=b&65535}function K(a){return a.m&256?1:0}function L(a,b){a.m=a.m&255|b}function Yb(a){return Ta[a.s&255]?4:0}function Tb(a){return a.C&-214|(a.s&128?128:0)|(a.m&255?0:64)|((a.s^a.w)&16?16:0)|Yb(a)|K(a)}function Rb(a,b){a.m=a.s=a.w=0;b&1&&(a.m|=256);b&4||(a.s|=1);b&16&&(a.w|=16);b&64||(a.m|=255);b&128&&(a.s^=192);a.C=a.C&-726|b&512|2}function M(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b)&255} -function Zb(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?1:0))&255}function $b(a,b){a.m=a.s=a.w=a.b&b;(a.b|b)&8&&(a.w^=16);return a.m}function ac(a,b){a.w=b^255;b=a.s=b+255&255;a.m=a.m&-256|b;return b}function bc(a,b){a.w=b;b=a.s=b+1&255;a.m=a.m&-256|b;return b}function cc(a,b){return a.s=a.m=a.w=a.b|b}function N(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+1^256)&255}function dc(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function ec(a,b){return a.s=a.m=a.w=a.b^b}k.L=function(a){return this.j.L(a)}; -k.$=function(a,b){this.j.$(a,b)};function O(a){var b=a.L(a.o);E(a,a.o+1);return b}function P(a){var b=cb(a.j,a.o);E(a,a.o+2);return b}function Q(a){var b=cb(a.j,a.u);a.u=a.u+2&65535;return b}function S(a,b){a.u=a.u-2&65535;fb(a.j,a.u,b)}function fc(a){if(a.a&&a.B&255&&a.C&512){for(var b=0;8>b&&!(a.B&1<b?255:1<>8;L(this,a&256);this.a-=4},hc,function(){var a;J(this,a=I(this)+Ub(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.L(Ub(this));this.a-=7},function(){Vb(this,Ub(this)-1);this.a-=5},function(){this.D= -bc(this,this.D);this.a-=5},function(){this.D=ac(this,this.D);this.a-=5},function(){this.D=O(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;L(this,a);this.a-=4},hc,function(){Xb(this,P(this));this.a-=10},function(){this.$(Wb(this),this.b);this.a-=7},function(){Xb(this,Wb(this)+1);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=ac(this,this.f);this.a-=5},function(){this.f=O(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|K(this);L(this,a&256); -this.a-=4},hc,function(){var a;J(this,a=I(this)+Wb(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.L(Wb(this));this.a-=7},function(){Xb(this,Wb(this)-1);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=ac(this,this.F);this.a-=5},function(){this.F=O(this);this.a-=7},function(){var a=this.b<<8;this.b=(K(this)<<8|this.b)>>1;L(this,a&256);this.a-=4},hc,function(){J(this,P(this));this.a-=10},function(){var a=P(this);fb(this.j,a,I(this));this.a-=16},function(){J(this, -I(this)+1);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=ac(this,this.g);this.a-=5},function(){this.g=O(this);this.a-=7},function(){var a=0,b=K(this);if((this.s^this.w)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=M(this,a);L(this,b?256:0);this.a-=4},hc,function(){var a;J(this,a=I(this)+I(this));L(this,a>>8&256);this.a-=10},function(){var a;a=P(this);a=cb(this.j,a);J(this,a);this.a-=16},function(){J(this,I(this)-1);this.a-=5},function(){this.i=bc(this,this.i); -this.a-=5},function(){this.i=ac(this,this.i);this.a-=5},function(){this.i=O(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},hc,function(){this.u=P(this)&65535;this.a-=10},function(){this.$(P(this),this.b);this.a-=13},function(){this.u=this.u+1&65535;this.a-=5},function(){var a=I(this);this.$(a,bc(this,this.L(a)));this.a-=10},function(){var a=I(this);this.$(a,ac(this,this.L(a)));this.a-=10},function(){this.$(I(this),O(this));this.a-=10},function(){this.m|=256;this.a-=4},hc,function(){var a; -J(this,a=I(this)+this.u);L(this,a>>8&256);this.a-=10},function(){this.b=this.L(P(this));this.a-=13},function(){this.u=this.u-1&65535;this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=ac(this,this.b);this.a-=5},function(){this.b=O(this);this.a-=7},function(){L(this,K(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.F;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.i; -this.a-=5},function(){this.c=this.L(I(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.L(I(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.a-=5},function(){this.f=this.F;this.a-= -5},function(){this.f=this.g;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.L(I(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.F=this.c;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.L(I(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.D;this.a-= -5},function(){this.g=this.f;this.a-=5},function(){this.g=this.F;this.a-=5},function(){this.a-=5},function(){this.g=this.i;this.a-=5},function(){this.g=this.L(I(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.i=this.c;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.i=this.g;this.a-=5},function(){this.a-=5},function(){this.i=this.L(I(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.$(I(this), -this.c);this.a-=7},function(){this.$(I(this),this.D);this.a-=7},function(){this.$(I(this),this.f);this.a-=7},function(){this.$(I(this),this.F);this.a-=7},function(){this.$(I(this),this.g);this.a-=7},function(){this.$(I(this),this.i);this.a-=7},function(){var a=this.o-1;if(this.qa.length)for(var b=0;b>>=f)&l;if(void 0!==h&&h[0])h[0](a,l,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=P(this);K(this)||(S(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){S(this,Wb(this));this.a-=11},function(){this.b=N(this,O(this));this.a-=7},function(){S(this,this.o);E(this,16);this.a-=11},function(){K(this)&&(E(this,Q(this)),this.a-=6);this.a-=5},jc,function(){var a=P(this);K(this)&&E(this,a);this.a-=10},function(){for(var a=O(this),b=this.j,c=this.o+-2&65535,d=1,e=0, -f=0;0>8;this.a-=10},function(){var a=P(this);this.s&128||E(this,a);this.a-=10},function(){this.C&=-513;this.a-=4},function(){var a=P(this);this.s&128||(S(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){S(this, -Tb(this)&255|this.b<<8);this.a-=11},function(){this.b=cc(this,O(this));this.a-=7},function(){S(this,this.o);E(this,48);this.a-=11},function(){this.s&128&&(E(this,Q(this)),this.a-=6);this.a-=5},function(){this.u=I(this)&65535;this.a-=5},function(){var a=P(this);this.s&128&&E(this,a);this.a-=10},function(){this.C|=512;this.a-=4;fc(this)},function(){var a=P(this);this.s&128&&(S(this,this.o),E(this,a),this.a-=6);this.a-=11},kc,function(){N(this,O(this));this.a-=7},function(){S(this,this.o);E(this,56); -this.a-=11}];function U(a){q.call(this,"ChipSet",a,U);var b=a.model;b&&!lc[b]&&Aa("Unrecognized ChipSet model: "+b);this.c=lc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);C(this)}w(U); -var W={aa:1978.1,gc:{ba:0,Rc:1,Vc:16,bd:32,ld:64,kd:128,Ea:14},ya:{ba:1,Ib:1,bc:2,Yb:4,Zb:16,$b:32,ac:64,Ea:8},hc:{ba:2,Qc:3,ud:4,Sc:8,fd:16,gd:32,hd:64,Tc:128,Ea:0},pd:{ba:3},nd:{ba:2,cd:7},rd:{ba:3,vd:1,qd:2,jd:4,$c:8,Uc:16,Nc:32},od:{ba:4},sd:{ba:5,Wc:1,Xc:2,Yc:4,Zc:8,wd:16}},X={aa:100,ia:{ba:66,rb:1,Wb:2,Xb:4,ed:8,dd:16,pb:32,ob:64,lb:128},Hb:{ba:66,INIT:0},wa:{ba:194,Pc:0,kb:16,cc:32,qb:48,Mb:0,Nb:32},Ra:{ba:162,md:0,Pb:0,Lb:0,Ob:0,Kb:0},ja:{ad:{ba:98},Aa:{Fb:0,Eb:1,ec:2,ic:4,Jb:5,dc:6,td:7}, -Ua:16383}},lc={SI1978:W,VT100:X};U.prototype.V=function(){return!1};U.prototype.pa=function(a,b,c,d){this.j=b;this.a=c;this.O=d;this.v=a;this.m=Va(a,"Keyboard");this.Z=Va(a,"SerialPort");this.video=Va(a,"Video");gb(b,this,this.c.$a);hb(b,this,this.c.ab)};U.prototype.fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};U.prototype.ha=function(a){return a?this.save():!0};W.INIT=[[W.gc.Ea,W.ya.Ea,W.hc.Ea,0,0,0,0]]; -X.INIT=[[X.Hb.INIT,X.ia.Wb|X.ia.Xb],[X.wa.Mb,X.wa.Nb],[X.Ra.Pb,X.Ra.Lb,X.Ra.Ob,X.Ra.Kb],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], -[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=U.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.M("reset error")}; -k.save=function(){var a=new F(this);switch(this.c.aa){case W.aa:G(a,0,[this.W,this.g,this.X,this.C,this.H,this.R,this.S]);break;case X.aa:G(a,0,[this.K,this.u]),G(a,1,[this.o,this.s]),G(a,2,[this.f,this.G,this.P,this.N]),G(a,3,[this.B,this.b,this.w,this.J,this.i])}return a.data()}; -k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.aa){case W.aa:return this.W=b[0],this.g=b[1],this.X=b[2],this.C=b[3],this.H=b[4],this.R=b[5],this.S=b[6],!0;case X.aa:return this.K=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.P=b[2],this.N=b[3],b=a[3],this.B=b[0],this.b=b[1],this.w=b[2],this.J=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.nc=function(){return this.W};k.oc=function(){return this.g};k.pc=function(){return this.X}; -k.mc=function(){return this.C>>8-this.H&255};k.zc=function(a,b){this.H=b};k.Bc=function(a,b){this.R=b};k.Ac=function(a,b){this.C=b<<8|this.C>>8};k.Cc=function(a,b){this.S=b};k.Dc=function(){};function mc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -k.qc=function(){var a=this.u,a=a&~X.ia.ob;if((Gb(this.a)&64)<<1&&(a|=X.ia.ob,a!=this.u)){var b,c;b=this.w&1;switch(this.w>>1&7){case X.ja.Aa.Eb:this.B=this.B<<1|b;break;case X.ja.Aa.Jb:b=mc(this);this.i[b]=X.ja.Ua;break;case X.ja.Aa.Fb:this.b=this.b<<1|b;break;case X.ja.Aa.ic:b=mc(this);c=this.b&X.ja.Ua;this.i[b]=c;break;case X.ja.Aa.dc:b=mc(this);c=this.i[b];null==c&&(c=X.ja.Ua);this.b=c;break;case X.ja.Aa.ec:this.b<<=1,this.J=this.b&X.ja.Ua+1}}a&=~X.ia.pb;this.J&&(a|=X.ia.pb);a&=~X.ia.lb;if(b=this.m){b= -this.m;if(c=b.f)c=b.a,c=Gb(b.a)>=b.m+c.la*c.I/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=X.ia.lb);a&=~X.ia.rb;this.Z&&this.Z.ea&1&&(a|=X.ia.rb);return this.u=a};k.Ec=function(a,b){this.K=b};k.Hc=function(a,b){this.w=b};k.Gc=function(a,b){var c=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|c;break;case 1:this.f=this.f&-13|c<<2;if(this.video){var c=this.video,d=this.f;c.oa!==d&&((c.oa=d)?Mb(c,!0):c.ra=!0)}break;case 2:switch(c){case 0:this.G=~this.G;break;case 2:case 3:this.P=3-c}break;case 3:this.N=c}}; -k.Fc=function(a,b){if(b&X.wa.cc)b&=X.wa.qb,this.s!=b&&(this.s=b,this.video&&(this.video.zb=this.s==X.wa.qb?50:60));else if(b&=X.wa.kb,this.o!=b&&(this.o=b,this.video)){var c=this.video,d=this.o==X.wa.kb?132:80;c.J=d;c.U=c.va;80>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){p("Empty ROM: "+b);return}if(1==a.b.length){p(a.b[0]);return}}catch(g){a.M("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.j;0>>=f.j;0d?a.j.push({ib:b,fb:Date.now(),Wa:!1}):(a.j[d].fb=Date.now(),a.j[d].Wa=!1);else if(0<=d){if(!a.j[d].Wa){var e=a.j[d].fb;if(e&&100>Date.now()-e)return a.j[d].Wa=!0,Cc(a),!0}a.j.splice(d,1)}if(a.J){d=0;switch(b){case "1p":d=W.ya.Yb;break;case "2p":d=W.ya.bc;break;case "coin":d=W.ya.Ib;break;case "left":d=W.ya.$b;break;case "right":d=W.ya.ac;break;case "fire":d=W.ya.Zb}d&&(a=a.J,b=d,a.g&=~b,c&&(a.g|=b))}return!0} -function Cc(a){for(var b=0,c=-1;bc||c>e)c=e}else{Ac(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Cc(a)},c)}k.rc=function(){var a=this.g;0<=this.c&&(this.c>3)*a.G,!Za(a.j,a.da,a.B,3)))return!1;a.B?(a.La=a.f.createImageData(b,c),a.Na=16/a.ka|0,Ic(a,a.B>>1)):Ic(a,(a.J+1)*a.W);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.qa=a.s.getContext("2d");a.I={};a.R=1<=a.va?8:16,f=8>(7>4)*c)}return l}Dc.prototype.fa=function(){return!0};Dc.prototype.V=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.ta[b]=c,!0;switch(b){case "fullScreen":return this.A[b]=c,this.b&&this.b.Da?c.onclick=function(){d.Da()}:c.parentNode.removeChild(c),!0}return!1}; -Dc.prototype.Da=function(){var a=!1;if(this.b){if(this.b.Da){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.w;b>c&&(a=Math.round(c/b*100)+"%")}this.Ka?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Da();a=!0}this.P&&this.P.focus()}return a}; -function Gc(a,b){!b&&a.b&&(a.Ka?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Ic(a,b){a.Ma=b;a.N=!1;if(void 0===a.i||a.i.length!=a.Ma)a.i=Array(a.Ma)}function Kc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.S&&(208<=c&&236>c?e=a.R+0:28<=c&&72>c&&(e=a.R+1));a=a.K[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Mb(a,b){var c=!0;if(!b){a.la&&(120==a.la?a.Ya&1?(gc(a.a,2),c=!1):gc(a.a,1):gc(a.a,4));if(c&&a.N&&a.B){for(var d=a.j,e=a.B,f=!0,h=a.da>>>d.j;0>=1);;){var u=bb(a.j,x++);if(127==(u&127)){var y=bb(a.j,x++),d=y&96,c=(y&15)<<8|bb(a.j,x),c=c+(y&16? -8192:16384);break}if(n>4)*u.T,R=void 0,ka=void 0,Ca=void 0,eb=void 0,zc=u.U,Kb=u.T;v?(R=B*y.U,ka=e*y.T,Ca=y.U,eb=y.T):(R=B*y.Ba,ka=e*y.Ca,Ca=y.Ba,eb=y.Ca);u.U>y.U&&(R*=2,Ca*=2);u.T>y.T&&(0==t&&(H+=y.T),Kb=y.T);v?v.drawImage(u.canvas,V,H,zc,Kb,R,ka,Ca,eb):(R+=0,ka+=0,y.f.drawImage(u.canvas, -V,H,zc,Kb,R,ka,Ca,eb))}g++}h++}e++}}a.N=!0;!b&&a.ra&&1==g&&(a.i[l]=-1,g=0);a.ra=!1;(g||b)&&a.qa&&a.f.drawImage(a.s,0,a.oa,a.o,a.G-a.T,0,0,a.sc,a.tc)}else{f=a.da;h=f+a.B;n=l=g=0;c=a.o;t=0;d=a.G;x=e=0;B=a.ka;y=(1<>>v.j;v=V!=v.f?v.b[H].Ab(V,u):v.b[H++].bb(V,u)|v.b[H&v.s].bb(0,u+1)<<8;if(a.N&&v===a.i[g])l+=a.Na;else{a.i[g]=v;(u=x)&&(v=v>>8|(v&255)<<8);l>u&y,Kc(a,a.La,l++,n,H),u+=B;l>t&&(t=l);n=e&& -(e=n+1)}f+=2;g++;if(l>=a.o&&(l=0,n++,n>a.G))break}a.N=!0;cMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a, -b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Fa.aspect);f&&.3<=f&&3.33>=f&&(xa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");sa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Dc(d,e,h,f,c);Pa(d,c)}}); -function Lc(a){this.I=+a.adapter;switch(this.I){case 0:this.K=0;this.P=2;break;default:p("Unrecognized serial adapter #"+this.I);return}this.b=this.c=null;this.N=a.tabSize;this.H=a.charBOL;this.f=0;this.C=!1;q.call(this,"SerialPort",a,Lc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Mc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.A[b])&&this.V(null,a,b))}this.g="";this.i=this.s=null;this.exports={connect:this.xb,receiveData:this.gb}}w(Lc); -var Nc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Oc=[!1,0,0,133,142,39,238],Mc="buffer";k=Lc.prototype; -k.V=function(a,b,c,d){var e=this;switch(b){case Mc:return this.A[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.Sa)return;b=ha(b[1]);if(this.i=Na(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.s=d.receiveData){this.status(this.Ta+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.fa=function(a,b){if(!b)if(this.xb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ha=function(a){return a?this.save():!0};k.reset=function(){Sc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.o;c[b++]=this.B;c[b++]=this.G;c[b++]=this.ea;c[b++]=this.m;c[b++]=this.w;c[b]=this.u;G(a,0,c);return a.data()};k.restore=function(a){return Sc(this,a[0])};function Sc(a,b){var c=0;void 0===b&&(b=Oc);a.o=b[c++];a.B=b[c++];a.G=b[c++];a.ea=b[c++];a.m=b[c++];a.w=b[c++];a.u=b[c];return!0} -function Tc(a,b){var c=a.u&b;b&15||(c>>=4);var c=Nc[c],d=((a.m&12)>>2)+6;a.m&16&&d++;d+=((a.m&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function Pc(a,b){return a.C||a.ea&2?!1:(a.B=b,a.ea|=2,gc(a.a,a.P),!0)}k.gb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Pc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Jb(this.a,this.R,Tc(this,15)));return!0};k.lc=function(){var a=this.B;this.ea&=-3;return a};k.kc=function(){return this.ea}; -k.yc=function(a,b){this.G=b;this.ea&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.s&&this.s.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);var d=c.length;9==b?(d=this.N||8,d=d-this.f%d,this.N&&(c=" ".slice(0,d))):13==b&&(this.f=d=0,c="\n");this.H&&!this.f&&d&&(c=String.fromCharCode(this.H)+c);this.b.value+=c;this.b.scrollTop=this.b.scrollHeight;this.f+= -d}else if(null!=this.c){if(10==b||1024<=this.c.length)this.ca(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Jb(this.a,this.S,Tc(this,240))};k.xc=function(a,b){this.o?(this.w=b,this.w&64&&(this.o=!1)):(this.m=b,this.o=!0)};k.wc=function(a,b){this.u=b};var Qc={0:Lc.prototype.lc,1:Lc.prototype.kc},Rc={0:Lc.prototype.yc,1:Lc.prototype.xc,2:Lc.prototype.wc};ya(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bWc){if(Yc(d,this.s)){this.i=new F(this,"1.24.2","failsafe");Yc(this.i)&&(dd(this,d),a=2,ed(this.i));G(this.i,"timestamp",la());fd(this.i);var e=this.b&&!this.v;if(1==a||na("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=cd(d,"code"),h=cd(d,"data");f&&("ok"==f?Yc(d,h):("error"==f&& -"no machine state"!=h?(this.M("Error: "+h),"unable to verify user"==h&&(ra("user",""),this.c=null)):this.ca(f+": "+h),ed(d),Yc(d)?(c=bd(d),e=!0):c=!1))}e&&ad(this,c?d:null)}else 2==a&&d.clear()}else ad(this);delete this.s;delete this.u}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.K=!0;this.l.Y=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.a&&(gd(this,this.a,b,c,a),this.a.Ha());this.C&&(dd(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; -function dd(a,b){if(na("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.24.2"};e.url=a.I;e.user=c;e.type="bug";e.data=d;ma("http://www.pcjs.org/api/v1/report",e,!0)}} -function hd(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.24.2"),h=new F(a,"1.24.2","validate"),g=la();G(h,"timestamp",g);G(f,"timestamp",g);G(f,"version","1.24.2");G(f,"url",window?window.location.href:null);G(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.ha&&(c&&Cb(a.a),d=a.a.ha(b,c),"object"===typeof d&&G(f,a.a.id,d),c&&(a.a.l.Y=!1,!1===d&&(e=null)));for(var g=Ma(a.id),l=0;lg.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],n,x=/( [a-z]+=)(['"])(.*?)\2/g;n=x.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],h);od(a,b,c)}})}else c(a,null)} -function pd(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--ld||Ba(!0));l=!1}var h,g,l=!0;ld++;Ka[a]={};try{if(h=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var x=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));x.appendChild(t)}c|| -(c="/versions/pc8080/1.24.2/components.xsl");n=function(d,g){g?md(c,null,null,!1,e,function(d,l){if(l)if(La(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=g.transformNode(l);n?(h.outerHTML=n,--ld||Ba(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(n,h),--ld||Ba(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?md(b,a,d,!0,e,n):nd(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(B){f(B.message)}return l}window.embedPC8080=function(a,b,c,d){Ba(!1);return pd(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})(); diff --git a/versions/pc8080/1.30.0/common.css b/versions/pc8080/1.30.0/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pc8080/1.30.0/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.30.0/common.xsl b/versions/pc8080/1.30.0/common.xsl deleted file mode 100644 index 9a652c4d3..000000000 --- a/versions/pc8080/1.30.0/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.30.0/components.css b/versions/pc8080/1.30.0/components.css deleted file mode 100644 index 4a449ca97..000000000 --- a/versions/pc8080/1.30.0/components.css +++ /dev/null @@ -1,159 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-rled { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } -} diff --git a/versions/pc8080/1.30.0/components.xsl b/versions/pc8080/1.30.0/components.xsl deleted file mode 100644 index 4724c1468..000000000 --- a/versions/pc8080/1.30.0/components.xsl +++ /dev/null @@ -1,1275 +0,0 @@ - - - - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.30.0 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,resetAddr:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - device - ,name:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.30.0/document.css b/versions/pc8080/1.30.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.30.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.30.0/document.xsl b/versions/pc8080/1.30.0/document.xsl deleted file mode 100644 index c7ad8f46e..000000000 --- a/versions/pc8080/1.30.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.30.0/machine.xsl b/versions/pc8080/1.30.0/machine.xsl deleted file mode 100644 index a2adf2748..000000000 --- a/versions/pc8080/1.30.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.0/manifest.xsl b/versions/pc8080/1.30.0/manifest.xsl deleted file mode 100644 index 97c14247d..000000000 --- a/versions/pc8080/1.30.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.30.0/outline.xsl b/versions/pc8080/1.30.0/outline.xsl deleted file mode 100644 index 3208b7c87..000000000 --- a/versions/pc8080/1.30.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.0/pc8080-dbg.js b/versions/pc8080/1.30.0/pc8080-dbg.js deleted file mode 100644 index 65c33e425..000000000 --- a/versions/pc8080/1.30.0/pc8080-dbg.js +++ /dev/null @@ -1,251 +0,0 @@ -(function(){var l,m={me:1,ne:3,oe:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ub:65,Hc:66,Jc:67,Xb:68,E:69,Mc:70,Nc:71,Oc:72,Pc:73,Wc:74,Xc:75,Zb:76,dd:77,ed:78,gd:79,hd:80,Q:81,od:82,rd:83,xd:84,yd:85,zd:86,Ad:87,Cd:88,Dd:89,Ed:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ve:97,We:98,Xe:99,d:100,e:101,Ye:102,Ze:103,$e:104,af:105,bf:106,k:107,cf:108, -df:109,n:110,ef:111,p:112,q:113,r:114,ff:115,t:116,hf:117,jf:118,kf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)} -function u(a){return t(a,4,!0)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.cb=this.id:(this.Bb=this.id.substr(0,b),this.cb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,sb:!1,Kb:!1,xa:!1,error:!1};this.Eb=null;this.C.error=!1;this.N={};this.H=null;this.ta=d||0;Ta.push(this)}var Ua=void 0,Va={}; -if(window){Ua||(Ua=window.location.search.substr(1));for(var Xa,Ya=/\+/g,Za=/([^&=]+)=?([^&]*)/g;Xa=Za.exec(Ua);)Va[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function $a(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 A(a,b){b||(b=z);a.prototype=$a(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ab=window.PCjs.Machines||(window.PCjs.Machines={}),Ta=window.PCjs.Components||(window.PCjs.Components=[])}else ab={},Ta=[];function bb(a,b,c){ab[a]&&b&&(ab[a][b]=c)}function Pa(a,b,c){b||w((c?c+": ":"")+a)} -function cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.ia&&(this.ia=10);15>2;this.u=this.Ha-1;this.J=this.L/this.Ha|0;this.G=this.J-1;this.B=[];this.j=[];this.I=this.D=!1;this.O=[];this.P=[];a=new H;wb(a,this.H);this.X=Array(this.J);for(b=0;b>>a.ia;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.F)return h.yb+=h.F-e,h.F=e,!0;if(e>=h.F+h.yb){n=h.size-(e-k);n>f&&(n=f);h.yb=e-h.F+n;e=k+a.Ha;f-=n;g++;continue}}return yb(1,e,f)}e=new H(e,n,a.Ha,d);wb(e,a.H,h);a.X[g++]=e;e=k+a.Ha;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+zb[d]+" at "+u(b)),!0):yb(2,b,c)} -l.aa=function(a){return this.X[(a&this.w)>>>this.ia].jb(a&this.u,a)};function Ab(a,b){return a.X[(b&a.w)>>>a.ia].wb(b&a.u,b)}l.$a=function(a){var b=a&this.u,c=(a&this.w)>>>this.ia;return b!=this.u?this.X[c].Ac(b,a):this.X[c++].jb(b,a)|this.X[c&this.G].jb(0,a+1)<<8};function Bb(a,b){var c=b&a.u,d=(b&a.w)>>>a.ia;return c!=a.u?a.X[d].Pb(c,b):a.X[d++].wb(c,b)|a.X[d&a.G].wb(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.ia].lb(a&this.u,b&255,a)}; -function Db(a,b,c){a.X[(b&a.w)>>>a.ia].zb(b&a.u,c&255,b)}l.Ib=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.ia;c!=this.u?this.X[d].Cc(c,b&65535,a):(this.X[d++].lb(c,b&255,a),this.X[d&this.G].lb(0,b>>8&255,a+1))};function Eb(a){for(var b=0,c=[],d=0;d>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.H&&a.D!=g[1]&&Vb(a.H,b,k)}else a.H&&(gb(a.H,a,b,k,d),a.D&&Vb(a.H,b,k));f+=h<<3;b+=h;e-=h}} -function yb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Wb;if(pb){var Xb=new ArrayBuffer(2);(new DataView(Xb)).setUint16(0,256,!0);Wb=256===(new Uint16Array(Xb))[0]}else Wb=!1;var Yb=Wb; -function H(a,b,c,d){this.id=Zb+=2;this.b=null;this.F=a;this.yb=b;this.size=c||0;this.type=d||$b;this.N=d==ac;wb(this);this.Na=this.xc=!1;if(c)if(pb)this.I=new ArrayBuffer(c),this.D=new DataView(this.I,0,c),this.u=new Uint8Array(this.I,0,c),this.J=new Uint16Array(this.I,0,c>>1),this.b=new Int32Array(this.I,0,c>>2),bc(this,Yb?cc:dc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa: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},la:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<> -2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Na=!0},O:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,1,c.O)&&c.qa(!0)}return this.wb(a,b)},ca:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,2,c.O)&&c.qa(!0)}return this.Pb(a,b)},ja:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;ic(d,this.F+a,1,d.D)&&d.qa(!0)}this.N?this.w(a,b,c):this.zb(a,b,c)},ma:function(a,b,c){if(this.H&& -null!=this.F){var d=this.H;ic(d,this.F+a,2,d.D)&&d.qa(!0)}this.N?this.w(a,b,c):this.Tb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},ba:function(a){return this.D.getUint16(a,!0)},ea:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.J[a>>1]},ha:function(a,b){this.u[a]=b;this.Na=!0},cb:function(a,b){this.u[a]=b;this.Na=!0},ra:function(a,b){this.D.setUint16(a,b,!0);this.Na=!0},wa:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.J[a>>1]=b;this.Na=!0}}; -function wb(a,b,c){a.H=b;a.B=a.j=0;c&&((a.B=c.B)&&hc(a,gc,!1),(a.j=c.j)&&fc(a,gc,!1))}function jc(a,b){b?--a.j||(a.lb=a.N?a.w:a.zb,a.Cc=a.N?a.G:a.Tb):--a.B||(a.jb=a.wb,a.Ac=a.Pb)}function fc(a,b,c){c&&a.j||(a.lb=!a.N&&b[1]||a.w,a.Cc=!a.N&&b[3]||a.G);if(c||void 0===c)a.zb=b[1]||a.w,a.Tb=b[3]||a.G}function hc(a,b,c){c&&a.B||(a.jb=b[0]||a.K,a.Ac=b[2]||a.L);if(c||void 0===c)a.wb=b[0]||a.K,a.Pb=b[2]||a.L}function bc(a,b){b||(b=kc);hc(a,b,void 0);fc(a,b,void 0)} -var kc=[],ec=[H.prototype.Y,H.prototype.la,H.prototype.fa,H.prototype.za],gc=[H.prototype.O,H.prototype.ja,H.prototype.ca,H.prototype.ma];if(pb)var dc=[H.prototype.M,H.prototype.ha,H.prototype.ba,H.prototype.ra],cc=[H.prototype.P,H.prototype.cb,H.prototype.ea,H.prototype.wa]; -function lc(a,b){z.call(this,"CPU",a,lc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Ra=c;this.ha=Math.round(this.Y/1E4)/100;this.ab=this.ha*this.Ra;this.C.Aa=!1;this.C.Sb=!1;this.C.rb=a.autoStart;this.C.vc=!1;this.C.fb=!1;this.tb=this.O=0;this.ub=a.csStart;this.hb=a.csInterval;this.ib=a.csStop;this.w=[];this.Fa=this.bb.bind(this);F(this)}A(lc);var mc=["power","reset"];l=lc.prototype; -l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.H=d;for(b=0;b=a.O&&(a.O+=a.hb,c=!0);0<=a.ib&&a.ib<=Fc(a)&&(a.hb=a.ib=-1,Bc(a),a.qa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+t(a.tb))}} -l.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.xa)a=!0;else{var b=null,c,h=cb(a.id);for(c=0;ca.J/a.ab?b=1:d=!0;a.Ra=b;b=a.ha*a.Ra;if(a.ab!=b){a.ab=b;b=a.ab.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.xb()}Hc(a,a.G);a.G=0;a.D=qa();a.K=0;Ic(a);return d}function Jc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Kc(a,b,c){0<=b&&ba.w[b][0]&&(c*=a.Y*a.Ra/1E3,a.w[b][0]=c)}function Lc(a){a.L-=a.b;a.b=0} -l.bb=function(a){if(jb(this,!0)){if(!this.C.Aa){Gc(this);this.B&&this.B.start(this.D,Fc(this));this.C.Aa=!0;this.C.Sb=!0;this.I&&this.I.start();var b=this.N.run;b&&(b.textContent="Halt");this.B&&(this.B.Ja(!0),a&&this.B.xb(!0))}this.ja>=this.Y&&Ic(this,!0);this.ba=0;this.ea=qa();this.K&&(a=this.ea-this.K,a>this.wa&&(this.D+=a,this.D>this.ea&&(this.D=this.ea)));try{do{for(var c=this.C.fb?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}this.kb(c);var f=this.L-this.b;a= -f;for(var g=this.w.length-1;0<=g;g--){var h=this.w[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ba+=f;this.G+=f;Hc(this,0,!0);Ec(this,f);this.P-=f;if(0>=this.P){this.P+=this.fa;15<=++this.za&&(this.B&&this.B.Ja(),this.za=0);break}}while(this.C.Aa)}catch(k){this.qa();Dc(this);this.B&&this.B.stop(qa(),Fc(this));jb(this,!1);ob(this,k.stack||k.message);return}c=setTimeout;d=this.Fa;this.K=qa();e=this.wa;this.ba&&(e=Math.round(e*this.ba/this.fa));e-=this.K-this.ea;if(f=this.K-this.D)this.J=Math.round(this.G/ -(10*f))/100,864E5<=f&&(this.M=0,Gc(this));if(0>e||this.Je&&(this.D-=e),e=0;this.ja+=this.ba;this.K+=e;c(d,e)}else Dc(this),this.B&&this.B.stop(qa(),Fc(this))};l.kb=function(){return 0};l.qa=function(a){kb(this,!0);Lc(this);Hc(this,this.G);this.G=0;if(this.C.Aa){this.C.Aa=!1;this.I&&this.I.stop();var b=this.N.run;b&&(b.textContent="Run")}this.C.complete=a};function Dc(a,b){if(a.B){for(var c=a.B,d=0;d>8&255;a.T=b&255}function Wc(a){return a.U<<8|a.V}function Xc(a,b){a.U=b>>8&255;a.V=b&255}function K(a){return a.W<<8|a.Z} -function Yc(a,b){a.W=b>>8&255;a.Z=b&255}function I(a,b){a.R=b&65535}function Zc(a){return a.da&256?1:0}function $c(a,b){a.da=a.da&255|b}function ad(a){return qb[a.ga&255]?4:0}function bd(a){return(a.ga^a.ya)&16?16:0}function cd(a){return a.da&255?0:64}function dd(a){return a.ga&128?128:0}function Tc(a){return a.ua&-214|dd(a)|cd(a)|bd(a)|ad(a)|Zc(a)}function Rc(a,b){a.da=a.ga=a.ya=0;b&1&&(a.da|=256);b&4||(a.ga|=1);b&16&&(a.ya|=16);b&64||(a.da|=255);b&128&&(a.ga^=192);a.ua=a.ua&-726|b&512|2} -function ed(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b)&255}function fd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?1:0))&255}function gd(a,b){a.da=a.ga=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.da}function hd(a,b){a.ya=b^255;b=a.ga=b+255&255;a.da=a.da&-256|b;return b}function id(a,b){a.ya=b;b=a.ga=b+1&255;a.da=a.da&-256|b;return b}function Dd(a,b){return a.ga=a.da=a.ya=a.i|b}function L(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+1^256)&255} -function Ed(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function Fd(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function M(a){var b=a.aa(a.R);I(a,a.R+1);return b}function O(a){var b=a.u.$a(a.R);I(a,a.R+2);return b}function P(a){var b=a.u.$a(a.oa);a.oa=a.oa+2&65535;return b}function Q(a,b){a.oa=a.oa-2&65535;a.u.Ib(a.oa,b)} -function Gd(a){if(a.b&&a.j&255&&a.ua&512){for(var b=0;8>b&&!(a.j&1<b?255:1<>8;$c(this,a&256);this.b-=4},Kd,function(){var a;Yc(this,a=K(this)+Uc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-= -5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=hd(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;$c(this,a);this.b-=4},Kd,function(){Xc(this,O(this));this.b-=10},function(){this.va(Wc(this),this.i);this.b-=7},function(){Xc(this,Wc(this)+1);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=hd(this,this.U);this.b-=5},function(){this.U=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| -Zc(this);$c(this,a&256);this.b-=4},Kd,function(){var a;Yc(this,a=K(this)+Wc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Wc(this));this.b-=7},function(){Xc(this,Wc(this)-1);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=hd(this,this.V);this.b-=5},function(){this.V=M(this);this.b-=7},function(){var a=this.i<<8;this.i=(Zc(this)<<8|this.i)>>1;$c(this,a&256);this.b-=4},Kd,function(){Yc(this,O(this));this.b-=10},function(){var a=O(this);this.u.Ib(a,K(this)); -this.b-=16},function(){Yc(this,K(this)+1);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=hd(this,this.W);this.b-=5},function(){this.W=M(this);this.b-=7},function(){var a=0,b=Zc(this);if(bd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=ed(this,a);$c(this,b?256:0);this.b-=4},Kd,function(){var a;Yc(this,a=K(this)+K(this));$c(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.u.$a(a);Yc(this,a);this.b-=16},function(){Yc(this,K(this)-1);this.b-=5},function(){this.Z= -id(this,this.Z);this.b-=5},function(){this.Z=hd(this,this.Z);this.b-=5},function(){this.Z=M(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Kd,function(){this.oa=O(this)&65535;this.b-=10},function(){this.va(O(this),this.i);this.b-=13},function(){this.oa=this.oa+1&65535;this.b-=5},function(){var a=K(this);this.va(a,id(this,this.aa(a)));this.b-=10},function(){var a=K(this);this.va(a,hd(this,this.aa(a)));this.b-=10},function(){this.va(K(this),M(this));this.b-=10},function(){this.da|=256;this.b-= -4},Kd,function(){var a;Yc(this,a=K(this)+this.oa);$c(this,a>>8&256);this.b-=10},function(){this.i=this.aa(O(this));this.b-=13},function(){this.oa=this.oa-1&65535;this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=hd(this,this.i);this.b-=5},function(){this.i=M(this);this.b-=7},function(){$c(this,Zc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W; -this.b-=5},function(){this.S=this.Z;this.b-=5},function(){this.S=this.aa(K(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(K(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-= -5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(K(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(K(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S; -this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(K(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Z=this.S;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(K(this));this.b-= -7},function(){this.Z=this.i;this.b-=5},function(){this.va(K(this),this.S);this.b-=7},function(){this.va(K(this),this.T);this.b-=7},function(){this.va(K(this),this.U);this.b-=7},function(){this.va(K(this),this.V);this.b-=7},function(){this.va(K(this),this.W);this.b-=7},function(){this.va(K(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.ca.length)for(var b=0;b>8;this.b-=10},function(){var a=O(this);dd(this)||I(this,a);this.b-=10},function(){this.ua&=-513;this.b-=4},function(){var a=O(this);dd(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Tc(this)&255|this.i<<8);this.b-=11},function(){this.i=Dd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,48);this.b-=11},function(){dd(this)&& -(I(this,P(this)),this.b-=6);this.b-=5},function(){this.oa=K(this)&65535;this.b-=5},function(){var a=O(this);dd(this)&&I(this,a);this.b-=10},function(){this.ua|=512;this.b-=4;Gd(this)},function(){var a=O(this);dd(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Nd,function(){L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,56);this.b-=11}]; -function S(a){z.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Od[b]&&Pa("Unrecognized ChipSet model: "+b);this.w=Od[b]||{};a.sound&&(this.fa=null,window&&(this.fa=window.AudioContext||window.webkitAudioContext),this.fa&&new this.fa);F(this)}A(S); -var U={Ba:1978.1,vd:{Ca:0,qe:1,ue:16,Be:32,Ke:64,Je:128,mb:14},Ya:{Ca:1,Kc:1,nd:2,jd:4,kd:16,ld:32,md:64,mb:8},wd:{Ca:2,pe:3,Se:4,re:8,Fe:16,Ge:32,He:64,se:128,mb:0},Oe:{Ca:3},Me:{Ca:2,Ce:7},Qe:{Ca:3,Te:1,Pe:2,Ie:4,ze:8,te:16,je:32},Ne:{Ca:4},Re:{Ca:5,ve:1,we:2,xe:4,ye:8,Ue:16}},V={Ba:100,Ka:{Ca:66,mc:1,bc:2,fd:4,Ee:8,De:16,dc:32,cc:64,Yb:128},Ic:{Ca:66,INIT:0},Ta:{Ca:194,le:0,Wb:16,pd:32,ic:48,Sc:0,Tc:32},Ab:{Ca:162,Le:0,Vc:0,Rc:0,Uc:0,Qc:0},La:{Ae:{Ca:98},Sa:{Fc:0,Ec:1,sd:2,Bd:4,Lc:5,qd:6,td:7}, -Cb:16383}},Od={SI1978:U,VT100:V};S.prototype.pa=function(){return!1};S.prototype.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;this.B=a;this.J=tb(a,"Keyboard");this.Fa=tb(a,"SerialPort");this.video=tb(a,"Video");Pb(b,this,this.w.Gb);Tb(b,this,this.w.Hb);if(d){var e=this;Pd(d,16384,function(){for(var a="",b=0;b>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.$d=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.be=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ra=b};l.ae=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.Y=b<<8|this.Y>>8}; -l.ce=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.ma=b};l.de=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Qd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -l.Td=function(a,b){var c=this.K,c=c&~V.Ka.cc;if((Fc(this.b)&64)<<1&&(c|=V.Ka.cc,c!=this.K)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case V.La.Sa.td:break;case V.La.Sa.Ec:this.P=this.P<<1|d;break;case V.La.Sa.Lc:d=Qd(this);this.I[d]=V.La.Cb;hb(this,"doNVRCommand(): erase data at addr "+u(d));break;case V.La.Sa.Fc:this.j=this.j<<1|d;break;case V.La.Sa.Bd:d=Qd(this);e=this.j&V.La.Cb;this.I[d]=e;hb(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case V.La.Sa.qd:d=Qd(this);e=this.I[d]; -null==e&&(e=V.La.Cb);this.j=e;hb(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case V.La.Sa.sd:this.j<<=1;this.ca=this.j&V.La.Cb+1;break;default:hb(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~V.Ka.dc;this.ca&&(c|=V.Ka.dc);c&=~V.Ka.Yb;if(d=this.J){d=this.J;if(e=d.D)e=d.b,e=Fc(d.b)>=d.K+e.Y*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=V.Ka.Yb);c&=~V.Ka.mc;this.Fa&&this.Fa.Da&1&&(c|=V.Ka.mc);this.K=c;E(this,a,null,b,"FLAGS",c);return c}; -l.ee=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ha=b};l.he=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.ge=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.D=this.D&-4|a;break;case 1:this.D=this.D&-13|a<<2;this.video&&(b=this.video,a=this.D,hb(b,"updateScrollOffset("+a+")"),b.eb!==a&&((b.eb=a)?Mc(b,!0):b.ob=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ja=a}}; -l.fe=function(a,b,c){E(this,a,b,c,"DC011");b&V.Ta.pd?(b&=V.Ta.ic,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==V.Ta.ic?50:60,hb(a,"updateRate("+b+")"),a.qc=b))):(b&=V.Ta.Wb,this.L!=b&&(this.L=b,this.video&&(a=this.L==V.Ta.Wb?132:80,b=this.video,hb(b,"updateDimensions("+a+","+(80>>0,g],q=pa(p,k,a.uc);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.G.push({gf:b,F:c,Vd:d,Qa:e,tc:f})}delete this.Qa}return!0};Td.prototype.Ia=function(){return!0}; -function Ud(a,b,c,d){if(d)a.ka("Unable to load system ROM (error "+d+": "+b+")");else{bb(a.Bb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.B=f;else if(g)for(a.B=Array(4*g.length),d=c=0;c>8&255,a.B[d++]=g[c]>>16&255,a.B[d++]=g[c]>>24&255;else a.B=e;a.Qa=e.symbols;if(!a.B.length){w("Empty ROM: "+b);return}if(1==a.B.length){w(a.B[0]);return}}catch(h){a.ka("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.B=Array(b.length),e=0;e>>f.ia;0>>=f.ia;0d?a.j.push({Rb:b,Ob:Date.now(),Db:!1}):(a.j[d].Ob=Date.now(),a.j[d].Db=!1);else if(0<=d){if(!a.j[d].Db){var e=a.j[d].Ob;if(e&&100>Date.now()-e)return a.j[d].Db=!0,ge(a),!0}a.j.splice(d,1)}if(a.I){d=0;switch(b){case "1p":d=U.Ya.jd;break;case "2p":d=U.Ya.nd;break;case "coin":d=U.Ya.Kc;break;case "left":d=U.Ya.ld;break;case "right":d=U.Ya.md;break;case "fire":d=U.Ya.kd}d&&(a=a.I,b=d,a.G&=~b,c&&(a.G|=b))}return!0} -function ge(a){for(var b=0,c=-1;bc||c>e)c=e}else{ee(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){ge(a)},c)}l.Ud=function(a,b){var c=this.G;0<=this.w&&(this.w>3)*a.ba,!xb(a.u,a.Ua,a.P,3)))return!1;a.P?(a.lc=a.I.createImageData(b,c),a.oc=16/a.Va|0,me(a,a.P>>1)):me(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.nb=a.L.getContext("2d");a.fa={};a.ra=1<=a.fc?8:16,f=8>(7>4)*c)}return k}he.prototype.Ea=function(){return!0};he.prototype.pa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Jb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.gb?c.onclick=function(){d.gb()}:c.parentNode.removeChild(c),!0}return!1}; -he.prototype.gb=function(){var a=!1;if(this.j){if(this.j.gb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Y/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.kc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.gb();a=!0}this.la&&this.la.focus()}return a}; -function ke(a,b){!b&&a.j&&(a.kc?a.M.style.width=a.M.style.height="":a.j.style.width=a.j.style.height="");hb(a,"notifyFullScreen("+b+")")}function me(a,b){a.nc=b;a.ja=!1;if(void 0===a.G||a.G.length!=a.nc)a.G=Array(a.nc)}function oe(a,b,c,d,e){d=a.w?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ma&&(208<=c&&236>c?e=a.ra+0:28<=c&&72>c&&(e=a.ra+1));a=a.ha[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Mc(a,b){var c=!0;if(!b){a.Wa&&(120==a.Wa?a.pc&1?(Hd(a.b,2),c=!1):Hd(a.b,1):Hd(a.b,4));if(c&&a.ja&&a.P){for(var d=a.u,e=a.P,f=!0,g=a.Ua>>>d.ia;0>=1);;){var v=Ab(a.u,p++);if(127==(v&127)){var r=Ab(a.u,p++),d=r&96,c=(r&15)<<8|Ab(a.u,p),c=c+ -(r&16?8192:16384);break}if(n>4)*v.na,C,T,da,X,ta=v.sa,Cb=v.na;y?(C=x*r.sa,T=e*r.na,da=r.sa,X=r.na):(C=x*r.gc,T=e*r.hc,da=r.gc,X=r.hc);v.sa>r.sa&&(C*=2,da*=2);v.na>r.na&&(q||(G+=r.na),Cb=r.na);y?y.drawImage(v.canvas,ga,G,ta,Cb,C,T,da,X):(C+=0,T+=0,r.I.drawImage(v.canvas, -ga,G,ta,Cb,C,T,da,X))}h++}g++}e++}}a.ja=!0;!b&&a.ob&&1==h&&(a.G[k]=-1,h=0);a.ob=!1;(h||b)&&a.nb&&a.I.drawImage(a.L,0,a.eb,a.K,a.ba-a.na,0,0,a.Dc,a.Gd)}else{e=a.Ua;f=e+a.P;k=h=g=0;b=a.K;n=0;c=a.ba;q=d=0;p=a.Va;x=(1<>8|(r&255)<<8);h>y&x,oe(a,a.lc,h++,k,ga),y+=p;h>n&&(n=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.K&&(h=0,k++,k>a.ba))break}a.ja=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=wa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Va.aspect);f&&.3<=f&&3.33>=f&&(Ma("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ca("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new he(d,e,g,f,c);fb(d,c)}}); -function pe(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ha=0;this.la=2;break;default:w("Unrecognized serial adapter #"+this.fa);return}this.j=this.w=null;this.ja=a.tabSize;this.ea=a.charBOL;this.D=0;this.ba=!1;z.call(this,"SerialPort",a,pe,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=qe;b&&(void 0===c&&(c="Panel"),(c=eb(c,this.id))&&(b=c.N[b])&&this.pa(null,a,b))}this.G="";this.J=this.M=null;this.exports={connect:this.zc,receiveData:this.Qb}}A(pe); -var re=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],se=[!1,0,0,133,142,39,238],qe="buffer";l=pe.prototype; -l.pa=function(a,b,c,d){var e=this;switch(b){case qe:return this.N[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.cb)return;b=na(b[1]);if(this.J=db(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.M=d.receiveData){this.status(this.Bb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ea=function(a,b){if(!b)if(this.zc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -l.Ia=function(a){return a?this.save():!0};l.reset=function(){we(this)};l.save=function(){var a=new J(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Y;c[b++]=this.ca;c[b++]=this.Da;c[b++]=this.K;c[b++]=this.P;c[b]=this.O;a.set(0,c);return a.data()};l.restore=function(a){return we(this,a[0])};function we(a,b){var c=0;b||(b=se);a.L=b[c++];a.Y=b[c++];a.ca=b[c++];a.Da=b[c++];a.K=b[c++];a.P=b[c++];a.O=b[c];return!0} -function xe(a,b){var c=a.O&b;b&15||(c>>=4);b=re[c];c=((a.K&12)>>2)+6;a.K&16&&c++;c+=((a.K&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function te(a,b){hb(a,"receiveByte("+ca(b)+"), status="+ca(a.Da));return a.ba||a.Da&2?!1:(a.Y=b,a.Da|=2,Hd(a.b,a.la),!0)}l.Qb=function(a){null!=a&&(this.G="number"!=typeof a?a:this.G+String.fromCharCode(a));this.G&&(te(this,this.G.charCodeAt(0))&&(this.G=this.G.substr(1)),this.G&&this.b&&Kc(this.b,this.ra,xe(this,15)));return!0}; -l.Od=function(a,b){var c=this.Y;E(this,a,null,b,"DATA",c);this.Da&=-3;return c};l.Nd=function(a,b){var c=this.Da;E(this,a,null,b,"STATUS",c);return c}; -l.Zd=function(a,b,c){E(this,a,b,c,"DATA");this.ca=b;this.Da&=-6;hb(this,"transmitByte("+ca(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.M&&this.M.call(this.J,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ja||8,c=b-this.D%b,this.ja&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.ea&&!this.D&&c&&(a=String.fromCharCode(this.ea)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight, -this.D+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Kc(this.b,this.ma,xe(this,240))};l.Yd=function(a,b,c){E(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.K=b,this.L=!0)};l.Xd=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b};var ue={0:pe.prototype.Od,1:pe.prototype.Nd},ve={0:pe.prototype.Zd,1:pe.prototype.Yd,2:pe.prototype.Xd}; -Na(function(){for(var a=D(document,"pc8080","serial"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ye.prototype.Mb=function(){return-1};ye.prototype.Nb=function(){}; -ye.prototype.Fb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Ae(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Be(a,b,c){var d;if(b){b=Ce(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function Ge(a,b){if(b)return Ee(a,b,a.ea[b]);var c=0;for(b in a.ea)Ee(a,b,a.ea[b]),c++;return 0>>d.u.ia;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.g("..."):(c=p.type,n=zb[c],p&&d.g(t(p.id)+" %"+t(e<>>e.ia;f!=e.u?e.X[g].Tb(f,b&65535,d):(e.X[g++].zb(f,b&255,d),e.X[g&e.G].zb(0,b>>8&255,d+1));c&&sf(a,c);Dc(this.b,!0)}};function Y(a){return{F:a,Oa:!1}}function tf(a){return[a.F,a.Oa]}function uf(a){return{F:a[0],Oa:a[1]}} -function Se(a,b,c){var d;c=(c?a.M:a.Ua).F;if(void 0!==b){d=b=Ce(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=sa(Pe,a.substr(b,1))));return c};function xf(a,b){var c=0;a=a.Nb(b);if(void 0!==a)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(a,c):"??"} -l.Nb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.S;break;case 1:b=c.T;break;case 8:b=Uc(c);break;case 2:b=c.U;break;case 3:b=c.V;break;case 9:b=Wc(c);break;case 4:b=c.W;break;case 5:b=c.Z;break;case 10:b=K(c);break;case 6:b=c.aa(K(c));break;case 11:b=c.oa;break;case 12:b=c.R;break;case 13:b=Tc(c);break;case 14:b=Tc(c)&255|c.i<<8}}return b}; -function yf(a,b){b=Ce(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Mb(b,c+1),0<=e&&(b=b.substr(0,c)+xf(a,e)+b.substr(c+1+Pe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Se(a,e))?(d=e+' "'+wf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Se(a,e))?(sf(d),d=e+ -' "'+wf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(Y(this.b.R).F));this.ta&1073741824?this.ra.push(a):this.la&&a==this.la||(this.la=a,this.ta&-2147483648&&(this.qa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Lc(a),a.P=0,Dc(a)))}; -function gb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ta&h)!=h||a.message(b.cb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))} -function Ke(a){var b;if(Id(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b>>d.ia],!1)}a.O=["br"];if(a.D)for(b=1;b>>d.ia],!0);a.D=["bw"];a.Wa=0}l.Za=function(a,b,c){var d=!0;c||Df(this,a,b,!1,!0);if(a!=this.I){var e=Re(b);if(-1===e)this.g("invalid address: "+Z(b.F)),d=!1;else{var f=this.u;f.X[e>>>f.ia].Za(e&f.u,a==this.D)}}d&&(a.push(b),c?b.Oa=!0:(Ef(this,a,a.length-1,"set"),Ke(this)));return d}; -function Df(a,b,c,d,e){var f=!1;c=Re(c);for(var g=1;g>>d.ia],b==a.D));h.Oa||Ke(a);break}}return f}function Ff(a,b){for(var c=1;c>24,4);break;case 3:y=t(v.$a(y,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?y="["+y+"]":r&16||(y=(v.style==Ie?"$":"0x")+y);v=y}else r&16? -(v=(q&3840)>>8,r=Pe[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Vd;if(e>=g&&e>8&255;case "C":d.T=f&255;break;case "D":d.U=f&255;break; -case "DE":d.U=f>>8&255;case "E":d.V=f&255;break;case "H":d.W=f&255;break;case "HL":d.W=f>>8&255;case "L":d.Z=f&255;break;case "SP":d.oa=f&65535;break;case "PC":I(d,f);a.M=Y(d.R);break;case "PS":Rc(d,f);break;case "PSW":Rc(d,f&255|d.ua&-256);d.i=f>>8;break;case "CF":d.da=f?d.da|256:d.da&255;break;case "PF":f?ad(d)||(d.ga^=1):ad(d)&&(d.ga^=1);break;case "AF":d.ya=f?~d.ga&16|d.ya&-17:d.ga&16|d.ya&-17;break;case "ZF":d.da=f?d.da&-256:d.da|255;break;case "SF":f?dd(d)||(d.ga^=192):dd(d)&&(d.ga^=192);break; -case "IF":d.ua=f?d.ua|512:d.ua&-513;break;default:a.g("unknown register: "+e);return}Dc(d);a.g("updated registers:")}a.g(Kf(a));c&&(a.M=Y(d.R),Bf(a,Z(a.M.F)))}}function Rf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(yf(a,c[2])):Be(a,b,!0)}function Sf(a,b,c){var d="t"!=b;c=De(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Da(c,function(){return jb(a,!0)&&a.kb(e,d,!1)},function(){Dc(a.b);jb(a,!1)})} -function Bf(a,b,c,d){if(b=Se(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Se(a,c,!0);if(!d||d.Fh[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.g(n)}h[3]&&(g=h[3],f=null);f=Hf(a,b,g,f);a.g(f);a.M=b;e-=b.F-k;c++}}} -l.Fb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Gf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.P&&(a.g("ended assemble at "+Z(a.ca.F)),a.M=a.ca,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.la=null;if(nb(a)&&0n||"z"Fa.length&&(a.g("note: only "+Fa.length+" available"),ia=Fa.length);ua-=ia;0>ua&&(null==Fa[Fa.length-1].F?(ia=ua+ia,ua=0):ua+=Fa.length);var ld=[];"call"==Ye&&(Gb=1E5,ld=["CALL"]);for(void 0!==Xe&&a.g(ia+" instructions earlier:");0< -Gb&&ua!=a.fa;){var af=Fa[ua++];if(null==af.F)break;var Hb=Y(af.F),kg=ia--,bf=Hf(a,Hb,"history",kg);(!ld.length||0<=bf.indexOf(ld[0]))&&a.g(bf);Hb.Lb&&(ua+=Hb.Lb,Gb-=Hb.Lb,ia-=Hb.Lb);ua>=Fa.length&&(ua=0);a.eb=ia;$e++;Gb--}}$e||(a.g("no "+Ze+"history available"),a.eb=void 0)}else{var oc=Se(a,X);if(oc){var pc=0;ta&&("l"==ta.charAt(0)&&(ta=ta.substr(1)||Cb),pc=De(a,ta)>>>0,65536>4||1;lg--&&0tc?String.fromCharCode(tc):".";rc--}Ib&&(Ib+="\n");Ib+=X+" "+nd+(Jb?"":" "+cf)}Ib&&a.g(Ib);a.Ua=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,df=255,ef=a.aa,ff=a.va;"ew"==f[0]&&(uc=2,df=65535,ef=a.$a,ff=a.Ib);var gf=uc<<1,hf=f[1];if(null==hf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a"); -else{var vc=Se(a,hf);if(vc)for(var wc=2;wcud;){for(var Wa=null,rg=256;65536>Mb.F>>>0;){kf.F=a.$a(Mb,2);if(null==Mb.F||!rg--)break;for(var sg=a,yc=kf,lf= -null,Nb=yc.F,mf=Nb,vd=1;6>=vd&&Nb;vd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bWf){if(Yf(d,this.L)){this.D=new J(this,"1.30.0","failsafe");Yf(this.D)&&(cg(this,d),a=2,dg(this.D));this.D.set("timestamp",ra());eg(this.D);var e=this.B&&!this.J;if(1==a||xa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=bg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Yf(d,g):("error"== -f&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.j=null)):this.g(f+": "+g),dg(d),Yf(d)?(c=bg(d),e=!0):c=!1))}e&&ag(this,c?d:null)}else 2==a&&d.clear()}else ag(this);delete this.L;delete this.M}e=cb(this.id);for(f=0;fa[1];a=a[2];this.ha=!0;this.C.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(fg(this,this.b,b,c,a),this.b.rb());this.Y&&(cg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0}; -function cg(a,b){if(xa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.0"};d.url=a.fa;d.user=c;d.type="bug";d.data=b;va("http://www.pcjs.org/api/v1/report",d,!0)}} -function Tf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new J(a,"1.30.0"),g=new J(a,"1.30.0","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.0");f.set("url",window?window.location.href:null);f.set("browser",wa());a.b&&a.b.Ia&&(c&&a.b.qa(),d=a.b.Ia(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.xa=!1,!1===d&&(e=null)));for(var h=cb(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);zg(a,b,c)}})}else c(a,null)} -function Ag(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--jg||Qa(!0));k=!1}var g,h,k=!0;jg++;ab[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=n:q.appendChild(document.createTextNode(n));p.appendChild(q)}c|| -(c="/versions/pc8080/1.30.0/components.xsl");n=function(d,h){h?xg(c,null,null,!1,e,function(d,k){k?(bb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jg||Qa(!0)):f("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),--jg||Qa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?xg(b,a,d,!0,e,n):yg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Qa(!1);return Ag(a,b,c,d)};window.enableEvents=Qa;window.sendEvent=Sa;})(); diff --git a/versions/pc8080/1.30.0/pc8080.js b/versions/pc8080/1.30.0/pc8080.js deleted file mode 100644 index 2b1b8ebac..000000000 --- a/versions/pc8080/1.30.0/pc8080.js +++ /dev/null @@ -1,166 +0,0 @@ -(function(){var k,m={pd:1,qd:3,rd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,jb:65,Mb:66,Ob:67,mb:68,E:69,Rb:70,Sb:71,Tb:72,Ub:73,ac:74,bc:75,ob:76,ic:77,jc:78,mc:79,nc:80,Q:81,tc:82,wc:83,Bc:84,Cc:85,Dc:86,Ec:87,Gc:88,Hc:89,Ic:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Zd:97,$d:98,ae:99,d:100,e:101,be:102,ce:103,de:104,ee:105,fe:106,k:107,ge:108, -he:109,n:110,ie:111,p:112,q:113,r:114,je:115,t:116,ke:117,le:118,me:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date}; -function ka(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function la(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")} -function q(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}var na=null;function oa(){if(null==na){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}na=a}return na}function pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} -function qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ra(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 ta={init:[],show:[],exit:[]},ua=!1,va=!1,wa=!0;function xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ya(a){ta.init.push(a)} -function za(a){if(wa)try{for(var b=0;bb?this.Sa=this.id:(this.Ta=this.id.substr(0,b),this.Sa=this.id.substr(b+1));this[a]=c;this.l={ready:!1,Wa:!1,eb:!1,Y:!1,error:!1};this.Za=null;this.l.error=!1;this.A={};this.N=null;v.push(this)}var Da=void 0,Ea={}; -if(window){Da||(Da=window.location.search.substr(1));for(var Fa,Ga=/\+/g,Ha=/([^&=]+)=?([^&]*)/g;Fa=Ha.exec(Da);)Ea[decodeURIComponent(Fa[1].replace(Ga," "))]=decodeURIComponent(Fa[2].replace(Ga," "))}function Ia(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=r);a.prototype=Ia(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ja=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ja={},v=[];function Ka(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function Aa(a,b,c){b||q((c?c+": ":"")+a)} -function La(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.j&&(this.j=10);15>2;this.f=this.c-1;this.i=this.u/this.c|0;this.o=this.i-1;this.m=[];this.v=[];this.B=[];this.C=[];a=new D;Ya(a,this.N);this.b=Array(this.i);for(b=0;b>>a.j;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Ma)return h.cb+=h.Ma-e,h.Ma=e,!0;if(e>=h.Ma+h.cb){n=h.size-(e-l);n>f&&(n=f);h.cb=e-h.Ma+n;e=l+a.c;f-=n;g++;continue}}return $a(1,e,f)}e=new D(e,n,a.c,d);Ya(e,a.N,h);a.b[g++]=e;e=l+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ab[d]+" at "+p(b,4,!0)),!0):$a(2,b,c)}Xa.prototype.J=function(a){return this.b[(a&this.g)>>>this.j].Pa(a&this.f,a)}; -function bb(a,b){return a.b[(b&a.g)>>>a.j].bb(b&a.f,b)}function cb(a,b){var c=b&a.f,d=(b&a.g)>>>a.j;return c!=a.f?a.b[d].kd(c,b):a.b[d++].Pa(c,b)|a.b[d&a.o].Pa(0,b+1)<<8}Xa.prototype.aa=function(a,b){this.b[(a&this.g)>>>this.j].Qa(a&this.f,b&255,a)};function db(a,b,c){a.b[(b&a.g)>>>a.j].Hb(b&a.f,c&255,b)}function fb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.j;d!=a.f?a.b[e].ld(d,c&65535,b):(a.b[e++].Qa(d,c&255,b),a.b[e&a.o].Qa(0,c>>8&255,b+1))} -function gb(a){for(var b=0,c=[],d=0;d>1),this.a=new Int32Array(this.j,0,c>>2),pb(this,lb?qb:rb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},C:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},I: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},S:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.na=!0},w:function(a,b){return this.bb(a,b)},K:function(a,b){return this.Eb(a,b)},O:function(a,b,c){this.c||this.Hb(a,b,c)},W:function(a, -b,c){this.c||this.X(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.A.getUint16(a,!0)},H:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},L:function(a,b){this.b[a]=b;this.na=!0},R:function(a,b){this.b[a]=b;this.na=!0},T:function(a,b){this.A.setUint16(a,b,!0);this.na=!0},Z:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.na=!0}};function Ya(a,b,c){a.N=b;a.f=a.g=0;c&&((a.f=c.f)&&tb(a,ub,!1),(a.g=c.g)&&vb(a,ub,!1))} -function vb(a,b,c){c&&a.g||(a.Qa=!a.c&&b[1]||a.o,a.ld=!a.c&&b[3]||a.s);if(c||void 0===c)a.Hb=b[1]||a.o,a.X=b[3]||a.s}function tb(a,b,c){c&&a.f||(a.Pa=b[0]||a.m,a.kd=b[2]||a.v);if(c||void 0===c)a.bb=b[0]||a.m,a.Eb=b[2]||a.v}function pb(a,b){b||(b=wb);tb(a,b,void 0);vb(a,b,void 0)}var wb=[],sb=[D.prototype.C,D.prototype.S,D.prototype.I,D.prototype.ea],ub=[D.prototype.w,D.prototype.O,D.prototype.K,D.prototype.W]; -if(Sa)var rb=[D.prototype.u,D.prototype.L,D.prototype.G,D.prototype.T],qb=[D.prototype.B,D.prototype.R,D.prototype.H,D.prototype.Z];function xb(a,b){r.call(this,"CPU",a,xb);var c=a.multiplier||1;this.la=a.cycles||b;this.I=c;this.Ca=Math.round(this.la/1E4)/100;this.W=this.Ca*this.I;this.l.oa=!1;this.l.Fb=!1;this.l.Na=a.autoStart;this.l.yb=!1;this.l.Xa=!1;this.ta=this.X=0;this.ua=a.csStart;this.Z=a.csInterval;this.ea=a.csStop;this.G=[];this.Va=this.hb.bind(this);B(this)}w(xb);var yb=["power","reset"]; -k=xb.prototype;k.qa=function(a,b,c,d){this.v=a;this.j=b;this.N=d;for(b=0;ba.O/a.W&&(b=1);a.I=b;b=a.Ca*a.I;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.A.setSpeed;d&&(d.textContent=b);a.da("target speed: "+b)}c&&a.v&&Ib(a.v)}Fb(a,a.L);a.L=0;a.H=ja();a.R=0;Gb(a)}function Jb(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Lb(a,b,c){0<=b&&ba.G[b][0]&&(c*=a.la*a.I/1E3,a.G[b][0]=c)}function Mb(a){a.S-=a.a;a.a=0} -k.hb=function(a){if(Qa(this,!0)){if(!this.l.oa){Eb(this);this.v&&this.v.start(this.H,Hb(this));this.l.oa=!0;this.l.Fb=!0;this.K&&this.K.start();var b=this.A.run;b&&(b.textContent="Halt");this.v&&(this.v.Aa(!0),a&&Ib(this.v,!0))}this.Da>=this.la&&Gb(this,!0);this.pa=0;this.sa=ja();this.R&&(a=this.sa-this.R,a>this.Ka&&(this.H+=a,this.H>this.sa&&(this.H=this.sa)));try{do{for(var c=this.l.Xa?1:this.xa,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}this.Gb(c);var f=this.S-this.a; -a=f;for(var 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.pa+=f;this.L+=f;Fb(this,0,!0);a=f;this.l.Xa&&(b=!1,this.ta=this.ta+this.Bb()|0,this.X-=a,0>=this.X&&(this.X+=this.Z,b=!0),0<=this.ea&&this.ea<=Hb(this)&&(this.Z=this.ea=-1,Bb(this),Db(this),b=!0),b&&this.da(Hb(this)+" cycles: checksum="+p(this.ta)));this.ja-=f;if(0>=this.ja){this.ja+=this.xa;15<=++this.La&&(this.v&&this.v.Aa(),this.La=0);break}}while(this.l.oa)}catch(l){Db(this);Cb(this);this.v&& -this.v.stop(ja(),Hb(this));Qa(this,!1);c=l.stack||l.message;this.l.error=!0;this.M(c);return}c=setTimeout;d=this.Va;this.R=ja();e=this.Ka;this.pa&&(e=Math.round(e*this.pa/this.xa));e-=this.R-this.sa;if(f=this.R-this.H)this.O=Math.round(this.L/(10*f))/100,864E5<=f&&(this.T=0,Eb(this));if(0>e||this.Oe&&(this.H-=e),e=0;this.Da+=this.pa;this.R+=e;c(d,e)}else Cb(this),this.v&&this.v.stop(ja(),Hb(this))};k.Gb=function(){return 0}; -function Db(a){a.l.Wa&&(a.l.eb=!0);Mb(a);Fb(a,a.L);a.L=0;if(a.l.oa){a.l.oa=!1;a.K&&a.K.stop();var b=a.A.run;b&&(b.textContent="Run")}a.l.complete=void 0}function Cb(a){if(a.v){for(var b=a.v,c=0;c>8&255;a.D=b&255}function Xb(a){return a.f<<8|a.F}function Yb(a,b){a.f=b>>8&255;a.F=b&255}function G(a){return a.g<<8|a.i} -function I(a,b){a.g=b>>8&255;a.i=b&255}function E(a,b){a.o=b&65535}function J(a){return a.m&256?1:0}function K(a,b){a.m=a.m&255|b}function Zb(a){return Ta[a.s&255]?4:0}function Ub(a){return a.C&-214|(a.s&128?128:0)|(a.m&255?0:64)|((a.s^a.w)&16?16:0)|Zb(a)|J(a)}function Sb(a,b){a.m=a.s=a.w=0;b&1&&(a.m|=256);b&4||(a.s|=1);b&16&&(a.w|=16);b&64||(a.m|=255);b&128&&(a.s^=192);a.C=a.C&-726|b&512|2}function L(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b)&255} -function $b(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?1:0))&255}function ac(a,b){a.m=a.s=a.w=a.b&b;(a.b|b)&8&&(a.w^=16);return a.m}function bc(a,b){a.w=b^255;b=a.s=b+255&255;a.m=a.m&-256|b;return b}function cc(a,b){a.w=b;b=a.s=b+1&255;a.m=a.m&-256|b;return b}function dc(a,b){return a.s=a.m=a.w=a.b|b}function M(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+1^256)&255}function ec(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function fc(a,b){return a.s=a.m=a.w=a.b^b}k.J=function(a){return this.j.J(a)}; -k.aa=function(a,b){this.j.aa(a,b)};function N(a){var b=a.J(a.o);E(a,a.o+1);return b}function O(a){var b=cb(a.j,a.o);E(a,a.o+2);return b}function P(a){var b=cb(a.j,a.u);a.u=a.u+2&65535;return b}function R(a,b){a.u=a.u-2&65535;fb(a.j,a.u,b)}function gc(a){if(a.a&&a.B&255&&a.C&512){for(var b=0;8>b&&!(a.B&1<b?255:1<>8;K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Vb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5}, -function(){this.D=cc(this,this.D);this.a-=5},function(){this.D=bc(this,this.D);this.a-=5},function(){this.D=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;K(this,a);this.a-=4},ic,function(){Yb(this,O(this));this.a-=10},function(){this.aa(Xb(this),this.b);this.a-=7},function(){Yb(this,Xb(this)+1);this.a-=5},function(){this.f=cc(this,this.f);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|J(this); -K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Xb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Xb(this));this.a-=7},function(){Yb(this,Xb(this)-1);this.a-=5},function(){this.F=cc(this,this.F);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(J(this)<<8|this.b)>>1;K(this,a&256);this.a-=4},ic,function(){I(this,O(this));this.a-=10},function(){var a=O(this);fb(this.j,a,G(this));this.a-=16},function(){I(this, -G(this)+1);this.a-=5},function(){this.g=cc(this,this.g);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=N(this);this.a-=7},function(){var a=0,b=J(this);if((this.s^this.w)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=L(this,a);K(this,b?256:0);this.a-=4},ic,function(){var a;I(this,a=G(this)+G(this));K(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=cb(this.j,a);I(this,a);this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.i=cc(this,this.i); -this.a-=5},function(){this.i=bc(this,this.i);this.a-=5},function(){this.i=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},ic,function(){this.u=O(this)&65535;this.a-=10},function(){this.aa(O(this),this.b);this.a-=13},function(){this.u=this.u+1&65535;this.a-=5},function(){var a=G(this);this.aa(a,cc(this,this.J(a)));this.a-=10},function(){var a=G(this);this.aa(a,bc(this,this.J(a)));this.a-=10},function(){this.aa(G(this),N(this));this.a-=10},function(){this.m|=256;this.a-=4},ic,function(){var a; -I(this,a=G(this)+this.u);K(this,a>>8&256);this.a-=10},function(){this.b=this.J(O(this));this.a-=13},function(){this.u=this.u-1&65535;this.a-=5},function(){this.b=cc(this,this.b);this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){K(this,J(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.F;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.i; -this.a-=5},function(){this.c=this.J(G(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.J(G(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.a-=5},function(){this.f=this.F;this.a-= -5},function(){this.f=this.g;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.J(G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.F=this.c;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.J(G(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.D;this.a-= -5},function(){this.g=this.f;this.a-=5},function(){this.g=this.F;this.a-=5},function(){this.a-=5},function(){this.g=this.i;this.a-=5},function(){this.g=this.J(G(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.i=this.c;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.i=this.g;this.a-=5},function(){this.a-=5},function(){this.i=this.J(G(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.aa(G(this), -this.c);this.a-=7},function(){this.aa(G(this),this.D);this.a-=7},function(){this.aa(G(this),this.f);this.a-=7},function(){this.aa(G(this),this.F);this.a-=7},function(){this.aa(G(this),this.g);this.a-=7},function(){this.aa(G(this),this.i);this.a-=7},function(){var a=this.o-1;if(this.ra.length)for(var b=0;b>>=f)&l;if(void 0!==g&&g[0])g[0](a,l,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=O(this);J(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Xb(this));this.a-=11},function(){this.b=M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,16);this.a-=11},function(){J(this)&&(E(this,P(this)),this.a-=6);this.a-=5},kc,function(){var a=O(this);J(this)&&E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.o+-2&65535,d=1,e=0, -f=0;0>8;this.a-=10},function(){var a=O(this);this.s&128||E(this,a);this.a-=10},function(){this.C&=-513;this.a-=4},function(){var a=O(this);this.s&128||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this, -Ub(this)&255|this.b<<8);this.a-=11},function(){this.b=dc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,48);this.a-=11},function(){this.s&128&&(E(this,P(this)),this.a-=6);this.a-=5},function(){this.u=G(this)&65535;this.a-=5},function(){var a=O(this);this.s&128&&E(this,a);this.a-=10},function(){this.C|=512;this.a-=4;gc(this)},function(){var a=O(this);this.s&128&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,56); -this.a-=11}];function T(a){r.call(this,"ChipSet",a,T);var b=a.model;b&&!mc[b]&&Aa("Unrecognized ChipSet model: "+b);this.c=mc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(T); -var V={ba:1978.1,zc:{ca:0,td:1,xd:16,Ed:32,Nd:64,Md:128,Fa:14},za:{ca:1,Pb:1,sc:2,oc:4,pc:16,qc:32,rc:64,Fa:8},Ac:{ca:2,sd:3,Wd:4,ud:8,Id:16,Jd:32,Kd:64,vd:128,Fa:0},Rd:{ca:3},Pd:{ca:2,Fd:7},Td:{ca:3,Xd:1,Sd:2,Ld:4,Cd:8,wd:16,md:32},Qd:{ca:4},Ud:{ca:5,yd:1,zd:2,Ad:4,Bd:8,Yd:16}},W={ba:100,ka:{ca:66,vb:1,kc:2,lc:4,Hd:8,Gd:16,sb:32,rb:64,nb:128},Nb:{ca:66,INIT:0},wa:{ca:194,od:0,lb:16,uc:32,tb:48,Xb:0,Yb:32},Ra:{ca:162,Od:0,$b:0,Wb:0,Zb:0,Vb:0},ma:{Dd:{ca:98},Ba:{Kb:0,Jb:1,xc:2,Fc:4,Qb:5,vc:6,Vd:7}, -Ua:16383}},mc={SI1978:V,VT100:W};T.prototype.V=function(){return!1};T.prototype.qa=function(a,b,c,d){this.j=b;this.a=c;this.N=d;this.v=a;this.m=Va(a,"Keyboard");this.Z=Va(a,"SerialPort");this.video=Va(a,"Video");hb(b,this,this.c.$a);ib(b,this,this.c.ab)};T.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.ia=function(a){return a?this.save():!0};V.INIT=[[V.zc.Fa,V.za.Fa,V.Ac.Fa,0,0,0,0]]; -W.INIT=[[W.Nb.INIT,W.ka.kc|W.ka.lc],[W.wa.Xb,W.wa.Yb],[W.Ra.$b,W.Ra.Wb,W.Ra.Zb,W.Ra.Vb],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], -[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=T.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.M("reset error")}; -k.save=function(){var a=new F(this);switch(this.c.ba){case V.ba:a.set(0,[this.W,this.g,this.X,this.C,this.H,this.S,this.T]);break;case W.ba:a.set(0,[this.L,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.O]),a.set(3,[this.B,this.b,this.w,this.K,this.i])}return a.data()}; -k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ba){case V.ba:return this.W=b[0],this.g=b[1],this.X=b[2],this.C=b[3],this.H=b[4],this.S=b[5],this.T=b[6],!0;case W.ba:return this.L=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.O=b[3],b=a[3],this.B=b[0],this.b=b[1],this.w=b[2],this.K=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Sc=function(){return this.W};k.Tc=function(){return this.g};k.Uc=function(){return this.X}; -k.Rc=function(){return this.C>>8-this.H&255};k.$c=function(a,b){this.H=b};k.bd=function(a,b){this.S=b};k.ad=function(a,b){this.C=b<<8|this.C>>8};k.cd=function(a,b){this.T=b};k.dd=function(){};function nc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -k.Vc=function(){var a=this.u,a=a&~W.ka.rb;if((Hb(this.a)&64)<<1&&(a|=W.ka.rb,a!=this.u)){var b,c;b=this.w&1;switch(this.w>>1&7){case W.ma.Ba.Jb:this.B=this.B<<1|b;break;case W.ma.Ba.Qb:b=nc(this);this.i[b]=W.ma.Ua;break;case W.ma.Ba.Kb:this.b=this.b<<1|b;break;case W.ma.Ba.Fc:b=nc(this);c=this.b&W.ma.Ua;this.i[b]=c;break;case W.ma.Ba.vc:b=nc(this);c=this.i[b];null==c&&(c=W.ma.Ua);this.b=c;break;case W.ma.Ba.xc:this.b<<=1,this.K=this.b&W.ma.Ua+1}}a&=~W.ka.sb;this.K&&(a|=W.ka.sb);a&=~W.ka.nb;if(b=this.m){b= -this.m;if(c=b.f)c=b.a,c=Hb(b.a)>=b.m+c.la*c.I/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=W.ka.nb);a&=~W.ka.vb;this.Z&&this.Z.fa&1&&(a|=W.ka.vb);return this.u=a};k.ed=function(a,b){this.L=b};k.hd=function(a,b){this.w=b};k.gd=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.pa!==a&&((b.pa=a)?Nb(b,!0):b.sa=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.O=a}}; -k.fd=function(a,b){b&W.wa.uc?(b&=W.wa.tb,this.s!=b&&(this.s=b,this.video&&(this.video.Db=this.s==W.wa.tb?50:60))):(b&=W.wa.lb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==W.wa.lb?132:80,a.K=b,a.U=a.xa,80>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(h){a.M("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.j;0>>=f.j;0d?a.j.push({ib:b,fb:Date.now(),Ya:!1}):(a.j[d].fb=Date.now(),a.j[d].Ya=!1);else if(0<=d){if(!a.j[d].Ya){var e=a.j[d].fb;if(e&&100>Date.now()-e)return a.j[d].Ya=!0,Ec(a),!0}a.j.splice(d,1)}if(a.K){d=0;switch(b){case "1p":d=V.za.oc;break;case "2p":d=V.za.sc;break;case "coin":d=V.za.Pb;break;case "left":d=V.za.qc;break;case "right":d=V.za.rc;break;case "fire":d=V.za.pc}d&&(a=a.K,b=d,a.g&=~b,c&&(a.g|=b))}return!0} -function Ec(a){for(var b=0,c=-1;bc||c>e)c=e}else{Cc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Ec(a)},c)}k.Wc=function(){var a=this.g;0<=this.c&&(this.c>3)*a.G,!Za(a.j,a.ea,a.B,3)))return!1;a.B?(a.Ja=a.f.createImageData(b,c),a.La=16/a.ja|0,Kc(a,a.B>>1)):Kc(a,(a.K+1)*a.W);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.ra=a.s.getContext("2d");a.I={};a.S=1<=a.xa?8:16,f=8>(7>4)*c)}return l}Fc.prototype.ga=function(){return!0};Fc.prototype.V=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.ua[b]=c,!0;switch(b){case "fullScreen":return this.A[b]=c,this.b&&this.b.Ea?c.onclick=function(){d.Ea()}:c.parentNode.removeChild(c),!0}return!1}; -Fc.prototype.Ea=function(){var a=!1;if(this.b){if(this.b.Ea){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.w;b>c&&(a=Math.round(c/b*100)+"%")}this.Ia?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ea();a=!0}this.R&&this.R.focus()}return a}; -function Ic(a,b){!b&&a.b&&(a.Ia?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Kc(a,b){a.Ka=b;a.O=!1;if(void 0===a.i||a.i.length!=a.Ka)a.i=Array(a.Ka)}function Mc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.T&&(208<=c&&236>c?e=a.S+0:28<=c&&72>c&&(e=a.S+1));a=a.L[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nb(a,b){var c=!0;if(!b){a.la&&(120==a.la?a.Va&1?(hc(a.a,2),c=!1):hc(a.a,1):hc(a.a,4));if(c&&a.O&&a.B){for(var d=a.j,e=a.B,f=!0,g=a.ea>>>d.j;0>=1);;){var x=bb(a.j,u++);if(127==(x&127)){var t=bb(a.j,u++),d=t&96,c=(t&15)<<8|bb(a.j,u),c=c+(t&16? -8192:16384);break}if(n>4)*x.P,Z,sa,Ma,eb,yc=x.U,Kb=x.P;C?(Z=H*t.U,sa=e*t.P,Ma=t.U,eb=t.P):(Z=H*t.Ca,sa=e*t.Da,Ma=t.Ca,eb=t.Da);x.U>t.U&&(Z*=2,Ma*=2);x.P>t.P&&(y||(Q+=t.P),Kb=t.P);C?C.drawImage(x.canvas,U,Q,yc,Kb,Z,sa,Ma,eb):(Z+=0,sa+=0,t.f.drawImage(x.canvas,U,Q,yc,Kb,Z, -sa,Ma,eb))}h++}g++}e++}}a.O=!0;!b&&a.sa&&1==h&&(a.i[l]=-1,h=0);a.sa=!1;(h||b)&&a.ra&&a.f.drawImage(a.s,0,a.pa,a.o,a.G-a.P,0,0,a.Jc,a.Ib)}else{e=a.ea;f=e+a.B;l=h=g=0;b=a.o;n=0;c=a.G;y=d=0;u=a.ja;H=(1<>>t.j;t=x!=t.f?t.b[U].Eb(x,C):t.b[U++].bb(x,C)|t.b[U&t.o].bb(0,C+1)<<8;if(a.O&&t===a.i[g])h+=a.La;else{a.i[g]=t;(C=y)&&(t=t>>8|(t&255)<<8);h>C&H,Mc(a,a.Ja,h++,l,U),C+=u;h>n&&(n=h);l=d&&(d=l+1)}e+= -2;g++;if(h>=a.o&&(h=0,l++,l>a.G))break}a.O=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ea.aspect);f&&.3<=f&&3.33>=f&&(xa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ra("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Fc(d,e,g,f,c);Pa(d,c)}}); -function Nc(a){this.I=+a.adapter;switch(this.I){case 0:this.L=0;this.R=2;break;default:q("Unrecognized serial adapter #"+this.I);return}this.b=this.c=null;this.O=a.tabSize;this.H=a.charBOL;this.f=0;this.C=!1;r.call(this,"SerialPort",a,Nc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Oc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.A[b])&&this.V(null,a,b))}this.g="";this.i=this.s=null;this.exports={connect:this.Cb,receiveData:this.gb}}w(Nc); -var Pc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Qc=[!1,0,0,133,142,39,238],Oc="buffer";k=Nc.prototype; -k.V=function(a,b,c,d){var e=this;switch(b){case Oc:return this.A[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.Sa)return;b=ha(b[1]);if(this.i=Na(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.s=d.receiveData){this.status(this.Ta+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ga=function(a,b){if(!b)if(this.Cb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ia=function(a){return a?this.save():!0};k.reset=function(){Uc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.o;c[b++]=this.B;c[b++]=this.G;c[b++]=this.fa;c[b++]=this.m;c[b++]=this.w;c[b]=this.u;a.set(0,c);return a.data()};k.restore=function(a){return Uc(this,a[0])};function Uc(a,b){var c=0;b||(b=Qc);a.o=b[c++];a.B=b[c++];a.G=b[c++];a.fa=b[c++];a.m=b[c++];a.w=b[c++];a.u=b[c];return!0} -function Vc(a,b){var c=a.u&b;b&15||(c>>=4);b=Pc[c];c=((a.m&12)>>2)+6;a.m&16&&c++;c+=((a.m&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Rc(a,b){return a.C||a.fa&2?!1:(a.B=b,a.fa|=2,hc(a.a,a.R),!0)}k.gb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Rc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Lb(this.a,this.S,Vc(this,15)));return!0};k.Qc=function(){var a=this.B;this.fa&=-3;return a};k.Pc=function(){return this.fa}; -k.Zc=function(a,b){this.G=b;this.fa&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.s&&this.s.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);var c=a.length;9==b?(b=this.O||8,c=b-this.f%b,this.O&&(a=" ".slice(0,c))):13==b&&(this.f=c=0,a="\n");this.H&&!this.f&&c&&(a=String.fromCharCode(this.H)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight;this.f+=c}else if(null!= -this.c){if(10==b||1024<=this.c.length)this.da(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Lb(this.a,this.T,Vc(this,240))};k.Yc=function(a,b){this.o?(this.w=b,this.w&64&&(this.o=!1)):(this.m=b,this.o=!0)};k.Xc=function(a,b){this.u=b};var Sc={0:Nc.prototype.Qc,1:Nc.prototype.Pc},Tc={0:Nc.prototype.Zc,1:Nc.prototype.Yc,2:Nc.prototype.Xc};ya(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bYc){if($c(d,this.s)){this.i=new F(this,"1.30.0","failsafe");$c(this.i)&&(ed(this,d),a=2,fd(this.i));this.i.set("timestamp",ka());gd(this.i);var e=this.b&&!this.v;if(1==a||ma("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=dd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?$c(d,g):("error"== -f&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(qa("user",""),this.c=null)):this.da(f+": "+g),fd(d),$c(d)?(c=dd(d),e=!0):c=!1))}e&&cd(this,c?d:null)}else 2==a&&d.clear()}else cd(this);delete this.s;delete this.u}e=La(this.id);for(f=0;fa[1];a=a[2];this.L=!0;this.l.Y=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.a&&(hd(this,this.a,b,c,a),this.a.Na());this.C&&(ed(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; -function ed(a,b){if(ma("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.0"};d.url=a.I;d.user=c;d.type="bug";d.data=b;la("http://www.pcjs.org/api/v1/report",d,!0)}} -function id(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.30.0"),g=new F(a,"1.30.0","validate"),h=ka();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ia&&(c&&Db(a.a),d=a.a.ia(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.l.Y=!1,!1===d&&(e=null)));for(var h=La(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){f=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,u=/( [a-z]+=)(['"])(.*?)\2/g;n=u.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);pd(a,b,c)}})}else c(a,null)} -function qd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--md||Ba(!0));l=!1}var g,h,l=!0;md++;Ja[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));u.appendChild(y)}c|| -(c="/versions/pc8080/1.30.0/components.xsl");n=function(d,h){h?nd(c,null,null,!1,e,function(d,l){l?(Ka(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--md||Ba(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--md||Ba(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nd(b,a,d,!0,e,n):od(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(H){f(H.message)}return l}window.embedPC8080=function(a,b,c,d){Ba(!1);return qd(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Ca;})(); diff --git a/versions/pc8080/1.30.1/common.css b/versions/pc8080/1.30.1/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pc8080/1.30.1/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.30.1/common.xsl b/versions/pc8080/1.30.1/common.xsl deleted file mode 100644 index 3c763b305..000000000 --- a/versions/pc8080/1.30.1/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.30.1/components.css b/versions/pc8080/1.30.1/components.css deleted file mode 100644 index 707d508a0..000000000 --- a/versions/pc8080/1.30.1/components.css +++ /dev/null @@ -1,201 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0%; - background-color: gold; - position: absolute; - top: 0px; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0px; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-tripled { - padding: 1px; -} -.pcjs-tripled-label { - text-align: right; - padding: 8px; -} -.pcjs-ledpad { - line-height: 32px; - background-color: #000000; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } - .pdp11-device { - width: 100% !important; - max-width: none !important; - } -} diff --git a/versions/pc8080/1.30.1/components.xsl b/versions/pc8080/1.30.1/components.xsl deleted file mode 100644 index 73acc7359..000000000 --- a/versions/pc8080/1.30.1/components.xsl +++ /dev/null @@ -1,1377 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.30.1 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.30.1/document.css b/versions/pc8080/1.30.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.30.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.30.1/document.xsl b/versions/pc8080/1.30.1/document.xsl deleted file mode 100644 index 8148f4f60..000000000 --- a/versions/pc8080/1.30.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.30.1/machine.xsl b/versions/pc8080/1.30.1/machine.xsl deleted file mode 100644 index 5db8a3c41..000000000 --- a/versions/pc8080/1.30.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.1/manifest.xsl b/versions/pc8080/1.30.1/manifest.xsl deleted file mode 100644 index c4451df1b..000000000 --- a/versions/pc8080/1.30.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.30.1/outline.xsl b/versions/pc8080/1.30.1/outline.xsl deleted file mode 100644 index c3798bc17..000000000 --- a/versions/pc8080/1.30.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.1/pc8080-dbg.js b/versions/pc8080/1.30.1/pc8080-dbg.js deleted file mode 100644 index 54a4499f2..000000000 --- a/versions/pc8080/1.30.1/pc8080-dbg.js +++ /dev/null @@ -1,288 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var l,m={pe:1,qe:3,re:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Xb:65,Kc:66,Mc:67,$b:68,E:69,Pc:70,Qc:71,Rc:72,Sc:73,Zc:74,$c:75,bc:76,gd:77,hd:78,kd:79,ld:80,Q:81,rd:82,ud:83,Ad:84,Bd:85,Cd:86,Dd:87,Fd:88,Gd:89,Hd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ye:97,Ze:98,$e:99,d:100,e:101,af:102,bf:103,cf:104,df:105,ef:106,k:107,ff:108, -gf:109,n:110,hf:111,p:112,q:113,r:114,jf:115,t:116,lf:117,mf:118,nf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)} -function u(a){return t(a,4,!0)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.bb=g.load;d.Ta=g.exec;if(e=g.bytes)d.Aa=e;else if(e=g.words)for(d.Aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.Aa=Array(4*e.length),f=c=0;c>8&255,d.Aa[f++]=e[c]>>16&255,d.Aa[f++]=e[c]>>24&255;else d.Aa=g;d.Ea=g.symbols;d.Aa.length?1==d.Aa.length&&(w(d.Aa[0]),d=null):(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.gb=this.id:(this.hb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,wb:!1,Nb:!1,xa:!1,error:!1};this.Hb=null;this.C.error=!1;this.N={};this.I=null;this.ta=d||0;Ua.push(this)}var Va=void 0,Wa={}; -if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Xa=$a.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function ab(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 A(a,b){b||(b=z);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var bb=window.PCjs.Machines||(window.PCjs.Machines={}),Ua=window.PCjs.Components||(window.PCjs.Components=[])}else bb={},Ua=[];function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Qa(a,b,c){b||w((c?c+": ":"")+a)} -function db(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.ia&&(this.ia=10);15>2;this.u=this.Ja-1;this.K=this.L/this.Ja|0;this.H=this.K-1;this.A=[];this.j=[];this.F=this.D=!1;this.O=[];this.P=[];a=new G;xb(a,this.I);this.X=Array(this.K);for(b=0;b>>a.ia;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.G)return h.Cb+=h.G-e,h.G=e,!0;if(e>=h.G+h.Cb){n=h.size-(e-k);n>f&&(n=f);h.Cb=e-h.G+n;e=k+a.Ja;f-=n;g++;continue}}return zb(1,e,f)}e=new G(e,n,a.Ja,d);xb(e,a.I,h);a.X[g++]=e;e=k+a.Ja;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+u(b)),!0):zb(2,b,c)} -l.aa=function(a){return this.X[(a&this.w)>>>this.ia].nb(a&this.u,a)};function Bb(a,b){return a.X[(b&a.w)>>>a.ia].Ab(b&a.u,b)}l.cb=function(a){var b=a&this.u,c=(a&this.w)>>>this.ia;return b!=this.u?this.X[c].Dc(b,a):this.X[c++].nb(b,a)|this.X[c&this.H].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.u,d=(b&a.w)>>>a.ia;return c!=a.u?a.X[d].Sb(c,b):a.X[d++].Ab(c,b)|a.X[d&a.H].Ab(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.ia].pb(a&this.u,b&255,a)}; -function Db(a,b,c){a.X[(b&a.w)>>>a.ia].Db(b&a.u,c&255,b)}l.Lb=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.ia;c!=this.u?this.X[d].Fc(c,b&65535,a):(this.X[d++].pb(c,b&255,a),this.X[d&this.H].pb(0,b>>8&255,a+1))};function Fb(a){for(var b=0,c=[],d=0;d>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.I&&a.D!=g[1]&&Wb(a.I,b,k)}else a.I&&(hb(a.I,a,b,k,d),a.D&&Wb(a.I,b,k));f+=h<<3;b+=h;e-=h}} -function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(qb){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb; -function G(a,b,c,d){this.id=$b+=2;this.b=null;this.G=a;this.Cb=b;this.size=c||0;this.type=d||ac;this.N=d==bc;xb(this);this.Pa=this.Ac=!1;if(c)if(qb)this.F=new ArrayBuffer(c),this.D=new DataView(this.F,0,c),this.u=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa: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},hb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<> -2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Pa=!0},O:function(a,b){if(this.I&&null!=this.G){var c=this.I;jc(c,this.G+a,1,c.O)&&c.ra(!0)}return this.Ab(a,b)},ca:function(a,b){if(this.I&&null!=this.G){var c=this.I;jc(c,this.G+a,2,c.O)&&c.ra(!0)}return this.Sb(a,b)},ja:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;jc(d,this.G+a,1,d.D)&&d.ra(!0)}this.N?this.w(a,b,c):this.Db(a,b,c)},ma:function(a,b,c){if(this.I&& -null!=this.G){var d=this.I;jc(d,this.G+a,2,d.D)&&d.ra(!0)}this.N?this.w(a,b,c):this.Wb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},ba:function(a){return this.D.getUint16(a,!0)},ea:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.K[a>>1]},ha:function(a,b){this.u[a]=b;this.Pa=!0},gb:function(a,b){this.u[a]=b;this.Pa=!0},la:function(a,b){this.D.setUint16(a,b,!0);this.Pa=!0},na:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.K[a>>1]=b;this.Pa=!0}}; -function xb(a,b,c){a.I=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.pb=a.N?a.w:a.Db,a.Fc=a.N?a.H:a.Wb):--a.A||(a.nb=a.Ab,a.Dc=a.Sb)}function gc(a,b,c){c&&a.j||(a.pb=!a.N&&b[1]||a.w,a.Fc=!a.N&&b[3]||a.H);if(c||void 0===c)a.Db=b[1]||a.w,a.Wb=b[3]||a.H}function ic(a,b,c){c&&a.A||(a.nb=b[0]||a.J,a.Dc=b[2]||a.L);if(c||void 0===c)a.Ab=b[0]||a.J,a.Sb=b[2]||a.L}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)} -var lc=[],fc=[G.prototype.Y,G.prototype.hb,G.prototype.fa,G.prototype.wa],hc=[G.prototype.O,G.prototype.ja,G.prototype.ca,G.prototype.ma];if(qb)var ec=[G.prototype.M,G.prototype.ha,G.prototype.ba,G.prototype.la],dc=[G.prototype.P,G.prototype.gb,G.prototype.ea,G.prototype.na]; -function mc(a,b){z.call(this,"CPU",a,mc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Sa=c;this.ha=Math.round(this.Y/1E4)/100;this.eb=this.ha*this.Sa;this.C.za=!1;this.C.Vb=!1;this.C.vb=a.autoStart;this.C.yc=!1;this.C.jb=!1;this.xb=this.O=0;this.yb=a.csStart;this.lb=a.csInterval;this.mb=a.csStop;this.w=[];this.Ha=this.fb.bind(this);F(this)}A(mc);var nc=["power","reset"];l=mc.prototype; -l.Ra=function(a,b,c,d){this.A=a;this.u=b;this.I=d;for(b=0;b=a.O&&(a.O+=a.lb,c=!0);0<=a.mb&&a.mb<=Gc(a)&&(a.lb=a.mb=-1,Cc(a),a.ra(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+t(a.xb))}} -l.qa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.C.xa)a=!0;else{var b=null,c,h=db(a.id);for(c=0;ca.K/a.eb?b=1:d=!0;a.Sa=b;b=a.ha*a.Sa;if(a.eb!=b){a.eb=b;b=a.eb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.Bb()}Ic(a,a.H);a.H=0;a.D=qa();a.J=0;Jc(a);return d}function Kc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Lc(a,b,c){0<=b&&ba.w[b][0]&&(c*=a.Y*a.Sa/1E3,a.w[b][0]=c+Mc(a))}function Mc(a,b){var c=a.L-=a.b;a.b=0;b&&(a.L=0);return c} -l.fb=function(a){if(kb(this,!0)){if(!this.C.za){Hc(this);this.A&&this.A.start(this.D,Gc(this));this.C.za=!0;this.C.Vb=!0;this.F&&this.F.start();var b=this.N.run;b&&(b.textContent="Halt");this.A&&(this.A.La(!0),a&&this.A.Bb(!0))}this.ja>=this.Y&&Jc(this,!0);this.ba=0;this.ea=qa();this.J&&(a=this.ea-this.J,a>this.wa&&(this.D+=a,this.D>this.ea&&(this.D=this.ea)));try{do{for(var c,d=this.C.jb?1:this.fa,e=this.w.length-1;0<=e;e--){var f=this.w[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.ob(c);c=Mc(this,!0);this.ba+= -c;this.H+=c;Fc(this,c);a=c;for(var g=this.w.length-1;0<=g;g--){var h=this.w[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.P-=c;if(0>=this.P){this.P+=this.fa;15<=++this.Ba&&(this.A&&this.A.La(),this.Ba=0);break}}while(this.C.za)}catch(k){this.ra();Ec(this);this.A&&this.A.stop(qa(),Gc(this));kb(this,!1);nb(this,k.stack||k.message);return}c=setTimeout;d=this.Ha;this.J=qa();e=this.wa;this.ba&&(e=Math.round(e*this.ba/this.fa));e-=this.J-this.ea;if(f=this.J-this.D)this.K=Math.round(this.H/(10*f))/ -100,864E5<=f&&(this.M=0,Hc(this));if(0>e||this.Ke&&(this.D-=e),e=0;this.ja+=this.ba;this.J+=e;c(d,e)}else Ec(this),this.A&&this.A.stop(qa(),Gc(this))};l.ob=function(){return 0};l.ra=function(a){lb(this,!0);Mc(this);Ic(this,this.H);this.H=0;if(this.C.za){this.C.za=!1;this.F&&this.F.stop();var b=this.N.run;b&&(b.textContent="Run")}this.C.complete=a};function Ec(a,b){if(a.A){for(var c=a.A,d=0;d>8&255;a.T=b&255}function Xc(a){return a.U<<8|a.V}function Yc(a,b){a.U=b>>8&255;a.V=b&255}function K(a){return a.W<<8|a.Z} -function Zc(a,b){a.W=b>>8&255;a.Z=b&255}function I(a,b){a.R=b&65535}function $c(a){return a.da&256?1:0}function ad(a,b){a.da=a.da&255|b}function bd(a){return rb[a.ga&255]?4:0}function cd(a){return(a.ga^a.ya)&16?16:0}function dd(a){return a.da&255?0:64}function ed(a){return a.ga&128?128:0}function Uc(a){return a.ua&-214|ed(a)|dd(a)|cd(a)|bd(a)|$c(a)}function Sc(a,b){a.da=a.ga=a.ya=0;b&1&&(a.da|=256);b&4||(a.ga|=1);b&16&&(a.ya|=16);b&64||(a.da|=255);b&128&&(a.ga^=192);a.ua=a.ua&-726|b&512|2} -function fd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b)&255}function gd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?1:0))&255}function hd(a,b){a.da=a.ga=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.da}function id(a,b){a.ya=b^255;b=a.ga=b+255&255;a.da=a.da&-256|b;return b}function jd(a,b){a.ya=b;b=a.ga=b+1&255;a.da=a.da&-256|b;return b}function Ed(a,b){return a.ga=a.da=a.ya=a.i|b}function L(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+1^256)&255} -function Fd(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function Gd(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function M(a){var b=a.aa(a.R);I(a,a.R+1);return b}function O(a){var b=a.u.cb(a.R);I(a,a.R+2);return b}function P(a){var b=a.u.cb(a.pa);a.pa=a.pa+2&65535;return b}function Q(a,b){a.pa=a.pa-2&65535;a.u.Lb(a.pa,b)} -function Hd(a){if(a.b&&a.j&255&&a.ua&512){for(var b=0;8>b&&!(a.j&1<b?255:1<>8;ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Vc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Vc(this));this.b-=7},function(){Wc(this,Vc(this)-1);this.b-= -5},function(){this.T=jd(this,this.T);this.b-=5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;ad(this,a);this.b-=4},Ld,function(){Yc(this,O(this));this.b-=10},function(){this.va(Xc(this),this.i);this.b-=7},function(){Yc(this,Xc(this)+1);this.b-=5},function(){this.U=jd(this,this.U);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| -$c(this);ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Xc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Xc(this));this.b-=7},function(){Yc(this,Xc(this)-1);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=M(this);this.b-=7},function(){var a=this.i<<8;this.i=($c(this)<<8|this.i)>>1;ad(this,a&256);this.b-=4},Ld,function(){Zc(this,O(this));this.b-=10},function(){var a=O(this);this.u.Lb(a,K(this)); -this.b-=16},function(){Zc(this,K(this)+1);this.b-=5},function(){this.W=jd(this,this.W);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=M(this);this.b-=7},function(){var a=0,b=$c(this);if(cd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=fd(this,a);ad(this,b?256:0);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+K(this));ad(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.u.cb(a);Zc(this,a);this.b-=16},function(){Zc(this,K(this)-1);this.b-=5},function(){this.Z= -jd(this,this.Z);this.b-=5},function(){this.Z=id(this,this.Z);this.b-=5},function(){this.Z=M(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Ld,function(){this.pa=O(this)&65535;this.b-=10},function(){this.va(O(this),this.i);this.b-=13},function(){this.pa=this.pa+1&65535;this.b-=5},function(){var a=K(this);this.va(a,jd(this,this.aa(a)));this.b-=10},function(){var a=K(this);this.va(a,id(this,this.aa(a)));this.b-=10},function(){this.va(K(this),M(this));this.b-=10},function(){this.da|=256;this.b-= -4},Ld,function(){var a;Zc(this,a=K(this)+this.pa);ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(O(this));this.b-=13},function(){this.pa=this.pa-1&65535;this.b-=5},function(){this.i=jd(this,this.i);this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=M(this);this.b-=7},function(){ad(this,$c(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W; -this.b-=5},function(){this.S=this.Z;this.b-=5},function(){this.S=this.aa(K(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(K(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-= -5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(K(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(K(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S; -this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(K(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Z=this.S;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(K(this));this.b-= -7},function(){this.Z=this.i;this.b-=5},function(){this.va(K(this),this.S);this.b-=7},function(){this.va(K(this),this.T);this.b-=7},function(){this.va(K(this),this.U);this.b-=7},function(){this.va(K(this),this.V);this.b-=7},function(){this.va(K(this),this.W);this.b-=7},function(){this.va(K(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.ca.length)for(var b=0;b>8;this.b-=10},function(){var a=O(this);ed(this)||I(this,a);this.b-=10},function(){this.ua&=-513;this.b-=4},function(){var a=O(this);ed(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Uc(this)&255|this.i<<8);this.b-=11},function(){this.i=Ed(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,48);this.b-=11},function(){ed(this)&& -(I(this,P(this)),this.b-=6);this.b-=5},function(){this.pa=K(this)&65535;this.b-=5},function(){var a=O(this);ed(this)&&I(this,a);this.b-=10},function(){this.ua|=512;this.b-=4;Hd(this)},function(){var a=O(this);ed(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Od,function(){L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,56);this.b-=11}]; -function S(a){z.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Pd[b]&&Qa("Unrecognized ChipSet model: "+b);this.w=Pd[b]||{};a.sound&&(this.fa=null,window&&(this.fa=window.AudioContext||window.webkitAudioContext),this.fa&&new this.fa);F(this)}A(S); -var U={Ca:1978.1,yd:{Da:0,te:1,xe:16,Ee:32,Ne:64,Me:128,qb:14},$a:{Da:1,Nc:1,qd:2,md:4,nd:16,od:32,pd:64,qb:8},zd:{Da:2,se:3,Ve:4,ue:8,Ie:16,Je:32,Ke:64,ve:128,qb:0},Re:{Da:3},Pe:{Da:2,Fe:7},Te:{Da:3,We:1,Se:2,Le:4,Ce:8,we:16,me:32},Qe:{Da:4},Ue:{Da:5,ye:1,ze:2,Ae:4,Be:8,Xe:16}},V={Ca:100,Ma:{Da:66,pc:1,ec:2,jd:4,He:8,Ge:16,gc:32,fc:64,ac:128},Lc:{Da:66,INIT:0},Va:{Da:194,oe:0,Zb:16,sd:32,lc:48,Vc:0,Wc:32},Eb:{Da:162,Oe:0,Yc:0,Uc:0,Xc:0,Tc:0},Na:{De:{Da:98},Ua:{Ic:0,Hc:1,vd:2,Ed:4,Oc:5,td:6,wd:7}, -Fb:16383}},Pd={SI1978:U,VT100:V};S.prototype.qa=function(){return!1};S.prototype.Ra=function(a,b,c,d){this.u=b;this.b=c;this.I=d;this.A=a;this.K=ub(a,"Keyboard");this.Ha=ub(a,"SerialPort");this.video=ub(a,"Video");Hb(b,this,this.w.Jb);Ub(b,this,this.w.Kb);if(d){var e=this;Qd(d,16384,function(){for(var a="",b=0;b>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.ce=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.ee=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ma=b};l.de=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.Y=b<<8|this.Y>>8}; -l.fe=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.na=b};l.ge=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Rd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -l.Wd=function(a,b){var c=this.J,c=c&~V.Ma.fc;if((Gc(this.b)&64)<<1&&(c|=V.Ma.fc,c!=this.J)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case V.Na.Ua.wd:break;case V.Na.Ua.Hc:this.P=this.P<<1|d;break;case V.Na.Ua.Oc:d=Rd(this);this.F[d]=V.Na.Fb;ib(this,"doNVRCommand(): erase data at addr "+u(d));break;case V.Na.Ua.Ic:this.j=this.j<<1|d;break;case V.Na.Ua.Ed:d=Rd(this);e=this.j&V.Na.Fb;this.F[d]=e;ib(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case V.Na.Ua.td:d=Rd(this);e=this.F[d]; -null==e&&(e=V.Na.Fb);this.j=e;ib(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case V.Na.Ua.vd:this.j<<=1;this.ca=this.j&V.Na.Fb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~V.Ma.gc;this.ca&&(c|=V.Ma.gc);c&=~V.Ma.ac;if(d=this.K){d=this.K;if(e=d.D)e=d.b,e=Gc(d.b)>=d.J+e.Y*e.Sa/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=V.Ma.ac);c&=~V.Ma.pc;this.Ha&&this.Ha.Fa&1&&(c|=V.Ma.pc);this.J=c;E(this,a,null,b,"FLAGS",c);return c}; -l.he=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ha=b};l.ke=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.je=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.D=this.D&-4|a;break;case 1:this.D=this.D&-13|a<<2;this.video&&(b=this.video,a=this.D,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ja=a}}; -l.ie=function(a,b,c){E(this,a,b,c,"DC011");b&V.Va.sd?(b&=V.Va.lc,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==V.Va.lc?50:60,ib(a,"updateRate("+b+")"),a.tc=b))):(b&=V.Va.Zb,this.L!=b&&(this.L=b,this.video&&(a=this.L==V.Va.Zb?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80>>0,g],q=pa(p,k,a.xc);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.H.push({kf:b,G:c,Yd:d,Ea:e,wc:f})}delete this.Ea}return!0};Ud.prototype.Ka=function(){return!0}; -function Vd(a,b,c,d){if(d)a.ka("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Ea=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.ka("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>f.ia;0>>= -f.ia;0d?a.j.push({Ub:b,Rb:Date.now(),Gb:!1}):(a.j[d].Rb=Date.now(),a.j[d].Gb=!1);else if(0<=d){if(!a.j[d].Gb){var e=a.j[d].Rb;if(e&&100>Date.now()-e)return a.j[d].Gb=!0,he(a),!0}a.j.splice(d,1)}if(a.F){d=0;switch(b){case "1p":d=U.$a.md;break;case "2p":d=U.$a.qd;break;case "coin":d=U.$a.Nc;break;case "left":d=U.$a.od;break;case "right":d=U.$a.pd;break;case "fire":d=U.$a.nd}d&&(a=a.F,b=d,a.H&=~b,c&&(a.H|=b))}return!0} -function he(a){for(var b=0,c=-1;bc||c>e)c=e}else{fe(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){he(a)},c)}l.Xd=function(a,b){var c=this.H;0<=this.w&&(this.w>3)*a.ba,!yb(a.u,a.Wa,a.P,3)))return!1;a.P?(a.oc=a.F.createImageData(b,c),a.rc=16/a.Xa|0,ne(a,a.P>>1)):ne(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.rb=a.L.getContext("2d");a.fa={};a.ma=1<=a.ic?8:16,f=8>(7>4)*c)}return k}ie.prototype.Ga=function(){return!0};ie.prototype.qa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Mb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1}; -ie.prototype.kb=function(){var a=!1;if(this.j){if(this.j.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Y/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.nc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.kb();a=!0}this.la&&this.la.focus()}return a}; -function le(a,b){!b&&a.j&&(a.nc?a.M.style.width=a.M.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function ne(a,b){a.qc=b;a.ja=!1;if(void 0===a.H||a.H.length!=a.qc)a.H=Array(a.qc)}function pe(a,b,c,d,e){d=a.w?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.na&&(208<=c&&236>c?e=a.ma+0:28<=c&&72>c&&(e=a.ma+1));a=a.ha[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nc(a,b){var c=!0;if(!b){a.Ya&&(120==a.Ya?a.sc&1?(Id(a.b,2),c=!1):Id(a.b,1):Id(a.b,4));if(c&&a.ja&&a.P){for(var d=a.u,e=a.P,f=!0,g=a.Wa>>>d.ia;0>=1);;){var v=Bb(a.u,p++);if(127==(v&127)){var r=Bb(a.u,p++),d=r&96,c=(r&15)<<8|Bb(a.u,p),c=c+ -(r&16?8192:16384);break}if(n>4)*v.oa,C,T,da,X,ta=v.sa,Eb=v.oa;y?(C=x*r.sa,T=e*r.oa,da=r.sa,X=r.oa):(C=x*r.jc,T=e*r.kc,da=r.jc,X=r.kc);v.sa>r.sa&&(C*=2,da*=2);v.oa>r.oa&&(q||(H+=r.oa),Eb=r.oa);y?y.drawImage(v.canvas,ga,H,ta,Eb,C,T,da,X):(C+=0,T+=0,r.F.drawImage(v.canvas, -ga,H,ta,Eb,C,T,da,X))}h++}g++}e++}}a.ja=!0;!b&&a.sb&&1==h&&(a.H[k]=-1,h=0);a.sb=!1;(h||b)&&a.rb&&a.F.drawImage(a.L,0,a.ib,a.J,a.ba-a.oa,0,0,a.Gc,a.Jd)}else{e=a.Wa;f=e+a.P;k=h=g=0;b=a.J;n=0;c=a.ba;q=d=0;p=a.Xa;x=(1<>8|(r&255)<<8);h>y&x,pe(a,a.oc,h++,k,ga),y+=p;h>n&&(n=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.ba))break}a.ja=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ie(d,e,g,f,c);gb(d,c)}}); -function qe(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ha=0;this.la=2;break;default:w("Unrecognized serial adapter #"+this.fa);return}this.j=this.w=null;this.ja=a.tabSize;this.ea=a.charBOL;this.D=0;this.ba=!1;z.call(this,"SerialPort",a,qe,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=re;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.N[b])&&this.qa(null,a,b))}this.H="";this.K=this.M=null;this.exports={connect:this.Cc,receiveData:this.Tb}}A(qe); -var se=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],te=[!1,0,0,133,142,39,238],re="buffer";l=qe.prototype; -l.qa=function(a,b,c,d){var e=this;switch(b){case re:return this.N[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.gb)return;b=na(b[1]);if(this.K=eb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.M=d.receiveData){this.status(this.hb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ga=function(a,b){if(!b)if(this.Cc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -l.Ka=function(a){return a?this.save():!0};l.reset=function(){xe(this)};l.save=function(){var a=new J(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Y;c[b++]=this.ca;c[b++]=this.Fa;c[b++]=this.J;c[b++]=this.P;c[b]=this.O;a.set(0,c);return a.data()};l.restore=function(a){return xe(this,a[0])};function xe(a,b){var c=0;b||(b=te);a.L=b[c++];a.Y=b[c++];a.ca=b[c++];a.Fa=b[c++];a.J=b[c++];a.P=b[c++];a.O=b[c];return!0} -function ye(a,b){var c=a.O&b;b&15||(c>>=4);b=se[c];c=((a.J&12)>>2)+6;a.J&16&&c++;c+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function ue(a,b){ib(a,"receiveByte("+ca(b)+"), status="+ca(a.Fa));return a.ba||a.Fa&2?!1:(a.Y=b,a.Fa|=2,Id(a.b,a.la),!0)}l.Tb=function(a){null!=a&&(this.H="number"!=typeof a?a:this.H+String.fromCharCode(a));this.H&&(ue(this,this.H.charCodeAt(0))&&(this.H=this.H.substr(1)),this.H&&this.b&&Lc(this.b,this.ma,ye(this,15)));return!0}; -l.Rd=function(a,b){var c=this.Y;E(this,a,null,b,"DATA",c);this.Fa&=-3;return c};l.Qd=function(a,b){var c=this.Fa;E(this,a,null,b,"STATUS",c);return c}; -l.be=function(a,b,c){E(this,a,b,c,"DATA");this.ca=b;this.Fa&=-6;ib(this,"transmitByte("+ca(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.M&&this.M.call(this.K,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ja||8,c=b-this.D%b,this.ja&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.ea&&!this.D&&c&&(a=String.fromCharCode(this.ea)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight, -this.D+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Lc(this.b,this.na,ye(this,240))};l.ae=function(a,b,c){E(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.J=b,this.L=!0)};l.$d=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b};var ve={0:qe.prototype.Rd,1:qe.prototype.Qd},we={0:qe.prototype.be,1:qe.prototype.ae,2:qe.prototype.$d}; -Oa(function(){for(var a=D(document,"pc8080","serial"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ze.prototype.Pb=function(){return-1};ze.prototype.Qb=function(){}; -ze.prototype.Ib=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Be(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ce(a,b,c){var d;if(b){b=De(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function He(a,b){if(b)return Fe(a,b,a.ea[b]);var c=0;for(b in a.ea)Fe(a,b,a.ea[b]),c++;return 0>>d.u.ia;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.g("..."):(c=p.type,n=Ab[c],p&&d.g(t(p.id)+" %"+t(e<>>e.ia;f!=e.u?e.X[g].Wb(f,b&65535,d):(e.X[g++].Db(f,b&255,d),e.X[g&e.H].Db(0,b>>8&255,d+1));c&&Ue(a,c);Ec(this.b,!0)}};function Y(a){return{G:a,Qa:!1}}function uf(a){return[a.G,a.Qa]}function vf(a){return{G:a[0],Qa:a[1]}} -function Te(a,b,c){var d;c=(c?a.M:a.Wa).G;if(void 0!==b){d=b=De(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=sa(Qe,a.substr(b,1))));return c};function yf(a,b){var c=0;a=a.Qb(b);if(void 0!==a)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(a,c):"??"} -l.Qb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.S;break;case 1:b=c.T;break;case 8:b=Vc(c);break;case 2:b=c.U;break;case 3:b=c.V;break;case 9:b=Xc(c);break;case 4:b=c.W;break;case 5:b=c.Z;break;case 10:b=K(c);break;case 6:b=c.aa(K(c));break;case 11:b=c.pa;break;case 12:b=c.R;break;case 13:b=Uc(c);break;case 14:b=Uc(c)&255|c.i<<8}}return b}; -function zf(a,b){b=De(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Pb(b,c+1),0<=e&&(b=b.substr(0,c)+yf(a,e)+b.substr(c+1+Qe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Te(a,e))?(d=e+' "'+xf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Te(a,e))?(Ue(d),d=e+ -' "'+xf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(Y(this.b.R).G));this.ta&1073741824?this.ma.push(a):this.la&&a==this.la||(this.la=a,this.ta&-2147483648&&(this.ra(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.P=0,Ec(a)))}; -function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ta&h)!=h||a.message(b.gb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))} -function Le(a){var b;if(Jd(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b>>d.ia],!1)}a.O=["br"];if(a.D)for(b=1;b>>d.ia],!0);a.D=["bw"];a.Ya=0}l.ab=function(a,b,c){var d=!0;c||Ef(this,a,b,!1,!0);if(a!=this.F){var e=Se(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.u;f.X[e>>>f.ia].ab(e&f.u,a==this.D)}}d&&(a.push(b),c?b.Qa=!0:(Ff(this,a,a.length-1,"set"),Le(this)));return d}; -function Ef(a,b,c,d,e){var f=!1;c=Se(c);for(var g=1;g>>d.ia],b==a.D));h.Qa||Le(a);break}}return f}function Gf(a,b){for(var c=1;c>24,4);break;case 3:y=t(v.cb(y,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?y="["+y+"]":r&16||(y=(v.style==Je?"$":"0x")+y);v=y}else r&16? -(v=(q&3840)>>8,r=Qe[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Yd;if(e>=g&&e>8&255;case "C":d.T=f&255;break;case "D":d.U=f&255;break; -case "DE":d.U=f>>8&255;case "E":d.V=f&255;break;case "H":d.W=f&255;break;case "HL":d.W=f>>8&255;case "L":d.Z=f&255;break;case "SP":d.pa=f&65535;break;case "PC":I(d,f);a.M=Y(d.R);break;case "PS":Sc(d,f);break;case "PSW":Sc(d,f&255|d.ua&-256);d.i=f>>8;break;case "CF":d.da=f?d.da|256:d.da&255;break;case "PF":f?bd(d)||(d.ga^=1):bd(d)&&(d.ga^=1);break;case "AF":d.ya=f?~d.ga&16|d.ya&-17:d.ga&16|d.ya&-17;break;case "ZF":d.da=f?d.da&-256:d.da|255;break;case "SF":f?ed(d)||(d.ga^=192):ed(d)&&(d.ga^=192);break; -case "IF":d.ua=f?d.ua|512:d.ua&-513;break;default:a.g("unknown register: "+e);return}Ec(d);a.g("updated registers:")}a.g(Lf(a));c&&(a.M=Y(d.R),Cf(a,Z(a.M.G)))}}function Sf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(zf(a,c[2])):Ce(a,b,!0)}function Tf(a,b,c){var d="t"!=b;c=Ee(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ea(c,function(){return kb(a,!0)&&a.ob(e,d,!1)},function(){Ec(a.b);kb(a,!1)})} -function Cf(a,b,c,d){if(b=Te(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Te(a,c,!0);if(!d||d.Gh[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.g(n)}h[3]&&(g=h[3],f=null);f=If(a,b,g,f);a.g(f);a.M=b;e-=b.G-k;c++}}} -l.Ib=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Hf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.P&&(a.g("ended assemble at "+Z(a.ca.G)),a.M=a.ca,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.la=null;if(mb(a)&&0n||"z"Ga.length&&(a.g("note: only "+Ga.length+" available"),ia=Ga.length);ua-=ia;0>ua&&(null==Ga[Ga.length-1].G?(ia=ua+ia,ua=0):ua+=Ga.length);var md=[];"call"==$e&&(Ib=1E5,md=["CALL"]);for(void 0!==Ze&&a.g(ia+" instructions earlier:");0< -Ib&&ua!=a.fa;){var cf=Ga[ua++];if(null==cf.G)break;var Jb=Y(cf.G),lg=ia--,df=If(a,Jb,"history",lg);(!md.length||0<=df.indexOf(md[0]))&&a.g(df);Jb.Ob&&(ua+=Jb.Ob,Ib-=Jb.Ob,ia-=Jb.Ob);ua>=Ga.length&&(ua=0);a.ib=ia;bf++;Ib--}}bf||(a.g("no "+af+"history available"),a.ib=void 0)}else{var oc=Te(a,X);if(oc){var pc=0;ta&&("l"==ta.charAt(0)&&(ta=ta.substr(1)||Eb),pc=Ee(a,ta)>>>0,65536>4||1;mg--&&0tc?String.fromCharCode(tc):".";rc--}Kb&&(Kb+="\n");Kb+=X+" "+od+(Lb?"":" "+ef)}Kb&&a.g(Kb);a.Wa=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,ff=255,gf=a.aa,hf=a.va;"ew"==f[0]&&(uc=2,ff=65535,gf=a.cb,hf=a.Lb);var jf=uc<<1,kf=f[1];if(null==kf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a"); -else{var vc=Te(a,kf);if(vc)for(var wc=2;wcvd;){for(var Za=null,sg=256;65536>Ob.G>>>0;){mf.G=a.cb(Ob,2);if(null==Ob.G||!sg--)break;for(var tg=a,yc=mf,nf= -null,Pb=yc.G,of=Pb,wd=1;6>=wd&&Pb;wd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bXf){if(Zf(d,this.L)){this.D=new J(this,"1.30.1","failsafe");Zf(this.D)&&(dg(this,d),a=2,eg(this.D));this.D.set("timestamp",ra());fg(this.D);var e=this.A&&!this.K;if(1==a||ya("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=cg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zf(d,g):("error"== -f&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.j=null)):this.g(f+": "+g),eg(d),Zf(d)?(c=cg(d),e=!0):c=!1))}e&&bg(this,c?d:null)}else 2==a&&d.clear()}else bg(this);delete this.L;delete this.M}e=db(this.id);for(f=0;fa[1];a=a[2];this.ha=!0;this.C.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),this.b.vb());this.Y&&(dg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0}; -function dg(a,b){if(ya("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.1"};d.url=a.fa;d.user=c;d.type="bug";d.data=b;va("http://www.pcjs.org/api/v1/report",d,!0)}} -function Uf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new J(a,"1.30.1"),g=new J(a,"1.30.1","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",xa());a.b&&a.b.Ka&&(c&&a.b.ra(),d=a.b.Ka(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.xa=!1,!1===d&&(e=null)));for(var h=db(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);Ag(a,b,c)}})}else c(a,null)} -function Bg(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--kg||Sa(!0));k=!1}var g,h,k=!0;kg++;bb[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=n:q.appendChild(document.createTextNode(n));p.appendChild(q)}c|| -(c="/versions/pc8080/1.30.1/components.xsl");n=function(d,h){h?yg(c,null,null,!1,e,function(d,k){k?(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--kg||Sa(!0)):f("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),--kg||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?yg(b,a,d,!0,e,n):zg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Sa(!1);return Bg(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta;})(); diff --git a/versions/pc8080/1.30.1/pc8080.js b/versions/pc8080/1.30.1/pc8080.js deleted file mode 100644 index 6987a65c1..000000000 --- a/versions/pc8080/1.30.1/pc8080.js +++ /dev/null @@ -1,202 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var k,m={td:1,ud:3,vd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,nb:65,Qb:66,Sb:67,qb:68,E:69,Vb:70,Wb:71,Xb:72,Yb:73,ec:74,fc:75,sb:76,mc:77,nc:78,qc:79,rc:80,Q:81,xc:82,Ac:83,Fc:84,Gc:85,Hc:86,Ic:87,Kc:88,Lc:89,Mc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ce:97,de:98,ee:99,d:100,e:101,fe:102,ge:103,he:104,ie:105,je:106,k:107,ke:108, -le:109,n:110,me:111,p:112,q:113,r:114,ne:115,t:116,oe:117,pe:118,qe:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date}; -function ka(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function la(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function ma(a,b){var c,d={aa:null,wa:null,Ea:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ea=g.load;d.xa=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.aa=Array(4*e.length),f=c=0;c>8&255,d.aa[f++]=e[c]>>16&255,d.aa[f++]=e[c]>>24&255;else d.aa=g;d.wa=g.symbols;d.aa.length?1==d.aa.length&&(q(d.aa[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Xa=this.id:(this.za=this.id.substr(0,b),this.Xa=this.id.substr(b+1));this[a]=c;this.l={ready:!1,$a:!1,ib:!1,Y:!1,error:!1};this.cb=null;this.l.error=!1;this.w={};this.O=null;v.push(this)}var Ea=void 0,Fa={}; -if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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=r);a.prototype=Ja(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ka=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ka={},v=[];function La(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function Ba(a,b,c){b||q((c?c+": ":"")+a)} -function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.j&&(this.j=10);15>2;this.f=this.c-1;this.i=this.u/this.c|0;this.o=this.i-1;this.m=[];this.A=[];this.B=[];this.C=[];a=new C;Za(a,this.O);this.b=Array(this.i);for(b=0;b>>a.j;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Ra)return h.hb+=h.Ra-e,h.Ra=e,!0;if(e>=h.Ra+h.hb){n=h.size-(e-l);n>f&&(n=f);h.hb=e-h.Ra+n;e=l+a.c;f-=n;g++;continue}}return ab(1,e,f)}e=new C(e,n,a.c,d);Za(e,a.O,h);a.b[g++]=e;e=l+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+bb[d]+" at "+p(b,4,!0)),!0):ab(2,b,c)}Ya.prototype.J=function(a){return this.b[(a&this.g)>>>this.j].Ua(a&this.f,a)}; -function cb(a,b){return a.b[(b&a.g)>>>a.j].gb(b&a.f,b)}function db(a,b){var c=b&a.f,d=(b&a.g)>>>a.j;return c!=a.f?a.b[d].od(c,b):a.b[d++].Ua(c,b)|a.b[d&a.o].Ua(0,b+1)<<8}Ya.prototype.ba=function(a,b){this.b[(a&this.g)>>>this.j].Va(a&this.f,b&255,a)};function eb(a,b,c){a.b[(b&a.g)>>>a.j].Lb(b&a.f,c&255,b)}function gb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.j;d!=a.f?a.b[e].pd(d,c&65535,b):(a.b[e++].Va(d,c&255,b),a.b[e&a.o].Va(0,c>>8&255,b+1))} -function hb(a){for(var b=0,c=[],d=0;d>1),this.a=new Int32Array(this.j,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},C:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},I: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},S:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.oa=!0},v:function(a,b){return this.gb(a,b)},H:function(a,b){return this.Ib(a,b)},N:function(a,b,c){this.c||this.Lb(a,b,c)},W:function(a, -b,c){this.c||this.X(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.w.getUint16(a,!0)},M:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},L:function(a,b){this.b[a]=b;this.oa=!0},R:function(a,b){this.b[a]=b;this.oa=!0},U:function(a,b){this.w.setUint16(a,b,!0);this.oa=!0},za:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.oa=!0}};function Za(a,b,c){a.O=b;a.f=a.g=0;c&&((a.f=c.f)&&ub(a,vb,!1),(a.g=c.g)&&wb(a,vb,!1))} -function wb(a,b,c){c&&a.g||(a.Va=!a.c&&b[1]||a.o,a.pd=!a.c&&b[3]||a.s);if(c||void 0===c)a.Lb=b[1]||a.o,a.X=b[3]||a.s}function ub(a,b,c){c&&a.f||(a.Ua=b[0]||a.m,a.od=b[2]||a.A);if(c||void 0===c)a.gb=b[0]||a.m,a.Ib=b[2]||a.A}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}var xb=[],tb=[C.prototype.C,C.prototype.S,C.prototype.I,C.prototype.Z],vb=[C.prototype.v,C.prototype.N,C.prototype.H,C.prototype.W]; -if(Ta)var sb=[C.prototype.u,C.prototype.L,C.prototype.G,C.prototype.U],rb=[C.prototype.B,C.prototype.R,C.prototype.M,C.prototype.za];function yb(a,b){r.call(this,"CPU",a,yb);var c=a.multiplier||1;this.ma=a.cycles||b;this.L=c;this.Ha=Math.round(this.ma/1E4)/100;this.U=this.Ha*this.L;this.l.pa=!1;this.l.Jb=!1;this.l.Sa=a.autoStart;this.l.Cb=!1;this.l.ab=!1;this.ua=this.X=0;this.va=a.csStart;this.Z=a.csInterval;this.ja=a.csStop;this.G=[];this.Za=this.lb.bind(this);B(this)}w(yb);var zb=["power","reset"]; -k=yb.prototype;k.ra=function(a,b,c,d){this.A=a;this.j=b;this.O=d;for(b=0;ba.R/a.U&&(b=1);a.L=b;b=a.Ha*a.L;if(a.U!=b){a.U=b;b=a.U.toFixed(2)+"Mhz";var d=a.w.setSpeed;d&&(d.textContent=b);a.ea("target speed: "+b)}c&&a.A&&Ib(a.A)}a.H+=a.N;a.N=0;a.I=ja();a.S=0;Gb(a)}function Jb(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Kb(a,b,c){0<=b&&ba.G[b][0]&&(c*=a.ma*a.L/1E3,a.G[b][0]=c+Mb(a))}function Mb(a,b){var c=a.W-=a.a;a.a=0;b&&(a.W=0);return c} -k.lb=function(a){if(Ra(this,!0)){if(!this.l.pa){Fb(this);this.A&&this.A.start(this.I,Hb(this));this.l.pa=!0;this.l.Jb=!0;this.M&&this.M.start();var b=this.w.run;b&&(b.textContent="Halt");this.A&&(this.A.Fa(!0),a&&Ib(this.A,!0))}this.Ia>=this.ma&&Gb(this,!0);this.qa=0;this.ta=ja();this.S&&(a=this.ta-this.S,a>this.Pa&&(this.I+=a,this.I>this.ta&&(this.I=this.ta)));try{do{for(var c,d=this.l.ab?1:this.Ba,e=this.G.length-1;0<=e;e--){var f=this.G[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Kb(c);c=Mb(this,!0); -this.qa+=c;this.N+=c;a=c;this.l.ab&&(b=!1,this.ua=this.ua+this.Fb()|0,this.X-=a,0>=this.X&&(this.X+=this.Z,b=!0),0<=this.ja&&this.ja<=Hb(this)&&(this.Z=this.ja=-1,Cb(this),Eb(this),b=!0),b&&this.ea(Hb(this)+" cycles: checksum="+p(this.ua)));a=c;for(var 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.la-=c;if(0>=this.la){this.la+=this.Ba;15<=++this.Qa&&(this.A&&this.A.Fa(),this.Qa=0);break}}while(this.l.pa)}catch(l){Eb(this);Db(this);this.A&&this.A.stop(ja(), -Hb(this));Ra(this,!1);c=l.stack||l.message;this.l.error=!0;this.K(c);return}c=setTimeout;d=this.Za;this.S=ja();e=this.Pa;this.qa&&(e=Math.round(e*this.qa/this.Ba));e-=this.S-this.ta;if(f=this.S-this.I)this.R=Math.round(this.N/(10*f))/100,864E5<=f&&(this.H=0,Fb(this));if(0>e||this.Re&&(this.I-=e),e=0;this.Ia+=this.qa;this.S+=e;c(d,e)}else Db(this),this.A&&this.A.stop(ja(),Hb(this))};k.Kb=function(){return 0}; -function Eb(a){a.l.$a&&(a.l.ib=!0);Mb(a);a.H+=a.N;a.N=0;if(a.l.pa){a.l.pa=!1;a.M&&a.M.stop();var b=a.w.run;b&&(b.textContent="Run")}a.l.complete=void 0}function Db(a){if(a.A){for(var b=a.A,c=0;c>8&255;a.D=b&255}function Xb(a){return a.f<<8|a.F}function Yb(a,b){a.f=b>>8&255;a.F=b&255}function G(a){return a.g<<8|a.i} -function I(a,b){a.g=b>>8&255;a.i=b&255}function E(a,b){a.o=b&65535}function J(a){return a.m&256?1:0}function K(a,b){a.m=a.m&255|b}function Zb(a){return Ua[a.s&255]?4:0}function Ub(a){return a.C&-214|(a.s&128?128:0)|(a.m&255?0:64)|((a.s^a.v)&16?16:0)|Zb(a)|J(a)}function Sb(a,b){a.m=a.s=a.v=0;b&1&&(a.m|=256);b&4||(a.s|=1);b&16&&(a.v|=16);b&64||(a.m|=255);b&128&&(a.s^=192);a.C=a.C&-726|b&512|2}function L(a,b){a.v=a.b^b;return a.s=(a.m=a.b+b)&255} -function $b(a,b){a.v=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?1:0))&255}function ac(a,b){a.m=a.s=a.v=a.b&b;(a.b|b)&8&&(a.v^=16);return a.m}function bc(a,b){a.v=b^255;b=a.s=b+255&255;a.m=a.m&-256|b;return b}function cc(a,b){a.v=b;b=a.s=b+1&255;a.m=a.m&-256|b;return b}function dc(a,b){return a.s=a.m=a.v=a.b|b}function M(a,b){b^=255;a.v=a.b^b;return a.s=(a.m=a.b+b+1^256)&255}function ec(a,b){b^=255;a.v=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function fc(a,b){return a.s=a.m=a.v=a.b^b}k.J=function(a){return this.j.J(a)}; -k.ba=function(a,b){this.j.ba(a,b)};function N(a){var b=a.J(a.o);E(a,a.o+1);return b}function O(a){var b=db(a.j,a.o);E(a,a.o+2);return b}function P(a){var b=db(a.j,a.u);a.u=a.u+2&65535;return b}function R(a,b){a.u=a.u-2&65535;gb(a.j,a.u,b)}function gc(a){if(a.a&&a.B&255&&a.C&512){for(var b=0;8>b&&!(a.B&1<b?255:1<>8;K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Vb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5}, -function(){this.D=cc(this,this.D);this.a-=5},function(){this.D=bc(this,this.D);this.a-=5},function(){this.D=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;K(this,a);this.a-=4},ic,function(){Yb(this,O(this));this.a-=10},function(){this.ba(Xb(this),this.b);this.a-=7},function(){Yb(this,Xb(this)+1);this.a-=5},function(){this.f=cc(this,this.f);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|J(this); -K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Xb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Xb(this));this.a-=7},function(){Yb(this,Xb(this)-1);this.a-=5},function(){this.F=cc(this,this.F);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(J(this)<<8|this.b)>>1;K(this,a&256);this.a-=4},ic,function(){I(this,O(this));this.a-=10},function(){var a=O(this);gb(this.j,a,G(this));this.a-=16},function(){I(this, -G(this)+1);this.a-=5},function(){this.g=cc(this,this.g);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=N(this);this.a-=7},function(){var a=0,b=J(this);if((this.s^this.v)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=L(this,a);K(this,b?256:0);this.a-=4},ic,function(){var a;I(this,a=G(this)+G(this));K(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=db(this.j,a);I(this,a);this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.i=cc(this,this.i); -this.a-=5},function(){this.i=bc(this,this.i);this.a-=5},function(){this.i=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},ic,function(){this.u=O(this)&65535;this.a-=10},function(){this.ba(O(this),this.b);this.a-=13},function(){this.u=this.u+1&65535;this.a-=5},function(){var a=G(this);this.ba(a,cc(this,this.J(a)));this.a-=10},function(){var a=G(this);this.ba(a,bc(this,this.J(a)));this.a-=10},function(){this.ba(G(this),N(this));this.a-=10},function(){this.m|=256;this.a-=4},ic,function(){var a; -I(this,a=G(this)+this.u);K(this,a>>8&256);this.a-=10},function(){this.b=this.J(O(this));this.a-=13},function(){this.u=this.u-1&65535;this.a-=5},function(){this.b=cc(this,this.b);this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){K(this,J(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.F;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.i; -this.a-=5},function(){this.c=this.J(G(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.J(G(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.a-=5},function(){this.f=this.F;this.a-= -5},function(){this.f=this.g;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.J(G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.F=this.c;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.J(G(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.D;this.a-= -5},function(){this.g=this.f;this.a-=5},function(){this.g=this.F;this.a-=5},function(){this.a-=5},function(){this.g=this.i;this.a-=5},function(){this.g=this.J(G(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.i=this.c;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.i=this.g;this.a-=5},function(){this.a-=5},function(){this.i=this.J(G(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.ba(G(this), -this.c);this.a-=7},function(){this.ba(G(this),this.D);this.a-=7},function(){this.ba(G(this),this.f);this.a-=7},function(){this.ba(G(this),this.F);this.a-=7},function(){this.ba(G(this),this.g);this.a-=7},function(){this.ba(G(this),this.i);this.a-=7},function(){var a=this.o-1;if(this.sa.length)for(var b=0;b>>=f)&l;if(void 0!==g&&g[0])g[0](a,l,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=O(this);J(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Xb(this));this.a-=11},function(){this.b=M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,16);this.a-=11},function(){J(this)&&(E(this,P(this)),this.a-=6);this.a-=5},kc,function(){var a=O(this);J(this)&&E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.o+-2&65535,d=1,e=0, -f=0;0>8;this.a-=10},function(){var a=O(this);this.s&128||E(this,a);this.a-=10},function(){this.C&=-513;this.a-=4},function(){var a=O(this);this.s&128||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this, -Ub(this)&255|this.b<<8);this.a-=11},function(){this.b=dc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,48);this.a-=11},function(){this.s&128&&(E(this,P(this)),this.a-=6);this.a-=5},function(){this.u=G(this)&65535;this.a-=5},function(){var a=O(this);this.s&128&&E(this,a);this.a-=10},function(){this.C|=512;this.a-=4;gc(this)},function(){var a=O(this);this.s&128&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,56); -this.a-=11}];function T(a){r.call(this,"ChipSet",a,T);var b=a.model;b&&!mc[b]&&Ba("Unrecognized ChipSet model: "+b);this.c=mc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(T); -var V={ca:1978.1,Dc:{da:0,xd:1,Bd:16,Id:32,Rd:64,Qd:128,Ka:14},Da:{da:1,Tb:1,wc:2,sc:4,tc:16,uc:32,vc:64,Ka:8},Ec:{da:2,wd:3,$d:4,yd:8,Md:16,Nd:32,Od:64,zd:128,Ka:0},Vd:{da:3},Td:{da:2,Jd:7},Xd:{da:3,ae:1,Wd:2,Pd:4,Gd:8,Ad:16,qd:32},Ud:{da:4},Yd:{da:5,Cd:1,Dd:2,Ed:4,Fd:8,be:16}},W={ca:100,ka:{da:66,zb:1,oc:2,pc:4,Ld:8,Kd:16,wb:32,vb:64,rb:128},Rb:{da:66,INIT:0},Aa:{da:194,sd:0,pb:16,yc:32,xb:48,ac:0,bc:32},Wa:{da:162,Sd:0,dc:0,$b:0,cc:0,Zb:0},na:{Hd:{da:98},Ga:{Ob:0,Nb:1,Bc:2,Jc:4,Ub:5,zc:6,Zd:7}, -Ya:16383}},mc={SI1978:V,VT100:W};T.prototype.V=function(){return!1};T.prototype.ra=function(a,b,c,d){this.j=b;this.a=c;this.O=d;this.A=a;this.m=Wa(a,"Keyboard");this.Z=Wa(a,"SerialPort");this.video=Wa(a,"Video");ib(b,this,this.c.eb);jb(b,this,this.c.fb)};T.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.ia=function(a){return a?this.save():!0};V.INIT=[[V.Dc.Ka,V.Da.Ka,V.Ec.Ka,0,0,0,0]]; -W.INIT=[[W.Rb.INIT,W.ka.oc|W.ka.pc],[W.Aa.ac,W.Aa.bc],[W.Wa.dc,W.Wa.$b,W.Wa.cc,W.Wa.Zb],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], -[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=T.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.K("reset error")}; -k.save=function(){var a=new F(this);switch(this.c.ca){case V.ca:a.set(0,[this.W,this.g,this.X,this.C,this.M,this.S,this.U]);break;case W.ca:a.set(0,[this.L,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.N]),a.set(3,[this.B,this.b,this.v,this.H,this.i])}return a.data()}; -k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ca){case V.ca:return this.W=b[0],this.g=b[1],this.X=b[2],this.C=b[3],this.M=b[4],this.S=b[5],this.U=b[6],!0;case W.ca:return this.L=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.N=b[3],b=a[3],this.B=b[0],this.b=b[1],this.v=b[2],this.H=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Wc=function(){return this.W};k.Xc=function(){return this.g};k.Yc=function(){return this.X}; -k.Vc=function(){return this.C>>8-this.M&255};k.dd=function(a,b){this.M=b};k.fd=function(a,b){this.S=b};k.ed=function(a,b){this.C=b<<8|this.C>>8};k.gd=function(a,b){this.U=b};k.hd=function(){};function nc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -k.Zc=function(){var a=this.u,a=a&~W.ka.vb;if((Hb(this.a)&64)<<1&&(a|=W.ka.vb,a!=this.u)){var b,c;b=this.v&1;switch(this.v>>1&7){case W.na.Ga.Nb:this.B=this.B<<1|b;break;case W.na.Ga.Ub:b=nc(this);this.i[b]=W.na.Ya;break;case W.na.Ga.Ob:this.b=this.b<<1|b;break;case W.na.Ga.Jc:b=nc(this);c=this.b&W.na.Ya;this.i[b]=c;break;case W.na.Ga.zc:b=nc(this);c=this.i[b];null==c&&(c=W.na.Ya);this.b=c;break;case W.na.Ga.Bc:this.b<<=1,this.H=this.b&W.na.Ya+1}}a&=~W.ka.wb;this.H&&(a|=W.ka.wb);a&=~W.ka.rb;if(b=this.m){b= -this.m;if(c=b.f)c=b.a,c=Hb(b.a)>=b.m+c.ma*c.L/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=W.ka.rb);a&=~W.ka.zb;this.Z&&this.Z.fa&1&&(a|=W.ka.zb);return this.u=a};k.jd=function(a,b){this.L=b};k.md=function(a,b){this.v=b};k.ld=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.qa!==a&&((b.qa=a)?Nb(b,!0):b.ta=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.N=a}}; -k.kd=function(a,b){b&W.Aa.yc?(b&=W.Aa.xb,this.s!=b&&(this.s=b,this.video&&(this.video.Hb=this.s==W.Aa.xb?50:60))):(b&=W.Aa.pb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==W.Aa.pb?132:80,a.H=b,a.T=a.Ba,80>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.wa=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(h){a.K("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.j;0>>=f.j;0d?a.j.push({mb:b,jb:Date.now(),bb:!1}):(a.j[d].jb=Date.now(),a.j[d].bb=!1);else if(0<=d){if(!a.j[d].bb){var e=a.j[d].jb;if(e&&100>Date.now()-e)return a.j[d].bb=!0,Ec(a),!0}a.j.splice(d,1)}if(a.M){d=0;switch(b){case "1p":d=V.Da.sc;break;case "2p":d=V.Da.wc;break;case "coin":d=V.Da.Tb;break;case "left":d=V.Da.uc;break;case "right":d=V.Da.vc;break;case "fire":d=V.Da.tc}d&&(a=a.M,b=d,a.g&=~b,c&&(a.g|=b))}return!0} -function Ec(a){for(var b=0,c=-1;bc||c>e)c=e}else{Cc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Ec(a)},c)}k.$c=function(){var a=this.g;0<=this.c&&(this.c>3)*a.G,!$a(a.j,a.ja,a.B,3)))return!1;a.B?(a.Oa=a.f.createImageData(b,c),a.Qa=16/a.la|0,Kc(a,a.B>>1)):Kc(a,(a.H+1)*a.W);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.sa=a.s.getContext("2d");a.I={};a.S=1<=a.Ba?8:16,f=8>(7>4)*c)}return l}Fc.prototype.ga=function(){return!0};Fc.prototype.V=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.va[b]=c,!0;switch(b){case "fullScreen":return this.w[b]=c,this.b&&this.b.Ja?c.onclick=function(){d.Ja()}:c.parentNode.removeChild(c),!0}return!1}; -Fc.prototype.Ja=function(){var a=!1;if(this.b){if(this.b.Ja){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.v;b>c&&(a=Math.round(c/b*100)+"%")}this.Na?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ja();a=!0}this.R&&this.R.focus()}return a}; -function Ic(a,b){!b&&a.b&&(a.Na?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Kc(a,b){a.Pa=b;a.N=!1;if(void 0===a.i||a.i.length!=a.Pa)a.i=Array(a.Pa)}function Mc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.U&&(208<=c&&236>c?e=a.S+0:28<=c&&72>c&&(e=a.S+1));a=a.L[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nb(a,b){var c=!0;if(!b){a.ma&&(120==a.ma?a.Za&1?(hc(a.a,2),c=!1):hc(a.a,1):hc(a.a,4));if(c&&a.N&&a.B){for(var d=a.j,e=a.B,f=!0,g=a.ja>>>d.j;0>=1);;){var x=cb(a.j,u++);if(127==(x&127)){var t=cb(a.j,u++),d=t&96,c=(t&15)<<8|cb(a.j,u),c=c+(t&16? -8192:16384);break}if(n>4)*x.P,Z,sa,Pa,fb,zc=x.T,Lb=x.P;D?(Z=H*t.T,sa=e*t.P,Pa=t.T,fb=t.P):(Z=H*t.Ha,sa=e*t.Ia,Pa=t.Ha,fb=t.Ia);x.T>t.T&&(Z*=2,Pa*=2);x.P>t.P&&(z||(Q+=t.P),Lb=t.P);D?D.drawImage(x.canvas,U,Q,zc,Lb,Z,sa,Pa,fb):(Z+=0,sa+=0,t.f.drawImage(x.canvas,U,Q,zc,Lb,Z, -sa,Pa,fb))}h++}g++}e++}}a.N=!0;!b&&a.ta&&1==h&&(a.i[l]=-1,h=0);a.ta=!1;(h||b)&&a.sa&&a.f.drawImage(a.s,0,a.qa,a.o,a.G-a.P,0,0,a.Nc,a.Mb)}else{e=a.ja;f=e+a.B;l=h=g=0;b=a.o;n=0;c=a.G;z=d=0;u=a.la;H=(1<>>t.j;t=x!=t.f?t.b[U].Ib(x,D):t.b[U++].gb(x,D)|t.b[U&t.o].gb(0,D+1)<<8;if(a.N&&t===a.i[g])h+=a.Qa;else{a.i[g]=t;(D=z)&&(t=t>>8|(t&255)<<8);h>D&H,Mc(a,a.Oa,h++,l,U),D+=u;h>n&&(n=h);l=d&&(d=l+1)}e+= -2;g++;if(h>=a.o&&(h=0,l++,l>a.G))break}a.N=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Fa.aspect);f&&.3<=f&&3.33>=f&&(ya("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ta("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Fc(d,e,g,f,c);Qa(d,c)}}); -function Nc(a){this.I=+a.adapter;switch(this.I){case 0:this.L=0;this.R=2;break;default:q("Unrecognized serial adapter #"+this.I);return}this.b=this.c=null;this.N=a.tabSize;this.H=a.charBOL;this.f=0;this.C=!1;r.call(this,"SerialPort",a,Nc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Oc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.w[b])&&this.V(null,a,b))}this.g="";this.i=this.s=null;this.exports={connect:this.Gb,receiveData:this.kb}}w(Nc); -var Pc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Qc=[!1,0,0,133,142,39,238],Oc="buffer";k=Nc.prototype; -k.V=function(a,b,c,d){var e=this;switch(b){case Oc:return this.w[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.Xa)return;b=ha(b[1]);if(this.i=Na(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.s=d.receiveData){this.status(this.za+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ga=function(a,b){if(!b)if(this.Gb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ia=function(a){return a?this.save():!0};k.reset=function(){Uc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.o;c[b++]=this.B;c[b++]=this.G;c[b++]=this.fa;c[b++]=this.m;c[b++]=this.v;c[b]=this.u;a.set(0,c);return a.data()};k.restore=function(a){return Uc(this,a[0])};function Uc(a,b){var c=0;b||(b=Qc);a.o=b[c++];a.B=b[c++];a.G=b[c++];a.fa=b[c++];a.m=b[c++];a.v=b[c++];a.u=b[c];return!0} -function Vc(a,b){var c=a.u&b;b&15||(c>>=4);b=Pc[c];c=((a.m&12)>>2)+6;a.m&16&&c++;c+=((a.m&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Rc(a,b){return a.C||a.fa&2?!1:(a.B=b,a.fa|=2,hc(a.a,a.R),!0)}k.kb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Rc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Kb(this.a,this.S,Vc(this,15)));return!0};k.Uc=function(){var a=this.B;this.fa&=-3;return a};k.Tc=function(){return this.fa}; -k.cd=function(a,b){this.G=b;this.fa&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.s&&this.s.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);var c=a.length;9==b?(b=this.N||8,c=b-this.f%b,this.N&&(a=" ".slice(0,c))):13==b&&(this.f=c=0,a="\n");this.H&&!this.f&&c&&(a=String.fromCharCode(this.H)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight;this.f+=c}else if(null!= -this.c){if(10==b||1024<=this.c.length)this.ea(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Kb(this.a,this.U,Vc(this,240))};k.bd=function(a,b){this.o?(this.v=b,this.v&64&&(this.o=!1)):(this.m=b,this.o=!0)};k.ad=function(a,b){this.u=b};var Sc={0:Nc.prototype.Uc,1:Nc.prototype.Tc},Tc={0:Nc.prototype.cd,1:Nc.prototype.bd,2:Nc.prototype.ad};za(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bYc){if($c(d,this.s)){this.i=new F(this,"1.30.1","failsafe");$c(this.i)&&(ed(this,d),a=2,fd(this.i));this.i.set("timestamp",ka());gd(this.i);var e=this.b&&!this.A;if(1==a||na("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=dd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?$c(d,g):("error"== -f&&"no machine state"!=g?(this.K("Error: "+g),"unable to verify user"==g&&(ra("user",""),this.c=null)):this.ea(f+": "+g),fd(d),$c(d)?(c=dd(d),e=!0):c=!1))}e&&cd(this,c?d:null)}else 2==a&&d.clear()}else cd(this);delete this.s;delete this.u}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.L=!0;this.l.Y=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.a&&(hd(this,this.a,b,c,a),this.a.Sa());this.C&&(ed(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; -function ed(a,b){if(na("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.1"};d.url=a.I;d.user=c;d.type="bug";d.data=b;la("http://www.pcjs.org/api/v1/report",d,!0)}} -function id(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.30.1"),g=new F(a,"1.30.1","validate"),h=ka();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ia&&(c&&Eb(a.a),d=a.a.ia(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.l.Y=!1,!1===d&&(e=null)));for(var h=Ma(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){f=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,u=/( [a-z]+=)(['"])(.*?)\2/g;n=u.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);pd(a,b,c)}})}else c(a,null)} -function qd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--md||Ca(!0));l=!1}var g,h,l=!0;md++;Ka[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));u.appendChild(z)}c|| -(c="/versions/pc8080/1.30.1/components.xsl");n=function(d,h){h?nd(c,null,null,!1,e,function(d,l){l?(La(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--md||Ca(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--md||Ca(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nd(b,a,d,!0,e,n):od(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(H){f(H.message)}return l}window.embedPC8080=function(a,b,c,d){Ca(!1);return qd(a,b,c,d)};window.enableEvents=Ca;window.sendEvent=Da;})(); diff --git a/versions/pc8080/1.30.2/common.css b/versions/pc8080/1.30.2/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pc8080/1.30.2/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.30.2/common.xsl b/versions/pc8080/1.30.2/common.xsl deleted file mode 100644 index 687b1a167..000000000 --- a/versions/pc8080/1.30.2/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.30.2/components.css b/versions/pc8080/1.30.2/components.css deleted file mode 100644 index b40fd1375..000000000 --- a/versions/pc8080/1.30.2/components.css +++ /dev/null @@ -1,237 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0%; - background-color: gold; - position: absolute; - top: 0px; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0px; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-triplet { - padding: 1px; -} -.pcjs-ledlbl { - text-align: center; - font-size: 40%; - background-color: #000000; -} -.pcjs-ledlbl0 { - text-align: right; - font-size: 50%; - background-color: #8d4076; -} -.pcjs-ledlbl1 { - text-align: right; - font-size: 50%; - background-color: #d83662; -} -.pcjs-ledpad { - text-align: center; - font-size: x-small; - line-height: 32px; - background-color: #000000; - border-bottom-left-radius: 20%; - border-bottom-right-radius: 20%; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; - max-width: 50%; - max-height: 50%; -} -.pcjs-swlbl { - text-align: center; - font-size: 40%; - line-height: 16px; - background-color: #000000; - border-top-left-radius: 20%; - border-top-right-radius: 20%; -} -.pcjs-swpad { - height: 32px; - background-color: #000000; -} -.pcjs-switch { - height: 10px; - width: 28px; - margin-top: 0%; - max-width: 90%; - background-color: #00ff00; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } - .pdp11-device { - width: 100% !important; - max-width: none !important; - } -} diff --git a/versions/pc8080/1.30.2/components.xsl b/versions/pc8080/1.30.2/components.xsl deleted file mode 100644 index 4af6972cf..000000000 --- a/versions/pc8080/1.30.2/components.xsl +++ /dev/null @@ -1,1380 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.30.2 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.30.2/document.css b/versions/pc8080/1.30.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.30.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.30.2/document.xsl b/versions/pc8080/1.30.2/document.xsl deleted file mode 100644 index 25ffa0133..000000000 --- a/versions/pc8080/1.30.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.30.2/machine.xsl b/versions/pc8080/1.30.2/machine.xsl deleted file mode 100644 index b8a55302d..000000000 --- a/versions/pc8080/1.30.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.2/manifest.xsl b/versions/pc8080/1.30.2/manifest.xsl deleted file mode 100644 index 6e75eeaef..000000000 --- a/versions/pc8080/1.30.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.30.2/outline.xsl b/versions/pc8080/1.30.2/outline.xsl deleted file mode 100644 index 5ade14812..000000000 --- a/versions/pc8080/1.30.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.2/pc8080-dbg.js b/versions/pc8080/1.30.2/pc8080-dbg.js deleted file mode 100644 index 65dde8297..000000000 --- a/versions/pc8080/1.30.2/pc8080-dbg.js +++ /dev/null @@ -1,288 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var l,m={pe:1,qe:3,re:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Xb:65,Kc:66,Mc:67,$b:68,E:69,Pc:70,Qc:71,Rc:72,Sc:73,Zc:74,$c:75,bc:76,gd:77,hd:78,kd:79,ld:80,Q:81,rd:82,ud:83,Ad:84,Bd:85,Cd:86,Dd:87,Fd:88,Gd:89,Hd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ye:97,Ze:98,$e:99,d:100,e:101,af:102,bf:103,cf:104,df:105,ef:106,k:107,ff:108, -gf:109,n:110,hf:111,p:112,q:113,r:114,jf:115,t:116,lf:117,mf:118,nf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)} -function u(a){return t(a,4,!0)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.bb=g.load;d.Ta=g.exec;if(e=g.bytes)d.Aa=e;else if(e=g.words)for(d.Aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.Aa=Array(4*e.length),f=c=0;c>8&255,d.Aa[f++]=e[c]>>16&255,d.Aa[f++]=e[c]>>24&255;else d.Aa=g;d.Ea=g.symbols;d.Aa.length?1==d.Aa.length&&(w(d.Aa[0]),d=null):(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.gb=this.id:(this.hb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,wb:!1,Nb:!1,xa:!1,error:!1};this.Hb=null;this.C.error=!1;this.N={};this.I=null;this.ta=d||0;Ua.push(this)}var Va=void 0,Wa={}; -if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Xa=$a.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function ab(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 A(a,b){b||(b=z);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var bb=window.PCjs.Machines||(window.PCjs.Machines={}),Ua=window.PCjs.Components||(window.PCjs.Components=[])}else bb={},Ua=[];function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Qa(a,b,c){b||w((c?c+": ":"")+a)} -function db(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.ia&&(this.ia=10);15>2;this.u=this.Ja-1;this.K=this.L/this.Ja|0;this.H=this.K-1;this.A=[];this.j=[];this.F=this.D=!1;this.O=[];this.P=[];a=new G;xb(a,this.I);this.X=Array(this.K);for(b=0;b>>a.ia;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.G)return h.Cb+=h.G-e,h.G=e,!0;if(e>=h.G+h.Cb){n=h.size-(e-k);n>f&&(n=f);h.Cb=e-h.G+n;e=k+a.Ja;f-=n;g++;continue}}return zb(1,e,f)}e=new G(e,n,a.Ja,d);xb(e,a.I,h);a.X[g++]=e;e=k+a.Ja;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+u(b)),!0):zb(2,b,c)} -l.aa=function(a){return this.X[(a&this.w)>>>this.ia].nb(a&this.u,a)};function Bb(a,b){return a.X[(b&a.w)>>>a.ia].Ab(b&a.u,b)}l.cb=function(a){var b=a&this.u,c=(a&this.w)>>>this.ia;return b!=this.u?this.X[c].Dc(b,a):this.X[c++].nb(b,a)|this.X[c&this.H].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.u,d=(b&a.w)>>>a.ia;return c!=a.u?a.X[d].Sb(c,b):a.X[d++].Ab(c,b)|a.X[d&a.H].Ab(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.ia].pb(a&this.u,b&255,a)}; -function Db(a,b,c){a.X[(b&a.w)>>>a.ia].Db(b&a.u,c&255,b)}l.Lb=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.ia;c!=this.u?this.X[d].Fc(c,b&65535,a):(this.X[d++].pb(c,b&255,a),this.X[d&this.H].pb(0,b>>8&255,a+1))};function Fb(a){for(var b=0,c=[],d=0;d>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.I&&a.D!=g[1]&&Wb(a.I,b,k)}else a.I&&(hb(a.I,a,b,k,d),a.D&&Wb(a.I,b,k));f+=h<<3;b+=h;e-=h}} -function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(qb){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb; -function G(a,b,c,d){this.id=$b+=2;this.b=null;this.G=a;this.Cb=b;this.size=c||0;this.type=d||ac;this.N=d==bc;xb(this);this.Pa=this.Ac=!1;if(c)if(qb)this.F=new ArrayBuffer(c),this.D=new DataView(this.F,0,c),this.u=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa: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},hb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<> -2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Pa=!0},O:function(a,b){if(this.I&&null!=this.G){var c=this.I;jc(c,this.G+a,1,c.O)&&c.ra(!0)}return this.Ab(a,b)},ca:function(a,b){if(this.I&&null!=this.G){var c=this.I;jc(c,this.G+a,2,c.O)&&c.ra(!0)}return this.Sb(a,b)},ja:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;jc(d,this.G+a,1,d.D)&&d.ra(!0)}this.N?this.w(a,b,c):this.Db(a,b,c)},ma:function(a,b,c){if(this.I&& -null!=this.G){var d=this.I;jc(d,this.G+a,2,d.D)&&d.ra(!0)}this.N?this.w(a,b,c):this.Wb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},ba:function(a){return this.D.getUint16(a,!0)},ea:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.K[a>>1]},ha:function(a,b){this.u[a]=b;this.Pa=!0},gb:function(a,b){this.u[a]=b;this.Pa=!0},la:function(a,b){this.D.setUint16(a,b,!0);this.Pa=!0},na:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.K[a>>1]=b;this.Pa=!0}}; -function xb(a,b,c){a.I=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.pb=a.N?a.w:a.Db,a.Fc=a.N?a.H:a.Wb):--a.A||(a.nb=a.Ab,a.Dc=a.Sb)}function gc(a,b,c){c&&a.j||(a.pb=!a.N&&b[1]||a.w,a.Fc=!a.N&&b[3]||a.H);if(c||void 0===c)a.Db=b[1]||a.w,a.Wb=b[3]||a.H}function ic(a,b,c){c&&a.A||(a.nb=b[0]||a.J,a.Dc=b[2]||a.L);if(c||void 0===c)a.Ab=b[0]||a.J,a.Sb=b[2]||a.L}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)} -var lc=[],fc=[G.prototype.Y,G.prototype.hb,G.prototype.fa,G.prototype.wa],hc=[G.prototype.O,G.prototype.ja,G.prototype.ca,G.prototype.ma];if(qb)var ec=[G.prototype.M,G.prototype.ha,G.prototype.ba,G.prototype.la],dc=[G.prototype.P,G.prototype.gb,G.prototype.ea,G.prototype.na]; -function mc(a,b){z.call(this,"CPU",a,mc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Sa=c;this.ha=Math.round(this.Y/1E4)/100;this.eb=this.ha*this.Sa;this.C.za=!1;this.C.Vb=!1;this.C.vb=a.autoStart;this.C.yc=!1;this.C.jb=!1;this.xb=this.O=0;this.yb=a.csStart;this.lb=a.csInterval;this.mb=a.csStop;this.w=[];this.Ha=this.fb.bind(this);F(this)}A(mc);var nc=["power","reset"];l=mc.prototype; -l.Ra=function(a,b,c,d){this.A=a;this.u=b;this.I=d;for(b=0;b=a.O&&(a.O+=a.lb,c=!0);0<=a.mb&&a.mb<=Gc(a)&&(a.lb=a.mb=-1,Cc(a),a.ra(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+t(a.xb))}} -l.qa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.C.xa)a=!0;else{var b=null,c,h=db(a.id);for(c=0;ca.K/a.eb?b=1:d=!0;a.Sa=b;b=a.ha*a.Sa;if(a.eb!=b){a.eb=b;b=a.eb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.Bb()}Ic(a,a.H);a.H=0;a.D=qa();a.J=0;Jc(a);return d}function Kc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Lc(a,b,c){0<=b&&ba.w[b][0]&&(c*=a.Y*a.Sa/1E3,a.w[b][0]=c+Mc(a))}function Mc(a,b){var c=a.L-=a.b;a.b=0;b&&(a.L=0);return c} -l.fb=function(a){if(kb(this,!0)){if(!this.C.za){Hc(this);this.A&&this.A.start(this.D,Gc(this));this.C.za=!0;this.C.Vb=!0;this.F&&this.F.start();var b=this.N.run;b&&(b.textContent="Halt");this.A&&(this.A.La(!0),a&&this.A.Bb(!0))}this.ja>=this.Y&&Jc(this,!0);this.ba=0;this.ea=qa();this.J&&(a=this.ea-this.J,a>this.wa&&(this.D+=a,this.D>this.ea&&(this.D=this.ea)));try{do{for(var c,d=this.C.jb?1:this.fa,e=this.w.length-1;0<=e;e--){var f=this.w[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.ob(c);c=Mc(this,!0);this.ba+= -c;this.H+=c;Fc(this,c);a=c;for(var g=this.w.length-1;0<=g;g--){var h=this.w[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.P-=c;if(0>=this.P){this.P+=this.fa;15<=++this.Ba&&(this.A&&this.A.La(),this.Ba=0);break}}while(this.C.za)}catch(k){this.ra();Ec(this);this.A&&this.A.stop(qa(),Gc(this));kb(this,!1);nb(this,k.stack||k.message);return}c=setTimeout;d=this.Ha;this.J=qa();e=this.wa;this.ba&&(e=Math.round(e*this.ba/this.fa));e-=this.J-this.ea;if(f=this.J-this.D)this.K=Math.round(this.H/(10*f))/ -100,864E5<=f&&(this.M=0,Hc(this));if(0>e||this.Ke&&(this.D-=e),e=0;this.ja+=this.ba;this.J+=e;c(d,e)}else Ec(this),this.A&&this.A.stop(qa(),Gc(this))};l.ob=function(){return 0};l.ra=function(a){lb(this,!0);Mc(this);Ic(this,this.H);this.H=0;if(this.C.za){this.C.za=!1;this.F&&this.F.stop();var b=this.N.run;b&&(b.textContent="Run")}this.C.complete=a};function Ec(a,b){if(a.A){for(var c=a.A,d=0;d>8&255;a.T=b&255}function Xc(a){return a.U<<8|a.V}function Yc(a,b){a.U=b>>8&255;a.V=b&255}function K(a){return a.W<<8|a.Z} -function Zc(a,b){a.W=b>>8&255;a.Z=b&255}function I(a,b){a.R=b&65535}function $c(a){return a.da&256?1:0}function ad(a,b){a.da=a.da&255|b}function bd(a){return rb[a.ga&255]?4:0}function cd(a){return(a.ga^a.ya)&16?16:0}function dd(a){return a.da&255?0:64}function ed(a){return a.ga&128?128:0}function Uc(a){return a.ua&-214|ed(a)|dd(a)|cd(a)|bd(a)|$c(a)}function Sc(a,b){a.da=a.ga=a.ya=0;b&1&&(a.da|=256);b&4||(a.ga|=1);b&16&&(a.ya|=16);b&64||(a.da|=255);b&128&&(a.ga^=192);a.ua=a.ua&-726|b&512|2} -function fd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b)&255}function gd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?1:0))&255}function hd(a,b){a.da=a.ga=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.da}function id(a,b){a.ya=b^255;b=a.ga=b+255&255;a.da=a.da&-256|b;return b}function jd(a,b){a.ya=b;b=a.ga=b+1&255;a.da=a.da&-256|b;return b}function Ed(a,b){return a.ga=a.da=a.ya=a.i|b}function L(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+1^256)&255} -function Fd(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function Gd(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function M(a){var b=a.aa(a.R);I(a,a.R+1);return b}function O(a){var b=a.u.cb(a.R);I(a,a.R+2);return b}function P(a){var b=a.u.cb(a.pa);a.pa=a.pa+2&65535;return b}function Q(a,b){a.pa=a.pa-2&65535;a.u.Lb(a.pa,b)} -function Hd(a){if(a.b&&a.j&255&&a.ua&512){for(var b=0;8>b&&!(a.j&1<b?255:1<>8;ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Vc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Vc(this));this.b-=7},function(){Wc(this,Vc(this)-1);this.b-= -5},function(){this.T=jd(this,this.T);this.b-=5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;ad(this,a);this.b-=4},Ld,function(){Yc(this,O(this));this.b-=10},function(){this.va(Xc(this),this.i);this.b-=7},function(){Yc(this,Xc(this)+1);this.b-=5},function(){this.U=jd(this,this.U);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| -$c(this);ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Xc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Xc(this));this.b-=7},function(){Yc(this,Xc(this)-1);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=M(this);this.b-=7},function(){var a=this.i<<8;this.i=($c(this)<<8|this.i)>>1;ad(this,a&256);this.b-=4},Ld,function(){Zc(this,O(this));this.b-=10},function(){var a=O(this);this.u.Lb(a,K(this)); -this.b-=16},function(){Zc(this,K(this)+1);this.b-=5},function(){this.W=jd(this,this.W);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=M(this);this.b-=7},function(){var a=0,b=$c(this);if(cd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=fd(this,a);ad(this,b?256:0);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+K(this));ad(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.u.cb(a);Zc(this,a);this.b-=16},function(){Zc(this,K(this)-1);this.b-=5},function(){this.Z= -jd(this,this.Z);this.b-=5},function(){this.Z=id(this,this.Z);this.b-=5},function(){this.Z=M(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Ld,function(){this.pa=O(this)&65535;this.b-=10},function(){this.va(O(this),this.i);this.b-=13},function(){this.pa=this.pa+1&65535;this.b-=5},function(){var a=K(this);this.va(a,jd(this,this.aa(a)));this.b-=10},function(){var a=K(this);this.va(a,id(this,this.aa(a)));this.b-=10},function(){this.va(K(this),M(this));this.b-=10},function(){this.da|=256;this.b-= -4},Ld,function(){var a;Zc(this,a=K(this)+this.pa);ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(O(this));this.b-=13},function(){this.pa=this.pa-1&65535;this.b-=5},function(){this.i=jd(this,this.i);this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=M(this);this.b-=7},function(){ad(this,$c(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W; -this.b-=5},function(){this.S=this.Z;this.b-=5},function(){this.S=this.aa(K(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(K(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-= -5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(K(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(K(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S; -this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(K(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Z=this.S;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(K(this));this.b-= -7},function(){this.Z=this.i;this.b-=5},function(){this.va(K(this),this.S);this.b-=7},function(){this.va(K(this),this.T);this.b-=7},function(){this.va(K(this),this.U);this.b-=7},function(){this.va(K(this),this.V);this.b-=7},function(){this.va(K(this),this.W);this.b-=7},function(){this.va(K(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.ca.length)for(var b=0;b>8;this.b-=10},function(){var a=O(this);ed(this)||I(this,a);this.b-=10},function(){this.ua&=-513;this.b-=4},function(){var a=O(this);ed(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Uc(this)&255|this.i<<8);this.b-=11},function(){this.i=Ed(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,48);this.b-=11},function(){ed(this)&& -(I(this,P(this)),this.b-=6);this.b-=5},function(){this.pa=K(this)&65535;this.b-=5},function(){var a=O(this);ed(this)&&I(this,a);this.b-=10},function(){this.ua|=512;this.b-=4;Hd(this)},function(){var a=O(this);ed(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Od,function(){L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,56);this.b-=11}]; -function S(a){z.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Pd[b]&&Qa("Unrecognized ChipSet model: "+b);this.w=Pd[b]||{};a.sound&&(this.fa=null,window&&(this.fa=window.AudioContext||window.webkitAudioContext),this.fa&&new this.fa);F(this)}A(S); -var U={Ca:1978.1,yd:{Da:0,te:1,xe:16,Ee:32,Ne:64,Me:128,qb:14},$a:{Da:1,Nc:1,qd:2,md:4,nd:16,od:32,pd:64,qb:8},zd:{Da:2,se:3,Ve:4,ue:8,Ie:16,Je:32,Ke:64,ve:128,qb:0},Re:{Da:3},Pe:{Da:2,Fe:7},Te:{Da:3,We:1,Se:2,Le:4,Ce:8,we:16,me:32},Qe:{Da:4},Ue:{Da:5,ye:1,ze:2,Ae:4,Be:8,Xe:16}},V={Ca:100,Ma:{Da:66,pc:1,ec:2,jd:4,He:8,Ge:16,gc:32,fc:64,ac:128},Lc:{Da:66,INIT:0},Va:{Da:194,oe:0,Zb:16,sd:32,lc:48,Vc:0,Wc:32},Eb:{Da:162,Oe:0,Yc:0,Uc:0,Xc:0,Tc:0},Na:{De:{Da:98},Ua:{Ic:0,Hc:1,vd:2,Ed:4,Oc:5,td:6,wd:7}, -Fb:16383}},Pd={SI1978:U,VT100:V};S.prototype.qa=function(){return!1};S.prototype.Ra=function(a,b,c,d){this.u=b;this.b=c;this.I=d;this.A=a;this.K=ub(a,"Keyboard");this.Ha=ub(a,"SerialPort");this.video=ub(a,"Video");Hb(b,this,this.w.Jb);Ub(b,this,this.w.Kb);if(d){var e=this;Qd(d,16384,function(){for(var a="",b=0;b>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.ce=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.ee=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ma=b};l.de=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.Y=b<<8|this.Y>>8}; -l.fe=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.na=b};l.ge=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Rd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -l.Wd=function(a,b){var c=this.J,c=c&~V.Ma.fc;if((Gc(this.b)&64)<<1&&(c|=V.Ma.fc,c!=this.J)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case V.Na.Ua.wd:break;case V.Na.Ua.Hc:this.P=this.P<<1|d;break;case V.Na.Ua.Oc:d=Rd(this);this.F[d]=V.Na.Fb;ib(this,"doNVRCommand(): erase data at addr "+u(d));break;case V.Na.Ua.Ic:this.j=this.j<<1|d;break;case V.Na.Ua.Ed:d=Rd(this);e=this.j&V.Na.Fb;this.F[d]=e;ib(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case V.Na.Ua.td:d=Rd(this);e=this.F[d]; -null==e&&(e=V.Na.Fb);this.j=e;ib(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case V.Na.Ua.vd:this.j<<=1;this.ca=this.j&V.Na.Fb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~V.Ma.gc;this.ca&&(c|=V.Ma.gc);c&=~V.Ma.ac;if(d=this.K){d=this.K;if(e=d.D)e=d.b,e=Gc(d.b)>=d.J+e.Y*e.Sa/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=V.Ma.ac);c&=~V.Ma.pc;this.Ha&&this.Ha.Fa&1&&(c|=V.Ma.pc);this.J=c;E(this,a,null,b,"FLAGS",c);return c}; -l.he=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ha=b};l.ke=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.je=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.D=this.D&-4|a;break;case 1:this.D=this.D&-13|a<<2;this.video&&(b=this.video,a=this.D,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ja=a}}; -l.ie=function(a,b,c){E(this,a,b,c,"DC011");b&V.Va.sd?(b&=V.Va.lc,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==V.Va.lc?50:60,ib(a,"updateRate("+b+")"),a.tc=b))):(b&=V.Va.Zb,this.L!=b&&(this.L=b,this.video&&(a=this.L==V.Va.Zb?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80>>0,g],q=pa(p,k,a.xc);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.H.push({kf:b,G:c,Yd:d,Ea:e,wc:f})}delete this.Ea}return!0};Ud.prototype.Ka=function(){return!0}; -function Vd(a,b,c,d){if(d)a.ka("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Ea=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.ka("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>f.ia;0>>= -f.ia;0d?a.j.push({Ub:b,Rb:Date.now(),Gb:!1}):(a.j[d].Rb=Date.now(),a.j[d].Gb=!1);else if(0<=d){if(!a.j[d].Gb){var e=a.j[d].Rb;if(e&&100>Date.now()-e)return a.j[d].Gb=!0,he(a),!0}a.j.splice(d,1)}if(a.F){d=0;switch(b){case "1p":d=U.$a.md;break;case "2p":d=U.$a.qd;break;case "coin":d=U.$a.Nc;break;case "left":d=U.$a.od;break;case "right":d=U.$a.pd;break;case "fire":d=U.$a.nd}d&&(a=a.F,b=d,a.H&=~b,c&&(a.H|=b))}return!0} -function he(a){for(var b=0,c=-1;bc||c>e)c=e}else{fe(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){he(a)},c)}l.Xd=function(a,b){var c=this.H;0<=this.w&&(this.w>3)*a.ba,!yb(a.u,a.Wa,a.P,3)))return!1;a.P?(a.oc=a.F.createImageData(b,c),a.rc=16/a.Xa|0,ne(a,a.P>>1)):ne(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.rb=a.L.getContext("2d");a.fa={};a.ma=1<=a.ic?8:16,f=8>(7>4)*c)}return k}ie.prototype.Ga=function(){return!0};ie.prototype.qa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Mb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1}; -ie.prototype.kb=function(){var a=!1;if(this.j){if(this.j.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Y/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.nc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.kb();a=!0}this.la&&this.la.focus()}return a}; -function le(a,b){!b&&a.j&&(a.nc?a.M.style.width=a.M.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function ne(a,b){a.qc=b;a.ja=!1;if(void 0===a.H||a.H.length!=a.qc)a.H=Array(a.qc)}function pe(a,b,c,d,e){d=a.w?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.na&&(208<=c&&236>c?e=a.ma+0:28<=c&&72>c&&(e=a.ma+1));a=a.ha[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nc(a,b){var c=!0;if(!b){a.Ya&&(120==a.Ya?a.sc&1?(Id(a.b,2),c=!1):Id(a.b,1):Id(a.b,4));if(c&&a.ja&&a.P){for(var d=a.u,e=a.P,f=!0,g=a.Wa>>>d.ia;0>=1);;){var v=Bb(a.u,p++);if(127==(v&127)){var r=Bb(a.u,p++),d=r&96,c=(r&15)<<8|Bb(a.u,p),c=c+ -(r&16?8192:16384);break}if(n>4)*v.oa,C,T,da,X,ta=v.sa,Eb=v.oa;y?(C=x*r.sa,T=e*r.oa,da=r.sa,X=r.oa):(C=x*r.jc,T=e*r.kc,da=r.jc,X=r.kc);v.sa>r.sa&&(C*=2,da*=2);v.oa>r.oa&&(q||(H+=r.oa),Eb=r.oa);y?y.drawImage(v.canvas,ga,H,ta,Eb,C,T,da,X):(C+=0,T+=0,r.F.drawImage(v.canvas, -ga,H,ta,Eb,C,T,da,X))}h++}g++}e++}}a.ja=!0;!b&&a.sb&&1==h&&(a.H[k]=-1,h=0);a.sb=!1;(h||b)&&a.rb&&a.F.drawImage(a.L,0,a.ib,a.J,a.ba-a.oa,0,0,a.Gc,a.Jd)}else{e=a.Wa;f=e+a.P;k=h=g=0;b=a.J;n=0;c=a.ba;q=d=0;p=a.Xa;x=(1<>8|(r&255)<<8);h>y&x,pe(a,a.oc,h++,k,ga),y+=p;h>n&&(n=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.ba))break}a.ja=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ie(d,e,g,f,c);gb(d,c)}}); -function qe(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ha=0;this.la=2;break;default:w("Unrecognized serial adapter #"+this.fa);return}this.j=this.w=null;this.ja=a.tabSize;this.ea=a.charBOL;this.D=0;this.ba=!1;z.call(this,"SerialPort",a,qe,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=re;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.N[b])&&this.qa(null,a,b))}this.H="";this.K=this.M=null;this.exports={connect:this.Cc,receiveData:this.Tb}}A(qe); -var se=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],te=[!1,0,0,133,142,39,238],re="buffer";l=qe.prototype; -l.qa=function(a,b,c,d){var e=this;switch(b){case re:return this.N[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.gb)return;b=na(b[1]);if(this.K=eb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.M=d.receiveData){this.status(this.hb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ga=function(a,b){if(!b)if(this.Cc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -l.Ka=function(a){return a?this.save():!0};l.reset=function(){xe(this)};l.save=function(){var a=new J(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Y;c[b++]=this.ca;c[b++]=this.Fa;c[b++]=this.J;c[b++]=this.P;c[b]=this.O;a.set(0,c);return a.data()};l.restore=function(a){return xe(this,a[0])};function xe(a,b){var c=0;b||(b=te);a.L=b[c++];a.Y=b[c++];a.ca=b[c++];a.Fa=b[c++];a.J=b[c++];a.P=b[c++];a.O=b[c];return!0} -function ye(a,b){var c=a.O&b;b&15||(c>>=4);b=se[c];c=((a.J&12)>>2)+6;a.J&16&&c++;c+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function ue(a,b){ib(a,"receiveByte("+ca(b)+"), status="+ca(a.Fa));return a.ba||a.Fa&2?!1:(a.Y=b,a.Fa|=2,Id(a.b,a.la),!0)}l.Tb=function(a){null!=a&&(this.H="number"!=typeof a?a:this.H+String.fromCharCode(a));this.H&&(ue(this,this.H.charCodeAt(0))&&(this.H=this.H.substr(1)),this.H&&this.b&&Lc(this.b,this.ma,ye(this,15)));return!0}; -l.Rd=function(a,b){var c=this.Y;E(this,a,null,b,"DATA",c);this.Fa&=-3;return c};l.Qd=function(a,b){var c=this.Fa;E(this,a,null,b,"STATUS",c);return c}; -l.be=function(a,b,c){E(this,a,b,c,"DATA");this.ca=b;this.Fa&=-6;ib(this,"transmitByte("+ca(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.M&&this.M.call(this.K,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ja||8,c=b-this.D%b,this.ja&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.ea&&!this.D&&c&&(a=String.fromCharCode(this.ea)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight, -this.D+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Lc(this.b,this.na,ye(this,240))};l.ae=function(a,b,c){E(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.J=b,this.L=!0)};l.$d=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b};var ve={0:qe.prototype.Rd,1:qe.prototype.Qd},we={0:qe.prototype.be,1:qe.prototype.ae,2:qe.prototype.$d}; -Oa(function(){for(var a=D(document,"pc8080","serial"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ze.prototype.Pb=function(){return-1};ze.prototype.Qb=function(){}; -ze.prototype.Ib=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Be(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ce(a,b,c){var d;if(b){b=De(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function He(a,b){if(b)return Fe(a,b,a.ea[b]);var c=0;for(b in a.ea)Fe(a,b,a.ea[b]),c++;return 0>>d.u.ia;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.g("..."):(c=p.type,n=Ab[c],p&&d.g(t(p.id)+" %"+t(e<>>e.ia;f!=e.u?e.X[g].Wb(f,b&65535,d):(e.X[g++].Db(f,b&255,d),e.X[g&e.H].Db(0,b>>8&255,d+1));c&&Ue(a,c);Ec(this.b,!0)}};function Y(a){return{G:a,Qa:!1}}function uf(a){return[a.G,a.Qa]}function vf(a){return{G:a[0],Qa:a[1]}} -function Te(a,b,c){var d;c=(c?a.M:a.Wa).G;if(void 0!==b){d=b=De(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=sa(Qe,a.substr(b,1))));return c};function yf(a,b){var c=0;a=a.Qb(b);if(void 0!==a)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(a,c):"??"} -l.Qb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.S;break;case 1:b=c.T;break;case 8:b=Vc(c);break;case 2:b=c.U;break;case 3:b=c.V;break;case 9:b=Xc(c);break;case 4:b=c.W;break;case 5:b=c.Z;break;case 10:b=K(c);break;case 6:b=c.aa(K(c));break;case 11:b=c.pa;break;case 12:b=c.R;break;case 13:b=Uc(c);break;case 14:b=Uc(c)&255|c.i<<8}}return b}; -function zf(a,b){b=De(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Pb(b,c+1),0<=e&&(b=b.substr(0,c)+yf(a,e)+b.substr(c+1+Qe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Te(a,e))?(d=e+' "'+xf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Te(a,e))?(Ue(d),d=e+ -' "'+xf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(Y(this.b.R).G));this.ta&1073741824?this.ma.push(a):this.la&&a==this.la||(this.la=a,this.ta&-2147483648&&(this.ra(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.P=0,Ec(a)))}; -function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ta&h)!=h||a.message(b.gb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))} -function Le(a){var b;if(Jd(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b>>d.ia],!1)}a.O=["br"];if(a.D)for(b=1;b>>d.ia],!0);a.D=["bw"];a.Ya=0}l.ab=function(a,b,c){var d=!0;c||Ef(this,a,b,!1,!0);if(a!=this.F){var e=Se(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.u;f.X[e>>>f.ia].ab(e&f.u,a==this.D)}}d&&(a.push(b),c?b.Qa=!0:(Ff(this,a,a.length-1,"set"),Le(this)));return d}; -function Ef(a,b,c,d,e){var f=!1;c=Se(c);for(var g=1;g>>d.ia],b==a.D));h.Qa||Le(a);break}}return f}function Gf(a,b){for(var c=1;c>24,4);break;case 3:y=t(v.cb(y,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?y="["+y+"]":r&16||(y=(v.style==Je?"$":"0x")+y);v=y}else r&16? -(v=(q&3840)>>8,r=Qe[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Yd;if(e>=g&&e>8&255;case "C":d.T=f&255;break;case "D":d.U=f&255;break; -case "DE":d.U=f>>8&255;case "E":d.V=f&255;break;case "H":d.W=f&255;break;case "HL":d.W=f>>8&255;case "L":d.Z=f&255;break;case "SP":d.pa=f&65535;break;case "PC":I(d,f);a.M=Y(d.R);break;case "PS":Sc(d,f);break;case "PSW":Sc(d,f&255|d.ua&-256);d.i=f>>8;break;case "CF":d.da=f?d.da|256:d.da&255;break;case "PF":f?bd(d)||(d.ga^=1):bd(d)&&(d.ga^=1);break;case "AF":d.ya=f?~d.ga&16|d.ya&-17:d.ga&16|d.ya&-17;break;case "ZF":d.da=f?d.da&-256:d.da|255;break;case "SF":f?ed(d)||(d.ga^=192):ed(d)&&(d.ga^=192);break; -case "IF":d.ua=f?d.ua|512:d.ua&-513;break;default:a.g("unknown register: "+e);return}Ec(d);a.g("updated registers:")}a.g(Lf(a));c&&(a.M=Y(d.R),Cf(a,Z(a.M.G)))}}function Sf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(zf(a,c[2])):Ce(a,b,!0)}function Tf(a,b,c){var d="t"!=b;c=Ee(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ea(c,function(){return kb(a,!0)&&a.ob(e,d,!1)},function(){Ec(a.b);kb(a,!1)})} -function Cf(a,b,c,d){if(b=Te(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Te(a,c,!0);if(!d||d.Gh[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.g(n)}h[3]&&(g=h[3],f=null);f=If(a,b,g,f);a.g(f);a.M=b;e-=b.G-k;c++}}} -l.Ib=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Hf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.P&&(a.g("ended assemble at "+Z(a.ca.G)),a.M=a.ca,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.la=null;if(mb(a)&&0n||"z"Ga.length&&(a.g("note: only "+Ga.length+" available"),ia=Ga.length);ua-=ia;0>ua&&(null==Ga[Ga.length-1].G?(ia=ua+ia,ua=0):ua+=Ga.length);var md=[];"call"==$e&&(Ib=1E5,md=["CALL"]);for(void 0!==Ze&&a.g(ia+" instructions earlier:");0< -Ib&&ua!=a.fa;){var cf=Ga[ua++];if(null==cf.G)break;var Jb=Y(cf.G),lg=ia--,df=If(a,Jb,"history",lg);(!md.length||0<=df.indexOf(md[0]))&&a.g(df);Jb.Ob&&(ua+=Jb.Ob,Ib-=Jb.Ob,ia-=Jb.Ob);ua>=Ga.length&&(ua=0);a.ib=ia;bf++;Ib--}}bf||(a.g("no "+af+"history available"),a.ib=void 0)}else{var oc=Te(a,X);if(oc){var pc=0;ta&&("l"==ta.charAt(0)&&(ta=ta.substr(1)||Eb),pc=Ee(a,ta)>>>0,65536>4||1;mg--&&0tc?String.fromCharCode(tc):".";rc--}Kb&&(Kb+="\n");Kb+=X+" "+od+(Lb?"":" "+ef)}Kb&&a.g(Kb);a.Wa=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,ff=255,gf=a.aa,hf=a.va;"ew"==f[0]&&(uc=2,ff=65535,gf=a.cb,hf=a.Lb);var jf=uc<<1,kf=f[1];if(null==kf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a"); -else{var vc=Te(a,kf);if(vc)for(var wc=2;wcvd;){for(var Za=null,sg=256;65536>Ob.G>>>0;){mf.G=a.cb(Ob,2);if(null==Ob.G||!sg--)break;for(var tg=a,yc=mf,nf= -null,Pb=yc.G,of=Pb,wd=1;6>=wd&&Pb;wd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bXf){if(Zf(d,this.L)){this.D=new J(this,"1.30.2","failsafe");Zf(this.D)&&(dg(this,d),a=2,eg(this.D));this.D.set("timestamp",ra());fg(this.D);var e=this.A&&!this.K;if(1==a||ya("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=cg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zf(d,g):("error"== -f&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.j=null)):this.g(f+": "+g),eg(d),Zf(d)?(c=cg(d),e=!0):c=!1))}e&&bg(this,c?d:null)}else 2==a&&d.clear()}else bg(this);delete this.L;delete this.M}e=db(this.id);for(f=0;fa[1];a=a[2];this.ha=!0;this.C.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),this.b.vb());this.Y&&(dg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0}; -function dg(a,b){if(ya("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.2"};d.url=a.fa;d.user=c;d.type="bug";d.data=b;va("http://www.pcjs.org/api/v1/report",d,!0)}} -function Uf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new J(a,"1.30.2"),g=new J(a,"1.30.2","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",xa());a.b&&a.b.Ka&&(c&&a.b.ra(),d=a.b.Ka(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.xa=!1,!1===d&&(e=null)));for(var h=db(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);Ag(a,b,c)}})}else c(a,null)} -function Bg(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--kg||Sa(!0));k=!1}var g,h,k=!0;kg++;bb[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=n:q.appendChild(document.createTextNode(n));p.appendChild(q)}c|| -(c="/versions/pc8080/1.30.2/components.xsl");n=function(d,h){h?yg(c,null,null,!1,e,function(d,k){k?(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--kg||Sa(!0)):f("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),--kg||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?yg(b,a,d,!0,e,n):zg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Sa(!1);return Bg(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta;})(); diff --git a/versions/pc8080/1.30.2/pc8080.js b/versions/pc8080/1.30.2/pc8080.js deleted file mode 100644 index 87875147b..000000000 --- a/versions/pc8080/1.30.2/pc8080.js +++ /dev/null @@ -1,202 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var k,m={td:1,ud:3,vd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,nb:65,Qb:66,Sb:67,qb:68,E:69,Vb:70,Wb:71,Xb:72,Yb:73,ec:74,fc:75,sb:76,mc:77,nc:78,qc:79,rc:80,Q:81,xc:82,Ac:83,Fc:84,Gc:85,Hc:86,Ic:87,Kc:88,Lc:89,Mc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ce:97,de:98,ee:99,d:100,e:101,fe:102,ge:103,he:104,ie:105,je:106,k:107,ke:108, -le:109,n:110,me:111,p:112,q:113,r:114,ne:115,t:116,oe:117,pe:118,qe:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date}; -function ka(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function la(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function ma(a,b){var c,d={aa:null,wa:null,Ea:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ea=g.load;d.xa=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.aa=Array(4*e.length),f=c=0;c>8&255,d.aa[f++]=e[c]>>16&255,d.aa[f++]=e[c]>>24&255;else d.aa=g;d.wa=g.symbols;d.aa.length?1==d.aa.length&&(q(d.aa[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Xa=this.id:(this.za=this.id.substr(0,b),this.Xa=this.id.substr(b+1));this[a]=c;this.l={ready:!1,$a:!1,ib:!1,Y:!1,error:!1};this.cb=null;this.l.error=!1;this.w={};this.O=null;v.push(this)}var Ea=void 0,Fa={}; -if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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=r);a.prototype=Ja(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ka=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ka={},v=[];function La(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function Ba(a,b,c){b||q((c?c+": ":"")+a)} -function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.j&&(this.j=10);15>2;this.f=this.c-1;this.i=this.u/this.c|0;this.o=this.i-1;this.m=[];this.A=[];this.B=[];this.C=[];a=new C;Za(a,this.O);this.b=Array(this.i);for(b=0;b>>a.j;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Ra)return h.hb+=h.Ra-e,h.Ra=e,!0;if(e>=h.Ra+h.hb){n=h.size-(e-l);n>f&&(n=f);h.hb=e-h.Ra+n;e=l+a.c;f-=n;g++;continue}}return ab(1,e,f)}e=new C(e,n,a.c,d);Za(e,a.O,h);a.b[g++]=e;e=l+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+bb[d]+" at "+p(b,4,!0)),!0):ab(2,b,c)}Ya.prototype.J=function(a){return this.b[(a&this.g)>>>this.j].Ua(a&this.f,a)}; -function cb(a,b){return a.b[(b&a.g)>>>a.j].gb(b&a.f,b)}function db(a,b){var c=b&a.f,d=(b&a.g)>>>a.j;return c!=a.f?a.b[d].od(c,b):a.b[d++].Ua(c,b)|a.b[d&a.o].Ua(0,b+1)<<8}Ya.prototype.ba=function(a,b){this.b[(a&this.g)>>>this.j].Va(a&this.f,b&255,a)};function eb(a,b,c){a.b[(b&a.g)>>>a.j].Lb(b&a.f,c&255,b)}function gb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.j;d!=a.f?a.b[e].pd(d,c&65535,b):(a.b[e++].Va(d,c&255,b),a.b[e&a.o].Va(0,c>>8&255,b+1))} -function hb(a){for(var b=0,c=[],d=0;d>1),this.a=new Int32Array(this.j,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},C:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},I: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},S:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.oa=!0},v:function(a,b){return this.gb(a,b)},H:function(a,b){return this.Ib(a,b)},N:function(a,b,c){this.c||this.Lb(a,b,c)},W:function(a, -b,c){this.c||this.X(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.w.getUint16(a,!0)},M:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},L:function(a,b){this.b[a]=b;this.oa=!0},R:function(a,b){this.b[a]=b;this.oa=!0},U:function(a,b){this.w.setUint16(a,b,!0);this.oa=!0},za:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.oa=!0}};function Za(a,b,c){a.O=b;a.f=a.g=0;c&&((a.f=c.f)&&ub(a,vb,!1),(a.g=c.g)&&wb(a,vb,!1))} -function wb(a,b,c){c&&a.g||(a.Va=!a.c&&b[1]||a.o,a.pd=!a.c&&b[3]||a.s);if(c||void 0===c)a.Lb=b[1]||a.o,a.X=b[3]||a.s}function ub(a,b,c){c&&a.f||(a.Ua=b[0]||a.m,a.od=b[2]||a.A);if(c||void 0===c)a.gb=b[0]||a.m,a.Ib=b[2]||a.A}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}var xb=[],tb=[C.prototype.C,C.prototype.S,C.prototype.I,C.prototype.Z],vb=[C.prototype.v,C.prototype.N,C.prototype.H,C.prototype.W]; -if(Ta)var sb=[C.prototype.u,C.prototype.L,C.prototype.G,C.prototype.U],rb=[C.prototype.B,C.prototype.R,C.prototype.M,C.prototype.za];function yb(a,b){r.call(this,"CPU",a,yb);var c=a.multiplier||1;this.ma=a.cycles||b;this.L=c;this.Ha=Math.round(this.ma/1E4)/100;this.U=this.Ha*this.L;this.l.pa=!1;this.l.Jb=!1;this.l.Sa=a.autoStart;this.l.Cb=!1;this.l.ab=!1;this.ua=this.X=0;this.va=a.csStart;this.Z=a.csInterval;this.ja=a.csStop;this.G=[];this.Za=this.lb.bind(this);B(this)}w(yb);var zb=["power","reset"]; -k=yb.prototype;k.ra=function(a,b,c,d){this.A=a;this.j=b;this.O=d;for(b=0;ba.R/a.U&&(b=1);a.L=b;b=a.Ha*a.L;if(a.U!=b){a.U=b;b=a.U.toFixed(2)+"Mhz";var d=a.w.setSpeed;d&&(d.textContent=b);a.ea("target speed: "+b)}c&&a.A&&Ib(a.A)}a.H+=a.N;a.N=0;a.I=ja();a.S=0;Gb(a)}function Jb(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Kb(a,b,c){0<=b&&ba.G[b][0]&&(c*=a.ma*a.L/1E3,a.G[b][0]=c+Mb(a))}function Mb(a,b){var c=a.W-=a.a;a.a=0;b&&(a.W=0);return c} -k.lb=function(a){if(Ra(this,!0)){if(!this.l.pa){Fb(this);this.A&&this.A.start(this.I,Hb(this));this.l.pa=!0;this.l.Jb=!0;this.M&&this.M.start();var b=this.w.run;b&&(b.textContent="Halt");this.A&&(this.A.Fa(!0),a&&Ib(this.A,!0))}this.Ia>=this.ma&&Gb(this,!0);this.qa=0;this.ta=ja();this.S&&(a=this.ta-this.S,a>this.Pa&&(this.I+=a,this.I>this.ta&&(this.I=this.ta)));try{do{for(var c,d=this.l.ab?1:this.Ba,e=this.G.length-1;0<=e;e--){var f=this.G[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Kb(c);c=Mb(this,!0); -this.qa+=c;this.N+=c;a=c;this.l.ab&&(b=!1,this.ua=this.ua+this.Fb()|0,this.X-=a,0>=this.X&&(this.X+=this.Z,b=!0),0<=this.ja&&this.ja<=Hb(this)&&(this.Z=this.ja=-1,Cb(this),Eb(this),b=!0),b&&this.ea(Hb(this)+" cycles: checksum="+p(this.ua)));a=c;for(var 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.la-=c;if(0>=this.la){this.la+=this.Ba;15<=++this.Qa&&(this.A&&this.A.Fa(),this.Qa=0);break}}while(this.l.pa)}catch(l){Eb(this);Db(this);this.A&&this.A.stop(ja(), -Hb(this));Ra(this,!1);c=l.stack||l.message;this.l.error=!0;this.K(c);return}c=setTimeout;d=this.Za;this.S=ja();e=this.Pa;this.qa&&(e=Math.round(e*this.qa/this.Ba));e-=this.S-this.ta;if(f=this.S-this.I)this.R=Math.round(this.N/(10*f))/100,864E5<=f&&(this.H=0,Fb(this));if(0>e||this.Re&&(this.I-=e),e=0;this.Ia+=this.qa;this.S+=e;c(d,e)}else Db(this),this.A&&this.A.stop(ja(),Hb(this))};k.Kb=function(){return 0}; -function Eb(a){a.l.$a&&(a.l.ib=!0);Mb(a);a.H+=a.N;a.N=0;if(a.l.pa){a.l.pa=!1;a.M&&a.M.stop();var b=a.w.run;b&&(b.textContent="Run")}a.l.complete=void 0}function Db(a){if(a.A){for(var b=a.A,c=0;c>8&255;a.D=b&255}function Xb(a){return a.f<<8|a.F}function Yb(a,b){a.f=b>>8&255;a.F=b&255}function G(a){return a.g<<8|a.i} -function I(a,b){a.g=b>>8&255;a.i=b&255}function E(a,b){a.o=b&65535}function J(a){return a.m&256?1:0}function K(a,b){a.m=a.m&255|b}function Zb(a){return Ua[a.s&255]?4:0}function Ub(a){return a.C&-214|(a.s&128?128:0)|(a.m&255?0:64)|((a.s^a.v)&16?16:0)|Zb(a)|J(a)}function Sb(a,b){a.m=a.s=a.v=0;b&1&&(a.m|=256);b&4||(a.s|=1);b&16&&(a.v|=16);b&64||(a.m|=255);b&128&&(a.s^=192);a.C=a.C&-726|b&512|2}function L(a,b){a.v=a.b^b;return a.s=(a.m=a.b+b)&255} -function $b(a,b){a.v=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?1:0))&255}function ac(a,b){a.m=a.s=a.v=a.b&b;(a.b|b)&8&&(a.v^=16);return a.m}function bc(a,b){a.v=b^255;b=a.s=b+255&255;a.m=a.m&-256|b;return b}function cc(a,b){a.v=b;b=a.s=b+1&255;a.m=a.m&-256|b;return b}function dc(a,b){return a.s=a.m=a.v=a.b|b}function M(a,b){b^=255;a.v=a.b^b;return a.s=(a.m=a.b+b+1^256)&255}function ec(a,b){b^=255;a.v=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function fc(a,b){return a.s=a.m=a.v=a.b^b}k.J=function(a){return this.j.J(a)}; -k.ba=function(a,b){this.j.ba(a,b)};function N(a){var b=a.J(a.o);E(a,a.o+1);return b}function O(a){var b=db(a.j,a.o);E(a,a.o+2);return b}function P(a){var b=db(a.j,a.u);a.u=a.u+2&65535;return b}function R(a,b){a.u=a.u-2&65535;gb(a.j,a.u,b)}function gc(a){if(a.a&&a.B&255&&a.C&512){for(var b=0;8>b&&!(a.B&1<b?255:1<>8;K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Vb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5}, -function(){this.D=cc(this,this.D);this.a-=5},function(){this.D=bc(this,this.D);this.a-=5},function(){this.D=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;K(this,a);this.a-=4},ic,function(){Yb(this,O(this));this.a-=10},function(){this.ba(Xb(this),this.b);this.a-=7},function(){Yb(this,Xb(this)+1);this.a-=5},function(){this.f=cc(this,this.f);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|J(this); -K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Xb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Xb(this));this.a-=7},function(){Yb(this,Xb(this)-1);this.a-=5},function(){this.F=cc(this,this.F);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(J(this)<<8|this.b)>>1;K(this,a&256);this.a-=4},ic,function(){I(this,O(this));this.a-=10},function(){var a=O(this);gb(this.j,a,G(this));this.a-=16},function(){I(this, -G(this)+1);this.a-=5},function(){this.g=cc(this,this.g);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=N(this);this.a-=7},function(){var a=0,b=J(this);if((this.s^this.v)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=L(this,a);K(this,b?256:0);this.a-=4},ic,function(){var a;I(this,a=G(this)+G(this));K(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=db(this.j,a);I(this,a);this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.i=cc(this,this.i); -this.a-=5},function(){this.i=bc(this,this.i);this.a-=5},function(){this.i=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},ic,function(){this.u=O(this)&65535;this.a-=10},function(){this.ba(O(this),this.b);this.a-=13},function(){this.u=this.u+1&65535;this.a-=5},function(){var a=G(this);this.ba(a,cc(this,this.J(a)));this.a-=10},function(){var a=G(this);this.ba(a,bc(this,this.J(a)));this.a-=10},function(){this.ba(G(this),N(this));this.a-=10},function(){this.m|=256;this.a-=4},ic,function(){var a; -I(this,a=G(this)+this.u);K(this,a>>8&256);this.a-=10},function(){this.b=this.J(O(this));this.a-=13},function(){this.u=this.u-1&65535;this.a-=5},function(){this.b=cc(this,this.b);this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){K(this,J(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.F;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.i; -this.a-=5},function(){this.c=this.J(G(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.J(G(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.a-=5},function(){this.f=this.F;this.a-= -5},function(){this.f=this.g;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.J(G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.F=this.c;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.J(G(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.D;this.a-= -5},function(){this.g=this.f;this.a-=5},function(){this.g=this.F;this.a-=5},function(){this.a-=5},function(){this.g=this.i;this.a-=5},function(){this.g=this.J(G(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.i=this.c;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.i=this.g;this.a-=5},function(){this.a-=5},function(){this.i=this.J(G(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.ba(G(this), -this.c);this.a-=7},function(){this.ba(G(this),this.D);this.a-=7},function(){this.ba(G(this),this.f);this.a-=7},function(){this.ba(G(this),this.F);this.a-=7},function(){this.ba(G(this),this.g);this.a-=7},function(){this.ba(G(this),this.i);this.a-=7},function(){var a=this.o-1;if(this.sa.length)for(var b=0;b>>=f)&l;if(void 0!==g&&g[0])g[0](a,l,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=O(this);J(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Xb(this));this.a-=11},function(){this.b=M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,16);this.a-=11},function(){J(this)&&(E(this,P(this)),this.a-=6);this.a-=5},kc,function(){var a=O(this);J(this)&&E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.o+-2&65535,d=1,e=0, -f=0;0>8;this.a-=10},function(){var a=O(this);this.s&128||E(this,a);this.a-=10},function(){this.C&=-513;this.a-=4},function(){var a=O(this);this.s&128||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this, -Ub(this)&255|this.b<<8);this.a-=11},function(){this.b=dc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,48);this.a-=11},function(){this.s&128&&(E(this,P(this)),this.a-=6);this.a-=5},function(){this.u=G(this)&65535;this.a-=5},function(){var a=O(this);this.s&128&&E(this,a);this.a-=10},function(){this.C|=512;this.a-=4;gc(this)},function(){var a=O(this);this.s&128&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,56); -this.a-=11}];function T(a){r.call(this,"ChipSet",a,T);var b=a.model;b&&!mc[b]&&Ba("Unrecognized ChipSet model: "+b);this.c=mc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(T); -var V={ca:1978.1,Dc:{da:0,xd:1,Bd:16,Id:32,Rd:64,Qd:128,Ka:14},Da:{da:1,Tb:1,wc:2,sc:4,tc:16,uc:32,vc:64,Ka:8},Ec:{da:2,wd:3,$d:4,yd:8,Md:16,Nd:32,Od:64,zd:128,Ka:0},Vd:{da:3},Td:{da:2,Jd:7},Xd:{da:3,ae:1,Wd:2,Pd:4,Gd:8,Ad:16,qd:32},Ud:{da:4},Yd:{da:5,Cd:1,Dd:2,Ed:4,Fd:8,be:16}},W={ca:100,ka:{da:66,zb:1,oc:2,pc:4,Ld:8,Kd:16,wb:32,vb:64,rb:128},Rb:{da:66,INIT:0},Aa:{da:194,sd:0,pb:16,yc:32,xb:48,ac:0,bc:32},Wa:{da:162,Sd:0,dc:0,$b:0,cc:0,Zb:0},na:{Hd:{da:98},Ga:{Ob:0,Nb:1,Bc:2,Jc:4,Ub:5,zc:6,Zd:7}, -Ya:16383}},mc={SI1978:V,VT100:W};T.prototype.V=function(){return!1};T.prototype.ra=function(a,b,c,d){this.j=b;this.a=c;this.O=d;this.A=a;this.m=Wa(a,"Keyboard");this.Z=Wa(a,"SerialPort");this.video=Wa(a,"Video");ib(b,this,this.c.eb);jb(b,this,this.c.fb)};T.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.ia=function(a){return a?this.save():!0};V.INIT=[[V.Dc.Ka,V.Da.Ka,V.Ec.Ka,0,0,0,0]]; -W.INIT=[[W.Rb.INIT,W.ka.oc|W.ka.pc],[W.Aa.ac,W.Aa.bc],[W.Wa.dc,W.Wa.$b,W.Wa.cc,W.Wa.Zb],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], -[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=T.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.K("reset error")}; -k.save=function(){var a=new F(this);switch(this.c.ca){case V.ca:a.set(0,[this.W,this.g,this.X,this.C,this.M,this.S,this.U]);break;case W.ca:a.set(0,[this.L,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.N]),a.set(3,[this.B,this.b,this.v,this.H,this.i])}return a.data()}; -k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ca){case V.ca:return this.W=b[0],this.g=b[1],this.X=b[2],this.C=b[3],this.M=b[4],this.S=b[5],this.U=b[6],!0;case W.ca:return this.L=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.N=b[3],b=a[3],this.B=b[0],this.b=b[1],this.v=b[2],this.H=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Wc=function(){return this.W};k.Xc=function(){return this.g};k.Yc=function(){return this.X}; -k.Vc=function(){return this.C>>8-this.M&255};k.dd=function(a,b){this.M=b};k.fd=function(a,b){this.S=b};k.ed=function(a,b){this.C=b<<8|this.C>>8};k.gd=function(a,b){this.U=b};k.hd=function(){};function nc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -k.Zc=function(){var a=this.u,a=a&~W.ka.vb;if((Hb(this.a)&64)<<1&&(a|=W.ka.vb,a!=this.u)){var b,c;b=this.v&1;switch(this.v>>1&7){case W.na.Ga.Nb:this.B=this.B<<1|b;break;case W.na.Ga.Ub:b=nc(this);this.i[b]=W.na.Ya;break;case W.na.Ga.Ob:this.b=this.b<<1|b;break;case W.na.Ga.Jc:b=nc(this);c=this.b&W.na.Ya;this.i[b]=c;break;case W.na.Ga.zc:b=nc(this);c=this.i[b];null==c&&(c=W.na.Ya);this.b=c;break;case W.na.Ga.Bc:this.b<<=1,this.H=this.b&W.na.Ya+1}}a&=~W.ka.wb;this.H&&(a|=W.ka.wb);a&=~W.ka.rb;if(b=this.m){b= -this.m;if(c=b.f)c=b.a,c=Hb(b.a)>=b.m+c.ma*c.L/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=W.ka.rb);a&=~W.ka.zb;this.Z&&this.Z.fa&1&&(a|=W.ka.zb);return this.u=a};k.jd=function(a,b){this.L=b};k.md=function(a,b){this.v=b};k.ld=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.qa!==a&&((b.qa=a)?Nb(b,!0):b.ta=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.N=a}}; -k.kd=function(a,b){b&W.Aa.yc?(b&=W.Aa.xb,this.s!=b&&(this.s=b,this.video&&(this.video.Hb=this.s==W.Aa.xb?50:60))):(b&=W.Aa.pb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==W.Aa.pb?132:80,a.H=b,a.T=a.Ba,80>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.wa=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(h){a.K("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.j;0>>=f.j;0d?a.j.push({mb:b,jb:Date.now(),bb:!1}):(a.j[d].jb=Date.now(),a.j[d].bb=!1);else if(0<=d){if(!a.j[d].bb){var e=a.j[d].jb;if(e&&100>Date.now()-e)return a.j[d].bb=!0,Ec(a),!0}a.j.splice(d,1)}if(a.M){d=0;switch(b){case "1p":d=V.Da.sc;break;case "2p":d=V.Da.wc;break;case "coin":d=V.Da.Tb;break;case "left":d=V.Da.uc;break;case "right":d=V.Da.vc;break;case "fire":d=V.Da.tc}d&&(a=a.M,b=d,a.g&=~b,c&&(a.g|=b))}return!0} -function Ec(a){for(var b=0,c=-1;bc||c>e)c=e}else{Cc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Ec(a)},c)}k.$c=function(){var a=this.g;0<=this.c&&(this.c>3)*a.G,!$a(a.j,a.ja,a.B,3)))return!1;a.B?(a.Oa=a.f.createImageData(b,c),a.Qa=16/a.la|0,Kc(a,a.B>>1)):Kc(a,(a.H+1)*a.W);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.sa=a.s.getContext("2d");a.I={};a.S=1<=a.Ba?8:16,f=8>(7>4)*c)}return l}Fc.prototype.ga=function(){return!0};Fc.prototype.V=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.va[b]=c,!0;switch(b){case "fullScreen":return this.w[b]=c,this.b&&this.b.Ja?c.onclick=function(){d.Ja()}:c.parentNode.removeChild(c),!0}return!1}; -Fc.prototype.Ja=function(){var a=!1;if(this.b){if(this.b.Ja){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.v;b>c&&(a=Math.round(c/b*100)+"%")}this.Na?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ja();a=!0}this.R&&this.R.focus()}return a}; -function Ic(a,b){!b&&a.b&&(a.Na?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Kc(a,b){a.Pa=b;a.N=!1;if(void 0===a.i||a.i.length!=a.Pa)a.i=Array(a.Pa)}function Mc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.U&&(208<=c&&236>c?e=a.S+0:28<=c&&72>c&&(e=a.S+1));a=a.L[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nb(a,b){var c=!0;if(!b){a.ma&&(120==a.ma?a.Za&1?(hc(a.a,2),c=!1):hc(a.a,1):hc(a.a,4));if(c&&a.N&&a.B){for(var d=a.j,e=a.B,f=!0,g=a.ja>>>d.j;0>=1);;){var x=cb(a.j,u++);if(127==(x&127)){var t=cb(a.j,u++),d=t&96,c=(t&15)<<8|cb(a.j,u),c=c+(t&16? -8192:16384);break}if(n>4)*x.P,Z,sa,Pa,fb,zc=x.T,Lb=x.P;D?(Z=H*t.T,sa=e*t.P,Pa=t.T,fb=t.P):(Z=H*t.Ha,sa=e*t.Ia,Pa=t.Ha,fb=t.Ia);x.T>t.T&&(Z*=2,Pa*=2);x.P>t.P&&(z||(Q+=t.P),Lb=t.P);D?D.drawImage(x.canvas,U,Q,zc,Lb,Z,sa,Pa,fb):(Z+=0,sa+=0,t.f.drawImage(x.canvas,U,Q,zc,Lb,Z, -sa,Pa,fb))}h++}g++}e++}}a.N=!0;!b&&a.ta&&1==h&&(a.i[l]=-1,h=0);a.ta=!1;(h||b)&&a.sa&&a.f.drawImage(a.s,0,a.qa,a.o,a.G-a.P,0,0,a.Nc,a.Mb)}else{e=a.ja;f=e+a.B;l=h=g=0;b=a.o;n=0;c=a.G;z=d=0;u=a.la;H=(1<>>t.j;t=x!=t.f?t.b[U].Ib(x,D):t.b[U++].gb(x,D)|t.b[U&t.o].gb(0,D+1)<<8;if(a.N&&t===a.i[g])h+=a.Qa;else{a.i[g]=t;(D=z)&&(t=t>>8|(t&255)<<8);h>D&H,Mc(a,a.Oa,h++,l,U),D+=u;h>n&&(n=h);l=d&&(d=l+1)}e+= -2;g++;if(h>=a.o&&(h=0,l++,l>a.G))break}a.N=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Fa.aspect);f&&.3<=f&&3.33>=f&&(ya("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ta("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Fc(d,e,g,f,c);Qa(d,c)}}); -function Nc(a){this.I=+a.adapter;switch(this.I){case 0:this.L=0;this.R=2;break;default:q("Unrecognized serial adapter #"+this.I);return}this.b=this.c=null;this.N=a.tabSize;this.H=a.charBOL;this.f=0;this.C=!1;r.call(this,"SerialPort",a,Nc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Oc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.w[b])&&this.V(null,a,b))}this.g="";this.i=this.s=null;this.exports={connect:this.Gb,receiveData:this.kb}}w(Nc); -var Pc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Qc=[!1,0,0,133,142,39,238],Oc="buffer";k=Nc.prototype; -k.V=function(a,b,c,d){var e=this;switch(b){case Oc:return this.w[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.Xa)return;b=ha(b[1]);if(this.i=Na(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.s=d.receiveData){this.status(this.za+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ga=function(a,b){if(!b)if(this.Gb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ia=function(a){return a?this.save():!0};k.reset=function(){Uc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.o;c[b++]=this.B;c[b++]=this.G;c[b++]=this.fa;c[b++]=this.m;c[b++]=this.v;c[b]=this.u;a.set(0,c);return a.data()};k.restore=function(a){return Uc(this,a[0])};function Uc(a,b){var c=0;b||(b=Qc);a.o=b[c++];a.B=b[c++];a.G=b[c++];a.fa=b[c++];a.m=b[c++];a.v=b[c++];a.u=b[c];return!0} -function Vc(a,b){var c=a.u&b;b&15||(c>>=4);b=Pc[c];c=((a.m&12)>>2)+6;a.m&16&&c++;c+=((a.m&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Rc(a,b){return a.C||a.fa&2?!1:(a.B=b,a.fa|=2,hc(a.a,a.R),!0)}k.kb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Rc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Kb(this.a,this.S,Vc(this,15)));return!0};k.Uc=function(){var a=this.B;this.fa&=-3;return a};k.Tc=function(){return this.fa}; -k.cd=function(a,b){this.G=b;this.fa&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.s&&this.s.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);var c=a.length;9==b?(b=this.N||8,c=b-this.f%b,this.N&&(a=" ".slice(0,c))):13==b&&(this.f=c=0,a="\n");this.H&&!this.f&&c&&(a=String.fromCharCode(this.H)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight;this.f+=c}else if(null!= -this.c){if(10==b||1024<=this.c.length)this.ea(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Kb(this.a,this.U,Vc(this,240))};k.bd=function(a,b){this.o?(this.v=b,this.v&64&&(this.o=!1)):(this.m=b,this.o=!0)};k.ad=function(a,b){this.u=b};var Sc={0:Nc.prototype.Uc,1:Nc.prototype.Tc},Tc={0:Nc.prototype.cd,1:Nc.prototype.bd,2:Nc.prototype.ad};za(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bYc){if($c(d,this.s)){this.i=new F(this,"1.30.2","failsafe");$c(this.i)&&(ed(this,d),a=2,fd(this.i));this.i.set("timestamp",ka());gd(this.i);var e=this.b&&!this.A;if(1==a||na("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=dd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?$c(d,g):("error"== -f&&"no machine state"!=g?(this.K("Error: "+g),"unable to verify user"==g&&(ra("user",""),this.c=null)):this.ea(f+": "+g),fd(d),$c(d)?(c=dd(d),e=!0):c=!1))}e&&cd(this,c?d:null)}else 2==a&&d.clear()}else cd(this);delete this.s;delete this.u}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.L=!0;this.l.Y=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.a&&(hd(this,this.a,b,c,a),this.a.Sa());this.C&&(ed(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; -function ed(a,b){if(na("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.2"};d.url=a.I;d.user=c;d.type="bug";d.data=b;la("http://www.pcjs.org/api/v1/report",d,!0)}} -function id(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.30.2"),g=new F(a,"1.30.2","validate"),h=ka();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ia&&(c&&Eb(a.a),d=a.a.ia(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.l.Y=!1,!1===d&&(e=null)));for(var h=Ma(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){f=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,u=/( [a-z]+=)(['"])(.*?)\2/g;n=u.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);pd(a,b,c)}})}else c(a,null)} -function qd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--md||Ca(!0));l=!1}var g,h,l=!0;md++;Ka[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));u.appendChild(z)}c|| -(c="/versions/pc8080/1.30.2/components.xsl");n=function(d,h){h?nd(c,null,null,!1,e,function(d,l){l?(La(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--md||Ca(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--md||Ca(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nd(b,a,d,!0,e,n):od(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(H){f(H.message)}return l}window.embedPC8080=function(a,b,c,d){Ca(!1);return qd(a,b,c,d)};window.enableEvents=Ca;window.sendEvent=Da;})(); diff --git a/versions/pc8080/1.30.3/common.css b/versions/pc8080/1.30.3/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pc8080/1.30.3/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.30.3/common.xsl b/versions/pc8080/1.30.3/common.xsl deleted file mode 100644 index 166a642a1..000000000 --- a/versions/pc8080/1.30.3/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.30.3/components.css b/versions/pc8080/1.30.3/components.css deleted file mode 100644 index 4d6519bb0..000000000 --- a/versions/pc8080/1.30.3/components.css +++ /dev/null @@ -1,243 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0; - background-color: gold; - position: absolute; - top: 0; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-triplet { - padding: 1px; -} -.pcjs-ledlbl { - text-align: center; - font-size: 40%; - background-color: #000000; -} -.pcjs-ledlbl0 { - text-align: right; - font-size: 50%; - background-color: #8d4076; -} -.pcjs-ledlbl1 { - text-align: right; - font-size: 50%; - background-color: #d83662; -} -.pcjs-ledpad { - text-align: center; - font-size: x-small; - line-height: 32px; - background-color: #000000; - border-bottom-left-radius: 20%; - border-bottom-right-radius: 20%; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; - max-width: 50%; - max-height: 50%; -} -.pcjs-swlbl { - text-align: center; - font-size: 40%; - line-height: 16px; - background-color: #000000; - border-top-left-radius: 20%; - border-top-right-radius: 20%; -} -.pcjs-swpad { - height: 32px; - background-color: #000000; -} -.pcjs-switch { - height: 10px; - width: 28px; - margin-top: 0; - max-width: 90%; - background-color: #00ff00; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - max-width: none !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - .pdp11-device { - width: 98% !important; - max-width: none !important; - margin-left: 8px !important; - padding-left: 0 !important; - padding-right: 0 !important; - } -} diff --git a/versions/pc8080/1.30.3/components.xsl b/versions/pc8080/1.30.3/components.xsl deleted file mode 100644 index 354930955..000000000 --- a/versions/pc8080/1.30.3/components.xsl +++ /dev/null @@ -1,1380 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.30.3 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.30.3/document.css b/versions/pc8080/1.30.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.30.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.30.3/document.xsl b/versions/pc8080/1.30.3/document.xsl deleted file mode 100644 index a47da61cb..000000000 --- a/versions/pc8080/1.30.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.30.3/machine.xsl b/versions/pc8080/1.30.3/machine.xsl deleted file mode 100644 index 4c6e9f420..000000000 --- a/versions/pc8080/1.30.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.3/manifest.xsl b/versions/pc8080/1.30.3/manifest.xsl deleted file mode 100644 index c026a65aa..000000000 --- a/versions/pc8080/1.30.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.30.3/outline.xsl b/versions/pc8080/1.30.3/outline.xsl deleted file mode 100644 index f66db7013..000000000 --- a/versions/pc8080/1.30.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.3/pc8080-dbg.js b/versions/pc8080/1.30.3/pc8080-dbg.js deleted file mode 100644 index 050077ca1..000000000 --- a/versions/pc8080/1.30.3/pc8080-dbg.js +++ /dev/null @@ -1,288 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var l,m={pe:1,qe:3,re:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Xb:65,Kc:66,Mc:67,$b:68,E:69,Pc:70,Qc:71,Rc:72,Sc:73,Zc:74,$c:75,bc:76,gd:77,hd:78,kd:79,ld:80,Q:81,rd:82,ud:83,Ad:84,Bd:85,Cd:86,Dd:87,Fd:88,Gd:89,Hd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ye:97,Ze:98,$e:99,d:100,e:101,af:102,bf:103,cf:104,df:105,ef:106,k:107,ff:108, -gf:109,n:110,hf:111,p:112,q:113,r:114,jf:115,t:116,lf:117,mf:118,nf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)} -function u(a){return t(a,4,!0)}function ea(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.bb=g.load;d.Ta=g.exec;if(e=g.bytes)d.Aa=e;else if(e=g.words)for(d.Aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.Aa=Array(4*e.length),f=c=0;c>8&255,d.Aa[f++]=e[c]>>16&255,d.Aa[f++]=e[c]>>24&255;else d.Aa=g;d.Ea=g.symbols;d.Aa.length?1==d.Aa.length&&(w(d.Aa[0]),d=null):(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.gb=this.id:(this.hb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,wb:!1,Nb:!1,xa:!1,error:!1};this.Hb=null;this.C.error=!1;this.N={};this.I=null;this.ta=d||0;Ua.push(this)}var Va=void 0,Wa={}; -if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Xa=$a.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function ab(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 A(a,b){b||(b=z);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var bb=window.PCjs.Machines||(window.PCjs.Machines={}),Ua=window.PCjs.Components||(window.PCjs.Components=[])}else bb={},Ua=[];function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Qa(a,b,c){b||w((c?c+": ":"")+a)} -function db(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.ia&&(this.ia=10);15>2;this.u=this.Ja-1;this.K=this.L/this.Ja|0;this.H=this.K-1;this.A=[];this.j=[];this.F=this.D=!1;this.O=[];this.P=[];a=new G;xb(a,this.I);this.X=Array(this.K);for(b=0;b>>a.ia;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.G)return h.Cb+=h.G-e,h.G=e,!0;if(e>=h.G+h.Cb){n=h.size-(e-k);n>f&&(n=f);h.Cb=e-h.G+n;e=k+a.Ja;f-=n;g++;continue}}return zb(1,e,f)}e=new G(e,n,a.Ja,d);xb(e,a.I,h);a.X[g++]=e;e=k+a.Ja;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+u(b)),!0):zb(2,b,c)} -l.aa=function(a){return this.X[(a&this.w)>>>this.ia].nb(a&this.u,a)};function Bb(a,b){return a.X[(b&a.w)>>>a.ia].Ab(b&a.u,b)}l.cb=function(a){var b=a&this.u,c=(a&this.w)>>>this.ia;return b!=this.u?this.X[c].Dc(b,a):this.X[c++].nb(b,a)|this.X[c&this.H].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.u,d=(b&a.w)>>>a.ia;return c!=a.u?a.X[d].Sb(c,b):a.X[d++].Ab(c,b)|a.X[d&a.H].Ab(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.ia].pb(a&this.u,b&255,a)}; -function Db(a,b,c){a.X[(b&a.w)>>>a.ia].Db(b&a.u,c&255,b)}l.Lb=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.ia;c!=this.u?this.X[d].Fc(c,b&65535,a):(this.X[d++].pb(c,b&255,a),this.X[d&this.H].pb(0,b>>8&255,a+1))};function Fb(a){for(var b=0,c=[],d=0;d>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.I&&a.D!=g[1]&&Wb(a.I,b,k)}else a.I&&(hb(a.I,a,b,k,d),a.D&&Wb(a.I,b,k));f+=h<<3;b+=h;e-=h}} -function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(qb){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb; -function G(a,b,c,d){this.id=$b+=2;this.b=null;this.G=a;this.Cb=b;this.size=c||0;this.type=d||ac;this.N=d==bc;xb(this);this.Pa=this.Ac=!1;if(c)if(qb)this.F=new ArrayBuffer(c),this.D=new DataView(this.F,0,c),this.u=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa: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},hb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<> -2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Pa=!0},O:function(a,b){if(this.I&&null!=this.G){var c=this.I;jc(c,this.G+a,1,c.O)&&c.ra(!0)}return this.Ab(a,b)},ca:function(a,b){if(this.I&&null!=this.G){var c=this.I;jc(c,this.G+a,2,c.O)&&c.ra(!0)}return this.Sb(a,b)},ja:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;jc(d,this.G+a,1,d.D)&&d.ra(!0)}this.N?this.w(a,b,c):this.Db(a,b,c)},ma:function(a,b,c){if(this.I&& -null!=this.G){var d=this.I;jc(d,this.G+a,2,d.D)&&d.ra(!0)}this.N?this.w(a,b,c):this.Wb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},ba:function(a){return this.D.getUint16(a,!0)},ea:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.K[a>>1]},ha:function(a,b){this.u[a]=b;this.Pa=!0},gb:function(a,b){this.u[a]=b;this.Pa=!0},la:function(a,b){this.D.setUint16(a,b,!0);this.Pa=!0},na:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.K[a>>1]=b;this.Pa=!0}}; -function xb(a,b,c){a.I=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.pb=a.N?a.w:a.Db,a.Fc=a.N?a.H:a.Wb):--a.A||(a.nb=a.Ab,a.Dc=a.Sb)}function gc(a,b,c){c&&a.j||(a.pb=!a.N&&b[1]||a.w,a.Fc=!a.N&&b[3]||a.H);if(c||void 0===c)a.Db=b[1]||a.w,a.Wb=b[3]||a.H}function ic(a,b,c){c&&a.A||(a.nb=b[0]||a.J,a.Dc=b[2]||a.L);if(c||void 0===c)a.Ab=b[0]||a.J,a.Sb=b[2]||a.L}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)} -var lc=[],fc=[G.prototype.Y,G.prototype.hb,G.prototype.fa,G.prototype.wa],hc=[G.prototype.O,G.prototype.ja,G.prototype.ca,G.prototype.ma];if(qb)var ec=[G.prototype.M,G.prototype.ha,G.prototype.ba,G.prototype.la],dc=[G.prototype.P,G.prototype.gb,G.prototype.ea,G.prototype.na]; -function mc(a,b){z.call(this,"CPU",a,mc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Sa=c;this.ha=Math.round(this.Y/1E4)/100;this.eb=this.ha*this.Sa;this.C.za=!1;this.C.Vb=!1;this.C.vb=a.autoStart;this.C.yc=!1;this.C.jb=!1;this.xb=this.O=0;this.yb=a.csStart;this.lb=a.csInterval;this.mb=a.csStop;this.w=[];this.Ha=this.fb.bind(this);F(this)}A(mc);var nc=["power","reset"];l=mc.prototype; -l.Ra=function(a,b,c,d){this.A=a;this.u=b;this.I=d;for(b=0;b=a.O&&(a.O+=a.lb,c=!0);0<=a.mb&&a.mb<=Gc(a)&&(a.lb=a.mb=-1,Cc(a),a.ra(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+t(a.xb))}} -l.qa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.C.xa)a=!0;else{var b=null,c,h=db(a.id);for(c=0;ca.K/a.eb?b=1:d=!0;a.Sa=b;b=a.ha*a.Sa;if(a.eb!=b){a.eb=b;b=a.eb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.Bb()}Ic(a,a.H);a.H=0;a.D=qa();a.J=0;Jc(a);return d}function Kc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Lc(a,b,c){0<=b&&ba.w[b][0]&&(c*=a.Y*a.Sa/1E3,a.w[b][0]=c+Mc(a))}function Mc(a,b){var c=a.L-=a.b;a.b=0;b&&(a.L=0);return c} -l.fb=function(a){if(kb(this,!0)){if(!this.C.za){Hc(this);this.A&&this.A.start(this.D,Gc(this));this.C.za=!0;this.C.Vb=!0;this.F&&this.F.start();var b=this.N.run;b&&(b.textContent="Halt");this.A&&(this.A.La(!0),a&&this.A.Bb(!0))}this.ja>=this.Y&&Jc(this,!0);this.ba=0;this.ea=qa();this.J&&(a=this.ea-this.J,a>this.wa&&(this.D+=a,this.D>this.ea&&(this.D=this.ea)));try{do{for(var c,d=this.C.jb?1:this.fa,e=this.w.length-1;0<=e;e--){var f=this.w[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.ob(c);c=Mc(this,!0);this.ba+= -c;this.H+=c;Fc(this,c);a=c;for(var g=this.w.length-1;0<=g;g--){var h=this.w[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.P-=c;if(0>=this.P){this.P+=this.fa;15<=++this.Ba&&(this.A&&this.A.La(),this.Ba=0);break}}while(this.C.za)}catch(k){this.ra();Ec(this);this.A&&this.A.stop(qa(),Gc(this));kb(this,!1);nb(this,k.stack||k.message);return}c=setTimeout;d=this.Ha;this.J=qa();e=this.wa;this.ba&&(e=Math.round(e*this.ba/this.fa));e-=this.J-this.ea;if(f=this.J-this.D)this.K=Math.round(this.H/(10*f))/ -100,864E5<=f&&(this.M=0,Hc(this));if(0>e||this.Ke&&(this.D-=e),e=0;this.ja+=this.ba;this.J+=e;c(d,e)}else Ec(this),this.A&&this.A.stop(qa(),Gc(this))};l.ob=function(){return 0};l.ra=function(a){lb(this,!0);Mc(this);Ic(this,this.H);this.H=0;if(this.C.za){this.C.za=!1;this.F&&this.F.stop();var b=this.N.run;b&&(b.textContent="Run")}this.C.complete=a};function Ec(a,b){if(a.A){for(var c=a.A,d=0;d>8&255;a.T=b&255}function Xc(a){return a.U<<8|a.V}function Yc(a,b){a.U=b>>8&255;a.V=b&255}function K(a){return a.W<<8|a.Z} -function Zc(a,b){a.W=b>>8&255;a.Z=b&255}function I(a,b){a.R=b&65535}function $c(a){return a.da&256?1:0}function ad(a,b){a.da=a.da&255|b}function bd(a){return rb[a.ga&255]?4:0}function cd(a){return(a.ga^a.ya)&16?16:0}function dd(a){return a.da&255?0:64}function ed(a){return a.ga&128?128:0}function Uc(a){return a.ua&-214|ed(a)|dd(a)|cd(a)|bd(a)|$c(a)}function Sc(a,b){a.da=a.ga=a.ya=0;b&1&&(a.da|=256);b&4||(a.ga|=1);b&16&&(a.ya|=16);b&64||(a.da|=255);b&128&&(a.ga^=192);a.ua=a.ua&-726|b&512|2} -function fd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b)&255}function gd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?1:0))&255}function hd(a,b){a.da=a.ga=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.da}function id(a,b){a.ya=b^255;b=a.ga=b+255&255;a.da=a.da&-256|b;return b}function jd(a,b){a.ya=b;b=a.ga=b+1&255;a.da=a.da&-256|b;return b}function Ed(a,b){return a.ga=a.da=a.ya=a.i|b}function L(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+1^256)&255} -function Fd(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function Gd(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function M(a){var b=a.aa(a.R);I(a,a.R+1);return b}function O(a){var b=a.u.cb(a.R);I(a,a.R+2);return b}function P(a){var b=a.u.cb(a.pa);a.pa=a.pa+2&65535;return b}function Q(a,b){a.pa=a.pa-2&65535;a.u.Lb(a.pa,b)} -function Hd(a){if(a.b&&a.j&255&&a.ua&512){for(var b=0;8>b&&!(a.j&1<b?255:1<>8;ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Vc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Vc(this));this.b-=7},function(){Wc(this,Vc(this)-1);this.b-= -5},function(){this.T=jd(this,this.T);this.b-=5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;ad(this,a);this.b-=4},Ld,function(){Yc(this,O(this));this.b-=10},function(){this.va(Xc(this),this.i);this.b-=7},function(){Yc(this,Xc(this)+1);this.b-=5},function(){this.U=jd(this,this.U);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| -$c(this);ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Xc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Xc(this));this.b-=7},function(){Yc(this,Xc(this)-1);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=M(this);this.b-=7},function(){var a=this.i<<8;this.i=($c(this)<<8|this.i)>>1;ad(this,a&256);this.b-=4},Ld,function(){Zc(this,O(this));this.b-=10},function(){var a=O(this);this.u.Lb(a,K(this)); -this.b-=16},function(){Zc(this,K(this)+1);this.b-=5},function(){this.W=jd(this,this.W);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=M(this);this.b-=7},function(){var a=0,b=$c(this);if(cd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=fd(this,a);ad(this,b?256:0);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+K(this));ad(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.u.cb(a);Zc(this,a);this.b-=16},function(){Zc(this,K(this)-1);this.b-=5},function(){this.Z= -jd(this,this.Z);this.b-=5},function(){this.Z=id(this,this.Z);this.b-=5},function(){this.Z=M(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Ld,function(){this.pa=O(this)&65535;this.b-=10},function(){this.va(O(this),this.i);this.b-=13},function(){this.pa=this.pa+1&65535;this.b-=5},function(){var a=K(this);this.va(a,jd(this,this.aa(a)));this.b-=10},function(){var a=K(this);this.va(a,id(this,this.aa(a)));this.b-=10},function(){this.va(K(this),M(this));this.b-=10},function(){this.da|=256;this.b-= -4},Ld,function(){var a;Zc(this,a=K(this)+this.pa);ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(O(this));this.b-=13},function(){this.pa=this.pa-1&65535;this.b-=5},function(){this.i=jd(this,this.i);this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=M(this);this.b-=7},function(){ad(this,$c(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W; -this.b-=5},function(){this.S=this.Z;this.b-=5},function(){this.S=this.aa(K(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(K(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-= -5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(K(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(K(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S; -this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(K(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Z=this.S;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(K(this));this.b-= -7},function(){this.Z=this.i;this.b-=5},function(){this.va(K(this),this.S);this.b-=7},function(){this.va(K(this),this.T);this.b-=7},function(){this.va(K(this),this.U);this.b-=7},function(){this.va(K(this),this.V);this.b-=7},function(){this.va(K(this),this.W);this.b-=7},function(){this.va(K(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.ca.length)for(var b=0;b>8;this.b-=10},function(){var a=O(this);ed(this)||I(this,a);this.b-=10},function(){this.ua&=-513;this.b-=4},function(){var a=O(this);ed(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Uc(this)&255|this.i<<8);this.b-=11},function(){this.i=Ed(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,48);this.b-=11},function(){ed(this)&& -(I(this,P(this)),this.b-=6);this.b-=5},function(){this.pa=K(this)&65535;this.b-=5},function(){var a=O(this);ed(this)&&I(this,a);this.b-=10},function(){this.ua|=512;this.b-=4;Hd(this)},function(){var a=O(this);ed(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Od,function(){L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,56);this.b-=11}]; -function S(a){z.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Pd[b]&&Qa("Unrecognized ChipSet model: "+b);this.w=Pd[b]||{};a.sound&&(this.fa=null,window&&(this.fa=window.AudioContext||window.webkitAudioContext),this.fa&&new this.fa);F(this)}A(S); -var U={Ca:1978.1,yd:{Da:0,te:1,xe:16,Ee:32,Ne:64,Me:128,qb:14},$a:{Da:1,Nc:1,qd:2,md:4,nd:16,od:32,pd:64,qb:8},zd:{Da:2,se:3,Ve:4,ue:8,Ie:16,Je:32,Ke:64,ve:128,qb:0},Re:{Da:3},Pe:{Da:2,Fe:7},Te:{Da:3,We:1,Se:2,Le:4,Ce:8,we:16,me:32},Qe:{Da:4},Ue:{Da:5,ye:1,ze:2,Ae:4,Be:8,Xe:16}},V={Ca:100,Ma:{Da:66,pc:1,ec:2,jd:4,He:8,Ge:16,gc:32,fc:64,ac:128},Lc:{Da:66,INIT:0},Va:{Da:194,oe:0,Zb:16,sd:32,lc:48,Vc:0,Wc:32},Eb:{Da:162,Oe:0,Yc:0,Uc:0,Xc:0,Tc:0},Na:{De:{Da:98},Ua:{Ic:0,Hc:1,vd:2,Ed:4,Oc:5,td:6,wd:7}, -Fb:16383}},Pd={SI1978:U,VT100:V};S.prototype.qa=function(){return!1};S.prototype.Ra=function(a,b,c,d){this.u=b;this.b=c;this.I=d;this.A=a;this.K=ub(a,"Keyboard");this.Ha=ub(a,"SerialPort");this.video=ub(a,"Video");Hb(b,this,this.w.Jb);Ub(b,this,this.w.Kb);if(d){var e=this;Qd(d,16384,function(){for(var a="",b=0;b>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.ce=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.ee=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ma=b};l.de=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.Y=b<<8|this.Y>>8}; -l.fe=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.na=b};l.ge=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Rd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -l.Wd=function(a,b){var c=this.J,c=c&~V.Ma.fc;if((Gc(this.b)&64)<<1&&(c|=V.Ma.fc,c!=this.J)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case V.Na.Ua.wd:break;case V.Na.Ua.Hc:this.P=this.P<<1|d;break;case V.Na.Ua.Oc:d=Rd(this);this.F[d]=V.Na.Fb;ib(this,"doNVRCommand(): erase data at addr "+u(d));break;case V.Na.Ua.Ic:this.j=this.j<<1|d;break;case V.Na.Ua.Ed:d=Rd(this);e=this.j&V.Na.Fb;this.F[d]=e;ib(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case V.Na.Ua.td:d=Rd(this);e=this.F[d]; -null==e&&(e=V.Na.Fb);this.j=e;ib(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case V.Na.Ua.vd:this.j<<=1;this.ca=this.j&V.Na.Fb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~V.Ma.gc;this.ca&&(c|=V.Ma.gc);c&=~V.Ma.ac;if(d=this.K){d=this.K;if(e=d.D)e=d.b,e=Gc(d.b)>=d.J+e.Y*e.Sa/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=V.Ma.ac);c&=~V.Ma.pc;this.Ha&&this.Ha.Fa&1&&(c|=V.Ma.pc);this.J=c;E(this,a,null,b,"FLAGS",c);return c}; -l.he=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ha=b};l.ke=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.je=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.D=this.D&-4|a;break;case 1:this.D=this.D&-13|a<<2;this.video&&(b=this.video,a=this.D,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ja=a}}; -l.ie=function(a,b,c){E(this,a,b,c,"DC011");b&V.Va.sd?(b&=V.Va.lc,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==V.Va.lc?50:60,ib(a,"updateRate("+b+")"),a.tc=b))):(b&=V.Va.Zb,this.L!=b&&(this.L=b,this.video&&(a=this.L==V.Va.Zb?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80>>0,g],q=pa(p,k,a.xc);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.H.push({kf:b,G:c,Yd:d,Ea:e,wc:f})}delete this.Ea}return!0};Ud.prototype.Ka=function(){return!0}; -function Vd(a,b,c,d){if(d)a.ka("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Ea=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.ka("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>f.ia;0>>= -f.ia;0d?a.j.push({Ub:b,Rb:Date.now(),Gb:!1}):(a.j[d].Rb=Date.now(),a.j[d].Gb=!1);else if(0<=d){if(!a.j[d].Gb){var e=a.j[d].Rb;if(e&&100>Date.now()-e)return a.j[d].Gb=!0,he(a),!0}a.j.splice(d,1)}if(a.F){d=0;switch(b){case "1p":d=U.$a.md;break;case "2p":d=U.$a.qd;break;case "coin":d=U.$a.Nc;break;case "left":d=U.$a.od;break;case "right":d=U.$a.pd;break;case "fire":d=U.$a.nd}d&&(a=a.F,b=d,a.H&=~b,c&&(a.H|=b))}return!0} -function he(a){for(var b=0,c=-1;bc||c>e)c=e}else{fe(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){he(a)},c)}l.Xd=function(a,b){var c=this.H;0<=this.w&&(this.w>3)*a.ba,!yb(a.u,a.Wa,a.P,3)))return!1;a.P?(a.oc=a.F.createImageData(b,c),a.rc=16/a.Xa|0,ne(a,a.P>>1)):ne(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.rb=a.L.getContext("2d");a.fa={};a.ma=1<=a.ic?8:16,f=8>(7>4)*c)}return k}ie.prototype.Ga=function(){return!0};ie.prototype.qa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Mb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1}; -ie.prototype.kb=function(){var a=!1;if(this.j){if(this.j.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Y/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.nc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.kb();a=!0}this.la&&this.la.focus()}return a}; -function le(a,b){!b&&a.j&&(a.nc?a.M.style.width=a.M.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function ne(a,b){a.qc=b;a.ja=!1;if(void 0===a.H||a.H.length!=a.qc)a.H=Array(a.qc)}function pe(a,b,c,d,e){d=a.w?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.na&&(208<=c&&236>c?e=a.ma+0:28<=c&&72>c&&(e=a.ma+1));a=a.ha[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nc(a,b){var c=!0;if(!b){a.Ya&&(120==a.Ya?a.sc&1?(Id(a.b,2),c=!1):Id(a.b,1):Id(a.b,4));if(c&&a.ja&&a.P){for(var d=a.u,e=a.P,f=!0,g=a.Wa>>>d.ia;0>=1);;){var v=Bb(a.u,p++);if(127==(v&127)){var r=Bb(a.u,p++),d=r&96,c=(r&15)<<8|Bb(a.u,p),c=c+ -(r&16?8192:16384);break}if(n>4)*v.oa,C,T,da,X,ta=v.sa,Eb=v.oa;y?(C=x*r.sa,T=e*r.oa,da=r.sa,X=r.oa):(C=x*r.jc,T=e*r.kc,da=r.jc,X=r.kc);v.sa>r.sa&&(C*=2,da*=2);v.oa>r.oa&&(q||(H+=r.oa),Eb=r.oa);y?y.drawImage(v.canvas,ga,H,ta,Eb,C,T,da,X):(C+=0,T+=0,r.F.drawImage(v.canvas, -ga,H,ta,Eb,C,T,da,X))}h++}g++}e++}}a.ja=!0;!b&&a.sb&&1==h&&(a.H[k]=-1,h=0);a.sb=!1;(h||b)&&a.rb&&a.F.drawImage(a.L,0,a.ib,a.J,a.ba-a.oa,0,0,a.Gc,a.Jd)}else{e=a.Wa;f=e+a.P;k=h=g=0;b=a.J;n=0;c=a.ba;q=d=0;p=a.Xa;x=(1<>8|(r&255)<<8);h>y&x,pe(a,a.oc,h++,k,ga),y+=p;h>n&&(n=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.ba))break}a.ja=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ie(d,e,g,f,c);gb(d,c)}}); -function qe(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ha=0;this.la=2;break;default:w("Unrecognized serial adapter #"+this.fa);return}this.j=this.w=null;this.ja=a.tabSize;this.ea=a.charBOL;this.D=0;this.ba=!1;z.call(this,"SerialPort",a,qe,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=re;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.N[b])&&this.qa(null,a,b))}this.H="";this.K=this.M=null;this.exports={connect:this.Cc,receiveData:this.Tb}}A(qe); -var se=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],te=[!1,0,0,133,142,39,238],re="buffer";l=qe.prototype; -l.qa=function(a,b,c,d){var e=this;switch(b){case re:return this.N[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.gb)return;b=na(b[1]);if(this.K=eb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.M=d.receiveData){this.status(this.hb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ga=function(a,b){if(!b)if(this.Cc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -l.Ka=function(a){return a?this.save():!0};l.reset=function(){xe(this)};l.save=function(){var a=new J(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Y;c[b++]=this.ca;c[b++]=this.Fa;c[b++]=this.J;c[b++]=this.P;c[b]=this.O;a.set(0,c);return a.data()};l.restore=function(a){return xe(this,a[0])};function xe(a,b){var c=0;b||(b=te);a.L=b[c++];a.Y=b[c++];a.ca=b[c++];a.Fa=b[c++];a.J=b[c++];a.P=b[c++];a.O=b[c];return!0} -function ye(a,b){var c=a.O&b;b&15||(c>>=4);b=se[c];c=((a.J&12)>>2)+6;a.J&16&&c++;c+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function ue(a,b){ib(a,"receiveByte("+ca(b)+"), status="+ca(a.Fa));return a.ba||a.Fa&2?!1:(a.Y=b,a.Fa|=2,Id(a.b,a.la),!0)}l.Tb=function(a){null!=a&&(this.H="number"!=typeof a?a:this.H+String.fromCharCode(a));this.H&&(ue(this,this.H.charCodeAt(0))&&(this.H=this.H.substr(1)),this.H&&this.b&&Lc(this.b,this.ma,ye(this,15)));return!0}; -l.Rd=function(a,b){var c=this.Y;E(this,a,null,b,"DATA",c);this.Fa&=-3;return c};l.Qd=function(a,b){var c=this.Fa;E(this,a,null,b,"STATUS",c);return c}; -l.be=function(a,b,c){E(this,a,b,c,"DATA");this.ca=b;this.Fa&=-6;ib(this,"transmitByte("+ca(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.M&&this.M.call(this.K,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ja||8,c=b-this.D%b,this.ja&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.ea&&!this.D&&c&&(a=String.fromCharCode(this.ea)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight, -this.D+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Lc(this.b,this.na,ye(this,240))};l.ae=function(a,b,c){E(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.J=b,this.L=!0)};l.$d=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b};var ve={0:qe.prototype.Rd,1:qe.prototype.Qd},we={0:qe.prototype.be,1:qe.prototype.ae,2:qe.prototype.$d}; -Oa(function(){for(var a=D(document,"pc8080","serial"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ze.prototype.Pb=function(){return-1};ze.prototype.Qb=function(){}; -ze.prototype.Ib=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Be(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ce(a,b,c){var d;if(b){b=De(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function He(a,b){if(b)return Fe(a,b,a.ea[b]);var c=0;for(b in a.ea)Fe(a,b,a.ea[b]),c++;return 0>>d.u.ia;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.g("..."):(c=p.type,n=Ab[c],p&&d.g(t(p.id)+" %"+t(e<>>e.ia;f!=e.u?e.X[g].Wb(f,b&65535,d):(e.X[g++].Db(f,b&255,d),e.X[g&e.H].Db(0,b>>8&255,d+1));c&&Ue(a,c);Ec(this.b,!0)}};function Y(a){return{G:a,Qa:!1}}function uf(a){return[a.G,a.Qa]}function vf(a){return{G:a[0],Qa:a[1]}} -function Te(a,b,c){var d;c=(c?a.M:a.Wa).G;if(void 0!==b){d=b=De(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=sa(Qe,a.substr(b,1))));return c};function yf(a,b){var c=0;a=a.Qb(b);if(void 0!==a)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(a,c):"??"} -l.Qb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.S;break;case 1:b=c.T;break;case 8:b=Vc(c);break;case 2:b=c.U;break;case 3:b=c.V;break;case 9:b=Xc(c);break;case 4:b=c.W;break;case 5:b=c.Z;break;case 10:b=K(c);break;case 6:b=c.aa(K(c));break;case 11:b=c.pa;break;case 12:b=c.R;break;case 13:b=Uc(c);break;case 14:b=Uc(c)&255|c.i<<8}}return b}; -function zf(a,b){b=De(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Pb(b,c+1),0<=e&&(b=b.substr(0,c)+yf(a,e)+b.substr(c+1+Qe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Te(a,e))?(d=e+' "'+xf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Te(a,e))?(Ue(d),d=e+ -' "'+xf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(Y(this.b.R).G));this.ta&1073741824?this.ma.push(a):this.la&&a==this.la||(this.la=a,this.ta&-2147483648&&(this.ra(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.P=0,Ec(a)))}; -function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ta&h)!=h||a.message(b.gb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))} -function Le(a){var b;if(Jd(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b>>d.ia],!1)}a.O=["br"];if(a.D)for(b=1;b>>d.ia],!0);a.D=["bw"];a.Ya=0}l.ab=function(a,b,c){var d=!0;c||Ef(this,a,b,!1,!0);if(a!=this.F){var e=Se(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.u;f.X[e>>>f.ia].ab(e&f.u,a==this.D)}}d&&(a.push(b),c?b.Qa=!0:(Ff(this,a,a.length-1,"set"),Le(this)));return d}; -function Ef(a,b,c,d,e){var f=!1;c=Se(c);for(var g=1;g>>d.ia],b==a.D));h.Qa||Le(a);break}}return f}function Gf(a,b){for(var c=1;c>24,4);break;case 3:y=t(v.cb(y,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?y="["+y+"]":r&16||(y=(v.style==Je?"$":"0x")+y);v=y}else r&16? -(v=(q&3840)>>8,r=Qe[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Yd;if(e>=g&&e>8&255;case "C":d.T=f&255;break;case "D":d.U=f&255;break; -case "DE":d.U=f>>8&255;case "E":d.V=f&255;break;case "H":d.W=f&255;break;case "HL":d.W=f>>8&255;case "L":d.Z=f&255;break;case "SP":d.pa=f&65535;break;case "PC":I(d,f);a.M=Y(d.R);break;case "PS":Sc(d,f);break;case "PSW":Sc(d,f&255|d.ua&-256);d.i=f>>8;break;case "CF":d.da=f?d.da|256:d.da&255;break;case "PF":f?bd(d)||(d.ga^=1):bd(d)&&(d.ga^=1);break;case "AF":d.ya=f?~d.ga&16|d.ya&-17:d.ga&16|d.ya&-17;break;case "ZF":d.da=f?d.da&-256:d.da|255;break;case "SF":f?ed(d)||(d.ga^=192):ed(d)&&(d.ga^=192);break; -case "IF":d.ua=f?d.ua|512:d.ua&-513;break;default:a.g("unknown register: "+e);return}Ec(d);a.g("updated registers:")}a.g(Lf(a));c&&(a.M=Y(d.R),Cf(a,Z(a.M.G)))}}function Sf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(zf(a,c[2])):Ce(a,b,!0)}function Tf(a,b,c){var d="t"!=b;c=Ee(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ea(c,function(){return kb(a,!0)&&a.ob(e,d,!1)},function(){Ec(a.b);kb(a,!1)})} -function Cf(a,b,c,d){if(b=Te(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Te(a,c,!0);if(!d||d.Gh[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.g(n)}h[3]&&(g=h[3],f=null);f=If(a,b,g,f);a.g(f);a.M=b;e-=b.G-k;c++}}} -l.Ib=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Hf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.P&&(a.g("ended assemble at "+Z(a.ca.G)),a.M=a.ca,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.la=null;if(mb(a)&&0n||"z"Ga.length&&(a.g("note: only "+Ga.length+" available"),ia=Ga.length);ua-=ia;0>ua&&(null==Ga[Ga.length-1].G?(ia=ua+ia,ua=0):ua+=Ga.length);var md=[];"call"==$e&&(Ib=1E5,md=["CALL"]);for(void 0!==Ze&&a.g(ia+" instructions earlier:");0< -Ib&&ua!=a.fa;){var cf=Ga[ua++];if(null==cf.G)break;var Jb=Y(cf.G),lg=ia--,df=If(a,Jb,"history",lg);(!md.length||0<=df.indexOf(md[0]))&&a.g(df);Jb.Ob&&(ua+=Jb.Ob,Ib-=Jb.Ob,ia-=Jb.Ob);ua>=Ga.length&&(ua=0);a.ib=ia;bf++;Ib--}}bf||(a.g("no "+af+"history available"),a.ib=void 0)}else{var oc=Te(a,X);if(oc){var pc=0;ta&&("l"==ta.charAt(0)&&(ta=ta.substr(1)||Eb),pc=Ee(a,ta)>>>0,65536>4||1;mg--&&0tc?String.fromCharCode(tc):".";rc--}Kb&&(Kb+="\n");Kb+=X+" "+od+(Lb?"":" "+ef)}Kb&&a.g(Kb);a.Wa=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,ff=255,gf=a.aa,hf=a.va;"ew"==f[0]&&(uc=2,ff=65535,gf=a.cb,hf=a.Lb);var jf=uc<<1,kf=f[1];if(null==kf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a"); -else{var vc=Te(a,kf);if(vc)for(var wc=2;wcvd;){for(var Za=null,sg=256;65536>Ob.G>>>0;){mf.G=a.cb(Ob,2);if(null==Ob.G||!sg--)break;for(var tg=a,yc=mf,nf= -null,Pb=yc.G,of=Pb,wd=1;6>=wd&&Pb;wd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bXf){if(Zf(d,this.L)){this.D=new J(this,"1.30.3","failsafe");Zf(this.D)&&(dg(this,d),a=2,eg(this.D));this.D.set("timestamp",ra());fg(this.D);var e=this.A&&!this.K;if(1==a||ya("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=cg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zf(d,g):("error"== -f&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.j=null)):this.g(f+": "+g),eg(d),Zf(d)?(c=cg(d),e=!0):c=!1))}e&&bg(this,c?d:null)}else 2==a&&d.clear()}else bg(this);delete this.L;delete this.M}e=db(this.id);for(f=0;fa[1];a=a[2];this.ha=!0;this.C.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),this.b.vb());this.Y&&(dg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0}; -function dg(a,b){if(ya("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.3"};d.url=a.fa;d.user=c;d.type="bug";d.data=b;va("http://www.pcjs.org/api/v1/report",d,!0)}} -function Uf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new J(a,"1.30.3"),g=new J(a,"1.30.3","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",xa());a.b&&a.b.Ka&&(c&&a.b.ra(),d=a.b.Ka(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.xa=!1,!1===d&&(e=null)));for(var h=db(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);Ag(a,b,c)}})}else c(a,null)} -function Bg(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--kg||Sa(!0));k=!1}var g,h,k=!0;kg++;bb[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=n:q.appendChild(document.createTextNode(n));p.appendChild(q)}c|| -(c="/versions/pc8080/1.30.3/components.xsl");n=function(d,h){h?yg(c,null,null,!1,e,function(d,k){k?(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--kg||Sa(!0)):f("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),--kg||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?yg(b,a,d,!0,e,n):zg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Sa(!1);return Bg(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta;})(); diff --git a/versions/pc8080/1.30.3/pc8080.js b/versions/pc8080/1.30.3/pc8080.js deleted file mode 100644 index 548a6984d..000000000 --- a/versions/pc8080/1.30.3/pc8080.js +++ /dev/null @@ -1,201 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var k,m={td:1,ud:3,vd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,nb:65,Qb:66,Sb:67,qb:68,E:69,Vb:70,Wb:71,Xb:72,Yb:73,ec:74,fc:75,sb:76,mc:77,nc:78,qc:79,rc:80,Q:81,xc:82,Ac:83,Fc:84,Gc:85,Hc:86,Ic:87,Kc:88,Lc:89,Mc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ce:97,de:98,ee:99,d:100,e:101,fe:102,ge:103,he:104,ie:105,je:106,k:107,ke:108, -le:109,n:110,me:111,p:112,q:113,r:114,ne:115,t:116,oe:117,pe:118,qe:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126}; -function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date};function ka(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function la(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function ma(a,b){var c,d={aa:null,wa:null,Ea:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ea=g.load;d.xa=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.aa=Array(4*e.length),f=c=0;c>8&255,d.aa[f++]=e[c]>>16&255,d.aa[f++]=e[c]>>24&255;else d.aa=g;d.wa=g.symbols;d.aa.length?1==d.aa.length&&(q(d.aa[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Xa=this.id:(this.za=this.id.substr(0,b),this.Xa=this.id.substr(b+1));this[a]=c;this.l={ready:!1,$a:!1,ib:!1,Y:!1,error:!1};this.cb=null;this.l.error=!1;this.w={};this.O=null;v.push(this)}var Ea=void 0,Fa={}; -if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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=r);a.prototype=Ja(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ka=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ka={},v=[];function La(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function Ba(a,b,c){b||q((c?c+": ":"")+a)} -function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.j&&(this.j=10);15>2;this.f=this.c-1;this.i=this.u/this.c|0;this.o=this.i-1;this.m=[];this.A=[];this.B=[];this.C=[];a=new C;Za(a,this.O);this.b=Array(this.i);for(b=0;b>>a.j;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Ra)return h.hb+=h.Ra-e,h.Ra=e,!0;if(e>=h.Ra+h.hb){n=h.size-(e-l);n>f&&(n=f);h.hb=e-h.Ra+n;e=l+a.c;f-=n;g++;continue}}return ab(1,e,f)}e=new C(e,n,a.c,d);Za(e,a.O,h);a.b[g++]=e;e=l+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+bb[d]+" at "+p(b,4,!0)),!0):ab(2,b,c)}Ya.prototype.J=function(a){return this.b[(a&this.g)>>>this.j].Ua(a&this.f,a)}; -function cb(a,b){return a.b[(b&a.g)>>>a.j].gb(b&a.f,b)}function db(a,b){var c=b&a.f,d=(b&a.g)>>>a.j;return c!=a.f?a.b[d].od(c,b):a.b[d++].Ua(c,b)|a.b[d&a.o].Ua(0,b+1)<<8}Ya.prototype.ba=function(a,b){this.b[(a&this.g)>>>this.j].Va(a&this.f,b&255,a)};function eb(a,b,c){a.b[(b&a.g)>>>a.j].Lb(b&a.f,c&255,b)}function gb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.j;d!=a.f?a.b[e].pd(d,c&65535,b):(a.b[e++].Va(d,c&255,b),a.b[e&a.o].Va(0,c>>8&255,b+1))} -function hb(a){for(var b=0,c=[],d=0;d>1),this.a=new Int32Array(this.j,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},C:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},I: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},S:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.oa=!0},v:function(a,b){return this.gb(a,b)},H:function(a,b){return this.Ib(a,b)},N:function(a,b,c){this.c||this.Lb(a,b,c)},W:function(a, -b,c){this.c||this.X(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.w.getUint16(a,!0)},M:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},L:function(a,b){this.b[a]=b;this.oa=!0},R:function(a,b){this.b[a]=b;this.oa=!0},U:function(a,b){this.w.setUint16(a,b,!0);this.oa=!0},za:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.oa=!0}};function Za(a,b,c){a.O=b;a.f=a.g=0;c&&((a.f=c.f)&&ub(a,vb,!1),(a.g=c.g)&&wb(a,vb,!1))} -function wb(a,b,c){c&&a.g||(a.Va=!a.c&&b[1]||a.o,a.pd=!a.c&&b[3]||a.s);if(c||void 0===c)a.Lb=b[1]||a.o,a.X=b[3]||a.s}function ub(a,b,c){c&&a.f||(a.Ua=b[0]||a.m,a.od=b[2]||a.A);if(c||void 0===c)a.gb=b[0]||a.m,a.Ib=b[2]||a.A}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}var xb=[],tb=[C.prototype.C,C.prototype.S,C.prototype.I,C.prototype.Z],vb=[C.prototype.v,C.prototype.N,C.prototype.H,C.prototype.W]; -if(Ta)var sb=[C.prototype.u,C.prototype.L,C.prototype.G,C.prototype.U],rb=[C.prototype.B,C.prototype.R,C.prototype.M,C.prototype.za];function yb(a,b){r.call(this,"CPU",a,yb);var c=a.multiplier||1;this.ma=a.cycles||b;this.L=c;this.Ha=Math.round(this.ma/1E4)/100;this.U=this.Ha*this.L;this.l.pa=!1;this.l.Jb=!1;this.l.Sa=a.autoStart;this.l.Cb=!1;this.l.ab=!1;this.ua=this.X=0;this.va=a.csStart;this.Z=a.csInterval;this.ja=a.csStop;this.G=[];this.Za=this.lb.bind(this);B(this)}w(yb);var zb=["power","reset"]; -k=yb.prototype;k.ra=function(a,b,c,d){this.A=a;this.j=b;this.O=d;for(b=0;ba.R/a.U&&(b=1);a.L=b;b=a.Ha*a.L;if(a.U!=b){a.U=b;b=a.U.toFixed(2)+"Mhz";var d=a.w.setSpeed;d&&(d.textContent=b);a.ea("target speed: "+b)}c&&a.A&&Ib(a.A)}a.H+=a.N;a.N=0;a.I=ja();a.S=0;Gb(a)}function Jb(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Kb(a,b,c){0<=b&&ba.G[b][0]&&(c*=a.ma*a.L/1E3,a.G[b][0]=c+Mb(a))}function Mb(a,b){var c=a.W-=a.a;a.a=0;b&&(a.W=0);return c} -k.lb=function(a){if(Ra(this,!0)){if(!this.l.pa){Fb(this);this.A&&this.A.start(this.I,Hb(this));this.l.pa=!0;this.l.Jb=!0;this.M&&this.M.start();var b=this.w.run;b&&(b.textContent="Halt");this.A&&(this.A.Fa(!0),a&&Ib(this.A,!0))}this.Ia>=this.ma&&Gb(this,!0);this.qa=0;this.ta=ja();this.S&&(a=this.ta-this.S,a>this.Pa&&(this.I+=a,this.I>this.ta&&(this.I=this.ta)));try{do{for(var c,d=this.l.ab?1:this.Ba,e=this.G.length-1;0<=e;e--){var f=this.G[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Kb(c);c=Mb(this,!0); -this.qa+=c;this.N+=c;a=c;this.l.ab&&(b=!1,this.ua=this.ua+this.Fb()|0,this.X-=a,0>=this.X&&(this.X+=this.Z,b=!0),0<=this.ja&&this.ja<=Hb(this)&&(this.Z=this.ja=-1,Cb(this),Eb(this),b=!0),b&&this.ea(Hb(this)+" cycles: checksum="+p(this.ua)));a=c;for(var 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.la-=c;if(0>=this.la){this.la+=this.Ba;15<=++this.Qa&&(this.A&&this.A.Fa(),this.Qa=0);break}}while(this.l.pa)}catch(l){Eb(this);Db(this);this.A&&this.A.stop(ja(), -Hb(this));Ra(this,!1);c=l.stack||l.message;this.l.error=!0;this.K(c);return}c=setTimeout;d=this.Za;this.S=ja();e=this.Pa;this.qa&&(e=Math.round(e*this.qa/this.Ba));e-=this.S-this.ta;if(f=this.S-this.I)this.R=Math.round(this.N/(10*f))/100,864E5<=f&&(this.H=0,Fb(this));if(0>e||this.Re&&(this.I-=e),e=0;this.Ia+=this.qa;this.S+=e;c(d,e)}else Db(this),this.A&&this.A.stop(ja(),Hb(this))};k.Kb=function(){return 0}; -function Eb(a){a.l.$a&&(a.l.ib=!0);Mb(a);a.H+=a.N;a.N=0;if(a.l.pa){a.l.pa=!1;a.M&&a.M.stop();var b=a.w.run;b&&(b.textContent="Run")}a.l.complete=void 0}function Db(a){if(a.A){for(var b=a.A,c=0;c>8&255;a.D=b&255}function Xb(a){return a.f<<8|a.F}function Yb(a,b){a.f=b>>8&255;a.F=b&255}function G(a){return a.g<<8|a.i} -function I(a,b){a.g=b>>8&255;a.i=b&255}function E(a,b){a.o=b&65535}function J(a){return a.m&256?1:0}function K(a,b){a.m=a.m&255|b}function Zb(a){return Ua[a.s&255]?4:0}function Ub(a){return a.C&-214|(a.s&128?128:0)|(a.m&255?0:64)|((a.s^a.v)&16?16:0)|Zb(a)|J(a)}function Sb(a,b){a.m=a.s=a.v=0;b&1&&(a.m|=256);b&4||(a.s|=1);b&16&&(a.v|=16);b&64||(a.m|=255);b&128&&(a.s^=192);a.C=a.C&-726|b&512|2}function L(a,b){a.v=a.b^b;return a.s=(a.m=a.b+b)&255} -function $b(a,b){a.v=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?1:0))&255}function ac(a,b){a.m=a.s=a.v=a.b&b;(a.b|b)&8&&(a.v^=16);return a.m}function bc(a,b){a.v=b^255;b=a.s=b+255&255;a.m=a.m&-256|b;return b}function cc(a,b){a.v=b;b=a.s=b+1&255;a.m=a.m&-256|b;return b}function dc(a,b){return a.s=a.m=a.v=a.b|b}function M(a,b){b^=255;a.v=a.b^b;return a.s=(a.m=a.b+b+1^256)&255}function ec(a,b){b^=255;a.v=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function fc(a,b){return a.s=a.m=a.v=a.b^b}k.J=function(a){return this.j.J(a)}; -k.ba=function(a,b){this.j.ba(a,b)};function N(a){var b=a.J(a.o);E(a,a.o+1);return b}function O(a){var b=db(a.j,a.o);E(a,a.o+2);return b}function P(a){var b=db(a.j,a.u);a.u=a.u+2&65535;return b}function R(a,b){a.u=a.u-2&65535;gb(a.j,a.u,b)}function gc(a){if(a.a&&a.B&255&&a.C&512){for(var b=0;8>b&&!(a.B&1<b?255:1<>8;K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Vb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5}, -function(){this.D=cc(this,this.D);this.a-=5},function(){this.D=bc(this,this.D);this.a-=5},function(){this.D=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;K(this,a);this.a-=4},ic,function(){Yb(this,O(this));this.a-=10},function(){this.ba(Xb(this),this.b);this.a-=7},function(){Yb(this,Xb(this)+1);this.a-=5},function(){this.f=cc(this,this.f);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|J(this); -K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Xb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Xb(this));this.a-=7},function(){Yb(this,Xb(this)-1);this.a-=5},function(){this.F=cc(this,this.F);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(J(this)<<8|this.b)>>1;K(this,a&256);this.a-=4},ic,function(){I(this,O(this));this.a-=10},function(){var a=O(this);gb(this.j,a,G(this));this.a-=16},function(){I(this, -G(this)+1);this.a-=5},function(){this.g=cc(this,this.g);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=N(this);this.a-=7},function(){var a=0,b=J(this);if((this.s^this.v)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=L(this,a);K(this,b?256:0);this.a-=4},ic,function(){var a;I(this,a=G(this)+G(this));K(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=db(this.j,a);I(this,a);this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.i=cc(this,this.i); -this.a-=5},function(){this.i=bc(this,this.i);this.a-=5},function(){this.i=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},ic,function(){this.u=O(this)&65535;this.a-=10},function(){this.ba(O(this),this.b);this.a-=13},function(){this.u=this.u+1&65535;this.a-=5},function(){var a=G(this);this.ba(a,cc(this,this.J(a)));this.a-=10},function(){var a=G(this);this.ba(a,bc(this,this.J(a)));this.a-=10},function(){this.ba(G(this),N(this));this.a-=10},function(){this.m|=256;this.a-=4},ic,function(){var a; -I(this,a=G(this)+this.u);K(this,a>>8&256);this.a-=10},function(){this.b=this.J(O(this));this.a-=13},function(){this.u=this.u-1&65535;this.a-=5},function(){this.b=cc(this,this.b);this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){K(this,J(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.F;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.i; -this.a-=5},function(){this.c=this.J(G(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.J(G(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.a-=5},function(){this.f=this.F;this.a-= -5},function(){this.f=this.g;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.J(G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.F=this.c;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.J(G(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.D;this.a-= -5},function(){this.g=this.f;this.a-=5},function(){this.g=this.F;this.a-=5},function(){this.a-=5},function(){this.g=this.i;this.a-=5},function(){this.g=this.J(G(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.i=this.c;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.i=this.g;this.a-=5},function(){this.a-=5},function(){this.i=this.J(G(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.ba(G(this), -this.c);this.a-=7},function(){this.ba(G(this),this.D);this.a-=7},function(){this.ba(G(this),this.f);this.a-=7},function(){this.ba(G(this),this.F);this.a-=7},function(){this.ba(G(this),this.g);this.a-=7},function(){this.ba(G(this),this.i);this.a-=7},function(){var a=this.o-1;if(this.sa.length)for(var b=0;b>>=f)&l;if(void 0!==g&&g[0])g[0](a,l,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=O(this);J(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Xb(this));this.a-=11},function(){this.b=M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,16);this.a-=11},function(){J(this)&&(E(this,P(this)),this.a-=6);this.a-=5},kc,function(){var a=O(this);J(this)&&E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.o+-2&65535,d=1,e=0, -f=0;0>8;this.a-=10},function(){var a=O(this);this.s&128||E(this,a);this.a-=10},function(){this.C&=-513;this.a-=4},function(){var a=O(this);this.s&128||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this, -Ub(this)&255|this.b<<8);this.a-=11},function(){this.b=dc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,48);this.a-=11},function(){this.s&128&&(E(this,P(this)),this.a-=6);this.a-=5},function(){this.u=G(this)&65535;this.a-=5},function(){var a=O(this);this.s&128&&E(this,a);this.a-=10},function(){this.C|=512;this.a-=4;gc(this)},function(){var a=O(this);this.s&128&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,56); -this.a-=11}];function T(a){r.call(this,"ChipSet",a,T);var b=a.model;b&&!mc[b]&&Ba("Unrecognized ChipSet model: "+b);this.c=mc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(T); -var V={ca:1978.1,Dc:{da:0,xd:1,Bd:16,Id:32,Rd:64,Qd:128,Ka:14},Da:{da:1,Tb:1,wc:2,sc:4,tc:16,uc:32,vc:64,Ka:8},Ec:{da:2,wd:3,$d:4,yd:8,Md:16,Nd:32,Od:64,zd:128,Ka:0},Vd:{da:3},Td:{da:2,Jd:7},Xd:{da:3,ae:1,Wd:2,Pd:4,Gd:8,Ad:16,qd:32},Ud:{da:4},Yd:{da:5,Cd:1,Dd:2,Ed:4,Fd:8,be:16}},W={ca:100,ka:{da:66,zb:1,oc:2,pc:4,Ld:8,Kd:16,wb:32,vb:64,rb:128},Rb:{da:66,INIT:0},Aa:{da:194,sd:0,pb:16,yc:32,xb:48,ac:0,bc:32},Wa:{da:162,Sd:0,dc:0,$b:0,cc:0,Zb:0},na:{Hd:{da:98},Ga:{Ob:0,Nb:1,Bc:2,Jc:4,Ub:5,zc:6,Zd:7}, -Ya:16383}},mc={SI1978:V,VT100:W};T.prototype.V=function(){return!1};T.prototype.ra=function(a,b,c,d){this.j=b;this.a=c;this.O=d;this.A=a;this.m=Wa(a,"Keyboard");this.Z=Wa(a,"SerialPort");this.video=Wa(a,"Video");ib(b,this,this.c.eb);jb(b,this,this.c.fb)};T.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.ia=function(a){return a?this.save():!0};V.INIT=[[V.Dc.Ka,V.Da.Ka,V.Ec.Ka,0,0,0,0]]; -W.INIT=[[W.Rb.INIT,W.ka.oc|W.ka.pc],[W.Aa.ac,W.Aa.bc],[W.Wa.dc,W.Wa.$b,W.Wa.cc,W.Wa.Zb],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], -[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=T.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.K("reset error")}; -k.save=function(){var a=new F(this);switch(this.c.ca){case V.ca:a.set(0,[this.W,this.g,this.X,this.C,this.M,this.S,this.U]);break;case W.ca:a.set(0,[this.L,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.N]),a.set(3,[this.B,this.b,this.v,this.H,this.i])}return a.data()}; -k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ca){case V.ca:return this.W=b[0],this.g=b[1],this.X=b[2],this.C=b[3],this.M=b[4],this.S=b[5],this.U=b[6],!0;case W.ca:return this.L=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.N=b[3],b=a[3],this.B=b[0],this.b=b[1],this.v=b[2],this.H=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Wc=function(){return this.W};k.Xc=function(){return this.g};k.Yc=function(){return this.X}; -k.Vc=function(){return this.C>>8-this.M&255};k.dd=function(a,b){this.M=b};k.fd=function(a,b){this.S=b};k.ed=function(a,b){this.C=b<<8|this.C>>8};k.gd=function(a,b){this.U=b};k.hd=function(){};function nc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -k.Zc=function(){var a=this.u,a=a&~W.ka.vb;if((Hb(this.a)&64)<<1&&(a|=W.ka.vb,a!=this.u)){var b,c;b=this.v&1;switch(this.v>>1&7){case W.na.Ga.Nb:this.B=this.B<<1|b;break;case W.na.Ga.Ub:b=nc(this);this.i[b]=W.na.Ya;break;case W.na.Ga.Ob:this.b=this.b<<1|b;break;case W.na.Ga.Jc:b=nc(this);c=this.b&W.na.Ya;this.i[b]=c;break;case W.na.Ga.zc:b=nc(this);c=this.i[b];null==c&&(c=W.na.Ya);this.b=c;break;case W.na.Ga.Bc:this.b<<=1,this.H=this.b&W.na.Ya+1}}a&=~W.ka.wb;this.H&&(a|=W.ka.wb);a&=~W.ka.rb;if(b=this.m){b= -this.m;if(c=b.f)c=b.a,c=Hb(b.a)>=b.m+c.ma*c.L/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=W.ka.rb);a&=~W.ka.zb;this.Z&&this.Z.fa&1&&(a|=W.ka.zb);return this.u=a};k.jd=function(a,b){this.L=b};k.md=function(a,b){this.v=b};k.ld=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.qa!==a&&((b.qa=a)?Nb(b,!0):b.ta=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.N=a}}; -k.kd=function(a,b){b&W.Aa.yc?(b&=W.Aa.xb,this.s!=b&&(this.s=b,this.video&&(this.video.Hb=this.s==W.Aa.xb?50:60))):(b&=W.Aa.pb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==W.Aa.pb?132:80,a.H=b,a.T=a.Ba,80>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.wa=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(h){a.K("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.j;0>>=f.j;0d?a.j.push({mb:b,jb:Date.now(),bb:!1}):(a.j[d].jb=Date.now(),a.j[d].bb=!1);else if(0<=d){if(!a.j[d].bb){var e=a.j[d].jb;if(e&&100>Date.now()-e)return a.j[d].bb=!0,Ec(a),!0}a.j.splice(d,1)}if(a.M){d=0;switch(b){case "1p":d=V.Da.sc;break;case "2p":d=V.Da.wc;break;case "coin":d=V.Da.Tb;break;case "left":d=V.Da.uc;break;case "right":d=V.Da.vc;break;case "fire":d=V.Da.tc}d&&(a=a.M,b=d,a.g&=~b,c&&(a.g|=b))}return!0} -function Ec(a){for(var b=0,c=-1;bc||c>e)c=e}else{Cc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Ec(a)},c)}k.$c=function(){var a=this.g;0<=this.c&&(this.c>3)*a.G,!$a(a.j,a.ja,a.B,3)))return!1;a.B?(a.Oa=a.f.createImageData(b,c),a.Qa=16/a.la|0,Kc(a,a.B>>1)):Kc(a,(a.H+1)*a.W);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.sa=a.s.getContext("2d");a.I={};a.S=1<=a.Ba?8:16,f=8>(7>4)*c)}return l}Fc.prototype.ga=function(){return!0};Fc.prototype.V=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.va[b]=c,!0;switch(b){case "fullScreen":return this.w[b]=c,this.b&&this.b.Ja?c.onclick=function(){d.Ja()}:c.parentNode.removeChild(c),!0}return!1}; -Fc.prototype.Ja=function(){var a=!1;if(this.b){if(this.b.Ja){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.v;b>c&&(a=Math.round(c/b*100)+"%")}this.Na?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ja();a=!0}this.R&&this.R.focus()}return a}; -function Ic(a,b){!b&&a.b&&(a.Na?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Kc(a,b){a.Pa=b;a.N=!1;if(void 0===a.i||a.i.length!=a.Pa)a.i=Array(a.Pa)}function Mc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.U&&(208<=c&&236>c?e=a.S+0:28<=c&&72>c&&(e=a.S+1));a=a.L[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nb(a,b){var c=!0;if(!b){a.ma&&(120==a.ma?a.Za&1?(hc(a.a,2),c=!1):hc(a.a,1):hc(a.a,4));if(c&&a.N&&a.B){for(var d=a.j,e=a.B,f=!0,g=a.ja>>>d.j;0>=1);;){var x=cb(a.j,u++);if(127==(x&127)){var t=cb(a.j,u++),d=t&96,c=(t&15)<<8|cb(a.j,u),c=c+(t&16? -8192:16384);break}if(n>4)*x.P,Z,sa,Pa,fb,zc=x.T,Lb=x.P;D?(Z=H*t.T,sa=e*t.P,Pa=t.T,fb=t.P):(Z=H*t.Ha,sa=e*t.Ia,Pa=t.Ha,fb=t.Ia);x.T>t.T&&(Z*=2,Pa*=2);x.P>t.P&&(z||(Q+=t.P),Lb=t.P);D?D.drawImage(x.canvas,U,Q,zc,Lb,Z,sa,Pa,fb):(Z+=0,sa+=0,t.f.drawImage(x.canvas,U,Q,zc,Lb,Z, -sa,Pa,fb))}h++}g++}e++}}a.N=!0;!b&&a.ta&&1==h&&(a.i[l]=-1,h=0);a.ta=!1;(h||b)&&a.sa&&a.f.drawImage(a.s,0,a.qa,a.o,a.G-a.P,0,0,a.Nc,a.Mb)}else{e=a.ja;f=e+a.B;l=h=g=0;b=a.o;n=0;c=a.G;z=d=0;u=a.la;H=(1<>>t.j;t=x!=t.f?t.b[U].Ib(x,D):t.b[U++].gb(x,D)|t.b[U&t.o].gb(0,D+1)<<8;if(a.N&&t===a.i[g])h+=a.Qa;else{a.i[g]=t;(D=z)&&(t=t>>8|(t&255)<<8);h>D&H,Mc(a,a.Oa,h++,l,U),D+=u;h>n&&(n=h);l=d&&(d=l+1)}e+= -2;g++;if(h>=a.o&&(h=0,l++,l>a.G))break}a.N=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Fa.aspect);f&&.3<=f&&3.33>=f&&(ya("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ta("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Fc(d,e,g,f,c);Qa(d,c)}}); -function Nc(a){this.I=+a.adapter;switch(this.I){case 0:this.L=0;this.R=2;break;default:q("Unrecognized serial adapter #"+this.I);return}this.b=this.c=null;this.N=a.tabSize;this.H=a.charBOL;this.f=0;this.C=!1;r.call(this,"SerialPort",a,Nc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Oc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.w[b])&&this.V(null,a,b))}this.g="";this.i=this.s=null;this.exports={connect:this.Gb,receiveData:this.kb}}w(Nc); -var Pc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Qc=[!1,0,0,133,142,39,238],Oc="buffer";k=Nc.prototype; -k.V=function(a,b,c,d){var e=this;switch(b){case Oc:return this.w[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.Xa)return;b=ha(b[1]);if(this.i=Na(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.s=d.receiveData){this.status(this.za+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ga=function(a,b){if(!b)if(this.Gb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ia=function(a){return a?this.save():!0};k.reset=function(){Uc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.o;c[b++]=this.B;c[b++]=this.G;c[b++]=this.fa;c[b++]=this.m;c[b++]=this.v;c[b]=this.u;a.set(0,c);return a.data()};k.restore=function(a){return Uc(this,a[0])};function Uc(a,b){var c=0;b||(b=Qc);a.o=b[c++];a.B=b[c++];a.G=b[c++];a.fa=b[c++];a.m=b[c++];a.v=b[c++];a.u=b[c];return!0} -function Vc(a,b){var c=a.u&b;b&15||(c>>=4);b=Pc[c];c=((a.m&12)>>2)+6;a.m&16&&c++;c+=((a.m&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Rc(a,b){return a.C||a.fa&2?!1:(a.B=b,a.fa|=2,hc(a.a,a.R),!0)}k.kb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Rc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Kb(this.a,this.S,Vc(this,15)));return!0};k.Uc=function(){var a=this.B;this.fa&=-3;return a};k.Tc=function(){return this.fa}; -k.cd=function(a,b){this.G=b;this.fa&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.s&&this.s.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);var c=a.length;9==b?(b=this.N||8,c=b-this.f%b,this.N&&(a=" ".slice(0,c))):13==b&&(this.f=c=0,a="\n");this.H&&!this.f&&c&&(a=String.fromCharCode(this.H)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight;this.f+=c}else if(null!= -this.c){if(10==b||1024<=this.c.length)this.ea(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Kb(this.a,this.U,Vc(this,240))};k.bd=function(a,b){this.o?(this.v=b,this.v&64&&(this.o=!1)):(this.m=b,this.o=!0)};k.ad=function(a,b){this.u=b};var Sc={0:Nc.prototype.Uc,1:Nc.prototype.Tc},Tc={0:Nc.prototype.cd,1:Nc.prototype.bd,2:Nc.prototype.ad};za(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bYc){if($c(d,this.s)){this.i=new F(this,"1.30.3","failsafe");$c(this.i)&&(ed(this,d),a=2,fd(this.i));this.i.set("timestamp",ka());gd(this.i);var e=this.b&&!this.A;if(1==a||na("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=dd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?$c(d,g):("error"== -f&&"no machine state"!=g?(this.K("Error: "+g),"unable to verify user"==g&&(ra("user",""),this.c=null)):this.ea(f+": "+g),fd(d),$c(d)?(c=dd(d),e=!0):c=!1))}e&&cd(this,c?d:null)}else 2==a&&d.clear()}else cd(this);delete this.s;delete this.u}e=Ma(this.id);for(f=0;fa[1];a=a[2];this.L=!0;this.l.Y=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.a&&(hd(this,this.a,b,c,a),this.a.Sa());this.C&&(ed(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; -function ed(a,b){if(na("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.3"};d.url=a.I;d.user=c;d.type="bug";d.data=b;la("http://www.pcjs.org/api/v1/report",d,!0)}} -function id(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.30.3"),g=new F(a,"1.30.3","validate"),h=ka();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ia&&(c&&Eb(a.a),d=a.a.ia(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.l.Y=!1,!1===d&&(e=null)));for(var h=Ma(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){f=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,u=/( [a-z]+=)(['"])(.*?)\2/g;n=u.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);pd(a,b,c)}})}else c(a,null)} -function qd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--md||Ca(!0));l=!1}var g,h,l=!0;md++;Ka[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));u.appendChild(z)}c|| -(c="/versions/pc8080/1.30.3/components.xsl");n=function(d,h){h?nd(c,null,null,!1,e,function(d,l){l?(La(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--md||Ca(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--md||Ca(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nd(b,a,d,!0,e,n):od(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(H){f(H.message)}return l}window.embedPC8080=function(a,b,c,d){Ca(!1);return qd(a,b,c,d)};window.enableEvents=Ca;window.sendEvent=Da;})(); diff --git a/versions/pc8080/1.30.4/common.css b/versions/pc8080/1.30.4/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pc8080/1.30.4/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pc8080/1.30.4/common.xsl b/versions/pc8080/1.30.4/common.xsl deleted file mode 100644 index 8d174cffa..000000000 --- a/versions/pc8080/1.30.4/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pc8080/1.30.4/components.css b/versions/pc8080/1.30.4/components.css deleted file mode 100644 index 82802b7af..000000000 --- a/versions/pc8080/1.30.4/components.css +++ /dev/null @@ -1,244 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0; - background-color: gold; - position: absolute; - top: 0; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-triplet { - padding: 1px; -} -.pcjs-ledlbl { - text-align: center; - font-size: 40%; - background-color: #000000; -} -.pcjs-ledlbl0 { - text-align: right; - font-size: 50%; - background-color: #8d4076; -} -.pcjs-ledlbl1 { - text-align: right; - font-size: 50%; - background-color: #d83662; -} -.pcjs-ledpad { - text-align: center; - font-size: x-small; - line-height: 32px; - background-color: #000000; - border-bottom-left-radius: 20%; - border-bottom-right-radius: 20%; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; - max-width: 50%; - max-height: 50%; -} -.pcjs-swlbl { - text-align: center; - font-size: 40%; - line-height: 16px; - background-color: #000000; - border-top-left-radius: 20%; - border-top-right-radius: 20%; -} -.pcjs-swpad { - height: 32px; - background-color: #000000; -} -.pcjs-switch { - height: 10px; - width: 28px; - margin-top: 0; - max-width: 90%; - background-color: #00ff00; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - max-width: none !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - .pdp11-device { - width: 98% !important; - max-width: none !important; - margin-left: 8px !important; - padding-left: 0 !important; - padding-right: 0 !important; - } -} diff --git a/versions/pc8080/1.30.4/document.css b/versions/pc8080/1.30.4/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.30.4/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.30.4/document.xsl b/versions/pc8080/1.30.4/document.xsl deleted file mode 100644 index abcaa716a..000000000 --- a/versions/pc8080/1.30.4/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.30.4/machine.xsl b/versions/pc8080/1.30.4/machine.xsl deleted file mode 100644 index cc836d21f..000000000 --- a/versions/pc8080/1.30.4/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.4/manifest.xsl b/versions/pc8080/1.30.4/manifest.xsl deleted file mode 100644 index b5ff50140..000000000 --- a/versions/pc8080/1.30.4/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.30.4/outline.xsl b/versions/pc8080/1.30.4/outline.xsl deleted file mode 100644 index c9a4f218d..000000000 --- a/versions/pc8080/1.30.4/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.4/pc8080-dbg.js b/versions/pc8080/1.30.4/pc8080-dbg.js deleted file mode 100644 index 3414595af..000000000 --- a/versions/pc8080/1.30.4/pc8080-dbg.js +++ /dev/null @@ -1,290 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var l,n={re:1,se:3,te:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Eb:65,Mc:66,Oc:67,bc:68,E:69,Rc:70,Sc:71,Tc:72,Uc:73,ad:74,bd:75,dc:76,jd:77,kd:78,md:79,nd:80,Q:81,td:82,wd:83,Cd:84,Dd:85,Ed:86,Fd:87,Hd:88,Id:89,Pb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Jd:97,af:98,bf:99,d:100,e:101,cf:102,df:103,ef:104,ff:105,gf:106,k:107,hf:108, -jf:109,n:110,kf:111,p:112,q:113,r:114,lf:115,t:116,nf:117,pf:118,qf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ue:127}; -function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)} -function u(a){return t(a,4,!0)}function da(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ab=g.load;d.Sa=g.exec;if(e=g.bytes)d.za=e;else if(e=g.words)for(d.za=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.za=Array(4*e.length),f=c=0;c>8&255,d.za[f++]=e[c]>>16&255,d.za[f++]=e[c]>>24&255;else d.za=g;d.Da=g.symbols;d.za.length?1==d.za.length&&(w(d.za[0]),d=null):(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.gb=this.id:(this.hb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,wb:!1,Qb:!1,wa:!1,error:!1};this.Ib=null;this.C.error=!1;this.M={};this.H=null;this.sa=d||0;Ua.push(this)}var Va=void 0,Wa={}; -if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,Za=/([^&=]+)=?([^&]*)/g;Xa=Za.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function ab(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 A(a,b){b||(b=x);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var bb=window.PCjs.Machines||(window.PCjs.Machines={}),Ua=window.PCjs.Components||(window.PCjs.Components=[])}else bb={},Ua=[];function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Qa(a,b,c){b||w((c?c+": ":"")+a)} -function db(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.ha&&(this.ha=10);15>2;this.w=this.Ia-1;this.I=this.K/this.Ia|0;this.D=this.I-1;this.A=[];this.j=[];this.F=this.B=!1;this.N=[];this.O=[];a=new G;xb(a,this.H);this.W=Array(this.I);for(b=0;b>>a.ha;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.G)return h.Cb+=h.G-e,h.G=e,!0;if(e>=h.G+h.Cb){m=h.size-(e-k);m>f&&(m=f);h.Cb=e-h.G+m;e=k+a.Ia;f-=m;g++;continue}}return zb(1,e,f)}e=new G(e,m,a.Ia,d);xb(e,a.H,h);a.W[g++]=e;e=k+a.Ia;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+u(b)),!0):zb(2,b,c)} -l.Z=function(a){return this.W[(a&this.u)>>>this.ha].nb(a&this.w,a)};function Bb(a,b){return a.W[(b&a.u)>>>a.ha].Ab(b&a.w,b)}l.bb=function(a){var b=a&this.w,c=(a&this.u)>>>this.ha;return b!=this.w?this.W[c].Fc(b,a):this.W[c++].nb(b,a)|this.W[c&this.D].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.w,d=(b&a.u)>>>a.ha;return c!=a.w?a.W[d].Vb(c,b):a.W[d++].Ab(c,b)|a.W[d&a.D].Ab(0,b+1)<<8}l.ua=function(a,b){this.W[(a&this.u)>>>this.ha].pb(a&this.w,b&255,a)}; -function Db(a,b,c){a.W[(b&a.u)>>>a.ha].Db(b&a.w,c&255,b)}l.Mb=function(a,b){var c=a&this.w,d=(a&this.u)>>>this.ha;c!=this.w?this.W[d].Hc(c,b&65535,a):(this.W[d++].pb(c,b&255,a),this.W[d&this.D].pb(0,b>>8&255,a+1))};function Eb(a){for(var b=0,c=[],d=0;d>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.H&&a.B!=g[1]&&Wb(a.H,b,k)}else a.H&&(hb(a.H,a,b,k,d),a.B&&Wb(a.H,b,k));f+=h<<3;b+=h;e-=h}} -function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(ob){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb; -function G(a,b,c,d){this.id=$b+=2;this.b=null;this.G=a;this.Cb=b;this.size=c||0;this.type=d||ac;this.M=d==bc;xb(this);this.Oa=this.Cc=!1;if(c)if(ob)this.F=new ArrayBuffer(c),this.B=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.I=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},X:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea: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},hb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<> -2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Oa=!0},N:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,1,c.N)&&c.pa(!0)}return this.Ab(a,b)},ba:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,2,c.N)&&c.pa(!0)}return this.Vb(a,b)},ja:function(a,b,c){if(this.H&&null!=this.G){var d=this.H;jc(d,this.G+a,1,d.B)&&d.pa(!0)}this.M?this.u(a,b,c):this.Db(a,b,c)},la:function(a,b,c){if(this.H&& -null!=this.G){var d=this.H;jc(d,this.G+a,2,d.B)&&d.pa(!0)}this.M?this.u(a,b,c):this.Zb(a,b,c)},L:function(a){return this.w[a]},O:function(a){return this.w[a]},aa:function(a){return this.B.getUint16(a,!0)},da:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.I[a>>1]},ga:function(a,b){this.w[a]=b;this.Oa=!0},gb:function(a,b){this.w[a]=b;this.Oa=!0},ka:function(a,b){this.B.setUint16(a,b,!0);this.Oa=!0},ra:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.I[a>>1]=b;this.Oa=!0}}; -function xb(a,b,c){a.H=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.pb=a.M?a.u:a.Db,a.Hc=a.M?a.D:a.Zb):--a.A||(a.nb=a.Ab,a.Fc=a.Vb)}function gc(a,b,c){c&&a.j||(a.pb=!a.M&&b[1]||a.u,a.Hc=!a.M&&b[3]||a.D);if(c||void 0===c)a.Db=b[1]||a.u,a.Zb=b[3]||a.D}function ic(a,b,c){c&&a.A||(a.nb=b[0]||a.J,a.Fc=b[2]||a.K);if(c||void 0===c)a.Ab=b[0]||a.J,a.Vb=b[2]||a.K}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)} -var lc=[],fc=[G.prototype.X,G.prototype.hb,G.prototype.ea,G.prototype.va],hc=[G.prototype.N,G.prototype.ja,G.prototype.ba,G.prototype.la];if(ob)var ec=[G.prototype.L,G.prototype.ga,G.prototype.aa,G.prototype.ka],dc=[G.prototype.O,G.prototype.gb,G.prototype.da,G.prototype.ra]; -function mc(a,b){x.call(this,"CPU",a,mc,1);var c=a.multiplier||1;this.X=a.cycles||b;this.Ra=c;this.ga=Math.round(this.X/1E4)/100;this.cb=this.ga*this.Ra;this.C.ya=!1;this.C.Yb=!1;this.C.vb=a.autoStart;this.C.Ac=!1;this.C.jb=!1;this.xb=this.N=0;this.yb=a.csStart;this.lb=a.csInterval;this.mb=a.csStop;this.u=[];this.Ga=this.eb.bind(this);F(this)}A(mc);var nc=["power","reset"];l=mc.prototype; -l.Qa=function(a,b,c,d){this.A=a;this.w=b;this.H=d;for(b=0;b=a.N&&(a.N+=a.lb,c=!0);0<=a.mb&&a.mb<=Gc(a)&&(a.lb=a.mb=-1,qc(a),a.pa(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+t(a.xb))}} -l.oa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.C.wa)a=!0;else{var b=null,c,h=db(a.id);for(c=0;ca.I/a.cb?b=1:d=!0;a.Ra=b;b=a.ga*a.Ra;if(a.cb!=b){a.cb=b;b=a.cb.toFixed(2)+"Mhz";var e=a.M.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.Bb()}Ic(a,a.D);a.D=0;a.B=qa();a.J=0;Jc(a);return d}function Kc(a,b){var c=a.u.length;a.u.push([-1,b]);return c}function Lc(a,b,c){0<=b&&ba.u[b][0]&&(c*=a.X*a.Ra/1E3,a.u[b][0]=c+Mc(a))}function Mc(a,b){var c=a.K-=a.b;a.b=0;b&&(a.K=0);return c} -l.eb=function(a){if(kb(this,!0)){if(!this.C.ya){Hc(this);this.A&&this.A.start(this.B,Gc(this));this.C.ya=!0;this.C.Yb=!0;this.F&&this.F.start();var b=this.M.run;b&&(b.textContent="Halt");this.A&&(this.A.Ka(!0),a&&this.A.Bb(!0))}this.ja>=this.X&&Jc(this,!0);this.aa=0;this.da=qa();this.J&&(a=this.da-this.J,a>this.va&&(this.B+=a,this.B>this.da&&(this.B=this.da)));try{do{for(var c,d=this.C.jb?1:this.ea,e=this.u.length-1;0<=e;e--){var f=this.u[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.ob(c);c=Mc(this,!0);this.aa+= -c;this.D+=c;Fc(this,c);a=c;for(var g=this.u.length-1;0<=g;g--){var h=this.u[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.O-=c;if(0>=this.O){this.O+=this.ea;15<=++this.Aa&&(this.A&&this.A.Ka(),this.Aa=0);break}}while(this.C.ya)}catch(k){this.pa();Ec(this);this.A&&this.A.stop(qa(),Gc(this));kb(this,!1);nb(this,k.stack||k.message);return}c=setTimeout;d=this.Ga;this.J=qa();e=this.va;this.aa&&(e=Math.round(e*this.aa/this.ea));e-=this.J-this.da;if(f=this.J-this.B)this.I=Math.round(this.D/(10*f))/ -100,864E5<=f&&(this.L=0,Hc(this));if(0>e||this.Ie&&(this.B-=e),e=0;this.ja+=this.aa;this.J+=e;c(d,e)}else Ec(this),this.A&&this.A.stop(qa(),Gc(this))};l.ob=function(){return 0};l.pa=function(a){lb(this,!0);Mc(this);Ic(this,this.D);this.D=0;if(this.C.ya){this.C.ya=!1;this.F&&this.F.stop();var b=this.M.run;b&&(b.textContent="Run")}this.C.complete=a};function Ec(a,b){if(a.A){for(var c=a.A,d=0;d>8&255;a.S=b&255}function Yc(a){return a.T<<8|a.U}function Zc(a,b){a.T=b>>8&255;a.U=b&255}function J(a){return a.V<<8|a.Y} -function $c(a,b){a.V=b>>8&255;a.Y=b&255}function I(a,b){a.P=b&65535}function ad(a){return a.ca&256?1:0}function bd(a,b){a.ca=a.ca&255|b}function cd(a){return pb[a.fa&255]?4:0}function dd(a){return(a.fa^a.xa)&16?16:0}function ed(a){return a.ca&255?0:64}function fd(a){return a.fa&128?128:0}function Uc(a){return a.ta&-214|fd(a)|ed(a)|dd(a)|cd(a)|ad(a)}function Sc(a,b){a.ca=a.fa=a.xa=0;b&1&&(a.ca|=256);b&4||(a.fa|=1);b&16&&(a.xa|=16);b&64||(a.ca|=255);b&128&&(a.fa^=192);a.ta=a.ta&-726|b&512|2} -function gd(a,b){a.xa=a.i^b;return a.fa=(a.ca=a.i+b)&255}function hd(a,b){a.xa=a.i^b;return a.fa=(a.ca=a.i+b+(a.ca&256?1:0))&255}function id(a,b){a.ca=a.fa=a.xa=a.i&b;(a.i|b)&8&&(a.xa^=16);return a.ca}function jd(a,b){a.xa=b^255;b=a.fa=b+255&255;a.ca=a.ca&-256|b;return b}function kd(a,b){a.xa=b;b=a.fa=b+1&255;a.ca=a.ca&-256|b;return b}function ld(a,b){return a.fa=a.ca=a.xa=a.i|b}function K(a,b){b^=255;a.xa=a.i^b;return a.fa=(a.ca=a.i+b+1^256)&255} -function Gd(a,b){b^=255;a.xa=a.i^b;return a.fa=(a.ca=a.i+b+(a.ca&256?0:1)^256)&255}function Hd(a,b){return a.fa=a.ca=a.xa=a.i^b}l.Z=function(a){return this.w.Z(a)};l.ua=function(a,b){this.w.ua(a,b)};function L(a){var b=a.Z(a.P);I(a,a.P+1);return b}function M(a){var b=a.w.bb(a.P);I(a,a.P+2);return b}function N(a){var b=a.w.bb(a.na);a.na=a.na+2&65535;return b}function P(a,b){a.na=a.na-2&65535;a.w.Mb(a.na,b)} -function Id(a){if(a.b&&a.j&255&&a.ta&512){for(var b=0;8>b&&!(a.j&1<b?255:1<>8;bd(this,a&256);this.b-=4},Md,function(){var a;$c(this,a=J(this)+Wc(this));bd(this,a>>8&256);this.b-=10},function(){this.i=this.Z(Wc(this));this.b-=7},function(){Xc(this,Wc(this)-1);this.b-= -5},function(){this.S=kd(this,this.S);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;bd(this,a);this.b-=4},Md,function(){Zc(this,M(this));this.b-=10},function(){this.ua(Yc(this),this.i);this.b-=7},function(){Zc(this,Yc(this)+1);this.b-=5},function(){this.T=kd(this,this.T);this.b-=5},function(){this.T=jd(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| -ad(this);bd(this,a&256);this.b-=4},Md,function(){var a;$c(this,a=J(this)+Yc(this));bd(this,a>>8&256);this.b-=10},function(){this.i=this.Z(Yc(this));this.b-=7},function(){Zc(this,Yc(this)-1);this.b-=5},function(){this.U=kd(this,this.U);this.b-=5},function(){this.U=jd(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.i<<8;this.i=(ad(this)<<8|this.i)>>1;bd(this,a&256);this.b-=4},Md,function(){$c(this,M(this));this.b-=10},function(){var a=M(this);this.w.Mb(a,J(this)); -this.b-=16},function(){$c(this,J(this)+1);this.b-=5},function(){this.V=kd(this,this.V);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=0,b=ad(this);if(dd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=gd(this,a);bd(this,b?256:0);this.b-=4},Md,function(){var a;$c(this,a=J(this)+J(this));bd(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.bb(a);$c(this,a);this.b-=16},function(){$c(this,J(this)-1);this.b-=5},function(){this.Y= -kd(this,this.Y);this.b-=5},function(){this.Y=jd(this,this.Y);this.b-=5},function(){this.Y=L(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Md,function(){this.na=M(this)&65535;this.b-=10},function(){this.ua(M(this),this.i);this.b-=13},function(){this.na=this.na+1&65535;this.b-=5},function(){var a=J(this);this.ua(a,kd(this,this.Z(a)));this.b-=10},function(){var a=J(this);this.ua(a,jd(this,this.Z(a)));this.b-=10},function(){this.ua(J(this),L(this));this.b-=10},function(){this.ca|=256;this.b-= -4},Md,function(){var a;$c(this,a=J(this)+this.na);bd(this,a>>8&256);this.b-=10},function(){this.i=this.Z(M(this));this.b-=13},function(){this.na=this.na-1&65535;this.b-=5},function(){this.i=kd(this,this.i);this.b-=5},function(){this.i=jd(this,this.i);this.b-=5},function(){this.i=L(this);this.b-=7},function(){bd(this,ad(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.T;this.b-=5},function(){this.R=this.U;this.b-=5},function(){this.R=this.V;this.b-= -5},function(){this.R=this.Y;this.b-=5},function(){this.R=this.Z(J(this));this.b-=7},function(){this.R=this.i;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.Y;this.b-=5},function(){this.S=this.Z(J(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.R;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T= -this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.Y;this.b-=5},function(){this.T=this.Z(J(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.R;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U=this.V;this.b-=5},function(){this.U=this.Y;this.b-=5},function(){this.U=this.Z(J(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.R;this.b-=5},function(){this.V= -this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.Y;this.b-=5},function(){this.V=this.Z(J(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.Y=this.R;this.b-=5},function(){this.Y=this.S;this.b-=5},function(){this.Y=this.T;this.b-=5},function(){this.Y=this.U;this.b-=5},function(){this.Y=this.V;this.b-=5},function(){this.b-=5},function(){this.Y=this.Z(J(this));this.b-=7},function(){this.Y=this.i; -this.b-=5},function(){this.ua(J(this),this.R);this.b-=7},function(){this.ua(J(this),this.S);this.b-=7},function(){this.ua(J(this),this.T);this.b-=7},function(){this.ua(J(this),this.U);this.b-=7},function(){this.ua(J(this),this.V);this.b-=7},function(){this.ua(J(this),this.Y);this.b-=7},function(){var a=this.P-1;if(this.ba.length)for(var b=0;b>8;this.b-=10},function(){var a=M(this);fd(this)||I(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=M(this);fd(this)||(P(this,this.P),I(this,a),this.b-=6);this.b-=11},function(){P(this,Uc(this)&255|this.i<<8);this.b-=11},function(){this.i=ld(this,L(this));this.b-=7},function(){P(this,this.P);I(this,48);this.b-=11},function(){fd(this)&&(I(this, -N(this)),this.b-=6);this.b-=5},function(){this.na=J(this)&65535;this.b-=5},function(){var a=M(this);fd(this)&&I(this,a);this.b-=10},function(){this.ta|=512;this.b-=4;Id(this)},function(){var a=M(this);fd(this)&&(P(this,this.P),I(this,a),this.b-=6);this.b-=11},Pd,function(){K(this,L(this));this.b-=7},function(){P(this,this.P);I(this,56);this.b-=11}]; -function R(a){x.call(this,"ChipSet",a,R,32768);var b=a.model;b&&!Qd[b]&&Qa("Unrecognized ChipSet model: "+b);this.u=Qd[b]||{};a.sound&&(this.ga=null,window&&(this.ga=window.AudioContext||window.webkitAudioContext),this.ga&&new this.ga);F(this)}A(R); -var S={Ba:1978.1,Ad:{Ca:0,we:1,Ae:16,He:32,Qe:64,Pe:128,qb:14},Za:{Ca:1,Pc:1,sd:2,od:4,pd:16,qd:32,rd:64,qb:8},Bd:{Ca:2,ve:3,Ye:4,xe:8,Le:16,Me:32,Ne:64,ye:128,qb:0},Ue:{Ca:3},Se:{Ca:2,Ie:7},We:{Ca:3,Ze:1,Ve:2,Oe:4,Fe:8,ze:16,oe:32},Te:{Ca:4},Xe:{Ca:5,Be:1,Ce:2,De:4,Ee:8,$e:16}},T={Ba:100,La:{Ca:66,rc:1,gc:2,ld:4,Ke:8,Je:16,ic:32,hc:64,cc:128},Nc:{Ca:66,INIT:0},Ua:{Ca:194,qe:0,ac:16,ud:32,nc:48,Xc:0,Yc:32},Fb:{Ca:162,Re:0,$c:0,Wc:0,Zc:0,Vc:0},Ma:{Ge:{Ca:98},Ta:{Kc:0,Jc:1,xd:2,Gd:4,Qc:5,vd:6,yd:7}, -Gb:16383}},Qd={SI1978:S,VT100:T};R.prototype.oa=function(){return!1};R.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.H=d;this.A=a;this.I=ub(a,"Keyboard");this.J=ub(a,"SerialPort");this.video=ub(a,"Video");Gb(b,this,this.u.Kb);Ub(b,this,this.u.Lb);if(d){var e=this;Rd(d,16384,function(){for(var a="",b=0;b>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.ee=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.ge=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ra=b};l.fe=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.aa=b<<8|this.aa>>8}; -l.he=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.va=b};l.ie=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Sd(a){var b=0,c=0,d=~a.X;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -l.Yd=function(a,b){var c=this.K,c=c&~T.La.hc;if((Gc(this.b)&64)<<1&&(c|=T.La.hc,c!=this.K)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case T.Ma.Ta.yd:break;case T.Ma.Ta.Jc:this.X=this.X<<1|d;break;case T.Ma.Ta.Qc:d=Sd(this);this.F[d]=T.Ma.Gb;ib(this,"doNVRCommand(): erase data at addr "+u(d));break;case T.Ma.Ta.Kc:this.j=this.j<<1|d;break;case T.Ma.Ta.Gd:d=Sd(this);e=this.j&T.Ma.Gb;this.F[d]=e;ib(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case T.Ma.Ta.vd:d=Sd(this);e=this.F[d]; -null==e&&(e=T.Ma.Gb);this.j=e;ib(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case T.Ma.Ta.xd:this.j<<=1;this.da=this.j&T.Ma.Gb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~T.La.ic;this.da&&(c|=T.La.ic);c&=~T.La.cc;if(d=this.I){d=this.I;if(e=d.D)e=d.b,e=Gc(d.b)>=d.L+e.X*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=T.La.cc);c&=~T.La.rc;this.J&&this.J.Ea&1&&(c|=T.La.rc);this.K=c;E(this,a,null,b,"FLAGS",c);return c}; -l.je=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ja=b};l.me=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.le=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.B=this.B&-4|a;break;case 1:this.B=this.B&-13|a<<2;this.video&&(b=this.video,a=this.B,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ka=a}}; -l.ke=function(a,b,c){E(this,a,b,c,"DC011");b&T.Ua.ud?(b&=T.Ua.nc,this.N!=b&&(this.N=b,this.video&&(a=this.video,b=this.N==T.Ua.nc?50:60,ib(a,"updateRate("+b+")"),a.vc=b))):(b&=T.Ua.ac,this.L!=b&&(this.L=b,this.video&&(a=this.L==T.Ua.ac?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80>>0,g],q=pa(p,k,a.zc);0>q&&p.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.D.push({mf:b,G:c,$d:d,Da:e,yc:f})}delete this.Da}return!0};Vd.prototype.Ja=function(){return!0}; -function Wd(a,b,c,d){if(d)a.ia("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Da=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.ia("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>f.ha;0>>= -f.ha;0=n.Eb&&a<=n.Pb?d.u&515||(d.u|=512,ge(d,20,!0),he(d)):a>=n.Jd&&a<=n.z&&d.u&512&&(d.u&=-513,ge(d,20,!1),he(d));return!0},c.onpaste=function(a){a:{if(d.J&&d.J.fb&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(), -a=a.clipboardData||window.clipboardData)){ie(d.J,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.w.Ya&&void 0!==this.w.Ya[b])return this.M[e]=c,a=function(a,b){return function(c){c.preventDefault();ge(a,b,!0)}}(this,this.w.Ya[b]),b=function(a,b){return function(){ge(a,b,!1)}}(this,this.w.Ya[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1}; -be.prototype.Qa=function(a,b,c,d){this.A=a;this.b=c;this.H=d;var e=this;this.O=Kc(this.b,function(){je(e)});this.F=ub(a,"ChipSet");this.J=ub(a,"SerialPort");Gb(b,this,this.w.Kb);Ub(b,this,this.w.Lb)};be.prototype.Fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};be.prototype.Ja=function(a){return a?this.save():!0};W.INIT=[[W.Na.INIT,W.Lc.INIT,!1,0,-1]];l=be.prototype;l.reset=function(){this.j=[];this.u=0;this.w.INIT&&!this.restore(this.w.INIT)&&this.ia("reset error")}; -l.save=function(){var a=new Vc(this);switch(this.w.Ba){case W.Ba:a.set(0,[this.K,this.I,this.D,this.L,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Ba){case ee.Ba:return!0;case W.Ba:return this.K=b[0],he(this,this.K&W.Na.ec),this.I=b[1],this.D=b[2],this.L=b[3],this.B=b[4],!0}return!1}; -function he(a,b){var c;null!=b?a.N=b:b=a.N;for(var d in a.w.tb)if(c="led-"+d,c=a.M[c]){var e=a.w.tb[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+t(16711680,6):"#000000"}if(c=a.M["led-caps-lock"])c.style.backgroundColor=a.u&512?"#"+t(65280,6):"#000000"} -function fe(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.w.$b[e]||e,!a.w.Nb[e]){for(var f in a.w.Ya)if(a.w.Ya[f]===e){e=f;break a}e=null}if(e){f=2==b.location;var g=0;switch(e){case 16:g=f?1:2;break;case 17:g=f?4:8;break;case 18:g=f?16:32;break;case 91:g=f?64:128;break;case 20:g=512}g&&(a.u=c?a.u|g:a.u&~g);b.metaKey||(d=ge(a,e,c),e>=n.Eb&&e<=n.Pb||b.preventDefault())}return d} -function ge(a,b,c){var d,e;a:{for(e=0;ee?a.j.push({Xb:b,Ub:Date.now(),Hb:d}):(a.j[e].Ub=Date.now(),a.j[e].Hb=d);else if(0<=e){if(!a.j[e].Hb&&(d=a.j[e].Ub)&&50>Date.now()-d)return a.j[e].Hb=!0,je(a),!0;a.j.splice(e,1)}if(a.F){d=0;switch(b){case "1p":d=S.Za.od;break;case "2p":d=S.Za.sd;break;case "coin":d=S.Za.Pc;break;case "left":d=S.Za.qd;break;case "right":d=S.Za.rd;break;case "fire":d=S.Za.pd}d&&(a=a.F,b=d,a.D&=~b,c&&(a.D|=b))}return!0} -function je(a){for(var b=0,c=-1;bc||c>e)c=e}else{ge(a,d,!1);b=0;continue}}b++}0<=c&&Lc(a.b,a.O,c)}l.Zd=function(a,b){var c=this.I;0<=this.B&&(this.B>3)*a.aa,!yb(a.w,a.Va,a.O,3)))return!1;a.O?(a.qc=a.F.createImageData(b,c),a.tc=16/a.Wa|0,pe(a,a.O>>1)):pe(a,(a.ba+1)*a.va);a.K=document.createElement("canvas");a.K.width=b;a.K.height=c;a.rb=a.K.getContext("2d");a.ea={};a.la=1<=a.kc?8:16,f=8>(7>4)*c)}return k}ke.prototype.Fa=function(){return!0};ke.prototype.oa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Ob[b]=c,!0;switch(b){case "fullScreen":return this.M[b]=c,this.j&&this.j.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1}; -ke.prototype.kb=function(){var a=!1;if(this.j){if(this.j.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.X/this.N;b>c&&(a=Math.round(c/b*100)+"%")}this.pc?(this.L.style.width=a,this.L.style.width=a,this.L.style.display="block",this.L.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.kb();a=!0}this.ka&&this.ka.focus()}return a}; -function ne(a,b){!b&&a.j&&(a.pc?a.L.style.width=a.L.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function pe(a,b){a.sc=b;a.ja=!1;if(void 0===a.D||a.D.length!=a.sc)a.D=Array(a.sc)}function re(a,b,c,d,e){d=a.u?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ra&&(208<=c&&236>c?e=a.la+0:28<=c&&72>c&&(e=a.la+1));a=a.ga[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Nc(a,b){var c=!0;if(!b){a.Xa&&(120==a.Xa?a.uc&1?(Jd(a.b,2),c=!1):Jd(a.b,1):Jd(a.b,4));if(c&&a.ja&&a.O){for(var d=a.w,e=a.O,f=!0,g=a.Va>>>d.ha;0>=1);;){var v=Bb(a.w,p++);if(127==(v&127)){var r=Bb(a.w,p++),d=r&96,c=(r&15)<<8|Bb(a.w,p),c=c+ -(r&16?8192:16384);break}if(m>4)*v.ma,C,U,ea,Y,va=v.qa,Hb=v.ma;z?(C=y*r.qa,U=e*r.ma,ea=r.qa,Y=r.ma):(C=y*r.lc,U=e*r.mc,ea=r.lc,Y=r.mc);v.qa>r.qa&&(C*=2,ea*=2);v.ma>r.ma&&(q||(H+=r.ma),Hb=r.ma);z?z.drawImage(v.canvas,ha,H,va,Hb,C,U,ea,Y):(C+=0,U+=0,r.F.drawImage(v.canvas, -ha,H,va,Hb,C,U,ea,Y))}h++}g++}e++}}a.ja=!0;!b&&a.sb&&1==h&&(a.D[k]=-1,h=0);a.sb=!1;(h||b)&&a.rb&&a.F.drawImage(a.K,0,a.ib,a.J,a.aa-a.ma,0,0,a.Ic,a.Ld)}else{e=a.Va;f=e+a.O;k=h=g=0;b=a.J;m=0;c=a.aa;q=d=0;p=a.Wa;y=(1<>8|(r&255)<<8);h>z&y,re(a,a.qc,h++,k,ha),z+=p;h>m&&(m=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.aa))break}a.ja=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ke(d,e,g,f,c);gb(d,c)}}); -function se(a){this.da=+a.adapter;switch(this.da){case 0:this.ea=0;this.ja=2;break;default:w("Unrecognized serial adapter #"+this.da);return}this.j=this.B=null;this.ga=a.tabSize;this.ba=a.charBOL;this.D=0;this.X=!1;x.call(this,"SerialPort",a,se,8388608);var b=a.binding;if("console"==b)this.B="";else{var c;a=te;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.M[b])&&this.oa(null,a,b))}this.I="";this.u=this.fb=null;this.exports={connect:this.Ec,receiveData:this.Wb}}A(se); -var ue=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],ve=[!1,0,0,133,142,39,238],te="buffer";l=se.prototype; -l.oa=function(a,b,c,d){var e=this;switch(b){case te:return this.M[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.gb)return;b=na(b[1]);if(this.u=eb(b)){var d=this.u.exports;if(d){var e=d.connect;e&&e.call(this.u);if(this.fb=d.receiveData){this.status(this.hb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Fa=function(a,b){if(!b)if(this.Ec(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -l.Ja=function(a){return a?this.save():!0};l.reset=function(){ze(this)};l.save=function(){var a=new Vc(this),b=0,c=[];c[b++]=this.K;c[b++]=this.O;c[b++]=this.aa;c[b++]=this.Ea;c[b++]=this.J;c[b++]=this.N;c[b]=this.L;a.set(0,c);return a.data()};l.restore=function(a){return ze(this,a[0])};function ze(a,b){var c=0;b||(b=ve);a.K=b[c++];a.O=b[c++];a.aa=b[c++];a.Ea=b[c++];a.J=b[c++];a.N=b[c++];a.L=b[c];return!0} -function Ae(a,b){var c=a.L&b;b&15||(c>>=4);b=ue[c];c=((a.J&12)>>2)+6;a.J&16&&c++;c+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function we(a,b){ib(a,"receiveByte("+ca(b)+"), status="+ca(a.Ea));return a.X||a.Ea&2?!1:(a.O=b,a.Ea|=2,Jd(a.b,a.ja),!0)}l.Wb=function(a){null!=a&&(this.I="number"!=typeof a?a:this.I+String.fromCharCode(a));this.I&&(we(this,this.I.charCodeAt(0))&&(this.I=this.I.substr(1)),this.I&&this.b&&Lc(this.b,this.ka,Ae(this,15)));return!0}; -function ie(a,b){a.Ea|=5;b&&a.fb&&a.fb.call(a.u,b)}l.Td=function(a,b){var c=this.O;E(this,a,null,b,"DATA",c);this.Ea&=-3;return c};l.Sd=function(a,b){var c=this.Ea;E(this,a,null,b,"STATUS",c);return c}; -l.de=function(a,b,c){E(this,a,b,c,"DATA");this.aa=b;this.Ea&=-6;ib(this,"transmitByte("+ca(b)+")");if(19==b)this.X=!0;else if(17==b)this.X=!1;else if(this.fb&&this.fb.call(this.u,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ga||8,c=b-this.D%b,this.ga&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.ba&&!this.D&&c&&(a=String.fromCharCode(this.ba)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight, -this.D+=c);else if(null!=this.B){if(10==b||1024<=this.B.length)this.g(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b))}this.b&&Lc(this.b,this.la,Ae(this,240))};l.ce=function(a,b,c){E(this,a,b,c,"CONTROL");this.K?(this.N=b,this.N&64&&(this.K=!1)):(this.J=b,this.K=!0)};l.be=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.L=b};var xe={0:se.prototype.Td,1:se.prototype.Sd},ye={0:se.prototype.de,1:se.prototype.ce,2:se.prototype.be}; -Oa(function(){for(var a=D(document,"pc8080","serial"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Be.prototype.Sb=function(){return-1};Be.prototype.Tb=function(){}; -Be.prototype.Jb=function(a,b,c){if(b)if(a){0>this.j&&this.u.length&&(this.j=0);if(0>this.j||a!=this.u[this.j])this.u.splice(0,0,a),this.j=0;this.j--}else this.O?a="end":a=this.u[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function De(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ee(a,b,c){var d;if(b){b=Fe(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function Je(a,b){if(b)return He(a,b,a.da[b]);var c=0;for(b in a.da)He(a,b,a.da[b]),c++;return 0>>d.w.ha;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[e];p.type==c?m++||d.g("..."):(c=p.type,m=Ab[c],p&&d.g(t(p.id)+" %"+t(e<>>e.ha;f!=e.w?e.W[g].Zb(f,b&65535,d):(e.W[g++].Db(f,b&255,d),e.W[g&e.D].Db(0,b>>8&255,d+1));c&&We(a,c);Ec(this.b,!0)}};function X(a){return{G:a,Pa:!1}}function wf(a){return[a.G,a.Pa]}function xf(a){return{G:a[0],Pa:a[1]}} -function Ve(a,b,c){var d;c=(c?a.L:a.Va).G;if(void 0!==b){d=b=Fe(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=sa(Se,a.substr(b,1))));return c};function Af(a,b){var c=0;a=a.Tb(b);if(void 0!==a)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(a,c):"??"} -l.Tb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.R;break;case 1:b=c.S;break;case 8:b=Wc(c);break;case 2:b=c.T;break;case 3:b=c.U;break;case 9:b=Yc(c);break;case 4:b=c.V;break;case 5:b=c.Y;break;case 10:b=J(c);break;case 6:b=c.Z(J(c));break;case 11:b=c.na;break;case 12:b=c.P;break;case 13:b=Uc(c);break;case 14:b=Uc(c)&255|c.i<<8}}return b}; -function Bf(a,b){b=Fe(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Sb(b,c+1),0<=e&&(b=b.substr(0,c)+Af(a,e)+b.substr(c+1+Se[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(d=e+' "'+zf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(We(d),d=e+ -' "'+zf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(X(this.b.P).G));this.sa&1073741824?this.la.push(a):this.ka&&a==this.ka||(this.ka=a,this.sa&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.O=0,Ec(a)))}; -function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.sa&h)!=h||a.message(b.gb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))} -function Ne(a){var b;if(Kd(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b>>d.ha],!1)}a.N=["br"];if(a.B)for(b=1;b>>d.ha],!0);a.B=["bw"];a.Xa=0}l.$a=function(a,b,c){var d=!0;c||Gf(this,a,b,!1,!0);if(a!=this.F){var e=Ue(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.W[e>>>f.ha].$a(e&f.w,a==this.B)}}d&&(a.push(b),c?b.Pa=!0:(Hf(this,a,a.length-1,"set"),Ne(this)));return d}; -function Gf(a,b,c,d,e){var f=!1;c=Ue(c);for(var g=1;g>>d.ha],b==a.B));h.Pa||Ne(a);break}}return f}function If(a,b){for(var c=1;c>24,4);break;case 3:z=t(v.bb(z,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?z="["+z+"]":r&16||(z=(v.style==Le?"$":"0x")+z);v=z}else r&16?(v= -(q&3840)>>8,r=Se[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.$d;if(e>=g&&e>8&255;case "C":d.S=f&255;break;case "D":d.T=f&255;break; -case "DE":d.T=f>>8&255;case "E":d.U=f&255;break;case "H":d.V=f&255;break;case "HL":d.V=f>>8&255;case "L":d.Y=f&255;break;case "SP":d.na=f&65535;break;case "PC":I(d,f);a.L=X(d.P);break;case "PS":Sc(d,f);break;case "PSW":Sc(d,f&255|d.ta&-256);d.i=f>>8;break;case "CF":d.ca=f?d.ca|256:d.ca&255;break;case "PF":f?cd(d)||(d.fa^=1):cd(d)&&(d.fa^=1);break;case "AF":d.xa=f?~d.fa&16|d.xa&-17:d.fa&16|d.xa&-17;break;case "ZF":d.ca=f?d.ca&-256:d.ca|255;break;case "SF":f?fd(d)||(d.fa^=192):fd(d)&&(d.fa^=192);break; -case "IF":d.ta=f?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);return}Ec(d);a.g("updated registers:")}a.g(Nf(a));c&&(a.L=X(d.P),Ef(a,Z(a.L.G)))}}function Uf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Bf(a,c[2])):Ee(a,b,!0)}function Vf(a,b,c){var d="t"!=b;c=Ge(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ea(c,function(){return kb(a,!0)&&a.ob(e,d,!1)},function(){Ec(a.b);kb(a,!1)})} -function Ef(a,b,c,d){if(b=Ve(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ve(a,c,!0);if(!d||d.Gh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],f=null);f=Kf(a,b,g,f);a.g(f);a.L=b;e-=b.G-k;c++}}} -l.Jb=function(a,b,c){if(b)if(a){0>this.j&&this.u.length&&(this.j=0);if(0>this.j||a!=this.u[this.j])this.u.splice(0,0,a),this.j=0;this.j--}else this.O?a="end":a=this.u[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; -function Jf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.O&&(a.g("ended assemble at "+Z(a.ba.G)),a.L=a.ba,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ka=null;if(mb(a)&&0m||"z"Ha.length&&(a.g("note: only "+Ha.length+" available"),ja=Ha.length);wa-=ja;0>wa&&(null==Ha[Ha.length-1].G?(ja=wa+ja,wa=0):wa+=Ha.length);var od=[];"call"==bf&&(Lb=1E5,od=["CALL"]);for(void 0!==af&&a.g(ja+" instructions earlier:");0< -Lb&&wa!=a.ea;){var ef=Ha[wa++];if(null==ef.G)break;var Mb=X(ef.G),ng=ja--,ff=Kf(a,Mb,"history",ng);(!od.length||0<=ff.indexOf(od[0]))&&a.g(ff);Mb.Rb&&(wa+=Mb.Rb,Lb-=Mb.Rb,ja-=Mb.Rb);wa>=Ha.length&&(wa=0);a.ib=ja;df++;Lb--}}df||(a.g("no "+cf+"history available"),a.ib=void 0)}else{var rc=Ve(a,Y);if(rc){var sc=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Hb),sc=Ge(a,va)>>>0,65536>4||1;og--&&0wc?String.fromCharCode(wc):".";uc--}Nb&&(Nb+="\n");Nb+=Y+" "+qd+(Ob?"":" "+gf)}Nb&&a.g(Nb);a.Va=rc}}}}break;case "e":if("else"==f[0])break;var xc=1,hf=255,jf=a.Z,kf=a.ua;"ew"==f[0]&&(xc=2,hf=65535,jf=a.bb,kf=a.Mb);var lf=xc<<1,mf=f[1];if(null==mf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a"); -else{var yc=Ve(a,mf);if(yc)for(var zc=2;zcxd;){for(var $a=null,ug=256;65536>Rb.G>>>0;){of.G=a.bb(Rb,2);if(null==Rb.G||!ug--)break;for(var vg=a,Bc=of,pf= -null,Sb=Bc.G,qf=Sb,yd=1;6>=yd&&Sb;yd++){if(2\nLicense: GPL version 3 or later ");for(b=0;bZf){if(ag(d,this.K)){this.B=new Vc(this,"1.30.4","failsafe");ag(this.B)&&(fg(this,d),a=2,gg(this.B));this.B.set("timestamp",ra());hg(this.B);var e=this.A&&!this.I;if(1==a||ya("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=eg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ag(d,g):("error"== -f&&"no machine state"!=g?(this.ia("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.j=null)):this.g(f+": "+g),gg(d),ag(d)?(c=eg(d),e=!0):c=!1))}e&&dg(this,c?d:null)}else 2==a&&d.clear()}else dg(this);delete this.K;delete this.L}e=db(this.id);for(f=0;fa[1];a=a[2];this.ga=!0;this.C.wa=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(ig(this,this.b,b,c,a),this.b.vb());this.X&&(fg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.u=0}; -function fg(a,b){if(ya("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.4"};d.url=a.ea;d.user=c;d.type="bug";d.data=b;ta("http://www.pcjs.org/api/v1/report",d,!0)}} -function Wf(a,b,c){var d,e="none";if(a.u)return null;a.u--;var f=new Vc(a,"1.30.4"),g=new Vc(a,"1.30.4","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.4");f.set("url",window?window.location.href:null);f.set("browser",xa());a.b&&a.b.Ja&&(c&&a.b.pa(),d=a.b.Ja(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.wa=!1,!1===d&&(e=null)));for(var h=db(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ta(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);Cg(a,b,c)}})}else c(a,null)} -function Dg(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--mg||Ra(!0));k=!1}var g,h,k=!0;mg++;bb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));p.appendChild(q)}c|| -(c="/versions/pc8080/1.30.4/components.xsl");m=function(d,h){h?Ag(c,null,null,!1,e,function(d,k){k?(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--mg||Ra(!0)):f("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),--mg||Ra(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Ag(b,a,d,!0,e,m):Bg(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(y){f(y.message)}return k}window.embedPC8080=function(a,b,c,d){Ra(!1);return Dg(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Ta;})(); diff --git a/versions/pc8080/1.30.4/pc8080.js b/versions/pc8080/1.30.4/pc8080.js deleted file mode 100644 index 1e148b3d2..000000000 --- a/versions/pc8080/1.30.4/pc8080.js +++ /dev/null @@ -1,204 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -var l,m={vd:1,wd:3,xd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Wa:65,Sb:66,Ub:67,sb:68,E:69,Xb:70,Yb:71,Zb:72,$b:73,gc:74,hc:75,ub:76,oc:77,pc:78,sc:79,tc:80,Q:81,zc:82,Cc:83,Hc:84,Ic:85,Jc:86,Kc:87,Mc:88,Nc:89,kb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Pc:97,fe:98,ge:99,d:100,e:101,he:102,ie:103,je:104,ke:105,le:106,k:107,me:108, -ne:109,n:110,oe:111,p:112,q:113,r:114,pe:115,t:116,qe:117,re:118,se:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yd:127}; -function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ja={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ka=Date.now||function(){return+new Date};function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function ma(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function na(a,b){var c,d={Z:null,va:null,Da:null,wa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Da=g.load;d.wa=g.exec;if(e=g.bytes)d.Z=e;else if(e=g.words)for(d.Z=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.Z=Array(4*e.length),f=c=0;c>8&255,d.Z[f++]=e[c]>>16&255,d.Z[f++]=e[c]>>24&255;else d.Z=g;d.va=g.symbols;d.Z.length?1==d.Z.length&&(q(d.Z[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Ya=this.id:(this.ya=this.id.substr(0,b),this.Ya=this.id.substr(b+1));this[a]=c;this.j={ready:!1,ab:!1,lb:!1,X:!1,error:!1};this.eb=null;this.j.error=!1;this.v={};this.M=null;u.push(this)}var Fa=void 0,Ga={}; -if(window){Fa||(Fa=window.location.search.substr(1));for(var Ha,Ia=/\+/g,Ja=/([^&=]+)=?([^&]*)/g;Ha=Ja.exec(Fa);)Ga[decodeURIComponent(Ha[1].replace(Ia," "))]=decodeURIComponent(Ha[2].replace(Ia," "))}function Ka(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=r);a.prototype=Ka(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var La=window.PCjs.Machines||(window.PCjs.Machines={}),u=window.PCjs.Components||(window.PCjs.Components=[])}else La={},u=[];function Ma(a,b,c){La[a]&&b&&(La[a][b]=c)}function Ca(a,b,c){b||q((c?c+": ":"")+a)} -function Na(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.i&&(this.i=10);15>2;this.f=this.c-1;this.h=this.s/this.c|0;this.m=this.h-1;this.l=[];this.w=[];this.A=[];this.B=[];a=new D;Za(a,this.M);this.b=Array(this.h);for(b=0;b>>a.i;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Ra)return h.ib+=h.Ra-e,h.Ra=e,!0;if(e>=h.Ra+h.ib){n=h.size-(e-k);n>f&&(n=f);h.ib=e-h.Ra+n;e=k+a.c;f-=n;g++;continue}}return ab(1,e,f)}e=new D(e,n,a.c,d);Za(e,a.M,h);a.b[g++]=e;e=k+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+bb[d]+" at "+p(b,4,!0)),!0):ab(2,b,c)}Ya.prototype.J=function(a){return this.b[(a&this.g)>>>this.i].Ua(a&this.f,a)}; -function cb(a,b){return a.b[(b&a.g)>>>a.i].hb(b&a.f,b)}function db(a,b){var c=b&a.f,d=(b&a.g)>>>a.i;return c!=a.f?a.b[d].qd(c,b):a.b[d++].Ua(c,b)|a.b[d&a.m].Ua(0,b+1)<<8}Ya.prototype.aa=function(a,b){this.b[(a&this.g)>>>this.i].Va(a&this.f,b&255,a)};function eb(a,b,c){a.b[(b&a.g)>>>a.i].Nb(b&a.f,c&255,b)}function fb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.i;d!=a.f?a.b[e].rd(d,c&65535,b):(a.b[e++].Va(d,c&255,b),a.b[e&a.m].Va(0,c>>8&255,b+1))} -function gb(a){for(var b=0,c=[],d=0;d>1),this.a=new Int32Array(this.i,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},B:function(a){return this.a[a>> -2]>>>((a&3)<<3)&255},H: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},R:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.na=!0},u:function(a,b){return this.hb(a,b)},G:function(a,b){return this.Kb(a,b)},N:function(a,b,c){this.c||this.Nb(a,b,c)},U:function(a, -b,c){this.c||this.W(a,b,c)},s:function(a){return this.b[a]},A:function(a){return this.b[a]},F:function(a){return this.v.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.h[a>>1]},I:function(a,b){this.b[a]=b;this.na=!0},P:function(a,b){this.b[a]=b;this.na=!0},V:function(a,b){this.v.setUint16(a,b,!0);this.na=!0},ya:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.h[a>>1]=b;this.na=!0}};function Za(a,b,c){a.M=b;a.f=a.g=0;c&&((a.f=c.f)&&ub(a,vb,!1),(a.g=c.g)&&wb(a,vb,!1))} -function wb(a,b,c){c&&a.g||(a.Va=!a.c&&b[1]||a.m,a.rd=!a.c&&b[3]||a.o);if(c||void 0===c)a.Nb=b[1]||a.m,a.W=b[3]||a.o}function ub(a,b,c){c&&a.f||(a.Ua=b[0]||a.l,a.qd=b[2]||a.w);if(c||void 0===c)a.hb=b[0]||a.l,a.Kb=b[2]||a.w}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}var xb=[],tb=[D.prototype.B,D.prototype.R,D.prototype.H,D.prototype.Y],vb=[D.prototype.u,D.prototype.N,D.prototype.G,D.prototype.U]; -if(Ua)var sb=[D.prototype.s,D.prototype.I,D.prototype.F,D.prototype.V],rb=[D.prototype.A,D.prototype.P,D.prototype.L,D.prototype.ya];function yb(a,b){r.call(this,"CPU",a,yb);var c=a.multiplier||1;this.la=a.cycles||b;this.I=c;this.Ha=Math.round(this.la/1E4)/100;this.V=this.Ha*this.I;this.j.oa=!1;this.j.Lb=!1;this.j.Sa=a.autoStart;this.j.Eb=!1;this.j.bb=!1;this.ta=this.W=0;this.ua=a.csStart;this.Y=a.csInterval;this.ia=a.csStop;this.F=[];this.$a=this.ob.bind(this);B(this)}w(yb);var zb=["power","reset"]; -l=yb.prototype;l.qa=function(a,b,c,d){this.w=a;this.i=b;this.M=d;for(b=0;ba.P/a.V&&(b=1);a.I=b;b=a.Ha*a.I;if(a.V!=b){a.V=b;b=a.V.toFixed(2)+"Mhz";var d=a.v.setSpeed;d&&(d.textContent=b);a.da("target speed: "+b)}c&&a.w&&Ib(a.w)}a.G+=a.N;a.N=0;a.H=ka();a.R=0;Gb(a)}function Jb(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Kb(a,b,c){0<=b&&ba.F[b][0]&&(c*=a.la*a.I/1E3,a.F[b][0]=c+Lb(a))}function Lb(a,b){var c=a.U-=a.a;a.a=0;b&&(a.U=0);return c} -l.ob=function(a){if(Ra(this,!0)){if(!this.j.oa){Fb(this);this.w&&this.w.start(this.H,Hb(this));this.j.oa=!0;this.j.Lb=!0;this.L&&this.L.start();var b=this.v.run;b&&(b.textContent="Halt");this.w&&(this.w.Fa(!0),a&&Ib(this.w,!0))}this.Ia>=this.la&&Gb(this,!0);this.pa=0;this.sa=ka();this.R&&(a=this.sa-this.R,a>this.Pa&&(this.H+=a,this.H>this.sa&&(this.H=this.sa)));try{do{for(var c,d=this.j.bb?1:this.Aa,e=this.F.length-1;0<=e;e--){var f=this.F[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Mb(c);c=Lb(this,!0); -this.pa+=c;this.N+=c;a=c;this.j.bb&&(b=!1,this.ta=this.ta+this.Hb()|0,this.W-=a,0>=this.W&&(this.W+=this.Y,b=!0),0<=this.ia&&this.ia<=Hb(this)&&(this.Y=this.ia=-1,Cb(this),Eb(this),b=!0),b&&this.da(Hb(this)+" cycles: checksum="+p(this.ta)));a=c;for(var g=this.F.length-1;0<=g;g--){var h=this.F[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ka-=c;if(0>=this.ka){this.ka+=this.Aa;15<=++this.Qa&&(this.w&&this.w.Fa(),this.Qa=0);break}}while(this.j.oa)}catch(k){Eb(this);Db(this);this.w&&this.w.stop(ka(), -Hb(this));Ra(this,!1);c=k.stack||k.message;this.j.error=!0;this.K(c);return}c=setTimeout;d=this.$a;this.R=ka();e=this.Pa;this.pa&&(e=Math.round(e*this.pa/this.Aa));e-=this.R-this.sa;if(f=this.R-this.H)this.P=Math.round(this.N/(10*f))/100,864E5<=f&&(this.G=0,Fb(this));if(0>e||this.Pe&&(this.H-=e),e=0;this.Ia+=this.pa;this.R+=e;c(d,e)}else Db(this),this.w&&this.w.stop(ka(),Hb(this))};l.Mb=function(){return 0}; -function Eb(a){a.j.ab&&(a.j.lb=!0);Lb(a);a.G+=a.N;a.N=0;if(a.j.oa){a.j.oa=!1;a.L&&a.L.stop();var b=a.v.run;b&&(b.textContent="Run")}a.j.complete=void 0}function Db(a){if(a.w){for(var b=a.w,c=0;c>8&255;a.C=b&255}function Xb(a){return a.f<<8|a.D}function Yb(a,b){a.f=b>>8&255;a.D=b&255}function H(a){return a.g<<8|a.h} -function J(a,b){a.g=b>>8&255;a.h=b&255}function F(a,b){a.m=b&65535}function K(a){return a.l&256?1:0}function L(a,b){a.l=a.l&255|b}function Zb(a){return Va[a.o&255]?4:0}function Ub(a){return a.B&-214|(a.o&128?128:0)|(a.l&255?0:64)|((a.o^a.u)&16?16:0)|Zb(a)|K(a)}function Sb(a,b){a.l=a.o=a.u=0;b&1&&(a.l|=256);b&4||(a.o|=1);b&16&&(a.u|=16);b&64||(a.l|=255);b&128&&(a.o^=192);a.B=a.B&-726|b&512|2}function M(a,b){a.u=a.b^b;return a.o=(a.l=a.b+b)&255} -function $b(a,b){a.u=a.b^b;return a.o=(a.l=a.b+b+(a.l&256?1:0))&255}function ac(a,b){a.l=a.o=a.u=a.b&b;(a.b|b)&8&&(a.u^=16);return a.l}function bc(a,b){a.u=b^255;b=a.o=b+255&255;a.l=a.l&-256|b;return b}function cc(a,b){a.u=b;b=a.o=b+1&255;a.l=a.l&-256|b;return b}function dc(a,b){return a.o=a.l=a.u=a.b|b}function N(a,b){b^=255;a.u=a.b^b;return a.o=(a.l=a.b+b+1^256)&255}function ec(a,b){b^=255;a.u=a.b^b;return a.o=(a.l=a.b+b+(a.l&256?0:1)^256)&255}function fc(a,b){return a.o=a.l=a.u=a.b^b}l.J=function(a){return this.i.J(a)}; -l.aa=function(a,b){this.i.aa(a,b)};function O(a){var b=a.J(a.m);F(a,a.m+1);return b}function P(a){var b=db(a.i,a.m);F(a,a.m+2);return b}function Q(a){var b=db(a.i,a.s);a.s=a.s+2&65535;return b}function R(a,b){a.s=a.s-2&65535;fb(a.i,a.s,b)}function gc(a){if(a.a&&a.A&255&&a.B&512){for(var b=0;8>b&&!(a.A&1<b?255:1<>8;L(this,a&256);this.a-=4},ic,function(){var a;J(this,a=H(this)+Vb(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.J(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5}, -function(){this.C=cc(this,this.C);this.a-=5},function(){this.C=bc(this,this.C);this.a-=5},function(){this.C=O(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;L(this,a);this.a-=4},ic,function(){Yb(this,P(this));this.a-=10},function(){this.aa(Xb(this),this.b);this.a-=7},function(){Yb(this,Xb(this)+1);this.a-=5},function(){this.f=cc(this,this.f);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=O(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|K(this); -L(this,a&256);this.a-=4},ic,function(){var a;J(this,a=H(this)+Xb(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.J(Xb(this));this.a-=7},function(){Yb(this,Xb(this)-1);this.a-=5},function(){this.D=cc(this,this.D);this.a-=5},function(){this.D=bc(this,this.D);this.a-=5},function(){this.D=O(this);this.a-=7},function(){var a=this.b<<8;this.b=(K(this)<<8|this.b)>>1;L(this,a&256);this.a-=4},ic,function(){J(this,P(this));this.a-=10},function(){var a=P(this);fb(this.i,a,H(this));this.a-=16},function(){J(this, -H(this)+1);this.a-=5},function(){this.g=cc(this,this.g);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=O(this);this.a-=7},function(){var a=0,b=K(this);if((this.o^this.u)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=M(this,a);L(this,b?256:0);this.a-=4},ic,function(){var a;J(this,a=H(this)+H(this));L(this,a>>8&256);this.a-=10},function(){var a;a=P(this);a=db(this.i,a);J(this,a);this.a-=16},function(){J(this,H(this)-1);this.a-=5},function(){this.h=cc(this,this.h); -this.a-=5},function(){this.h=bc(this,this.h);this.a-=5},function(){this.h=O(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},ic,function(){this.s=P(this)&65535;this.a-=10},function(){this.aa(P(this),this.b);this.a-=13},function(){this.s=this.s+1&65535;this.a-=5},function(){var a=H(this);this.aa(a,cc(this,this.J(a)));this.a-=10},function(){var a=H(this);this.aa(a,bc(this,this.J(a)));this.a-=10},function(){this.aa(H(this),O(this));this.a-=10},function(){this.l|=256;this.a-=4},ic,function(){var a; -J(this,a=H(this)+this.s);L(this,a>>8&256);this.a-=10},function(){this.b=this.J(P(this));this.a-=13},function(){this.s=this.s-1&65535;this.a-=5},function(){this.b=cc(this,this.b);this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=O(this);this.a-=7},function(){L(this,K(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.C;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.h; -this.a-=5},function(){this.c=this.J(H(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.C=this.c;this.a-=5},function(){this.a-=5},function(){this.C=this.f;this.a-=5},function(){this.C=this.D;this.a-=5},function(){this.C=this.g;this.a-=5},function(){this.C=this.h;this.a-=5},function(){this.C=this.J(H(this));this.a-=7},function(){this.C=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.C;this.a-=5},function(){this.a-=5},function(){this.f=this.D;this.a-= -5},function(){this.f=this.g;this.a-=5},function(){this.f=this.h;this.a-=5},function(){this.f=this.J(H(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.D=this.C;this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.h;this.a-=5},function(){this.D=this.J(H(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.C;this.a-= -5},function(){this.g=this.f;this.a-=5},function(){this.g=this.D;this.a-=5},function(){this.a-=5},function(){this.g=this.h;this.a-=5},function(){this.g=this.J(H(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.h=this.c;this.a-=5},function(){this.h=this.C;this.a-=5},function(){this.h=this.f;this.a-=5},function(){this.h=this.D;this.a-=5},function(){this.h=this.g;this.a-=5},function(){this.a-=5},function(){this.h=this.J(H(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.aa(H(this), -this.c);this.a-=7},function(){this.aa(H(this),this.C);this.a-=7},function(){this.aa(H(this),this.f);this.a-=7},function(){this.aa(H(this),this.D);this.a-=7},function(){this.aa(H(this),this.g);this.a-=7},function(){this.aa(H(this),this.h);this.a-=7},function(){var a=this.m-1;if(this.ra.length)for(var b=0;b>>=f)&k;if(void 0!==g&&g[0])g[0](a,k,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=P(this);K(this)||(R(this,this.m),F(this,a),this.a-=6);this.a-=11},function(){R(this,Xb(this));this.a-=11},function(){this.b=N(this,O(this));this.a-=7},function(){R(this,this.m);F(this,16);this.a-=11},function(){K(this)&&(F(this,Q(this)),this.a-=6);this.a-=5},kc,function(){var a=P(this);K(this)&&F(this,a);this.a-=10},function(){for(var a=O(this),b=this.i,c=this.m+-2&65535,d=1,e=0, -f=0;0>8;this.a-=10},function(){var a=P(this);this.o&128||F(this,a);this.a-=10},function(){this.B&=-513;this.a-=4},function(){var a=P(this);this.o&128||(R(this,this.m),F(this,a),this.a-=6);this.a-=11},function(){R(this, -Ub(this)&255|this.b<<8);this.a-=11},function(){this.b=dc(this,O(this));this.a-=7},function(){R(this,this.m);F(this,48);this.a-=11},function(){this.o&128&&(F(this,Q(this)),this.a-=6);this.a-=5},function(){this.s=H(this)&65535;this.a-=5},function(){var a=P(this);this.o&128&&F(this,a);this.a-=10},function(){this.B|=512;this.a-=4;gc(this)},function(){var a=P(this);this.o&128&&(R(this,this.m),F(this,a),this.a-=6);this.a-=11},lc,function(){N(this,O(this));this.a-=7},function(){R(this,this.m);F(this,56); -this.a-=11}];function U(a){r.call(this,"ChipSet",a,U);var b=a.model;b&&!mc[b]&&Ca("Unrecognized ChipSet model: "+b);this.c=mc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(U); -var V={ba:1978.1,Fc:{ca:0,Ad:1,Ed:16,Ld:32,Ud:64,Td:128,Ka:14},Ca:{ca:1,Vb:1,yc:2,uc:4,vc:16,wc:32,xc:64,Ka:8},Gc:{ca:2,zd:3,ce:4,Bd:8,Pd:16,Qd:32,Rd:64,Cd:128,Ka:0},Yd:{ca:3},Wd:{ca:2,Md:7},$d:{ca:3,de:1,Zd:2,Sd:4,Jd:8,Dd:16,sd:32},Xd:{ca:4},ae:{ca:5,Fd:1,Gd:2,Hd:4,Id:8,ee:16}},X={ba:100,ja:{ca:66,Bb:1,qc:2,rc:4,Od:8,Nd:16,yb:32,xb:64,tb:128},Tb:{ca:66,INIT:0},za:{ca:194,ud:0,rb:16,Ac:32,zb:48,cc:0,dc:32},Xa:{ca:162,Vd:0,fc:0,bc:0,ec:0,ac:0},ma:{Kd:{ca:98},Ga:{Qb:0,Pb:1,Dc:2,Lc:4,Wb:5,Bc:6,be:7}, -Za:16383}},mc={SI1978:V,VT100:X};U.prototype.T=function(){return!1};U.prototype.qa=function(a,b,c,d){this.i=b;this.a=c;this.M=d;this.w=a;this.l=C(a,"Keyboard");this.h=C(a,"SerialPort");this.video=C(a,"Video");hb(b,this,this.c.fb);jb(b,this,this.c.gb)};U.prototype.fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};U.prototype.ha=function(a){return a?this.save():!0};V.INIT=[[V.Fc.Ka,V.Ca.Ka,V.Gc.Ka,0,0,0,0]]; -X.INIT=[[X.Tb.INIT,X.ja.qc|X.ja.rc],[X.za.cc,X.za.dc],[X.Xa.fc,X.Xa.bc,X.Xa.ec,X.Xa.ac],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], -[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];l=U.prototype;l.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.K("reset error")}; -l.save=function(){var a=new G(this);switch(this.c.ba){case V.ba:a.set(0,[this.W,this.g,this.Y,this.F,this.H,this.V,this.U]);break;case X.ba:a.set(0,[this.N,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.P]),a.set(3,[this.B,this.b,this.A,this.L,this.m])}return a.data()}; -l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ba){case V.ba:return this.W=b[0],this.g=b[1],this.Y=b[2],this.F=b[3],this.H=b[4],this.V=b[5],this.U=b[6],!0;case X.ba:return this.N=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.P=b[3],b=a[3],this.B=b[0],this.b=b[1],this.A=b[2],this.L=b[3],this.m=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Yc=function(){return this.W};l.Zc=function(){return this.g};l.$c=function(){return this.Y}; -l.Xc=function(){return this.F>>8-this.H&255};l.fd=function(a,b){this.H=b};l.hd=function(a,b){this.V=b};l.gd=function(a,b){this.F=b<<8|this.F>>8};l.jd=function(a,b){this.U=b};l.kd=function(){};function nc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -l.ad=function(){var a=this.u,a=a&~X.ja.xb;if((Hb(this.a)&64)<<1&&(a|=X.ja.xb,a!=this.u)){var b,c;b=this.A&1;switch(this.A>>1&7){case X.ma.Ga.Pb:this.B=this.B<<1|b;break;case X.ma.Ga.Wb:b=nc(this);this.m[b]=X.ma.Za;break;case X.ma.Ga.Qb:this.b=this.b<<1|b;break;case X.ma.Ga.Lc:b=nc(this);c=this.b&X.ma.Za;this.m[b]=c;break;case X.ma.Ga.Bc:b=nc(this);c=this.m[b];null==c&&(c=X.ma.Za);this.b=c;break;case X.ma.Ga.Dc:this.b<<=1,this.L=this.b&X.ma.Za+1}}a&=~X.ja.yb;this.L&&(a|=X.ja.yb);a&=~X.ja.tb;if(b=this.l){b= -this.l;if(c=b.g)c=b.a,c=Hb(b.a)>=b.o+c.la*c.I/1E3*1.2731488;c&&(b.g=!1);b=!b.g}b&&(a|=X.ja.tb);a&=~X.ja.Bb;this.h&&this.h.ea&1&&(a|=X.ja.Bb);return this.u=a};l.ld=function(a,b){this.N=b};l.od=function(a,b){this.A=b};l.nd=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.pa!==a&&((b.pa=a)?Mb(b,!0):b.sa=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.P=a}}; -l.md=function(a,b){b&X.za.Ac?(b&=X.za.zb,this.s!=b&&(this.s=b,this.video&&(this.video.Jb=this.s==X.za.zb?50:60))):(b&=X.za.rb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==X.za.rb?132:80,a.G=b,a.S=a.Aa,80>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.va=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(h){a.K("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.i;0>>=f.i;0=m.Wa&&a<=m.kb?d.c&515||(d.c|=512,Dc(d,20,!0),Ec(d)):a>=m.Pc&&a<=m.z&&d.c&512&&(d.c&=-513,Dc(d,20,!1),Ec(d));return!0},c.onpaste=function(a){a:{if(d.h&&d.h.Ea&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(), -a=a.clipboardData||window.clipboardData)){Fc(d.h,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ba&&void 0!==this.b.Ba[b])return this.v[e]=c,a=function(a,b){return function(c){c.preventDefault();Dc(a,b,!0)}}(this,this.b.Ba[b]),b=function(a,b){return function(){Dc(a,b,!1)}}(this,this.b.Ba[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1}; -xc.prototype.qa=function(a,b,c,d){this.w=a;this.a=c;this.M=d;var e=this;this.u=Jb(this.a,function(){Gc(e)});this.L=C(a,"ChipSet");this.h=C(a,"SerialPort");hb(b,this,this.b.fb);jb(b,this,this.b.gb)};xc.prototype.fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};xc.prototype.ha=function(a){return a?this.save():!0};Z.INIT=[[Z.ga.INIT,Z.Rb.INIT,!1,0,-1]];l=xc.prototype;l.reset=function(){this.i=[];this.c=0;this.b.INIT&&!this.restore(this.b.INIT)&&this.K("reset error")}; -l.save=function(){var a=new G(this);switch(this.b.ba){case Z.ba:a.set(0,[this.m,this.l,this.g,this.o,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.ba){case Ac.ba:return!0;case Z.ba:return this.m=b[0],Ec(this,this.m&Z.ga.vb),this.l=b[1],this.g=b[2],this.o=b[3],this.f=b[4],!0}return!1}; -function Ec(a,b){var c;null!=b?a.s=b:b=a.s;for(var d in a.b.La)if(c="led-"+d,c=a.v[c]){var e=a.b.La[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+p(16711680,6):"#000000"}if(c=a.v["led-caps-lock"])c.style.backgroundColor=a.c&512?"#"+p(65280,6):"#000000"} -function Cc(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.b.qb[e]||e,!a.b.jb[e]){for(var f in a.b.Ba)if(a.b.Ba[f]===e){e=f;break a}e=null}if(e){f=2==b.location;var g=0;switch(e){case 16:g=f?1:2;break;case 17:g=f?4:8;break;case 18:g=f?16:32;break;case 91:g=f?64:128;break;case 20:g=512}g&&(a.c=c?a.c|g:a.c&~g);b.metaKey||(d=Dc(a,e,c),e>=m.Wa&&e<=m.kb||b.preventDefault())}return d} -function Dc(a,b,c){var d,e;a:{for(e=0;ee?a.i.push({pb:b,mb:Date.now(),cb:d}):(a.i[e].mb=Date.now(),a.i[e].cb=d);else if(0<=e){if(!a.i[e].cb&&(d=a.i[e].mb)&&50>Date.now()-d)return a.i[e].cb=!0,Gc(a),!0;a.i.splice(e,1)}if(a.L){d=0;switch(b){case "1p":d=V.Ca.uc;break;case "2p":d=V.Ca.yc;break;case "coin":d=V.Ca.Vb;break;case "left":d=V.Ca.wc;break;case "right":d=V.Ca.xc;break;case "fire":d=V.Ca.vc}d&&(a=a.L,b=d,a.g&=~b,c&&(a.g|=b))}return!0} -function Gc(a){for(var b=0,c=-1;bc||c>e)c=e}else{Dc(a,d,!1);b=0;continue}}b++}0<=c&&Kb(a.a,a.u,c)}l.bd=function(){var a=this.l;0<=this.f&&(this.f>3)*a.F,!$a(a.i,a.ia,a.A,3)))return!1;a.A?(a.Oa=a.f.createImageData(b,c),a.Qa=16/a.ka|0,Mc(a,a.A>>1)):Mc(a,(a.G+1)*a.U);a.o=document.createElement("canvas");a.o.width=b;a.o.height=c;a.ra=a.o.getContext("2d");a.H={};a.R=1<=a.Aa?8:16,f=8>(7>4)*c)}return k}Hc.prototype.fa=function(){return!0};Hc.prototype.T=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.ua[b]=c,!0;switch(b){case "fullScreen":return this.v[b]=c,this.b&&this.b.Ja?c.onclick=function(){d.Ja()}:c.parentNode.removeChild(c),!0}return!1}; -Hc.prototype.Ja=function(){var a=!1;if(this.b){if(this.b.Ja){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.B/this.u;b>c&&(a=Math.round(c/b*100)+"%")}this.Na?(this.s.style.width=a,this.s.style.width=a,this.s.style.display="block",this.s.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ja();a=!0}this.P&&this.P.focus()}return a}; -function Kc(a,b){!b&&a.b&&(a.Na?a.s.style.width=a.s.style.height="":a.b.style.width=a.b.style.height="")}function Mc(a,b){a.Pa=b;a.N=!1;if(void 0===a.h||a.h.length!=a.Pa)a.h=Array(a.Pa)}function Oc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.V&&(208<=c&&236>c?e=a.R+0:28<=c&&72>c&&(e=a.R+1));a=a.I[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} -function Mb(a,b){var c=!0;if(!b){a.la&&(120==a.la?a.$a&1?(hc(a.a,2),c=!1):hc(a.a,1):hc(a.a,4));if(c&&a.N&&a.A){for(var d=a.i,e=a.A,f=!0,g=a.ia>>>d.i;0>=1);;){var x=cb(a.i,v++);if(127==(x&127)){var t=cb(a.i,v++),d=t&96,c=(t&15)<<8|cb(a.i,v),c=c+(t&16? -8192:16384);break}if(n>4)*x.O,ba,ta,Sa,ib,Bc=x.S,Nb=x.O;E?(ba=I*t.S,ta=e*t.O,Sa=t.S,ib=t.O):(ba=I*t.Ha,ta=e*t.Ia,Sa=t.Ha,ib=t.Ia);x.S>t.S&&(ba*=2,Sa*=2);x.O>t.O&&(z||(S+=t.O),Nb=t.O);E?E.drawImage(x.canvas,W,S,Bc,Nb,ba,ta,Sa,ib):(ba+=0,ta+=0,t.f.drawImage(x.canvas,W,S,Bc, -Nb,ba,ta,Sa,ib))}h++}g++}e++}}a.N=!0;!b&&a.sa&&1==h&&(a.h[k]=-1,h=0);a.sa=!1;(h||b)&&a.ra&&a.f.drawImage(a.o,0,a.pa,a.m,a.F-a.O,0,0,a.Oc,a.Ob)}else{e=a.ia;f=e+a.A;k=h=g=0;b=a.m;n=0;c=a.F;z=d=0;v=a.ka;I=(1<>>t.i;t=x!=t.f?t.b[W].Kb(x,E):t.b[W++].hb(x,E)|t.b[W&t.m].hb(0,E+1)<<8;if(a.N&&t===a.h[g])h+=a.Qa;else{a.h[g]=t;(E=z)&&(t=t>>8|(t&255)<<8);h>E&I,Oc(a,a.Oa,h++,k,W),E+=v;h>n&&(n=h);k=d&&(d=k+ -1)}e+=2;g++;if(h>=a.m&&(h=0,k++,k>a.F))break}a.N=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ga.aspect);f&&.3<=f&&3.33>=f&&(za("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ua("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Hc(d,e,g,f,c);Qa(d,c)}}); -function Pc(a){this.G=+a.adapter;switch(this.G){case 0:this.H=0;this.N=2;break;default:q("Unrecognized serial adapter #"+this.G);return}this.b=this.f=null;this.I=a.tabSize;this.F=a.charBOL;this.g=0;this.A=!1;r.call(this,"SerialPort",a,Pc);var b=a.binding;if("console"==b)this.f="";else{var c;a=Qc;b&&(void 0===c&&(c="Panel"),(c=Pa(c,this.id))&&(b=c.v[b])&&this.T(null,a,b))}this.h="";this.c=this.Ea=null;this.exports={connect:this.Ib,receiveData:this.nb}}w(Pc); -var Rc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Sc=[!1,0,0,133,142,39,238],Qc="buffer";l=Pc.prototype; -l.T=function(a,b,c,d){var e=this;switch(b){case Qc:return this.v[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ia(b[0]);if(c!=this.Ya)return;b=ia(b[1]);if(this.c=Oa(b)){var d=this.c.exports;if(d){var e=d.connect;e&&e.call(this.c);if(this.Ea=d.receiveData){this.status(this.ya+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.fa=function(a,b){if(!b)if(this.Ib(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ha=function(a){return a?this.save():!0};l.reset=function(){Wc(this)};l.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.m;c[b++]=this.u;c[b++]=this.B;c[b++]=this.ea;c[b++]=this.l;c[b++]=this.s;c[b]=this.o;a.set(0,c);return a.data()};l.restore=function(a){return Wc(this,a[0])};function Wc(a,b){var c=0;b||(b=Sc);a.m=b[c++];a.u=b[c++];a.B=b[c++];a.ea=b[c++];a.l=b[c++];a.s=b[c++];a.o=b[c];return!0} -function Xc(a,b){var c=a.o&b;b&15||(c>>=4);b=Rc[c];c=((a.l&12)>>2)+6;a.l&16&&c++;c+=((a.l&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Tc(a,b){return a.A||a.ea&2?!1:(a.u=b,a.ea|=2,hc(a.a,a.N),!0)}l.nb=function(a){null!=a&&(this.h="number"!=typeof a?a:this.h+String.fromCharCode(a));this.h&&(Tc(this,this.h.charCodeAt(0))&&(this.h=this.h.substr(1)),this.h&&this.a&&Kb(this.a,this.P,Xc(this,15)));return!0};function Fc(a,b){a.ea|=5;b&&a.Ea&&a.Ea.call(a.c,b)} -l.Wc=function(){var a=this.u;this.ea&=-3;return a};l.Vc=function(){return this.ea}; -l.ed=function(a,b){this.B=b;this.ea&=-6;if(19==b)this.A=!0;else if(17==b)this.A=!1;else if(this.Ea&&this.Ea.call(this.c,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);var c=a.length;9==b?(b=this.I||8,c=b-this.g%b,this.I&&(a=" ".slice(0,c))):13==b&&(this.g=c=0,a="\n");this.F&&!this.g&&c&&(a=String.fromCharCode(this.F)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight;this.g+=c}else if(null!= -this.f){if(10==b||1024<=this.f.length)this.da(this.f),this.f="";10!=b&&(this.f+=String.fromCharCode(b))}this.a&&Kb(this.a,this.R,Xc(this,240))};l.dd=function(a,b){this.m?(this.s=b,this.s&64&&(this.m=!1)):(this.l=b,this.m=!0)};l.cd=function(a,b){this.o=b};var Uc={0:Pc.prototype.Wc,1:Pc.prototype.Vc},Vc={0:Pc.prototype.ed,1:Pc.prototype.dd,2:Pc.prototype.cd};Aa(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;b$c){if(bd(d,this.o)){this.h=new G(this,"1.30.4","failsafe");bd(this.h)&&(gd(this,d),a=2,hd(this.h));this.h.set("timestamp",la());id(this.h);var e=this.b&&!this.w;if(1==a||oa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=fd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?bd(d,g):("error"== -f&&"no machine state"!=g?(this.K("Error: "+g),"unable to verify user"==g&&(sa("user",""),this.c=null)):this.da(f+": "+g),hd(d),bd(d)?(c=fd(d),e=!0):c=!1))}e&&ed(this,c?d:null)}else 2==a&&d.clear()}else ed(this);delete this.o;delete this.s}e=Na(this.id);for(f=0;fa[1];a=a[2];this.I=!0;this.j.X=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(jd(this,this.a,b,c,a),this.a.Sa());this.B&&(gd(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.f=0}; -function gd(a,b){if(oa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.4"};d.url=a.H;d.user=c;d.type="bug";d.data=b;ma("http://www.pcjs.org/api/v1/report",d,!0)}} -function kd(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new G(a,"1.30.4"),g=new G(a,"1.30.4","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ha&&(c&&Eb(a.a),d=a.a.ha(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.X=!1,!1===d&&(e=null)));for(var h=Na(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(v){f=null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,v=/( [a-z]+=)(['"])(.*?)\2/g;n=v.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); -a=a.replace(d[0],g);rd(a,b,c)}})}else c(a,null)} -function sd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);k&&(--od||Da(!0));k=!1}var g,h,k=!0;od++;La[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));v.appendChild(z)}c|| -(c="/versions/pc8080/1.30.4/components.xsl");n=function(d,h){h?pd(c,null,null,!1,e,function(d,k){k?(Ma(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--od||Da(!0)):f("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),--od||Da(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?pd(b,a,d,!0,e,n):qd(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(I){f(I.message)}return k}window.embedPC8080=function(a,b,c,d){Da(!1);return sd(a,b,c,d)};window.enableEvents=Da;window.sendEvent=Ea;})(); diff --git a/versions/pc8080/1.30.5/components.xsl b/versions/pc8080/1.30.5/components.xsl deleted file mode 100644 index 7a297b5ca..000000000 --- a/versions/pc8080/1.30.5/components.xsl +++ /dev/null @@ -1,1380 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pc8080 - PC8080 - 1.30.5 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pc8080/1.30.5/document.css b/versions/pc8080/1.30.5/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pc8080/1.30.5/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pc8080/1.30.5/document.xsl b/versions/pc8080/1.30.5/document.xsl deleted file mode 100644 index 47dc6e1a2..000000000 --- a/versions/pc8080/1.30.5/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pc8080/1.30.5/machine.xsl b/versions/pc8080/1.30.5/machine.xsl deleted file mode 100644 index bde0edf7f..000000000 --- a/versions/pc8080/1.30.5/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.5/manifest.xsl b/versions/pc8080/1.30.5/manifest.xsl deleted file mode 100644 index 890778d31..000000000 --- a/versions/pc8080/1.30.5/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pc8080/1.30.5/outline.xsl b/versions/pc8080/1.30.5/outline.xsl deleted file mode 100644 index 1dab638d6..000000000 --- a/versions/pc8080/1.30.5/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pc8080/1.30.5/common.css b/versions/pc8080/1.31.0/common.css similarity index 100% rename from versions/pc8080/1.30.5/common.css rename to versions/pc8080/1.31.0/common.css diff --git a/versions/pc8080/1.30.5/common.xsl b/versions/pc8080/1.31.0/common.xsl similarity index 99% rename from versions/pc8080/1.30.5/common.xsl rename to versions/pc8080/1.31.0/common.xsl index e7c992b5c..16df405e6 100644 --- a/versions/pc8080/1.30.5/common.xsl +++ b/versions/pc8080/1.31.0/common.xsl @@ -23,7 +23,7 @@ - + diff --git a/versions/pdpjs/1.30.6/components.css b/versions/pc8080/1.31.0/components.css similarity index 100% rename from versions/pdpjs/1.30.6/components.css rename to versions/pc8080/1.31.0/components.css diff --git a/versions/pc8080/1.30.4/components.xsl b/versions/pc8080/1.31.0/components.xsl similarity index 99% rename from versions/pc8080/1.30.4/components.xsl rename to versions/pc8080/1.31.0/components.xsl index 5d7297538..734e3062f 100644 --- a/versions/pc8080/1.30.4/components.xsl +++ b/versions/pc8080/1.31.0/components.xsl @@ -14,11 +14,11 @@ pcjs pc8080 PC8080 - 1.30.4 + 1.31.0 www.pcjs.org - + diff --git a/versions/c1pjs/1.21.1/document.css b/versions/pc8080/1.31.0/document.css similarity index 100% rename from versions/c1pjs/1.21.1/document.css rename to versions/pc8080/1.31.0/document.css diff --git a/versions/pc8080/1.21.7/document.xsl b/versions/pc8080/1.31.0/document.xsl similarity index 99% rename from versions/pc8080/1.21.7/document.xsl rename to versions/pc8080/1.31.0/document.xsl index b17419fb6..86057c70b 100644 --- a/versions/pc8080/1.21.7/document.xsl +++ b/versions/pc8080/1.31.0/document.xsl @@ -10,7 +10,7 @@ - + diff --git a/versions/c1pjs/1.21.3/machine.xsl b/versions/pc8080/1.31.0/machine.xsl similarity index 94% rename from versions/c1pjs/1.21.3/machine.xsl rename to versions/pc8080/1.31.0/machine.xsl index cc88e202e..8815e84d2 100644 --- a/versions/c1pjs/1.21.3/machine.xsl +++ b/versions/pc8080/1.31.0/machine.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.24.0/manifest.xsl b/versions/pc8080/1.31.0/manifest.xsl similarity index 98% rename from versions/c1pjs/1.24.0/manifest.xsl rename to versions/pc8080/1.31.0/manifest.xsl index 6e5aa680b..7ff931c6b 100644 --- a/versions/c1pjs/1.24.0/manifest.xsl +++ b/versions/pc8080/1.31.0/manifest.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.21.1/outline.xsl b/versions/pc8080/1.31.0/outline.xsl similarity index 90% rename from versions/c1pjs/1.21.1/outline.xsl rename to versions/pc8080/1.31.0/outline.xsl index 942ad5d3d..379e664a3 100644 --- a/versions/c1pjs/1.21.1/outline.xsl +++ b/versions/pc8080/1.31.0/outline.xsl @@ -8,9 +8,9 @@ - - - + + + diff --git a/versions/pc8080/1.30.5/pc8080-dbg.js b/versions/pc8080/1.31.0/pc8080-dbg.js similarity index 89% rename from versions/pc8080/1.30.5/pc8080-dbg.js rename to versions/pc8080/1.31.0/pc8080-dbg.js index 313032329..b13025bec 100644 --- a/versions/pc8080/1.30.5/pc8080-dbg.js +++ b/versions/pc8080/1.31.0/pc8080-dbg.js @@ -32,66 +32,66 @@ var l,n={qe:0,te:1,ue:2,ve:3,we:4,xe:5,ye:6,ze:7,Ae:8,Be:9,Ce:10,De:11,Ee:12,Fe:13,Ge:14,He:15,Ie:16,Je:17,Ke:18,Le:19,Me:20,Ne:21,Oe:22,Pe:23,Qe:24,Re:25,Se:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Eb:65,Mc:66,Oc:67,bc:68,E:69,Rc:70,Sc:71,Tc:72,Uc:73,ad:74,bd:75,dc:76,jd:77,kd:78,md:79,nd:80,Q:81,td:82,wd:83,Cd:84,Dd:85,Ed:86,Fd:87, Hd:88,Id:89,Pb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Jd:97,Bf:98,Cf:99,d:100,e:101,Df:102,Ef:103,Ff:104,Gf:105,Hf:106,k:107,If:108,Jf:109,n:110,Kf:111,p:112,q:113,r:114,Lf:115,t:116,Nf:117,Of:118,Pf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Te:127}; function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){return t(a,2,!0)} -function v(a){return t(a,4,!0)}function da(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; +d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ba(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} +function ca(a){return t(a,2,!0)}function v(a){return t(a,4,!0)}function da(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} +function ma(a,b){return(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; function pa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ab=g.load;d.Sa=g.exec;if(e=g.bytes)d.Ba=e;else if(e=g.words)for(d.Ba=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.Ba=Array(4*e.length),f=c=0;cb.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.$a=g.load;d.Sa=g.exec;if(e=g.bytes)d.Ba=e;else if(e=g.words)for(d.Ba=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.Ba=Array(4*e.length),f=c=0;c>8&255,d.Ba[f++]=e[c]>>16&255,d.Ba[f++]=e[c]>>24&255;else d.Ba=g;d.Fa=g.symbols;d.Ba.length?1==d.Ba.length&&(w(d.Ba[0]),d=null):(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.gb=this.id:(this.hb=this.id.substr(0,b),this.gb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,wb:!1,Qb:!1,xa:!1,error:!1};this.Ib=null;this.C.error=!1;this.M={};this.H=null;this.sa=d||0;Ua.push(this)}var Va=void 0,Wa={}; +function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jc=b.comment;this.Qd=b;b=this.id.indexOf(".");0>b?this.fb=this.id:(this.gb=this.id.substr(0,b),this.fb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,wb:!1,Qb:!1,xa:!1,error:!1};this.Ib=null;this.C.error=!1;this.M={};this.H=null;this.sa=d||0;Ua.push(this)}var Va=void 0,Wa={}; if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,Za=/([^&=]+)=?([^&]*)/g;Xa=Za.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function ab(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 A(a,b){b||(b=x);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var bb=window.PCjs.Machines||(window.PCjs.Machines={}),Ua=window.PCjs.Components||(window.PCjs.Components=[])}else bb={},Ua=[];function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Qa(a,b,c){b||w((c?c+": ":"")+a)} function db(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.ha&&(this.ha=10);15>2;this.w=this.Ja-1;this.I=this.K/this.Ja|0;this.D=this.I-1;this.A=[];this.j=[];this.F=this.B=!1;this.N=[];this.O=[];a=new G;xb(a,this.H);this.W=Array(this.I);for(b=0;b>>a.ha;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.G)return h.Cb+=h.G-e,h.G=e,!0;if(e>=h.G+h.Cb){m=h.size-(e-k);m>f&&(m=f);h.Cb=e-h.G+m;e=k+a.Ja;f-=m;g++;continue}}return zb(1,e,f)}e=new G(e,m,a.Ja,d);xb(e,a.H,h);a.W[g++]=e;e=k+a.Ja;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+v(b)),!0):zb(2,b,c)} -l.Z=function(a){return this.W[(a&this.u)>>>this.ha].nb(a&this.w,a)};function Bb(a,b){return a.W[(b&a.u)>>>a.ha].Ab(b&a.w,b)}l.bb=function(a){var b=a&this.w,c=(a&this.u)>>>this.ha;return b!=this.w?this.W[c].Fc(b,a):this.W[c++].nb(b,a)|this.W[c&this.D].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.w,d=(b&a.u)>>>a.ha;return c!=a.w?a.W[d].Vb(c,b):a.W[d++].Ab(c,b)|a.W[d&a.D].Ab(0,b+1)<<8}l.ua=function(a,b){this.W[(a&this.u)>>>this.ha].pb(a&this.w,b&255,a)}; +l.Z=function(a){return this.W[(a&this.u)>>>this.ha].nb(a&this.w,a)};function Bb(a,b){return a.W[(b&a.u)>>>a.ha].Ab(b&a.w,b)}l.ab=function(a){var b=a&this.w,c=(a&this.u)>>>this.ha;return b!=this.w?this.W[c].Fc(b,a):this.W[c++].nb(b,a)|this.W[c&this.D].nb(0,a+1)<<8};function Cb(a,b){var c=b&a.w,d=(b&a.u)>>>a.ha;return c!=a.w?a.W[d].Vb(c,b):a.W[d++].Ab(c,b)|a.W[d&a.D].Ab(0,b+1)<<8}l.ua=function(a,b){this.W[(a&this.u)>>>this.ha].pb(a&this.w,b&255,a)}; function Db(a,b,c){a.W[(b&a.u)>>>a.ha].Db(b&a.w,c&255,b)}l.Mb=function(a,b){var c=a&this.w,d=(a&this.u)>>>this.ha;c!=this.w?this.W[d].Hc(c,b&65535,a):(this.W[d++].pb(c,b&255,a),this.W[d&this.D].pb(0,b>>8&255,a+1))};function Eb(a){for(var b=0,c=[],d=0;d>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.H&&a.B!=g[1]&&Wb(a.H,b,k)}else a.H&&(hb(a.H,a,b,k,d),a.B&&Wb(a.H,b,k));f+=h<<3;b+=h;e-=h}} function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(ob){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb; function G(a,b,c,d){this.id=$b+=2;this.b=null;this.G=a;this.Cb=b;this.size=c||0;this.type=d||ac;this.M=d==bc;xb(this);this.Oa=this.Cc=!1;if(c)if(ob)this.F=new ArrayBuffer(c),this.B=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.I=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},X:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea: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},hb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<> +G.prototype={constructor:G,parent:null,save:function(){var a,b;if(ob)for(a=Array(this.size>>2),b=0;b>8,c)},X:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea: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},gb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<> 2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Oa=!0},N:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,1,c.N)&&c.qa(!0)}return this.Ab(a,b)},ba:function(a,b){if(this.H&&null!=this.G){var c=this.H;jc(c,this.G+a,2,c.N)&&c.qa(!0)}return this.Vb(a,b)},ia:function(a,b,c){if(this.H&&null!=this.G){var d=this.H;jc(d,this.G+a,1,d.B)&&d.qa(!0)}this.M?this.u(a,b,c):this.Db(a,b,c)},la:function(a,b,c){if(this.H&& -null!=this.G){var d=this.H;jc(d,this.G+a,2,d.B)&&d.qa(!0)}this.M?this.u(a,b,c):this.Zb(a,b,c)},L:function(a){return this.w[a]},O:function(a){return this.w[a]},aa:function(a){return this.B.getUint16(a,!0)},da:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.I[a>>1]},ga:function(a,b){this.w[a]=b;this.Oa=!0},gb:function(a,b){this.w[a]=b;this.Oa=!0},ka:function(a,b){this.B.setUint16(a,b,!0);this.Oa=!0},ma:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.I[a>>1]=b;this.Oa=!0}}; +null!=this.G){var d=this.H;jc(d,this.G+a,2,d.B)&&d.qa(!0)}this.M?this.u(a,b,c):this.Zb(a,b,c)},L:function(a){return this.w[a]},O:function(a){return this.w[a]},aa:function(a){return this.B.getUint16(a,!0)},da:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.I[a>>1]},ga:function(a,b){this.w[a]=b;this.Oa=!0},fb:function(a,b){this.w[a]=b;this.Oa=!0},ka:function(a,b){this.B.setUint16(a,b,!0);this.Oa=!0},ma:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.I[a>>1]=b;this.Oa=!0}}; function xb(a,b,c){a.H=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.pb=a.M?a.u:a.Db,a.Hc=a.M?a.D:a.Zb):--a.A||(a.nb=a.Ab,a.Fc=a.Vb)}function gc(a,b,c){c&&a.j||(a.pb=!a.M&&b[1]||a.u,a.Hc=!a.M&&b[3]||a.D);if(c||void 0===c)a.Db=b[1]||a.u,a.Zb=b[3]||a.D}function ic(a,b,c){c&&a.A||(a.nb=b[0]||a.J,a.Fc=b[2]||a.K);if(c||void 0===c)a.Ab=b[0]||a.J,a.Vb=b[2]||a.K}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)} -var lc=[],fc=[G.prototype.X,G.prototype.hb,G.prototype.ea,G.prototype.va],hc=[G.prototype.N,G.prototype.ia,G.prototype.ba,G.prototype.la];if(ob)var ec=[G.prototype.L,G.prototype.ga,G.prototype.aa,G.prototype.ka],dc=[G.prototype.O,G.prototype.gb,G.prototype.da,G.prototype.ma]; -function mc(a,b){x.call(this,"CPU",a,mc,1);var c=a.multiplier||1;this.X=a.cycles||b;this.Ra=c;this.ga=Math.round(this.X/1E4)/100;this.cb=this.ga*this.Ra;this.C.za=!1;this.C.Yb=!1;this.C.vb=a.autoStart;this.C.Ac=!1;this.C.jb=!1;this.xb=this.N=0;this.yb=a.csStart;this.lb=a.csInterval;this.mb=a.csStop;this.u=[];this.Ha=this.eb.bind(this);F(this)}A(mc);var nc=["power","reset"];l=mc.prototype; +var lc=[],fc=[G.prototype.X,G.prototype.gb,G.prototype.ea,G.prototype.va],hc=[G.prototype.N,G.prototype.ia,G.prototype.ba,G.prototype.la];if(ob)var ec=[G.prototype.L,G.prototype.ga,G.prototype.aa,G.prototype.ka],dc=[G.prototype.O,G.prototype.fb,G.prototype.da,G.prototype.ma]; +function mc(a,b){x.call(this,"CPU",a,mc,1);var c=a.multiplier||1;this.X=a.cycles||b;this.Ra=c;this.ga=Math.round(this.X/1E4)/100;this.bb=this.ga*this.Ra;this.C.za=!1;this.C.Yb=!1;this.C.vb=a.autoStart;this.C.Ac=!1;this.C.jb=!1;this.xb=this.N=0;this.yb=a.csStart;this.lb=a.csInterval;this.mb=a.csStop;this.u=[];this.Ha=this.cb.bind(this);F(this)}A(mc);var nc=["power","reset"];l=mc.prototype; l.Qa=function(a,b,c,d){this.A=a;this.w=b;this.H=d;for(b=0;b=a.N&&(a.N+=a.lb,c=!0);0<=a.mb&&a.mb<=Gc(a)&&(a.lb=a.mb=-1,qc(a),a.qa(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+t(a.xb))}} -l.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.C.xa)a=!0;else{var b=null,c,h=db(a.id);for(c=0;ca.I/a.cb?b=1:d=!0;a.Ra=b;b=a.ga*a.Ra;if(a.cb!=b){a.cb=b;b=a.cb.toFixed(2)+"Mhz";var e=a.M.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.Bb()}Ic(a,a.D);a.D=0;a.B=qa();a.J=0;Jc(a);return d}function Kc(a,b){var c=a.u.length;a.u.push([-1,b]);return c}function Lc(a,b,c){0<=b&&ba.u[b][0]&&(c*=a.X*a.Ra/1E3,a.u[b][0]=c+Mc(a))}function Mc(a,b){var c=a.K-=a.b;a.b=0;b&&(a.K=0);return c} -l.eb=function(a){if(kb(this,!0)){if(!this.C.za){Hc(this);this.A&&this.A.start(this.B,Gc(this));this.C.za=!0;this.C.Yb=!0;this.F&&this.F.start();var b=this.M.run;b&&(b.textContent="Halt");this.A&&(this.A.Aa(!0),a&&this.A.Bb(!0))}this.ia>=this.X&&Jc(this,!0);this.aa=0;this.da=qa();this.J&&(a=this.da-this.J,a>this.va&&(this.B+=a,this.B>this.da&&(this.B=this.da)));try{do{for(var c,d=this.C.jb?1:this.ea,e=this.u.length-1;0<=e;e--){var f=this.u[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.ob(c);c=Mc(this,!0);this.aa+= +l.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.C.xa)a=!0;else{var b=null,c,h=db(a.id);for(c=0;ca.I/a.bb?b=1:d=!0;a.Ra=b;b=a.ga*a.Ra;if(a.bb!=b){a.bb=b;b=a.bb.toFixed(2)+"Mhz";var e=a.M.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.Bb()}Ic(a,a.D);a.D=0;a.B=qa();a.J=0;Jc(a);return d}function Kc(a,b){var c=a.u.length;a.u.push([-1,b]);return c}function Lc(a,b,c){0<=b&&ba.u[b][0]&&(c*=a.X*a.Ra/1E3,a.u[b][0]=c+Mc(a))}function Mc(a,b){var c=a.K-=a.b;a.b=0;b&&(a.K=0);return c} +l.cb=function(a){if(kb(this,!0)){if(!this.C.za){Hc(this);this.A&&this.A.start(this.B,Gc(this));this.C.za=!0;this.C.Yb=!0;this.F&&this.F.start();var b=this.M.run;b&&(b.textContent="Halt");this.A&&(this.A.Aa(!0),a&&this.A.Bb(!0))}this.ia>=this.X&&Jc(this,!0);this.aa=0;this.da=qa();this.J&&(a=this.da-this.J,a>this.va&&(this.B+=a,this.B>this.da&&(this.B=this.da)));try{do{for(var c,d=this.C.jb?1:this.ea,e=this.u.length-1;0<=e;e--){var f=this.u[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.ob(c);c=Mc(this,!0);this.aa+= c;this.D+=c;Fc(this,c);a=c;for(var g=this.u.length-1;0<=g;g--){var h=this.u[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.O-=c;if(0>=this.O){this.O+=this.ea;15<=++this.Ca&&(this.A&&this.A.Aa(),this.Ca=0);break}}while(this.C.za)}catch(k){this.qa();Ec(this);this.A&&this.A.stop(qa(),Gc(this));kb(this,!1);nb(this,k.stack||k.message);return}c=setTimeout;d=this.Ha;this.J=qa();e=this.va;this.aa&&(e=Math.round(e*this.aa/this.ea));e-=this.J-this.da;if(f=this.J-this.B)this.I=Math.round(this.D/(10*f))/ -100,864E5<=f&&(this.L=0,Hc(this));if(0>e||this.Ie&&(this.B-=e),e=0;this.ia+=this.aa;this.J+=e;c(d,e)}else Ec(this),this.A&&this.A.stop(qa(),Gc(this))};l.ob=function(){return 0};l.qa=function(a){lb(this,!0);Mc(this);Ic(this,this.D);this.D=0;if(this.C.za){this.C.za=!1;this.F&&this.F.stop();var b=this.M.run;b&&(b.textContent="Run")}this.C.complete=a};function Ec(a,b){if(a.A){for(var c=a.A,d=0;de||this.Ie&&(this.B-=e),e=0;this.ia+=this.aa;this.J+=e;c(d,e)}else Ec(this),this.A&&this.A.stop(qa(),Gc(this))};l.ob=function(){return 0};l.qa=function(a){lb(this,!0);Mc(this);Ic(this,this.D);this.D=0;if(this.C.za){this.C.za=!1;this.F&&this.F.stop();var b=this.M.run;b&&(b.textContent="Run")}this.C.complete=a};function Ec(a,b){if(a.A){for(var c=a.A,d=0;d>8&255;a.S=b&255}function Yc(a){return a.T<<8|a.U}function Zc(a,b){a.T=b>>8&255;a.U=b&255}function J(a){return a.V<<8|a.Y} -function $c(a,b){a.V=b>>8&255;a.Y=b&255}function I(a,b){a.P=b&65535}function ad(a){return a.ca&256?1:0}function bd(a,b){a.ca=a.ca&255|b}function cd(a){return pb[a.fa&255]?4:0}function dd(a){return(a.fa^a.ya)&16?16:0}function ed(a){return a.ca&255?0:64}function fd(a){return a.fa&128?128:0}function Uc(a){return a.ta&-214|fd(a)|ed(a)|dd(a)|cd(a)|ad(a)}function Sc(a,b){a.ca=a.fa=a.ya=0;b&1&&(a.ca|=256);b&4||(a.fa|=1);b&16&&(a.ya|=16);b&64||(a.ca|=255);b&128&&(a.fa^=192);a.ta=a.ta&-726|b&512|2} +function $c(a,b){a.V=b>>8&255;a.Y=b&255}function I(a,b){a.P=b&65535}function ad(a){return a.ca&256?1:0}function bd(a,b){a.ca=a.ca&255|b}function cd(a){return rb[a.fa&255]?4:0}function dd(a){return(a.fa^a.ya)&16?16:0}function ed(a){return a.ca&255?0:64}function fd(a){return a.fa&128?128:0}function Uc(a){return a.ta&-214|fd(a)|ed(a)|dd(a)|cd(a)|ad(a)}function Sc(a,b){a.ca=a.fa=a.ya=0;b&1&&(a.ca|=256);b&4||(a.fa|=1);b&16&&(a.ya|=16);b&64||(a.ca|=255);b&128&&(a.fa^=192);a.ta=a.ta&-726|b&512|2} function gd(a,b){a.ya=a.i^b;return a.fa=(a.ca=a.i+b)&255}function hd(a,b){a.ya=a.i^b;return a.fa=(a.ca=a.i+b+(a.ca&256?1:0))&255}function id(a,b){a.ca=a.fa=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.ca}function jd(a,b){a.ya=b^255;b=a.fa=b+255&255;a.ca=a.ca&-256|b;return b}function kd(a,b){a.ya=b;b=a.fa=b+1&255;a.ca=a.ca&-256|b;return b}function ld(a,b){return a.fa=a.ca=a.ya=a.i|b}function K(a,b){b^=255;a.ya=a.i^b;return a.fa=(a.ca=a.i+b+1^256)&255} -function Gd(a,b){b^=255;a.ya=a.i^b;return a.fa=(a.ca=a.i+b+(a.ca&256?0:1)^256)&255}function Hd(a,b){return a.fa=a.ca=a.ya=a.i^b}l.Z=function(a){return this.w.Z(a)};l.ua=function(a,b){this.w.ua(a,b)};function L(a){var b=a.Z(a.P);I(a,a.P+1);return b}function M(a){var b=a.w.bb(a.P);I(a,a.P+2);return b}function N(a){var b=a.w.bb(a.oa);a.oa=a.oa+2&65535;return b}function P(a,b){a.oa=a.oa-2&65535;a.w.Mb(a.oa,b)} +function md(a,b){b^=255;a.ya=a.i^b;return a.fa=(a.ca=a.i+b+(a.ca&256?0:1)^256)&255}function Hd(a,b){return a.fa=a.ca=a.ya=a.i^b}l.Z=function(a){return this.w.Z(a)};l.ua=function(a,b){this.w.ua(a,b)};function L(a){var b=a.Z(a.P);I(a,a.P+1);return b}function M(a){var b=a.w.ab(a.P);I(a,a.P+2);return b}function N(a){var b=a.w.ab(a.oa);a.oa=a.oa+2&65535;return b}function P(a,b){a.oa=a.oa-2&65535;a.w.Mb(a.oa,b)} function Id(a){if(a.b&&a.j&255&&a.ta&512){for(var b=0;8>b&&!(a.j&1<b?255:1<>8;bd(this,a&256);this.b-=4},Md,function(){var a;$c(this,a=J(this)+Wc(this));bd(this,a>>8&256);this.b-=10},function(){this.i=this.Z(Wc(this));this.b-=7},function(){Xc(this,Wc(this)-1);this.b-= 5},function(){this.S=kd(this,this.S);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;bd(this,a);this.b-=4},Md,function(){Zc(this,M(this));this.b-=10},function(){this.ua(Yc(this),this.i);this.b-=7},function(){Zc(this,Yc(this)+1);this.b-=5},function(){this.T=kd(this,this.T);this.b-=5},function(){this.T=jd(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255| ad(this);bd(this,a&256);this.b-=4},Md,function(){var a;$c(this,a=J(this)+Yc(this));bd(this,a>>8&256);this.b-=10},function(){this.i=this.Z(Yc(this));this.b-=7},function(){Zc(this,Yc(this)-1);this.b-=5},function(){this.U=kd(this,this.U);this.b-=5},function(){this.U=jd(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.i<<8;this.i=(ad(this)<<8|this.i)>>1;bd(this,a&256);this.b-=4},Md,function(){$c(this,M(this));this.b-=10},function(){var a=M(this);this.w.Mb(a,J(this)); -this.b-=16},function(){$c(this,J(this)+1);this.b-=5},function(){this.V=kd(this,this.V);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=0,b=ad(this);if(dd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=gd(this,a);bd(this,b?256:0);this.b-=4},Md,function(){var a;$c(this,a=J(this)+J(this));bd(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.bb(a);$c(this,a);this.b-=16},function(){$c(this,J(this)-1);this.b-=5},function(){this.Y= +this.b-=16},function(){$c(this,J(this)+1);this.b-=5},function(){this.V=kd(this,this.V);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=0,b=ad(this);if(dd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=gd(this,a);bd(this,b?256:0);this.b-=4},Md,function(){var a;$c(this,a=J(this)+J(this));bd(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.ab(a);$c(this,a);this.b-=16},function(){$c(this,J(this)-1);this.b-=5},function(){this.Y= kd(this,this.Y);this.b-=5},function(){this.Y=jd(this,this.Y);this.b-=5},function(){this.Y=L(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Md,function(){this.oa=M(this)&65535;this.b-=10},function(){this.ua(M(this),this.i);this.b-=13},function(){this.oa=this.oa+1&65535;this.b-=5},function(){var a=J(this);this.ua(a,kd(this,this.Z(a)));this.b-=10},function(){var a=J(this);this.ua(a,jd(this,this.Z(a)));this.b-=10},function(){this.ua(J(this),L(this));this.b-=10},function(){this.ca|=256;this.b-= 4},Md,function(){var a;$c(this,a=J(this)+this.oa);bd(this,a>>8&256);this.b-=10},function(){this.i=this.Z(M(this));this.b-=13},function(){this.oa=this.oa-1&65535;this.b-=5},function(){this.i=kd(this,this.i);this.b-=5},function(){this.i=jd(this,this.i);this.b-=5},function(){this.i=L(this);this.b-=7},function(){bd(this,ad(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.T;this.b-=5},function(){this.R=this.U;this.b-=5},function(){this.R=this.V;this.b-= 5},function(){this.R=this.Y;this.b-=5},function(){this.R=this.Z(J(this));this.b-=7},function(){this.R=this.i;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.Y;this.b-=5},function(){this.S=this.Z(J(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.R;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T= @@ -108,21 +108,21 @@ this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;t this.b-=5},function(){this.ua(J(this),this.R);this.b-=7},function(){this.ua(J(this),this.S);this.b-=7},function(){this.ua(J(this),this.T);this.b-=7},function(){this.ua(J(this),this.U);this.b-=7},function(){this.ua(J(this),this.V);this.b-=7},function(){this.ua(J(this),this.Y);this.b-=7},function(){var a=this.P-1;if(this.ba.length)for(var b=0;b>8;this.b-=10},function(){var a=M(this);fd(this)||I(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=M(this);fd(this)||(P(this,this.P),I(this,a),this.b-=6);this.b-=11},function(){P(this,Uc(this)&255|this.i<<8);this.b-=11},function(){this.i=ld(this,L(this));this.b-=7},function(){P(this,this.P);I(this,48);this.b-=11},function(){fd(this)&&(I(this, N(this)),this.b-=6);this.b-=5},function(){this.oa=J(this)&65535;this.b-=5},function(){var a=M(this);fd(this)&&I(this,a);this.b-=10},function(){this.ta|=512;this.b-=4;Id(this)},function(){var a=M(this);fd(this)&&(P(this,this.P),I(this,a),this.b-=6);this.b-=11},Pd,function(){K(this,L(this));this.b-=7},function(){P(this,this.P);I(this,56);this.b-=11}]; function R(a){x.call(this,"ChipSet",a,R,32768);var b=a.model;b&&!Qd[b]&&Qa("Unrecognized ChipSet model: "+b);this.u=Qd[b]||{};a.sound&&(this.ga=null,window&&(this.ga=window.AudioContext||window.webkitAudioContext),this.ga&&new this.ga);F(this)}A(R); -var S={Da:1978.1,Ad:{Ea:0,Ve:1,Ze:16,ff:32,qf:64,pf:128,qb:14},Za:{Ea:1,Pc:1,sd:2,od:4,pd:16,qd:32,rd:64,qb:8},Bd:{Ea:2,Ue:3,yf:4,We:8,kf:16,lf:32,mf:64,Xe:128,qb:0},uf:{Ea:3},sf:{Ea:2,gf:7},wf:{Ea:3,zf:1,vf:2,nf:4,df:8,Ye:16,pe:32},tf:{Ea:4},xf:{Ea:5,$e:1,af:2,bf:4,cf:8,Af:16}},T={Da:100,La:{Ea:66,rc:1,gc:2,ld:4,jf:8,hf:16,ic:32,hc:64,cc:128},Nc:{Ea:66,INIT:0},Ua:{Ea:194,se:0,ac:16,ud:32,nc:48,Xc:0,Yc:32},Fb:{Ea:162,rf:0,$c:0,Wc:0,Zc:0,Vc:0},Ma:{ef:{Ea:98},Ta:{Kc:0,Jc:1,xd:2,Gd:4,Qc:5,vd:6,yd:7}, +var S={Da:1978.1,Ad:{Ea:0,Ve:1,Ze:16,ff:32,qf:64,pf:128,qb:14},Ya:{Ea:1,Pc:1,sd:2,od:4,pd:16,qd:32,rd:64,qb:8},Bd:{Ea:2,Ue:3,yf:4,We:8,kf:16,lf:32,mf:64,Xe:128,qb:0},uf:{Ea:3},sf:{Ea:2,gf:7},wf:{Ea:3,zf:1,vf:2,nf:4,df:8,Ye:16,pe:32},tf:{Ea:4},xf:{Ea:5,$e:1,af:2,bf:4,cf:8,Af:16}},T={Da:100,La:{Ea:66,rc:1,gc:2,ld:4,jf:8,hf:16,ic:32,hc:64,cc:128},Nc:{Ea:66,INIT:0},Ua:{Ea:194,se:0,ac:16,ud:32,nc:48,Xc:0,Yc:32},Fb:{Ea:162,rf:0,$c:0,Wc:0,Zc:0,Vc:0},Ma:{ef:{Ea:98},Ta:{Kc:0,Jc:1,xd:2,Gd:4,Qc:5,vd:6,yd:7}, Gb:16383}},Qd={SI1978:S,VT100:T};R.prototype.pa=function(){return!1};R.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.H=d;this.A=a;this.I=ub(a,"Keyboard");this.J=ub(a,"SerialPort");this.video=ub(a,"Video");Gb(b,this,this.u.Kb);Ub(b,this,this.u.Lb);if(d){var e=this;Rd(d,16384,function(){for(var a="",b=0;ba;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} l.Yd=function(a,b){var c=this.K,c=c&~T.La.hc;if((Gc(this.b)&64)<<1&&(c|=T.La.hc,c!=this.K)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case T.Ma.Ta.yd:break;case T.Ma.Ta.Jc:this.X=this.X<<1|d;break;case T.Ma.Ta.Qc:d=Sd(this);this.F[d]=T.Ma.Gb;ib(this,"doNVRCommand(): erase data at addr "+v(d));break;case T.Ma.Ta.Kc:this.j=this.j<<1|d;break;case T.Ma.Ta.Gd:d=Sd(this);e=this.j&T.Ma.Gb;this.F[d]=e;ib(this,"doNVRCommand(): write data "+v(e)+" to addr "+v(d));break;case T.Ma.Ta.vd:d=Sd(this);e=this.F[d]; null==e&&(e=T.Ma.Gb);this.j=e;ib(this,"doNVRCommand(): read data "+v(e)+" from addr "+v(d));break;case T.Ma.Ta.xd:this.j<<=1;this.da=this.j&T.Ma.Gb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~T.La.ic;this.da&&(c|=T.La.ic);c&=~T.La.cc;if(d=this.I){d=this.I;if(e=d.D)e=d.b,e=Gc(d.b)>=d.L+e.X*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=T.La.cc);c&=~T.La.rc;this.J&&this.J.wa&1&&(c|=T.La.rc);this.K=c;E(this,a,null,b,"FLAGS",c);return c}; -l.je=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ia=b};l.me=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.le=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.B=this.B&-4|a;break;case 1:this.B=this.B&-13|a<<2;this.video&&(b=this.video,a=this.B,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ka=a}}; +l.je=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ia=b};l.me=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.le=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.B=this.B&-4|a;break;case 1:this.B=this.B&-13|a<<2;this.video&&(b=this.video,a=this.B,ib(b,"updateScrollOffset("+a+")"),b.hb!==a&&((b.hb=a)?Nc(b,!0):b.sb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ka=a}}; l.ke=function(a,b,c){E(this,a,b,c,"DC011");b&T.Ua.ud?(b&=T.Ua.nc,this.N!=b&&(this.N=b,this.video&&(a=this.video,b=this.N==T.Ua.nc?50:60,ib(a,"updateRate("+b+")"),a.vc=b))):(b&=T.Ua.ac,this.L!=b&&(this.L=b,this.video&&(a=this.L==T.Ua.ac?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80>>0,g],q=pa(p,k,a.zc);0>q&&p.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.D.push({Mf:b,G:c,$d:d,Fa:e,yc:f})}delete this.Fa}return!0};Vd.prototype.Ka=function(){return!0}; -function Wd(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Fa=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.ja("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, +function Wd(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.gb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Fa=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.ja("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, " ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>f.ha;0>>= f.ha;0=n.Eb&&a<=n.Pb?d.u&515||(d.u|=512,ge(d,20,!0),he(d)):a>=n.Jd&&a<=n.z&&d.u&512&&(d.u&=-513,ge(d,20,!1),he(d));return!0},c.onpaste=function(a){a:{if(d.J&&d.J.fb&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(), -a=a.clipboardData||window.clipboardData)){ie(d.J,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.w.Ya&&void 0!==this.w.Ya[b])return this.M[e]=c,a=function(a,b){return function(c){c.preventDefault();ge(a,b,!0)}}(this,this.w.Ya[b]),b=function(a,b){return function(){ge(a,b,!1)}}(this,this.w.Ya[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1}; -be.prototype.Qa=function(a,b,c,d){this.A=a;this.b=c;this.H=d;var e=this;this.O=Kc(this.b,function(){je(e)});this.F=ub(a,"ChipSet");this.J=ub(a,"SerialPort");Gb(b,this,this.w.Kb);Ub(b,this,this.w.Lb)};be.prototype.Ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};be.prototype.Ka=function(a){return a?this.save():!0};W.INIT=[[W.Na.INIT,W.Lc.INIT,!1,0,-1]];l=be.prototype;l.reset=function(){this.j=[];this.u=0;this.w.INIT&&!this.restore(this.w.INIT)&&this.ja("reset error")}; -l.save=function(){var a=new Vc(this);switch(this.w.Da){case W.Da:a.set(0,[this.K,this.I,this.D,this.L,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Da){case ee.Da:return!0;case W.Da:return this.K=b[0],he(this,this.K&W.Na.ec),this.I=b[1],this.D=b[2],this.L=b[3],this.B=b[4],!0}return!1}; -function he(a,b){var c;null!=b?a.N=b:b=a.N;for(var d in a.w.tb)if(c="led-"+d,c=a.M[c]){var e=a.w.tb[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+t(16711680,6):"#000000"}if(c=a.M["led-caps-lock"])c.style.backgroundColor=a.u&512?"#"+t(65280,6):"#000000"} -function fe(a,b,c){var d=!0,e=b.keyCode,f=2==b.location,g=0;switch(e){case 16:g=f?1:2;break;case 17:g=f?4:8;break;case 18:g=f?16:32;break;case 91:g=f?64:128;break;case 20:g=512}g&&(a.u=c?a.u|g:a.u&~g);var h;a:if(e=a.w.$b[e]||e,a.w.Nb[e])h=e;else{for(h in a.w.Ya)if(a.w.Ya[h]===e)break a;h=null}h&&!b.metaKey&&(d=!1,a.u&4144&&(13==h?(h=118,d=!0):8==h&&(h=46,d=!0),d&&(a.u=c?a.u|4096:a.u&-4097)),d=ge(a,h,c),h>=n.Eb&&h<=n.Pb||b.preventDefault());return d} -function ge(a,b,c){var d,e;a:{for(e=0;ee?a.j.push({Xb:b,Ub:Date.now(),Hb:d}):(a.j[e].Ub=Date.now(),a.j[e].Hb=d);else if(0<=e){if(!a.j[e].Hb&&(d=a.j[e].Ub)&&50>Date.now()-d)return a.j[e].Hb=!0,je(a),!0;a.j.splice(e,1)}if(a.F){d=0;switch(b){case "1p":d=S.Za.od;break;case "2p":d=S.Za.sd;break;case "coin":d=S.Za.Pc;break;case "left":d=S.Za.qd;break;case "right":d=S.Za.rd;break;case "fire":d=S.Za.pd}d&&(a=a.F,b=d,a.D&=~b,c&&(a.D|=b))}return!0} +be.prototype.pa=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.M[e]){if("led"==a&&this.w.tb[b])return this.M[e]=c,!0;switch(b){case "kbd":case "screen":return c.onkeydown=function(a){return fe(d,a,!0)},c.onkeyup=function(a){return fe(d,a,!1)},c.onkeypress=function(a){a=a.keyCode;a>=n.Eb&&a<=n.Pb?d.u&515||(d.u|=512,ge(d,20,!0),he(d)):a>=n.Jd&&a<=n.z&&d.u&512&&(d.u&=-513,ge(d,20,!1),he(d));return!0},c.onpaste=function(a){a:{if(d.J&&d.J.eb&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&& +a.preventDefault(),a=a.clipboardData||window.clipboardData)){ie(d.J,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.w.ib&&void 0!==this.w.ib[b])return this.M[e]=c,c.onclick=function(a,b){return function(c){c.preventDefault&&c.preventDefault();ge(a,b,!0,!0)}}(this,this.w.ib[b]),!0}}return!1};be.prototype.Qa=function(a,b,c,d){this.A=a;this.b=c;this.H=d;var e=this;this.O=Kc(this.b,function(){je(e)});this.F=ub(a,"ChipSet");this.J=ub(a,"SerialPort");Gb(b,this,this.w.Kb);Ub(b,this,this.w.Lb)}; +be.prototype.Ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};be.prototype.Ka=function(a){return a?this.save():!0};W.INIT=[[W.Na.INIT,W.Lc.INIT,!1,0,-1]];l=be.prototype;l.reset=function(){this.j=[];this.u=0;this.w.INIT&&!this.restore(this.w.INIT)&&this.ja("reset error")};l.save=function(){var a=new Vc(this);switch(this.w.Da){case W.Da:a.set(0,[this.K,this.I,this.D,this.L,-1])}return a.data()}; +l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Da){case ee.Da:return!0;case W.Da:return this.K=b[0],he(this,this.K&W.Na.ec),this.I=b[1],this.D=b[2],this.L=b[3],this.B=b[4],!0}return!1};function he(a,b){var c;null!=b?a.N=b:b=a.N;for(var d in a.w.tb)if(c="led-"+d,c=a.M[c]){var e=a.w.tb[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+t(16711680,6):"#000000"}if(c=a.M["led-caps-lock"])c.style.backgroundColor=a.u&512?"#"+t(65280,6):"#000000"} +function fe(a,b,c){var d=!0,e=b.keyCode,f=2==b.location,g=0;switch(e){case 16:g=f?1:2;break;case 17:g=f?4:8;break;case 18:g=f?16:32;break;case 91:g=f?64:128;break;case 20:g=512}g&&(a.u=c?a.u|g:a.u&~g);var h;a:if(e=a.w.$b[e]||e,a.w.Nb[e])h=e;else{for(h in a.w.ib)if(a.w.ib[h]===e)break a;h=null}h&&!b.metaKey&&(d=!1,a.u&4144&&(13==h?(h=118,d=!0):8==h&&(h=46,d=!0),d&&(a.u=c?a.u|4096:a.u&-4097)),d=ge(a,h,c),(!(h>=n.Eb&&h<=n.Pb)||a.u|12)&&b.preventDefault&&b.preventDefault());return d} +function ge(a,b,c,d){var e;a:{for(e=0;ee?a.j.push({Xb:b,Ub:Date.now(),Hb:d||!1}):(a.j[e].Ub=Date.now(),a.j[e].Hb=d||!1),d&&je(a);else if(0<=e){if(!a.j[e].Hb&&(d=a.j[e].Ub)&&50>Date.now()-d)return a.j[e].Hb=!0,je(a),!0;a.j.splice(e,1)}if(a.F){d=0;switch(b){case "1p":d=S.Ya.od;break;case "2p":d=S.Ya.sd;break;case "coin":d=S.Ya.Pc;break;case "left":d=S.Ya.qd;break;case "right":d=S.Ya.rd;break;case "fire":d=S.Ya.pd}d&&(a=a.F,b=d,a.D&=~b,c&&(a.D|=b))}return!0} function je(a){for(var b=0,c=-1;bc||c>e)c=e}else{ge(a,d,!1);b=0;continue}}b++}0<=c&&Lc(a.b,a.O,c)}l.Zd=function(a,b){var c=this.I;0<=this.B&&(this.B>3)*a.aa,!yb(a.w,a.Va,a.O,3)))return!1;a.O?(a.qc=a.F.createImageData(b,c),a.tc=16/a.Wa|0,pe(a,a.O>>1)):pe(a,(a.ba+1)*a.va);a.K=document.createElement("canvas");a.K.width=b;a.K.height=c;a.rb=a.K.getContext("2d");a.ea={};a.la=1<=a.kc?8:16,f=8>(7>4)*c)}return k}ke.prototype.Ga=function(){return!0};ke.prototype.pa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Ob[b]=c,!0;switch(b){case "fullScreen":return this.M[b]=c,this.j&&this.j.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1}; @@ -171,20 +170,20 @@ ke.prototype.kb=function(){var a=!1;if(this.j){if(this.j.kb){a="100%";if(screen& function ne(a,b){!b&&a.j&&(a.pc?a.L.style.width=a.L.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function pe(a,b){a.sc=b;a.ia=!1;if(void 0===a.D||a.D.length!=a.sc)a.D=Array(a.sc)}function re(a,b,c,d,e){d=a.u?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ma&&(208<=c&&236>c?e=a.la+0:28<=c&&72>c&&(e=a.la+1));a=a.ga[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} function Nc(a,b){var c=!0;if(!b){a.Xa&&(120==a.Xa?a.uc&1?(Jd(a.b,2),c=!1):Jd(a.b,1):Jd(a.b,4));if(c&&a.ia&&a.O){for(var d=a.w,e=a.O,f=!0,g=a.Va>>>d.ha;0>=1);;){var u=Bb(a.w,p++);if(127==(u&127)){var r=Bb(a.w,p++),d=r&96,c=(r&15)<<8|Bb(a.w,p),c=c+ (r&16?8192:16384);break}if(m>4)*u.na,C,U,ea,Y,va=u.ra,Hb=u.na;z?(C=y*r.ra,U=e*r.na,ea=r.ra,Y=r.na):(C=y*r.lc,U=e*r.mc,ea=r.lc,Y=r.mc);u.ra>r.ra&&(C*=2,ea*=2);u.na>r.na&&(q||(H+=r.na),Hb=r.na);z?z.drawImage(u.canvas,ha,H,va,Hb,C,U,ea,Y):(C+=0,U+=0,r.F.drawImage(u.canvas, -ha,H,va,Hb,C,U,ea,Y))}h++}g++}e++}}a.ia=!0;!b&&a.sb&&1==h&&(a.D[k]=-1,h=0);a.sb=!1;(h||b)&&a.rb&&a.F.drawImage(a.K,0,a.ib,a.J,a.aa-a.na,0,0,a.Ic,a.Ld)}else{e=a.Va;f=e+a.O;k=h=g=0;b=a.J;m=0;c=a.aa;q=d=0;p=a.Wa;y=(1<>8|(r&255)<<8);h>z&y,re(a,a.qc,h++,k,ha),z+=p;h>m&&(m=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.aa))break}a.ia=!0;b>8|(r&255)<<8);h>z&y,re(a,a.qc,h++,k,ha),z+=p;h>m&&(m=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.aa))break}a.ia=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ke(d,e,g,f,c);gb(d,c)}}); -function se(a){this.ea=+a.adapter;switch(this.ea){case 0:this.ga=0;this.ka=2;break;default:w("Unrecognized serial adapter #"+this.ea);return}this.u=this.B=null;this.ia=a.tabSize;this.da=a.charBOL;this.D=0;this.aa=!1;this.L=!0;x.call(this,"SerialPort",a,se,8388608);var b=a.binding;if("console"==b)this.B="";else{var c;a=te;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.M[b])&&this.pa(null,a,b))}this.I="";this.j=this.fb=this.Aa=null;this.exports={connect:this.Ec,receiveData:this.Wb,receiveStatus:this.oe}} +function se(a){this.ea=+a.adapter;switch(this.ea){case 0:this.ga=0;this.ka=2;break;default:w("Unrecognized serial adapter #"+this.ea);return}this.u=this.B=null;this.ia=a.tabSize;this.da=a.charBOL;this.D=0;this.aa=!1;this.L=!0;x.call(this,"SerialPort",a,se,8388608);var b=a.binding;if("console"==b)this.B="";else{var c;a=te;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.M[b])&&this.pa(null,a,b))}this.I="";this.j=this.eb=this.Aa=null;this.exports={connect:this.Ec,receiveData:this.Wb,receiveStatus:this.oe}} A(se);var ue=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],ve=[!1,0,0,133,142,39,238],te="buffer";l=se.prototype; l.pa=function(a,b,c,d){var e=this;switch(b){case te:return this.M[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==c.length){var d=na(c[0]);if(d!=this.gb)return;c=na(c[1]);if(this.j=eb(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.L);if(this.fb=e.receiveData){this.L=a;this.Aa=e.receiveStatus;this.status(this.hb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +l.Ec=function(a){if(!this.j){var b=oc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=na(c[0]);if(d!=this.fb)return;c=na(c[1]);if(this.j=eb(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.L);if(this.eb=e.receiveData){this.L=a;this.Aa=e.receiveStatus;this.status(this.gb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; l.Ga=function(a,b){if(!b)if(this.Ec(this.L),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Ka=function(a){return a?this.save():!0};l.reset=function(){ze(this)};l.save=function(){var a=new Vc(this),b=0,c=[];c[b++]=this.N;c[b++]=this.X;c[b++]=this.ba;c[b++]=this.wa;c[b++]=this.J;c[b++]=this.K;c[b]=this.O;a.set(0,c);return a.data()};l.restore=function(a){return ze(this,a[0])}; function ze(a,b){var c=0;b||(b=ve);a.N=b[c++];a.X=b[c++];a.ba=b[c++];a.wa=b[c++];a.J=b[c++];a.K=b[c++];a.O=b[c];return!0}function Ae(a,b){var c=a.O&b;b&15||(c>>=4);b=ue[c];c=((a.J&12)>>2)+6;a.J&16&&c++;c+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function we(a,b){ib(a,"receiveByte("+ca(b)+"), status="+ca(a.wa));return a.aa||a.wa&2?!1:(a.X=b,a.wa|=2,Jd(a.b,a.ka),!0)} -l.Wb=function(a){null!=a&&(this.I="number"!=typeof a?a:this.I+String.fromCharCode(a));this.I&&(we(this,this.I.charCodeAt(0))&&(this.I=this.I.substr(1)),this.I&&this.b&&Lc(this.b,this.la,Ae(this,15)));return!0};l.oe=function(a){this.wa&=-129;a&64&&(this.wa|=128)};function ie(a,b){a.wa|=5;b&&a.fb&&a.fb.call(a.j,b)}l.Td=function(a,b){var c=this.X;E(this,a,null,b,"DATA",c);this.wa&=-3;return c};l.Sd=function(a,b){var c=this.wa;E(this,a,null,b,"STATUS",c);return c}; -l.de=function(a,b,c){E(this,a,b,c,"DATA");this.ba=b;this.wa&=-6;ib(this,"transmitByte("+ca(b)+")");if(19==b)this.aa=!0;else if(17==b)this.aa=!1;else if(this.fb&&this.fb.call(this.j,b),this.u)8==b?(this.u.value=this.u.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ia||8,c=b-this.D%b,this.ia&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.da&&!this.D&&c&&(a=String.fromCharCode(this.da)+a),this.u.value+=a,this.u.scrollTop=this.u.scrollHeight, -this.D+=c);else if(null!=this.B){if(10==b||1024<=this.B.length)this.g(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b))}this.b&&Lc(this.b,this.ma,Ae(this,240))};l.ce=function(a,b,c){E(this,a,b,c,"CONTROL");this.N?(this.Aa&&(b^this.K)&34&&(a=0,a=this.L?a|(b&32?32:0)|(b&2?320:0):a|(b&32?16:0)|(b&2?1048576:0),this.Aa.call(this.j,a)),this.K=b,this.K&64&&(this.N=!1)):(this.J=b,this.N=!0)};l.be=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b}; +l.Wb=function(a){null!=a&&(this.I="number"!=typeof a?a:this.I+String.fromCharCode(a));this.I&&(we(this,this.I.charCodeAt(0))&&(this.I=this.I.substr(1)),this.I&&this.b&&Lc(this.b,this.la,Ae(this,15)));return!0};l.oe=function(a){this.wa&=-129;a&64&&(this.wa|=128)};function ie(a,b){a.wa|=5;b&&a.eb&&a.eb.call(a.j,b)}l.Td=function(a,b){var c=this.X;E(this,a,null,b,"DATA",c);this.wa&=-3;return c};l.Sd=function(a,b){var c=this.wa;E(this,a,null,b,"STATUS",c);return c}; +l.de=function(a,b,c){E(this,a,b,c,"DATA");this.ba=b;this.wa&=-6;ib(this,"transmitByte("+ca(b)+")");if(19==b)this.aa=!0;else if(17==b)this.aa=!1;else if(this.eb&&this.eb.call(this.j,b),this.u)8==b?(this.u.value=this.u.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,9==b?(b=this.ia||8,c=b-this.D%b,this.ia&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.da&&!this.D&&c&&(a=String.fromCharCode(this.da)+a),this.u.value+=a,this.u.scrollTop= +this.u.scrollHeight,this.D+=c);else if(null!=this.B){if(10==b||1024<=this.B.length)this.g(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b))}this.b&&Lc(this.b,this.ma,Ae(this,240))};l.ce=function(a,b,c){E(this,a,b,c,"CONTROL");this.N?(this.Aa&&(b^this.K)&34&&(a=0,a=this.L?a|(b&32?32:0)|(b&2?320:0):a|(b&32?16:0)|(b&2?1048576:0),this.Aa.call(this.j,a)),this.K=b,this.K&64&&(this.N=!1)):(this.J=b,this.N=!0)};l.be=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b}; var xe={0:se.prototype.Td,1:se.prototype.Sd},ye={0:se.prototype.de,1:se.prototype.ce,2:se.prototype.be};Oa(function(){for(var a=D(document,"pc8080","serial"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; Be.prototype.Sb=function(){return-1};Be.prototype.Tb=function(){};Be.prototype.Jb=function(a,b,c){if(b)if(a){0>this.j&&this.u.length&&(this.j=0);if(0>this.j||a!=this.u[this.j])this.u.splice(0,0,a),this.j=0;this.j--}else this.O?a="end":a=this.u[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b}; function De(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; @@ -192,7 +191,7 @@ case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d function Ee(a,b,c){var d;if(b){b=Fe(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,u--;g=q+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} +function He(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4>=1,u--;g=q+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} function Je(a,b){if(b)return He(a,b,a.da[b]);var c=0;for(b in a.da)He(a,b,a.da[b]),c++;return 0>>d.w.ha;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[e];p.type==c?m++||d.g("..."):(c=p.type,m=Ab[c],p&&d.g(t(p.id)+" %"+t(e<>>e.ha;f!=e.w?e.W[g].Zb(f,b&65535,d):(e.W[g++].Db(f,b&255,d),e.W[g&e.D].Db(0,b>>8&255,d+1));c&&We(a,c);Ec(this.b,!0)}};function X(a){return{G:a,Pa:!1}}function wf(a){return[a.G,a.Pa]}function xf(a){return{G:a[0],Pa:a[1]}} function Ve(a,b,c){var d;c=(c?a.L:a.Va).G;if(void 0!==b){d=b=Fe(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cd?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(d=e+' "'+zf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ve(a,e))?(We(d),d=e+ ' "'+zf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(X(this.b.P).G));this.sa&1073741824?this.la.push(a):this.ka&&a==this.ka||(this.ka=a,this.sa&-2147483648&&(this.qa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.O=0,Ec(a)))}; -function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.sa&h)!=h||a.message(b.gb+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))} -function Ne(a){var b;if(Kd(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b>>d.ha],!1)}a.N=["br"];if(a.B)for(b=1;b>>d.ha],!0);a.B=["bw"];a.Xa=0}l.$a=function(a,b,c){var d=!0;c||Gf(this,a,b,!1,!0);if(a!=this.F){var e=Ue(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.W[e>>>f.ha].$a(e&f.w,a==this.B)}}d&&(a.push(b),c?b.Pa=!0:(Hf(this,a,a.length-1,"set"),Ne(this)));return d}; +function Me(a){var b,c;a.F=["bp"];if(a.N)for(b=1;b>>d.ha],!1)}a.N=["br"];if(a.B)for(b=1;b>>d.ha],!0);a.B=["bw"];a.Xa=0}l.Za=function(a,b,c){var d=!0;c||Gf(this,a,b,!1,!0);if(a!=this.F){var e=Ue(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.W[e>>>f.ha].Za(e&f.w,a==this.B)}}d&&(a.push(b),c?b.Pa=!0:(Hf(this,a,a.length-1,"set"),Ne(this)));return d}; function Gf(a,b,c,d,e){var f=!1;c=Ue(c);for(var g=1;g>>d.ha],b==a.B));h.Pa||Ne(a);break}}return f}function If(a,b){for(var c=1;c>24,4);break;case 3:z=t(u.bb(z,2),4);break;default:u="imm("+v(r)+")";break a}8086==u.style&&r&64?z="["+z+"]":r&16||(z=(u.style==Le?"$":"0x")+z);u=z}else r&16?(u= +function Kf(a,b,c,d){for(var e=X(b.G),f=a.Z(b,1),g=a.Ha[f],h="",k=(8086!=a.style?Qe:Re)[g[0]],m=g.length-1,p=0,q,y=1;y<=m;y++){var u="";q=g[y];if(void 0!==q&&!(q&16384&&a.style==Le)){var r=q&240;if(r){var z=q&15;z?p=z:q|=p;q&61440||(q|=1==y?8192:4096);if(r&32)a:{u=a;r=q;z=b;switch(r&15){case 1:z=t(u.Z(z,1),2);break;case 2:z=t(u.Z(z,1)<<24>>24,4);break;case 3:z=t(u.ab(z,2),4);break;default:u="imm("+v(r)+")";break a}8086==u.style&&r&64?z="["+z+"]":r&16||(z=(u.style==Le?"$":"0x")+z);u=z}else r&16?(u= (q&3840)>>8,r=Se[u],8086==a.style&&q&64&&(6==u&&(r="HL"),r="["+r+"]"),u=r):r&128&&(u=(f>>3&7).toString());if(!u||!u.length){h="INVALID";break}0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.$d;if(e>=g&&e>8&255;case "C":d.S=f&255;break;case "D":d.T=f&255;break; case "DE":d.T=f>>8&255;case "E":d.U=f&255;break;case "H":d.V=f&255;break;case "HL":d.V=f>>8&255;case "L":d.Y=f&255;break;case "SP":d.oa=f&65535;break;case "PC":I(d,f);a.L=X(d.P);break;case "PS":Sc(d,f);break;case "PSW":Sc(d,f&255|d.ta&-256);d.i=f>>8;break;case "CF":d.ca=f?d.ca|256:d.ca&255;break;case "PF":f?cd(d)||(d.fa^=1):cd(d)&&(d.fa^=1);break;case "AF":d.ya=f?~d.fa&16|d.ya&-17:d.fa&16|d.ya&-17;break;case "ZF":d.ca=f?d.ca&-256:d.ca|255;break;case "SF":f?fd(d)||(d.fa^=192):fd(d)&&(d.fa^=192);break; @@ -243,38 +242,38 @@ l.Jb=function(a,b,c){if(b)if(a){0>this.j&&this.u.length&&(this.j=0);if(0>this.j| function Jf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.O&&(a.g("ended assemble at "+Z(a.ba.G)),a.L=a.ba,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ka=null;if(mb(a)&&0m||"z"Ha.length&&(a.g("note: only "+Ha.length+" available"),ja=Ha.length);wa-=ja;0>wa&&(null==Ha[Ha.length-1].G?(ja=wa+ja,wa=0):wa+=Ha.length);var od=[];"call"==bf&&(Lb=1E5,od=["CALL"]);for(void 0!==af&&a.g(ja+" instructions earlier:");0< -Lb&&wa!=a.ea;){var ef=Ha[wa++];if(null==ef.G)break;var Mb=X(ef.G),ng=ja--,ff=Kf(a,Mb,"history",ng);(!od.length||0<=ff.indexOf(od[0]))&&a.g(ff);Mb.Rb&&(wa+=Mb.Rb,Lb-=Mb.Rb,ja-=Mb.Rb);wa>=Ha.length&&(wa=0);a.ib=ja;df++;Lb--}}df||(a.g("no "+cf+"history available"),a.ib=void 0)}else{var rc=Ve(a,Y);if(rc){var sc=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Hb),sc=Ge(a,va)>>>0,65536>4||1;og--&&0wc?String.fromCharCode(wc):".";uc--}Nb&&(Nb+="\n");Nb+=Y+" "+qd+(Ob?"":" "+gf)}Nb&&a.g(Nb);a.Va=rc}}}}break;case "e":if("else"==f[0])break;var xc=1,hf=255,jf=a.Z,kf=a.ua;"ew"==f[0]&&(xc=2,hf=65535,jf=a.bb,kf=a.Mb);var lf=xc<<1,mf=f[1];if(null==mf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a"); -else{var yc=Ve(a,mf);if(yc)for(var zc=2;zcxd;){for(var $a=null,ug=256;65536>Rb.G>>>0;){of.G=a.bb(Rb,2);if(null==Rb.G||!ug--)break;for(var vg=a,Bc=of,pf= -null,Sb=Bc.G,qf=Sb,yd=1;6>=yd&&Sb;yd++){if(2Ha.length&&(a.g("note: only "+Ha.length+" available"),ja=Ha.length);wa-=ja;0>wa&&(null==Ha[Ha.length-1].G?(ja=wa+ja,wa=0):wa+=Ha.length);var pd=[];"call"==bf&&(Lb=1E5,pd=["CALL"]);for(void 0!==af&&a.g(ja+" instructions earlier:");0< +Lb&&wa!=a.ea;){var ef=Ha[wa++];if(null==ef.G)break;var Mb=X(ef.G),ng=ja--,ff=Kf(a,Mb,"history",ng);(!pd.length||0<=ff.indexOf(pd[0]))&&a.g(ff);Mb.Rb&&(wa+=Mb.Rb,Lb-=Mb.Rb,ja-=Mb.Rb);wa>=Ha.length&&(wa=0);a.hb=ja;df++;Lb--}}df||(a.g("no "+cf+"history available"),a.hb=void 0)}else{var rc=Ve(a,Y);if(rc){var sc=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Hb),sc=Ge(a,va)>>>0,65536>4||1;og--&&0wc?String.fromCharCode(wc):".";uc--}Nb&&(Nb+="\n");Nb+=Y+" "+rd+(Ob?"":" "+gf)}Nb&&a.g(Nb);a.Va=rc}}}}break;case "e":if("else"==f[0])break;var xc=1,hf=255,jf=a.Z,kf=a.ua;"ew"==f[0]&&(xc=2,hf=65535,jf=a.ab,kf=a.Mb);var lf=xc<<1,mf=f[1];if(null==mf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a"); +else{var yc=Ve(a,mf);if(yc)for(var zc=2;zcyd;){for(var $a=null,ug=256;65536>Rb.G>>>0;){of.G=a.ab(Rb,2);if(null==Rb.G||!ug--)break;for(var vg=a,Bc=of,pf= +null,Sb=Bc.G,qf=Sb,zd=1;6>=zd&&Sb;zd++){if(2\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bZf){if(ag(d,this.K)){this.B=new Vc(this,"1.30.5","failsafe");ag(this.B)&&(fg(this,d),a=2,gg(this.B));this.B.set("timestamp",ra());hg(this.B);var e=this.A&&!this.I;if(1==a||ya("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=eg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ag(d,g):("error"== +function dg(a,b){var c=new Vc(a,"1.31.0","validate");if(ag(c)&&eg(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Xf.prototype; +l.zb=function(a){void 0===a&&(a=this.A||(this.K?1:Zf));if(!this.u){this.u++;var b=!1,c=!1;this.X=!1;var d=this.L||new Vc(this,"1.31.0");if(-1==a)b=!0;else if(a>Zf){if(ag(d,this.K)){this.B=new Vc(this,"1.31.0","failsafe");ag(this.B)&&(fg(this,d),a=2,gg(this.B));this.B.set("timestamp",ra());hg(this.B);var e=this.A&&!this.I;if(1==a||ya("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=eg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ag(d,g):("error"== f&&"no machine state"!=g?(this.ja("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.j=null)):this.g(f+": "+g),gg(d),ag(d)?(c=eg(d),e=!0):c=!1))}e&&dg(this,c?d:null)}else 2==a&&d.clear()}else dg(this);delete this.K;delete this.L}e=db(this.id);for(f=0;fa[1];a=a[2];this.ga=!0;this.C.xa=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(ig(this,this.b,b,c,a),this.b.vb());this.X&&(fg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.u=0}; -function fg(a,b){if(ya("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.5"};d.url=a.ea;d.user=c;d.type="bug";d.data=b;ta("http://www.pcjs.org/api/v1/report",d,!0)}} -function Wf(a,b,c){var d,e="none";if(a.u)return null;a.u--;var f=new Vc(a,"1.30.5"),g=new Vc(a,"1.30.5","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",xa());a.b&&a.b.Ka&&(c&&a.b.qa(),d=a.b.Ka(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.xa=!1,!1===d&&(e=null)));for(var h=db(a.id),k=0;k/g.exec(a)){var e=d[2];b("Loading "+e+"...");ta(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); a=a.replace(d[0],g);Cg(a,b,c)}})}else c(a,null)} function Dg(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--mg||Ra(!0));k=!1}var g,h,k=!0;mg++;bb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));p.appendChild(q)}c|| -(c="/versions/pc8080/1.30.5/components.xsl");m=function(d,h){h?Ag(c,null,null,!1,e,function(d,k){k?(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--mg||Ra(!0)):f("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),--mg||Ra(!0)):f("invalid machine element: "+ +(c="/versions/pc8080/1.31.0/components.xsl");m=function(d,h){h?Ag(c,null,null,!1,e,function(d,k){k?(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--mg||Ra(!0)):f("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),--mg||Ra(!0)):f("invalid machine element: "+ a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Ag(b,a,d,!0,e,m):Bg(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(y){f(y.message)}return k}window.embedPC8080=function(a,b,c,d){Ra(!1);return Dg(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Ta;})(); diff --git a/versions/pc8080/1.30.5/pc8080.js b/versions/pc8080/1.31.0/pc8080.js similarity index 90% rename from versions/pc8080/1.30.5/pc8080.js rename to versions/pc8080/1.31.0/pc8080.js index 6cddbac46..242da6f7c 100644 --- a/versions/pc8080/1.30.5/pc8080.js +++ b/versions/pc8080/1.31.0/pc8080.js @@ -34,10 +34,11 @@ Mc:88,Nc:89,kb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Pc:97,Ee:98,Fe:99,d:1 function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ca(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ja={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ka=Date.now||function(){return+new Date};function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} +var ja={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ka=Date.now||function(){return+new Date}; +function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function ma(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function na(a,b){var c,d={aa:null,wa:null,Ea:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ea=g.load;d.xa=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.aa=Array(4*e.length),f=c=0;cb.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Da=g.load;d.xa=g.exec;if(e=g.bytes)d.aa=e;else if(e=g.words)for(d.aa=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.aa=Array(4*e.length),f=c=0;c>8&255,d.aa[f++]=e[c]>>16&255,d.aa[f++]=e[c]>>24&255;else d.aa=g;d.wa=g.symbols;d.aa.length?1==d.aa.length&&(q(d.aa[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c>>((a&3)<<3)&255},H: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},R:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.oa=!0},u:function(a,b){return this.hb(a,b)},G:function(a,b){return this.Kb(a,b)},M:function(a,b,c){this.c||this.Nb(a,b,c)},V:function(a, b,c){this.c||this.W(a,b,c)},s:function(a){return this.b[a]},A:function(a){return this.b[a]},F:function(a){return this.v.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.h[a>>1]},I:function(a,b){this.b[a]=b;this.oa=!0},P:function(a,b){this.b[a]=b;this.oa=!0},T:function(a,b){this.v.setUint16(a,b,!0);this.oa=!0},za:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.h[a>>1]=b;this.oa=!0}};function Za(a,b,c){a.N=b;a.f=a.g=0;c&&((a.f=c.f)&&ub(a,vb,!1),(a.g=c.g)&&wb(a,vb,!1))} function wb(a,b,c){c&&a.g||(a.Va=!a.c&&b[1]||a.m,a.sd=!a.c&&b[3]||a.o);if(c||void 0===c)a.Nb=b[1]||a.m,a.W=b[3]||a.o}function ub(a,b,c){c&&a.f||(a.Ua=b[0]||a.l,a.qd=b[2]||a.w);if(c||void 0===c)a.hb=b[0]||a.l,a.Kb=b[2]||a.w}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}var xb=[],tb=[D.prototype.B,D.prototype.R,D.prototype.H,D.prototype.Z],vb=[D.prototype.u,D.prototype.M,D.prototype.G,D.prototype.V]; -if(Ua)var sb=[D.prototype.s,D.prototype.I,D.prototype.F,D.prototype.T],rb=[D.prototype.A,D.prototype.P,D.prototype.L,D.prototype.za];function yb(a,b){r.call(this,"CPU",a,yb);var c=a.multiplier||1;this.ma=a.cycles||b;this.I=c;this.Ha=Math.round(this.ma/1E4)/100;this.T=this.Ha*this.I;this.j.pa=!1;this.j.Lb=!1;this.j.Sa=a.autoStart;this.j.Eb=!1;this.j.bb=!1;this.ua=this.W=0;this.va=a.csStart;this.Z=a.csInterval;this.ja=a.csStop;this.F=[];this.$a=this.ob.bind(this);B(this)}w(yb);var zb=["power","reset"]; +if(Ua)var sb=[D.prototype.s,D.prototype.I,D.prototype.F,D.prototype.T],rb=[D.prototype.A,D.prototype.P,D.prototype.L,D.prototype.za];function yb(a,b){r.call(this,"CPU",a,yb);var c=a.multiplier||1;this.ma=a.cycles||b;this.I=c;this.Ga=Math.round(this.ma/1E4)/100;this.T=this.Ga*this.I;this.j.pa=!1;this.j.Lb=!1;this.j.Sa=a.autoStart;this.j.Eb=!1;this.j.bb=!1;this.ua=this.W=0;this.va=a.csStart;this.Z=a.csInterval;this.ja=a.csStop;this.F=[];this.$a=this.ob.bind(this);B(this)}w(yb);var zb=["power","reset"]; l=yb.prototype;l.ra=function(a,b,c,d){this.w=a;this.i=b;this.N=d;for(b=0;ba.P/a.T&&(b=1);a.I=b;b=a.Ha*a.I;if(a.T!=b){a.T=b;b=a.T.toFixed(2)+"Mhz";var d=a.v.setSpeed;d&&(d.textContent=b);a.ea("target speed: "+b)}c&&a.w&&Ib(a.w)}a.G+=a.M;a.M=0;a.H=ka();a.R=0;Gb(a)}function Jb(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Kb(a,b,c){0<=b&&ba.F[b][0]&&(c*=a.ma*a.I/1E3,a.F[b][0]=c+Lb(a))}function Lb(a,b){var c=a.V-=a.a;a.a=0;b&&(a.V=0);return c} -l.ob=function(a){if(Ra(this,!0)){if(!this.j.pa){Fb(this);this.w&&this.w.start(this.H,Hb(this));this.j.pa=!0;this.j.Lb=!0;this.L&&this.L.start();var b=this.v.run;b&&(b.textContent="Halt");this.w&&(this.w.ia(!0),a&&Ib(this.w,!0))}this.Ia>=this.ma&&Gb(this,!0);this.qa=0;this.ta=ka();this.R&&(a=this.ta-this.R,a>this.Pa&&(this.H+=a,this.H>this.ta&&(this.H=this.ta)));try{do{for(var c,d=this.j.bb?1:this.Ba,e=this.F.length-1;0<=e;e--){var f=this.F[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Mb(c);c=Lb(this,!0); +break;case "speed":this.v[b]=c;a=!0;break;case "setSpeed":this.v[b]=c,c.onclick=function(){Fb(d,d.I<<1,!0)},c.textContent=this.T.toFixed(2)+"Mhz",a=!0}return a};function Gb(a,b){var c=1;b&&1a.P/a.T&&(b=1);a.I=b;b=a.Ga*a.I;if(a.T!=b){a.T=b;b=a.T.toFixed(2)+"Mhz";var d=a.v.setSpeed;d&&(d.textContent=b);a.ea("target speed: "+b)}c&&a.w&&Ib(a.w)}a.G+=a.M;a.M=0;a.H=ka();a.R=0;Gb(a)}function Jb(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Kb(a,b,c){0<=b&&ba.F[b][0]&&(c*=a.ma*a.I/1E3,a.F[b][0]=c+Lb(a))}function Lb(a,b){var c=a.V-=a.a;a.a=0;b&&(a.V=0);return c} +l.ob=function(a){if(Ra(this,!0)){if(!this.j.pa){Fb(this);this.w&&this.w.start(this.H,Hb(this));this.j.pa=!0;this.j.Lb=!0;this.L&&this.L.start();var b=this.v.run;b&&(b.textContent="Halt");this.w&&(this.w.ia(!0),a&&Ib(this.w,!0))}this.Ha>=this.ma&&Gb(this,!0);this.qa=0;this.ta=ka();this.R&&(a=this.ta-this.R,a>this.Pa&&(this.H+=a,this.H>this.ta&&(this.H=this.ta)));try{do{for(var c,d=this.j.bb?1:this.Ba,e=this.F.length-1;0<=e;e--){var f=this.F[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Mb(c);c=Lb(this,!0); this.qa+=c;this.M+=c;a=c;this.j.bb&&(b=!1,this.ua=this.ua+this.Hb()|0,this.W-=a,0>=this.W&&(this.W+=this.Z,b=!0),0<=this.ja&&this.ja<=Hb(this)&&(this.Z=this.ja=-1,Cb(this),Eb(this),b=!0),b&&this.ea(Hb(this)+" cycles: checksum="+p(this.ua)));a=c;for(var g=this.F.length-1;0<=g;g--){var h=this.F[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.la-=c;if(0>=this.la){this.la+=this.Ba;15<=++this.Qa&&(this.w&&this.w.ia(),this.Qa=0);break}}while(this.j.pa)}catch(k){Eb(this);Db(this);this.w&&this.w.stop(ka(), -Hb(this));Ra(this,!1);c=k.stack||k.message;this.j.error=!0;this.K(c);return}c=setTimeout;d=this.$a;this.R=ka();e=this.Pa;this.qa&&(e=Math.round(e*this.qa/this.Ba));e-=this.R-this.ta;if(f=this.R-this.H)this.P=Math.round(this.M/(10*f))/100,864E5<=f&&(this.G=0,Fb(this));if(0>e||this.Pe&&(this.H-=e),e=0;this.Ia+=this.qa;this.R+=e;c(d,e)}else Db(this),this.w&&this.w.stop(ka(),Hb(this))};l.Mb=function(){return 0}; -function Eb(a){a.j.ab&&(a.j.lb=!0);Lb(a);a.G+=a.M;a.M=0;if(a.j.pa){a.j.pa=!1;a.L&&a.L.stop();var b=a.v.run;b&&(b.textContent="Run")}a.j.complete=void 0}function Db(a){if(a.w){for(var b=a.w,c=0;ce||this.Pe&&(this.H-=e),e=0;this.Ha+=this.qa;this.R+=e;c(d,e)}else Db(this),this.w&&this.w.stop(ka(),Hb(this))};l.Mb=function(){return 0}; +function Eb(a){a.j.ab&&(a.j.lb=!0);Lb(a);a.G+=a.M;a.M=0;if(a.j.pa){a.j.pa=!1;a.L&&a.L.stop();var b=a.v.run;b&&(b.textContent="Run")}a.j.complete=void 0}function Db(a){if(a.w){for(var b=a.w,c=0;c>8&255;a.C=b&255}function Xb(a){return a.f<<8|a.D}function Yb(a,b){a.f=b>>8&255;a.D=b&255}function H(a){return a.g<<8|a.h} @@ -83,7 +84,7 @@ function $b(a,b){a.u=a.b^b;return a.o=(a.l=a.b+b+(a.l&256?1:0))&255}function ac( l.ba=function(a,b){this.i.ba(a,b)};function O(a){var b=a.J(a.m);F(a,a.m+1);return b}function P(a){var b=db(a.i,a.m);F(a,a.m+2);return b}function Q(a){var b=db(a.i,a.s);a.s=a.s+2&65535;return b}function R(a,b){a.s=a.s-2&65535;fb(a.i,a.s,b)}function gc(a){if(a.a&&a.A&255&&a.B&512){for(var b=0;8>b&&!(a.A&1<b?255:1<>8;L(this,a&256);this.a-=4},ic,function(){var a;J(this,a=H(this)+Vb(this));L(this,a>>8&256);this.a-=10},function(){this.b=this.J(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5}, function(){this.C=cc(this,this.C);this.a-=5},function(){this.C=bc(this,this.C);this.a-=5},function(){this.C=O(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;L(this,a);this.a-=4},ic,function(){Yb(this,P(this));this.a-=10},function(){this.ba(Xb(this),this.b);this.a-=7},function(){Yb(this,Xb(this)+1);this.a-=5},function(){this.f=cc(this,this.f);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=O(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|K(this); @@ -109,14 +110,14 @@ function(){var a=Q(this);R(this,H(this));J(this,a);this.a-=18},function(){var a= P(this);Zb(this)&&(R(this,this.m),F(this,a),this.a-=6);this.a-=11},lc,function(){this.b=fc(this,O(this));this.a-=7},function(){R(this,this.m);F(this,40);this.a-=11},function(){this.o&128||(F(this,Q(this)),this.a-=6);this.a-=5},function(){var a=Q(this);Sb(this,a&255|this.B&-256);this.b=a>>8;this.a-=10},function(){var a=P(this);this.o&128||F(this,a);this.a-=10},function(){this.B&=-513;this.a-=4},function(){var a=P(this);this.o&128||(R(this,this.m),F(this,a),this.a-=6);this.a-=11},function(){R(this, Ub(this)&255|this.b<<8);this.a-=11},function(){this.b=dc(this,O(this));this.a-=7},function(){R(this,this.m);F(this,48);this.a-=11},function(){this.o&128&&(F(this,Q(this)),this.a-=6);this.a-=5},function(){this.s=H(this)&65535;this.a-=5},function(){var a=P(this);this.o&128&&F(this,a);this.a-=10},function(){this.B|=512;this.a-=4;gc(this)},function(){var a=P(this);this.o&128&&(R(this,this.m),F(this,a),this.a-=6);this.a-=11},lc,function(){N(this,O(this));this.a-=7},function(){R(this,this.m);F(this,56); this.a-=11}];function U(a){r.call(this,"ChipSet",a,U);var b=a.model;b&&!mc[b]&&Ca("Unrecognized ChipSet model: "+b);this.c=mc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(U); -var V={ca:1978.1,Fc:{da:0,Zd:1,ce:16,je:32,se:64,re:128,Ka:14},Da:{da:1,Vb:1,yc:2,uc:4,vc:16,wc:32,xc:64,Ka:8},Gc:{da:2,Yd:3,Be:4,$d:8,ne:16,oe:32,pe:64,ae:128,Ka:0},we:{da:3},ue:{da:2,ke:7},ye:{da:3,Ce:1,xe:2,qe:4,he:8,be:16,td:32},ve:{da:4},ze:{da:5,de:1,ee:2,fe:4,ge:8,De:16}},X={ca:100,ka:{da:66,Bb:1,qc:2,rc:4,me:8,le:16,yb:32,xb:64,tb:128},Tb:{da:66,INIT:0},Aa:{da:194,wd:0,rb:16,Ac:32,zb:48,cc:0,dc:32},Xa:{da:162,te:0,fc:0,bc:0,ec:0,ac:0},na:{ie:{da:98},Ga:{Qb:0,Pb:1,Dc:2,Lc:4,Wb:5,Bc:6,Ae:7}, -Za:16383}},mc={SI1978:V,VT100:X};U.prototype.U=function(){return!1};U.prototype.ra=function(a,b,c,d){this.i=b;this.a=c;this.N=d;this.w=a;this.l=C(a,"Keyboard");this.h=C(a,"SerialPort");this.video=C(a,"Video");hb(b,this,this.c.fb);jb(b,this,this.c.gb)};U.prototype.fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};U.prototype.ha=function(a){return a?this.save():!0};V.INIT=[[V.Fc.Ka,V.Da.Ka,V.Gc.Ka,0,0,0,0]]; +var V={ca:1978.1,Fc:{da:0,Zd:1,ce:16,je:32,se:64,re:128,Ka:14},Ca:{da:1,Vb:1,yc:2,uc:4,vc:16,wc:32,xc:64,Ka:8},Gc:{da:2,Yd:3,Be:4,$d:8,ne:16,oe:32,pe:64,ae:128,Ka:0},we:{da:3},ue:{da:2,ke:7},ye:{da:3,Ce:1,xe:2,qe:4,he:8,be:16,td:32},ve:{da:4},ze:{da:5,de:1,ee:2,fe:4,ge:8,De:16}},X={ca:100,ka:{da:66,Bb:1,qc:2,rc:4,me:8,le:16,yb:32,xb:64,tb:128},Tb:{da:66,INIT:0},Aa:{da:194,wd:0,rb:16,Ac:32,zb:48,cc:0,dc:32},Xa:{da:162,te:0,fc:0,bc:0,ec:0,ac:0},na:{ie:{da:98},Fa:{Qb:0,Pb:1,Dc:2,Lc:4,Wb:5,Bc:6,Ae:7}, +Za:16383}},mc={SI1978:V,VT100:X};U.prototype.U=function(){return!1};U.prototype.ra=function(a,b,c,d){this.i=b;this.a=c;this.N=d;this.w=a;this.l=C(a,"Keyboard");this.h=C(a,"SerialPort");this.video=C(a,"Video");hb(b,this,this.c.fb);jb(b,this,this.c.gb)};U.prototype.fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};U.prototype.ha=function(a){return a?this.save():!0};V.INIT=[[V.Fc.Ka,V.Ca.Ka,V.Gc.Ka,0,0,0,0]]; X.INIT=[[X.Tb.INIT,X.ka.qc|X.ka.rc],[X.Aa.cc,X.Aa.dc],[X.Xa.fc,X.Xa.bc,X.Xa.ec,X.Xa.ac],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];l=U.prototype;l.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.K("reset error")}; l.save=function(){var a=new G(this);switch(this.c.ca){case V.ca:a.set(0,[this.W,this.g,this.Z,this.F,this.H,this.T,this.V]);break;case X.ca:a.set(0,[this.M,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.P]),a.set(3,[this.B,this.b,this.A,this.L,this.m])}return a.data()}; l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ca){case V.ca:return this.W=b[0],this.g=b[1],this.Z=b[2],this.F=b[3],this.H=b[4],this.T=b[5],this.V=b[6],!0;case X.ca:return this.M=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.P=b[3],b=a[3],this.B=b[0],this.b=b[1],this.A=b[2],this.L=b[3],this.m=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Yc=function(){return this.W};l.Zc=function(){return this.g};l.$c=function(){return this.Z}; l.Xc=function(){return this.F>>8-this.H&255};l.fd=function(a,b){this.H=b};l.hd=function(a,b){this.T=b};l.gd=function(a,b){this.F=b<<8|this.F>>8};l.jd=function(a,b){this.V=b};l.kd=function(){};function nc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} -l.ad=function(){var a=this.u,a=a&~X.ka.xb;if((Hb(this.a)&64)<<1&&(a|=X.ka.xb,a!=this.u)){var b,c;b=this.A&1;switch(this.A>>1&7){case X.na.Ga.Pb:this.B=this.B<<1|b;break;case X.na.Ga.Wb:b=nc(this);this.m[b]=X.na.Za;break;case X.na.Ga.Qb:this.b=this.b<<1|b;break;case X.na.Ga.Lc:b=nc(this);c=this.b&X.na.Za;this.m[b]=c;break;case X.na.Ga.Bc:b=nc(this);c=this.m[b];null==c&&(c=X.na.Za);this.b=c;break;case X.na.Ga.Dc:this.b<<=1,this.L=this.b&X.na.Za+1}}a&=~X.ka.yb;this.L&&(a|=X.ka.yb);a&=~X.ka.tb;if(b=this.l){b= +l.ad=function(){var a=this.u,a=a&~X.ka.xb;if((Hb(this.a)&64)<<1&&(a|=X.ka.xb,a!=this.u)){var b,c;b=this.A&1;switch(this.A>>1&7){case X.na.Fa.Pb:this.B=this.B<<1|b;break;case X.na.Fa.Wb:b=nc(this);this.m[b]=X.na.Za;break;case X.na.Fa.Qb:this.b=this.b<<1|b;break;case X.na.Fa.Lc:b=nc(this);c=this.b&X.na.Za;this.m[b]=c;break;case X.na.Fa.Bc:b=nc(this);c=this.m[b];null==c&&(c=X.na.Za);this.b=c;break;case X.na.Fa.Dc:this.b<<=1,this.L=this.b&X.na.Za+1}}a&=~X.ka.yb;this.L&&(a|=X.ka.yb);a&=~X.ka.tb;if(b=this.l){b= this.l;if(c=b.g)c=b.a,c=Hb(b.a)>=b.o+c.ma*c.I/1E3*1.2731488;c&&(b.g=!1);b=!b.g}b&&(a|=X.ka.tb);a&=~X.ka.Bb;this.h&&this.h.X&1&&(a|=X.ka.Bb);return this.u=a};l.ld=function(a,b){this.M=b};l.od=function(a,b){this.A=b};l.nd=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.qa!==a&&((b.qa=a)?Mb(b,!0):b.ta=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.P=a}}; l.md=function(a,b){b&X.Aa.Ac?(b&=X.Aa.zb,this.s!=b&&(this.s=b,this.video&&(this.video.Jb=this.s==X.Aa.zb?50:60))):(b&=X.Aa.rb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==X.Aa.rb?132:80,a.G=b,a.S=a.Ba,80>>f.i;0>>=f.i;0=m.Wa&&a<=m.kb?d.c&515||(d.c|=512,Dc(d,20,!0),Ec(d)):a>=m.Pc&&a<=m.z&&d.c&512&&(d.c&=-513,Dc(d,20,!1),Ec(d));return!0},c.onpaste=function(a){a:{if(d.h&&d.h.Fa&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(), -a=a.clipboardData||window.clipboardData)){Fc(d.h,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ca&&void 0!==this.b.Ca[b])return this.v[e]=c,a=function(a,b){return function(c){c.preventDefault();Dc(a,b,!0)}}(this,this.b.Ca[b]),b=function(a,b){return function(){Dc(a,b,!1)}}(this,this.b.Ca[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1}; -xc.prototype.ra=function(a,b,c,d){this.w=a;this.a=c;this.N=d;var e=this;this.u=Jb(this.a,function(){Gc(e)});this.L=C(a,"ChipSet");this.h=C(a,"SerialPort");hb(b,this,this.b.fb);jb(b,this,this.b.gb)};xc.prototype.fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};xc.prototype.ha=function(a){return a?this.save():!0};Z.INIT=[[Z.ga.INIT,Z.Rb.INIT,!1,0,-1]];l=xc.prototype;l.reset=function(){this.i=[];this.c=0;this.b.INIT&&!this.restore(this.b.INIT)&&this.K("reset error")}; -l.save=function(){var a=new G(this);switch(this.b.ca){case Z.ca:a.set(0,[this.m,this.l,this.g,this.o,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.ca){case Ac.ca:return!0;case Z.ca:return this.m=b[0],Ec(this,this.m&Z.ga.vb),this.l=b[1],this.g=b[2],this.o=b[3],this.f=b[4],!0}return!1}; -function Ec(a,b){var c;null!=b?a.s=b:b=a.s;for(var d in a.b.La)if(c="led-"+d,c=a.v[c]){var e=a.b.La[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+p(16711680,6):"#000000"}if(c=a.v["led-caps-lock"])c.style.backgroundColor=a.c&512?"#"+p(65280,6):"#000000"} -function Cc(a,b,c){var d=!0,e=b.keyCode,f=2==b.location,g=0;switch(e){case 16:g=f?1:2;break;case 17:g=f?4:8;break;case 18:g=f?16:32;break;case 91:g=f?64:128;break;case 20:g=512}g&&(a.c=c?a.c|g:a.c&~g);var h;a:if(e=a.b.qb[e]||e,a.b.jb[e])h=e;else{for(h in a.b.Ca)if(a.b.Ca[h]===e)break a;h=null}h&&!b.metaKey&&(d=!1,a.c&4144&&(13==h?(h=118,d=!0):8==h&&(h=46,d=!0),d&&(a.c=c?a.c|4096:a.c&-4097)),d=Dc(a,h,c),h>=m.Wa&&h<=m.kb||b.preventDefault());return d} -function Dc(a,b,c){var d,e;a:{for(e=0;ee?a.i.push({pb:b,mb:Date.now(),cb:d}):(a.i[e].mb=Date.now(),a.i[e].cb=d);else if(0<=e){if(!a.i[e].cb&&(d=a.i[e].mb)&&50>Date.now()-d)return a.i[e].cb=!0,Gc(a),!0;a.i.splice(e,1)}if(a.L){d=0;switch(b){case "1p":d=V.Da.uc;break;case "2p":d=V.Da.yc;break;case "coin":d=V.Da.Vb;break;case "left":d=V.Da.wc;break;case "right":d=V.Da.xc;break;case "fire":d=V.Da.vc}d&&(a=a.L,b=d,a.g&=~b,c&&(a.g|=b))}return!0} +xc.prototype.U=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.v[e]){if("led"==a&&this.b.La[b])return this.v[e]=c,!0;switch(b){case "kbd":case "screen":return c.onkeydown=function(a){return Cc(d,a,!0)},c.onkeyup=function(a){return Cc(d,a,!1)},c.onkeypress=function(a){a=a.keyCode;a>=m.Wa&&a<=m.kb?d.c&515||(d.c|=512,Dc(d,20,!0),Ec(d)):a>=m.Pc&&a<=m.z&&d.c&512&&(d.c&=-513,Dc(d,20,!1),Ec(d));return!0},c.onpaste=function(a){a:{if(d.h&&d.h.Ea&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&& +a.preventDefault(),a=a.clipboardData||window.clipboardData)){Fc(d.h,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ia&&void 0!==this.b.Ia[b])return this.v[e]=c,c.onclick=function(a,b){return function(c){c.preventDefault&&c.preventDefault();Dc(a,b,!0,!0)}}(this,this.b.Ia[b]),!0}}return!1};xc.prototype.ra=function(a,b,c,d){this.w=a;this.a=c;this.N=d;var e=this;this.u=Jb(this.a,function(){Gc(e)});this.L=C(a,"ChipSet");this.h=C(a,"SerialPort");hb(b,this,this.b.fb);jb(b,this,this.b.gb)}; +xc.prototype.fa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};xc.prototype.ha=function(a){return a?this.save():!0};Z.INIT=[[Z.ga.INIT,Z.Rb.INIT,!1,0,-1]];l=xc.prototype;l.reset=function(){this.i=[];this.c=0;this.b.INIT&&!this.restore(this.b.INIT)&&this.K("reset error")};l.save=function(){var a=new G(this);switch(this.b.ca){case Z.ca:a.set(0,[this.m,this.l,this.g,this.o,-1])}return a.data()}; +l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.ca){case Ac.ca:return!0;case Z.ca:return this.m=b[0],Ec(this,this.m&Z.ga.vb),this.l=b[1],this.g=b[2],this.o=b[3],this.f=b[4],!0}return!1};function Ec(a,b){var c;null!=b?a.s=b:b=a.s;for(var d in a.b.La)if(c="led-"+d,c=a.v[c]){var e=a.b.La[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+p(16711680,6):"#000000"}if(c=a.v["led-caps-lock"])c.style.backgroundColor=a.c&512?"#"+p(65280,6):"#000000"} +function Cc(a,b,c){var d=!0,e=b.keyCode,f=2==b.location,g=0;switch(e){case 16:g=f?1:2;break;case 17:g=f?4:8;break;case 18:g=f?16:32;break;case 91:g=f?64:128;break;case 20:g=512}g&&(a.c=c?a.c|g:a.c&~g);var h;a:if(e=a.b.qb[e]||e,a.b.jb[e])h=e;else{for(h in a.b.Ia)if(a.b.Ia[h]===e)break a;h=null}h&&!b.metaKey&&(d=!1,a.c&4144&&(13==h?(h=118,d=!0):8==h&&(h=46,d=!0),d&&(a.c=c?a.c|4096:a.c&-4097)),d=Dc(a,h,c),(!(h>=m.Wa&&h<=m.kb)||a.c|12)&&b.preventDefault&&b.preventDefault());return d} +function Dc(a,b,c,d){var e;a:{for(e=0;ee?a.i.push({pb:b,mb:Date.now(),cb:d||!1}):(a.i[e].mb=Date.now(),a.i[e].cb=d||!1),d&&Gc(a);else if(0<=e){if(!a.i[e].cb&&(d=a.i[e].mb)&&50>Date.now()-d)return a.i[e].cb=!0,Gc(a),!0;a.i.splice(e,1)}if(a.L){d=0;switch(b){case "1p":d=V.Ca.uc;break;case "2p":d=V.Ca.yc;break;case "coin":d=V.Ca.Vb;break;case "left":d=V.Ca.wc;break;case "right":d=V.Ca.xc;break;case "fire":d=V.Ca.vc}d&&(a=a.L,b=d,a.g&=~b,c&&(a.g|=b))}return!0} function Gc(a){for(var b=0,c=-1;bc||c>e)c=e}else{Dc(a,d,!1);b=0;continue}}b++}0<=c&&Kb(a.a,a.u,c)}l.bd=function(){var a=this.l;0<=this.f&&(this.f>3)*a.F,!$a(a.i,a.ja,a.A,3)))return!1;a.A?(a.Oa=a.f.createImageData(b,c),a.Qa=16/a.la|0,Mc(a,a.A>>1)):Mc(a,(a.G+1)*a.V);a.o=document.createElement("canvas");a.o.width=b;a.o.height=c;a.sa=a.o.getContext("2d");a.H={};a.R=1<=a.Ba?8:16,f=8>(7=a.Ba?8:16,f=8c&&(a=Math.round(c/b*100)+"%")}this.Na?(this.s.style.width=a,this.s.style.width=a,this.s.style.display="block",this.s.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ja();a=!0}this.P&&this.P.focus()}return a}; function Kc(a,b){!b&&a.b&&(a.Na?a.s.style.width=a.s.style.height="":a.b.style.width=a.b.style.height="")}function Mc(a,b){a.Pa=b;a.M=!1;if(void 0===a.h||a.h.length!=a.Pa)a.h=Array(a.Pa)}function Oc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.T&&(208<=c&&236>c?e=a.R+0:28<=c&&72>c&&(e=a.R+1));a=a.I[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} function Mb(a,b){var c=!0;if(!b){a.ma&&(120==a.ma?a.$a&1?(hc(a.a,2),c=!1):hc(a.a,1):hc(a.a,4));if(c&&a.M&&a.A){for(var d=a.i,e=a.A,f=!0,g=a.ja>>>d.i;0>=1);;){var x=cb(a.i,v++);if(127==(x&127)){var t=cb(a.i,v++),d=t&96,c=(t&15)<<8|cb(a.i,v),c=c+(t&16? -8192:16384);break}if(n>4)*x.O,ba,ta,Sa,ib,Bc=x.S,Nb=x.O;E?(ba=I*t.S,ta=e*t.O,Sa=t.S,ib=t.O):(ba=I*t.Ha,ta=e*t.Ia,Sa=t.Ha,ib=t.Ia);x.S>t.S&&(ba*=2,Sa*=2);x.O>t.O&&(z||(S+=t.O),Nb=t.O);E?E.drawImage(x.canvas,W,S,Bc,Nb,ba,ta,Sa,ib):(ba+=0,ta+=0,t.f.drawImage(x.canvas,W,S,Bc, -Nb,ba,ta,Sa,ib))}h++}g++}e++}}a.M=!0;!b&&a.ta&&1==h&&(a.h[k]=-1,h=0);a.ta=!1;(h||b)&&a.sa&&a.f.drawImage(a.o,0,a.qa,a.m,a.F-a.O,0,0,a.Oc,a.Ob)}else{e=a.ja;f=e+a.A;k=h=g=0;b=a.m;n=0;c=a.F;z=d=0;v=a.la;I=(1<>>t.i;t=x!=t.f?t.b[W].Kb(x,E):t.b[W++].hb(x,E)|t.b[W&t.m].hb(0,E+1)<<8;if(a.M&&t===a.h[g])h+=a.Qa;else{a.h[g]=t;(E=z)&&(t=t>>8|(t&255)<<8);h>E&I,Oc(a,a.Oa,h++,k,W),E+=v;h>n&&(n=h);k=d&&(d=k+ +8192:16384);break}if(n>4)*x.O,ba,ta,Sa,ib,Bc=x.S,Ob=x.O;E?(ba=I*t.S,ta=e*t.O,Sa=t.S,ib=t.O):(ba=I*t.Ga,ta=e*t.Ha,Sa=t.Ga,ib=t.Ha);x.S>t.S&&(ba*=2,Sa*=2);x.O>t.O&&(z||(S+=t.O),Ob=t.O);E?E.drawImage(x.canvas,W,S,Bc,Ob,ba,ta,Sa,ib):(ba+=0,ta+=0,t.f.drawImage(x.canvas,W,S,Bc, +Ob,ba,ta,Sa,ib))}h++}g++}e++}}a.M=!0;!b&&a.ta&&1==h&&(a.h[k]=-1,h=0);a.ta=!1;(h||b)&&a.sa&&a.f.drawImage(a.o,0,a.qa,a.m,a.F-a.O,0,0,a.Oc,a.Ob)}else{e=a.ja;f=e+a.A;k=h=g=0;b=a.m;n=0;c=a.F;z=d=0;v=a.la;I=(1<>>t.i;t=x!=t.f?t.b[W].Kb(x,E):t.b[W++].hb(x,E)|t.b[W&t.m].hb(0,E+1)<<8;if(a.M&&t===a.h[g])h+=a.Qa;else{a.h[g]=t;(E=z)&&(t=t>>8|(t&255)<<8);h>E&I,Oc(a,a.Oa,h++,k,W),E+=v;h>n&&(n=h);k=d&&(d=k+ 1)}e+=2;g++;if(h>=a.m&&(h=0,k++,k>a.F))break}a.M=!0;bMissing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ga.aspect);f&&.3<=f&&3.33>=f&&(za("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ua("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Hc(d,e,g,f,c);Qa(d,c)}}); -function Pc(a){this.H=+a.adapter;switch(this.H){case 0:this.I=0;this.P=2;break;default:q("Unrecognized serial adapter #"+this.H);return}this.c=this.f=null;this.M=a.tabSize;this.G=a.charBOL;this.g=0;this.B=!1;this.o=!0;r.call(this,"SerialPort",a,Pc);var b=a.binding;if("console"==b)this.f="";else{var c;a=Qc;b&&(void 0===c&&(c="Panel"),(c=Pa(c,this.id))&&(b=c.v[b])&&this.U(null,a,b))}this.h="";this.b=this.Fa=this.ia=null;this.exports={connect:this.Ib,receiveData:this.nb,receiveStatus:this.rd}}w(Pc); +function Pc(a){this.H=+a.adapter;switch(this.H){case 0:this.I=0;this.P=2;break;default:q("Unrecognized serial adapter #"+this.H);return}this.c=this.f=null;this.M=a.tabSize;this.G=a.charBOL;this.g=0;this.B=!1;this.o=!0;r.call(this,"SerialPort",a,Pc);var b=a.binding;if("console"==b)this.f="";else{var c;a=Qc;b&&(void 0===c&&(c="Panel"),(c=Pa(c,this.id))&&(b=c.v[b])&&this.U(null,a,b))}this.h="";this.b=this.Ea=this.ia=null;this.exports={connect:this.Ib,receiveData:this.nb,receiveStatus:this.rd}}w(Pc); var Rc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Sc=[!1,0,0,133,142,39,238],Qc="buffer";l=Pc.prototype; l.U=function(a,b,c,d){var e=this;switch(b){case Qc:return this.v[b]=this.c=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==c.length){var d=ia(c[0]);if(d!=this.Ya)return;c=ia(c[1]);if(this.b=Oa(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.o);if(this.Fa=e.receiveData){this.o=a;this.ia=e.receiveStatus;this.status(this.za+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +l.Ib=function(a){if(!this.b){var b=Ab(this.w,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ia(c[0]);if(d!=this.Ya)return;c=ia(c[1]);if(this.b=Oa(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.o);if(this.Ea=e.receiveData){this.o=a;this.ia=e.receiveStatus;this.status(this.za+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; l.fa=function(a,b){if(!b)if(this.Ib(this.o),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.ha=function(a){return a?this.save():!0};l.reset=function(){Wc(this)};l.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.s;c[b++]=this.A;c[b++]=this.F;c[b++]=this.X;c[b++]=this.l;c[b++]=this.m;c[b]=this.u;a.set(0,c);return a.data()};l.restore=function(a){return Wc(this,a[0])}; function Wc(a,b){var c=0;b||(b=Sc);a.s=b[c++];a.A=b[c++];a.F=b[c++];a.X=b[c++];a.l=b[c++];a.m=b[c++];a.u=b[c];return!0}function Xc(a,b){var c=a.u&b;b&15||(c>>=4);b=Rc[c];c=((a.l&12)>>2)+6;a.l&16&&c++;c+=((a.l&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Tc(a,b){return a.B||a.X&2?!1:(a.A=b,a.X|=2,hc(a.a,a.P),!0)} -l.nb=function(a){null!=a&&(this.h="number"!=typeof a?a:this.h+String.fromCharCode(a));this.h&&(Tc(this,this.h.charCodeAt(0))&&(this.h=this.h.substr(1)),this.h&&this.a&&Kb(this.a,this.R,Xc(this,15)));return!0};l.rd=function(a){this.X&=-129;a&64&&(this.X|=128)};function Fc(a,b){a.X|=5;b&&a.Fa&&a.Fa.call(a.b,b)}l.Wc=function(){var a=this.A;this.X&=-3;return a};l.Vc=function(){return this.X}; -l.ed=function(a,b){this.F=b;this.X&=-6;if(19==b)this.B=!0;else if(17==b)this.B=!1;else if(this.Fa&&this.Fa.call(this.b,b),this.c)if(8==b)this.c.value=this.c.value.slice(0,-1),0":String.fromCharCode(b);var c=a.length;9==b?(b=this.M||8,c=b-this.g%b,this.M&&(a=" ".slice(0,c))):13==b&&(this.g=c=0,a="\n");this.G&&!this.g&&c&&(a=String.fromCharCode(this.G)+a);this.c.value+=a;this.c.scrollTop=this.c.scrollHeight;this.g+=c}else if(null!= -this.f){if(10==b||1024<=this.f.length)this.ea(this.f),this.f="";10!=b&&(this.f+=String.fromCharCode(b))}this.a&&Kb(this.a,this.T,Xc(this,240))};l.dd=function(a,b){this.s?(this.ia&&(b^this.m)&34&&(a=0,a=this.o?a|(b&32?32:0)|(b&2?320:0):a|(b&32?16:0)|(b&2?1048576:0),this.ia.call(this.b,a)),this.m=b,this.m&64&&(this.s=!1)):(this.l=b,this.s=!0)};l.cd=function(a,b){this.u=b};var Uc={0:Pc.prototype.Wc,1:Pc.prototype.Vc},Vc={0:Pc.prototype.ed,1:Pc.prototype.dd,2:Pc.prototype.cd}; +l.nb=function(a){null!=a&&(this.h="number"!=typeof a?a:this.h+String.fromCharCode(a));this.h&&(Tc(this,this.h.charCodeAt(0))&&(this.h=this.h.substr(1)),this.h&&this.a&&Kb(this.a,this.R,Xc(this,15)));return!0};l.rd=function(a){this.X&=-129;a&64&&(this.X|=128)};function Fc(a,b){a.X|=5;b&&a.Ea&&a.Ea.call(a.b,b)}l.Wc=function(){var a=this.A;this.X&=-3;return a};l.Vc=function(){return this.X}; +l.ed=function(a,b){this.F=b;this.X&=-6;if(19==b)this.B=!0;else if(17==b)this.B=!1;else if(this.Ea&&this.Ea.call(this.b,b),this.c)if(8==b)this.c.value=this.c.value.slice(0,-1),0":String.fromCharCode(b);var c=a.length;9==b?(b=this.M||8,c=b-this.g%b,this.M&&(a=" ".slice(0,c))):13==b&&(this.g=c=0,a="\n");this.G&&!this.g&&c&&(a=String.fromCharCode(this.G)+a);this.c.value+=a;this.c.scrollTop=this.c.scrollHeight; +this.g+=c}else if(null!=this.f){if(10==b||1024<=this.f.length)this.ea(this.f),this.f="";10!=b&&(this.f+=String.fromCharCode(b))}this.a&&Kb(this.a,this.T,Xc(this,240))};l.dd=function(a,b){this.s?(this.ia&&(b^this.m)&34&&(a=0,a=this.o?a|(b&32?32:0)|(b&2?320:0):a|(b&32?16:0)|(b&2?1048576:0),this.ia.call(this.b,a)),this.m=b,this.m&64&&(this.s=!1)):(this.l=b,this.s=!0)};l.cd=function(a,b){this.u=b};var Uc={0:Pc.prototype.Wc,1:Pc.prototype.Vc},Vc={0:Pc.prototype.ed,1:Pc.prototype.dd,2:Pc.prototype.cd}; Aa(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;b$c){if(bd(d,this.o)){this.h=new G(this,"1.30.5","failsafe");bd(this.h)&&(gd(this,d),a=2,hd(this.h));this.h.set("timestamp",la());id(this.h);var e=this.b&&!this.w;if(1==a||oa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=fd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?bd(d,g):("error"== +function ed(a,b){var c=new G(a,"1.31.0","validate");if(bd(c)&&fd(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Yc.prototype; +l.Ta=function(a){void 0===a&&(a=this.b||(this.o?1:$c));if(!this.f){this.f++;var b=!1,c=!1;this.B=!1;var d=this.s||new G(this,"1.31.0");if(-1==a)b=!0;else if(a>$c){if(bd(d,this.o)){this.h=new G(this,"1.31.0","failsafe");bd(this.h)&&(gd(this,d),a=2,hd(this.h));this.h.set("timestamp",la());id(this.h);var e=this.b&&!this.w;if(1==a||oa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=fd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?bd(d,g):("error"== f&&"no machine state"!=g?(this.K("Error: "+g),"unable to verify user"==g&&(sa("user",""),this.c=null)):this.ea(f+": "+g),hd(d),bd(d)?(c=fd(d),e=!0):c=!1))}e&&ed(this,c?d:null)}else 2==a&&d.clear()}else ed(this);delete this.o;delete this.s}e=Na(this.id);for(f=0;fa[1];a=a[2];this.I=!0;this.j.Y=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(jd(this,this.a,b,c,a),this.a.Sa());this.B&&(gd(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.f=0}; -function gd(a,b){if(oa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.5"};d.url=a.H;d.user=c;d.type="bug";d.data=b;ma("http://www.pcjs.org/api/v1/report",d,!0)}} -function kd(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new G(a,"1.30.5"),g=new G(a,"1.30.5","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ha&&(c&&Eb(a.a),d=a.a.ha(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.Y=!1,!1===d&&(e=null)));for(var h=Na(a.id),k=0;k/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,v=/( [a-z]+=)(['"])(.*?)\2/g;n=v.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); a=a.replace(d[0],g);rd(a,b,c)}})}else c(a,null)} function sd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);k&&(--od||Da(!0));k=!1}var g,h,k=!0;od++;La[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));v.appendChild(z)}c|| -(c="/versions/pc8080/1.30.5/components.xsl");n=function(d,h){h?pd(c,null,null,!1,e,function(d,k){k?(Ma(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--od||Da(!0)):f("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),--od||Da(!0)):f("invalid machine element: "+ +(c="/versions/pc8080/1.31.0/components.xsl");n=function(d,h){h?pd(c,null,null,!1,e,function(d,k){k?(Ma(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--od||Da(!0)):f("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),--od||Da(!0)):f("invalid machine element: "+ a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?pd(b,a,d,!0,e,n):qd(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(I){f(I.message)}return k}window.embedPC8080=function(a,b,c,d){Da(!1);return sd(a,b,c,d)};window.enableEvents=Da;window.sendEvent=Ea;})(); diff --git a/versions/pcjs/1.21.0/common.css b/versions/pcjs/1.21.0/common.css deleted file mode 100644 index 48999bc28..000000000 --- a/versions/pcjs/1.21.0/common.css +++ /dev/null @@ -1,262 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pcjs/1.21.0/common.xsl b/versions/pcjs/1.21.0/common.xsl deleted file mode 100644 index 3966e4572..000000000 --- a/versions/pcjs/1.21.0/common.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pcjs/1.21.0/components.css b/versions/pcjs/1.21.0/components.css deleted file mode 100644 index b0e03456c..000000000 --- a/versions/pcjs/1.21.0/components.css +++ /dev/null @@ -1,148 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 19px; - vertical-align: middle; - float: left; - font-family: "Lucida Console", monospace; -} -.pcjs-control textarea { - font-family: Monaco, monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; -} -.pcjs-register { - font-family: "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 19px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - line-height: 19px; - background-color: #000000; -} -.pcjs-video-object { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-video-object textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } -} diff --git a/versions/pcjs/1.21.0/components.xsl b/versions/pcjs/1.21.0/components.xsl deleted file mode 100644 index 7676188f4..000000000 --- a/versions/pcjs/1.21.0/components.xsl +++ /dev/null @@ -1,1117 +0,0 @@ - - - - - - - - - - - pc - pcjs - 1.21.0 - www.pcjs.org - - - - - - - - - - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:,stepping:'' - - - - - - - - - - - - - - - 5150 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - 7 - - - - - - - 256 - - - - - - - 224 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - black - - - - - - - - - - - - - - false - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 20 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - -
    diff --git a/versions/pcjs/1.21.0/document.css b/versions/pcjs/1.21.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.0/document.xsl b/versions/pcjs/1.21.0/document.xsl deleted file mode 100644 index 8e48d1c8d..000000000 --- a/versions/pcjs/1.21.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.0/machine.xsl b/versions/pcjs/1.21.0/machine.xsl deleted file mode 100644 index 749638e68..000000000 --- a/versions/pcjs/1.21.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.0/manifest.xsl b/versions/pcjs/1.21.0/manifest.xsl deleted file mode 100644 index 140713a75..000000000 --- a/versions/pcjs/1.21.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.0/outline.xsl b/versions/pcjs/1.21.0/outline.xsl deleted file mode 100644 index 3157a1eb0..000000000 --- a/versions/pcjs/1.21.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.0/pc-dbg.js b/versions/pcjs/1.21.0/pc-dbg.js deleted file mode 100644 index cb7fe4a0f..000000000 --- a/versions/pcjs/1.21.0/pc-dbg.js +++ /dev/null @@ -1,803 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})} -function la(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.nh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Cb(a.x,a.y,a.$c,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Cb(a.x,a.y,a.$c*b/c|0,a.A),a.x+=b.$c,a.$c-=b.$c);return b}m=Ab.prototype; -m.Pb=function(a,b,c,d){return this.da&&this.da.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.C&&this.C.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Gc=function(a,b,c,d){this.da=a;this.ea=b;this.F=c;this.ha=d;this.C=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.ge=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.fa?b=a.V:2==a.fa&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Ne)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ja&&a.ka){e=a.ja.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ja,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.ra[(k&h.Gb)>>>h.La].oe(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ja,0,360,e,360,a.pb,a.Db,a.Sa,a.bb)}a.Ca= -c}}}m.od=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Bi++]={Pk:b,Qd:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Na=10;a.B=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.B,a.U);a.B+=a.pa;null!=c&&(16!=a.Sb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.B,a.U),a.B+=a.pa);d&&(a.B+=a.pa*d);e&&(a.B=a.Na,a.U+=(a.W+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Mb=1<>2;this.A=this.Mb-1;this.U=this.W/this.Mb|0;this.ea=this.U-1;this.B=[];this.C=[];this.da=this.V=!1;this.Y=[];this.fa=[];a=new B;Mb(a,this.ha);this.ra=Array(this.U);for(b=0;b>>a.La;0a.Mb?a.Mb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Le+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Le){k=g.size-(b-h);k>c&&(k=c);g.Le=b-g.Da+k;c-=k;b=h+a.Mb;continue}}return Ub(a,1,b,c)}g=a.ra[f];b=new B(b,k,a.Mb,d,e);Mb(b,a.ha,g);a.ra[f++]=b;b=h+a.Mb;c-=k}return 0>=c?(Vb(a.F),!0):Ub(a,2,b,c)} -function Sb(a,b){if(32==a.N)b?a.L&&(Wb(a,1048576,1048576,a.L),a.L=null):a.L||(a.L=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.ra[c].pf(b,a):this.ra[c++].jc(b,a)|this.ra[c&this.ea].jc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.ra[d].cg(c,b):a.ra[d++].oe(c,b)|a.ra[d&a.ea].oe(0,b+1)<<8}m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].uc(a&this.A,b&255,a)};m.ib=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.ra[d].wf(c,b&65535,a):(this.ra[d++].uc(c,b&255,a),this.ra[d&this.ea].uc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.ra[e].ri(d,c&65535,b):(a.ra[e++].uf(d,c&255,b),a.ra[e&a.ea].uf(0,c>>8&255,b+1))} -m.mb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Si=function(){return null};function gc(a,b){if(void 0===b)return a.da=!a.da,a.da;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&nc(a.ha,b,k)}else a.ha&&(pb(a.ha,a,b,k,e),a.V&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Ub(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.ca=null;this.C=0;this.Da=a;this.Le=b;this.size=c||0;this.type=d||vc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Va=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.ca=a[0],this.C=a[1],Yb(this,e.hh());else if(vb)this.L=new ArrayBuffer(c),this.qa=new DataView(this.L,0,c),this.Xa=new Uint8Array(this.L,0,c),this.ce=new Uint16Array(this.L,0,c>>1),this.ca=new Int32Array(this.L,0,c>>2),Yb(this,ac?bc:cc);else{this.ca=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,ih:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.uc(a++,b&255,c++);this.uc(a++,b>>8&255,c++);this.uc(a++,b>>16&255,c++);this.uc(a,b>>>24,c)},Fa:function(a){return this.ca[a>>2]>>>((a&3)<<3)&255},vb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b]>>a;return 24>a?c&65535:c&255|(this.ca[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b];a&&(c=c>>>a|this.ca[b+1]<<32-a);return c},nc:function(a,b){var c=a>>2,d=(a&3)<<3;this.ca[c]=this.ca[c]&~(255<>2,d=(a&3)<<3;24>d?this.ca[c]=this.ca[c]& -~(65535<>8);this.Va=!0},gd:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ca[c]=b;this.Va=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.oe(a,b)},pb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Sa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ji(a,b)},mc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.da(a,b,c):this.uf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.da(a,b,c):this.ri(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.da(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.ca[this.A]|= -this.ea;this.zb.ca[this.B]|=this.ea;return this.Bd.jc(a,b)},Jb:function(a,b){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.ea;return this.Bd.pf(a,b)},eb:function(a,b){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.ea;return this.Bd.Kd(a,b)},Jc:function(a,b,c){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.V;this.Bd.uc(a,b,c)},Fd:function(a,b,c){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.V;this.Bd.wf(a,b,c)},re:function(a,b,c){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|= -this.V;this.Bd.vf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Tb:function(a,b){return Fc(this.F,b,!1).pf(a,b)},fb:function(a,b){return Fc(this.F,b,!1).Kd(a,b)},Uc:function(a,b,c){Fc(this.F,c,!0).uc(a,b,c)},Gd:function(a,b,c){Fc(this.F,c,!0).wf(a,b,c)},qd:function(a,b,c){Fc(this.F,c,!0).vf(a,b,c)},Ca:function(a){return this.Xa[a]},Y:function(a){return this.Xa[a]},Ia:function(a){this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=32;this.jc=this.Y;return this.Xa[a]},Sb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},Db:function(a){this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=32;this.pf=this.pa;return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},Na:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>>2]},bb:function(a){this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=32;this.Kd=this.ga;return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>> -2]},Ub:function(a,b){this.Xa[a]=b;this.Va=!0},sa:function(a,b){this.Xa[a]=b;this.Va=!0},be:function(a,b){this.Xa[a]=b;this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=96;this.uc=this.sa;this.Bd.Va=!0},pd:function(a,b){this.qa.setUint16(a,b,!0);this.Va=!0},za:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.Va=!0},Ed:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=96;this.wf=this.za;this.Bd.Va=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Va=!0},wa:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.Va=!0},hd:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=96;this.vf=this.wa;this.Bd.Va=!0}};function Mb(a,b,c){a.ha=b;a.Re=a.Se=0;c&&(c.F&&(a.F=c.F),(a.Re=c.Re)&&zc(a,Ac,!1),(a.Se=c.Se)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Se&&(a.uc=a.N?a.da:a.uf,a.wf=a.N?a.W:a.ri,a.vf=a.N?a.U:a.ua):0===--a.Re&&(a.jc=a.oe,a.pf=a.cg,a.Kd=a.ji)}function Bc(a,b,c){c&&a.Se||(a.uc=!a.N&&b[3]||a.da,a.wf=!a.N&&b[4]||a.W,a.vf=!a.N&&b[5]||a.U);if(c||void 0===c)a.uf=b[3]||a.da,a.ri=b[4]||a.W,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Re||(a.jc=b[0]||a.ja,a.pf=b[1]||a.ka,a.Kd=b[2]||a.fa);if(c||void 0===c)a.oe=b[0]||a.ja,a.cg=b[1]||a.ka,a.ji=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.vb,B.prototype.Ya,B.prototype.nc,B.prototype.td,B.prototype.gd],Ac=[B.prototype.Ea,B.prototype.pb,B.prototype.Sa,B.prototype.mc,B.prototype.sd,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.eb,B.prototype.Jc,B.prototype.Fd,B.prototype.re],Hc=[B.prototype.Ka,B.prototype.Tb,B.prototype.fb,B.prototype.Uc,B.prototype.Gd,B.prototype.qd]; -if(vb)var cc=[B.prototype.Ca,B.prototype.Sb,B.prototype.Na,B.prototype.Ub,B.prototype.pd,B.prototype.Vc],bc=[B.prototype.Y,B.prototype.pa,B.prototype.ga,B.prototype.sa,B.prototype.za,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.bb,B.prototype.be,B.prototype.Ed,B.prototype.hd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.X={};this.X.Hd=c;this.X.Ud=d;this.X.tg=Math.round(this.X.Hd/1E4)/100;this.X.Ce=this.X.tg*this.X.Ud;this.la.Ib=!1;this.la.fh=!1;this.la.ah=a.autoStart;this.la.Oi=!1;c=Ya.autostart||Ya.autoStart;void 0!==c&&(this.la.ah="true"==c?!0:"false"==c?!1:null);this.la.We=!1;this.X.If=this.X.gf=0;this.X.Jf=a.csStart;this.X.ff=a.csInterval;this.X.hf=a.csStop;this.gd=[];this.si=this.Ie.bind(this);sb(this)}db(Lc); -var Mc=["power","reset"];m=Lc.prototype;m.Gc=function(a,b,c,d){this.da=a;this.ea=b;this.ha=d;for(b=0;b=a.X.gf&&(a.X.gf+=a.X.ff,c=!0);0<=a.X.hf&&a.X.hf<=Vc(a)&&(a.X.ff=a.X.hf=-1,Oc(a),a.Xb(),c=!0);c&&a.O(Vc(a)+" cycles: checksum="+r(a.X.If))}}m.od=function(){this.da&&this.da.Xd&&this.da.Xd.od()}; -function Wc(a,b){for(var c=0;c>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Qd=0;h<=f;)g=d.ra[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Qd++),h++;c.A=e;c.za=c.A.Qd*c.ea.Mb/691200;d=0;c.A.Bi=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.$c>1,h.U+=(h.W>>1)-2,Jb(h,e),h.sa&&(h.N.restore(),h.sa=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.Y,0,0,c.Y.width,c.Y.height,c.vb,c.Jb,c.Ya,c.eb);c.Ja=!1}} -m.Tc=function(){if(this.gd.length){var a=0,b=0;window&&(a=window.scrollX,b=window.scrollY);this.gd[0].Tc();window&&window.scrollTo(a,b)}}; -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.da)if(a=d.da,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.X.tg&&(c=Math.round(c/a.X.Ud));return c}function Nc(a){a.X.me=0;a.Ub=a.Jb=a.eb=a.A=0;Oc(a);Yc(a,1)} -function Yc(a,b,c){var d=!1;if(void 0!==b){.8>a.X.me/a.X.Ce?b=1:d=!0;a.X.Ud=b;b=a.X.tg*a.X.Ud;if(a.X.Ce!=b){a.X.Ce=b;b=a.X.Ce.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.Tc()}$c(a,a.Jb);a.Jb=0;a.X.ef=pa();a.X.De=0;ad(a);return d} -m.Ie=function(a){if(qb(this,!0)){if(!this.la.Ib){Yc(this);this.da&&this.da.start(this.X.ef,Vc(this));this.la.Ib=!0;this.la.fh=!0;this.N&&bd(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.od(!0);a&&this.Tc()}this.X.th>=this.X.Hd&&ad(this,!0);this.X.Mf=0;this.X.ug=pa();this.X.De&&(a=this.X.ug-this.X.De,a>this.X.Xi&&(this.X.ef+=a,this.X.ef>this.X.ug&&(this.X.ef=this.X.ug)));try{do{var c=this.la.We?1:this.X.gm;if(this.N){cd(this.N);var d=this.N;a=c;var e=d.L[0];if(e.xe){var f=(Vc(d.F,d.pa)- -e.xd)/d.pb|0,g=dd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.pb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.Ca-Vc(k.F,k.pa);0l&&(a=l)}c=a}try{this.tf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.eb-this.A;this.Jb+=n;this.X.Mf+=n;$c(this,0,!0);Uc(this,n);this.X.Lf-=n;0>=this.X.Lf&&(this.X.Lf+=this.X.Zi,Wc(this));this.X.Kf-=n;0>=this.X.Kf&&(this.X.Kf+=this.X.Yi,this.od());this.X.jf-=n;if(0>=this.X.jf){this.X.jf+=this.X.sh;break}}while(this.la.Ib)}catch(q){this.Xb(); -Pc(this);this.da&&this.da.stop(pa(),Vc(this));qb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.si;this.X.De=pa();e=this.X.Xi;this.X.Mf&&(e=Math.round(e*this.X.Mf/this.X.sh));e-=this.X.De-this.X.ug;if(f=this.X.De-this.X.ef)this.X.me=Math.round(this.Jb/(10*f))/100,864E5<=f&&(this.Ub=0,this.N&&cd(this.N,!0),Yc(this));if(0>e||this.X.methis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.cm=function(a){var b=this.F;a=b.Nc+(a<<2);var c=b.oa(a);b.aa&=-769;return this.load(b.oa(a+2))+c|0}; -m.bm=function(a){var b=this.F;a<<=3;var c=b.Nc+a|0;if(7<=(b.Pd-c|0))return this.C=!0,a=hd(this,c,a),-1!==a&&(a+=this.Wf),a;C.call(b,13,a|2);return-1};m.Ei=function(a){return this.Aa+a|0};m.Gi=function(a){return this.Aa+a|0};m.Di=function(a,b){return(a>>>0)+b<=this.$b?this.Aa+a|0:this.ng()};m.Hk=function(a,b){return(a>>>0)+b>this.$b?this.Aa+a|0:this.ng()};m.ng=function(){C.call(this.F,13,0);return-1};m.Fi=function(a,b){return(a>>>0)+b<=this.$b?this.Aa+a|0:this.og()}; -m.Ik=function(a,b){return(a>>>0)+b>this.$b?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};function id(a,b,c,d,e){a.ba=b;a.Aa=d;a.Ta=e;a.$b=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Yb=(b&4?a.F.Bc.Aa:a.F.Dc)+(b&65528)|0;4>a.id&&fd(a,!0)}function jd(a,b,c){var d=a.F,e=d.oa(b+2),f=d.oa(b)|(e&255)<<16,d=d.oa(b+4);a.ba=c;a.Aa=f;a.Ta=d;a.$b=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Yb=b;4>a.id&&fd(a,!0)} -function hd(a,b,c,d){var e=a.F;if(!d&&c===a.A.ba)return a.ba=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.$b=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Yb=a.A.Yb,a.A.ba=-1,fd(a,!0,!0,!1),a.Aa;a.A.ba=-1;var f=e.oa(b+0),g=e.oa(b+4),h=g&7936,k=e.oa(b+2)|(g&255)<<16,l=e.oa(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.af=!1;if(p&&1==c&&a.B.length){var A=a.B[a.Wf-1];if(A&&!A())return-1}var F=c&3,v=(g&24576)>>13,A=-1,D,H;n|| -b>=e.Dc&&ba.Vb&&(A=-1,!1===p||v==a.Vb||h&1024&&v<=a.Vb))A=E(e),kd(e,E(e),!0),G(e,A),a.af=!0,A=0}else{if(256==h||2304==h)return ld(a,c,p)?a.Aa:-1;if(1024==h)A=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1;break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e, -13,c&65532),-1;2304==p&&(a.vi=k+e.oa(k+100+2)|0,a.Dk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Yb=b,fd(a,!0,!0,!1));return k} -function ld(a,b,c){var d=a.F,e=a.Vb,f=d.Ra.ba,g=d.Ra.Aa;if(!c){if(!(d.Ra.type&512))return C.call(d,13,b&65532),!1;d.ib(d.Ra.Yb+4,d.Ra.wb&=-513)}if(-1===d.Ra.load(b))return!1;var h=d.Ra.Aa;if(!1!==c){if(d.Ra.type&512)return C.call(d,13,b&65532),!1;d.ib(d.Ra.Yb+4,d.Ra.wb|=512)}d.Ra.type=d.Ra.type&-513|d.Ra.wb&512;256==d.Ra.type||768==d.Ra.type?(d.ib(g+14,K(d)),d.ib(g+16,xd(d)),d.ib(g+18,d.G),d.ib(g+20,d.I),d.ib(g+22,d.M),d.ib(g+24,d.H),d.ib(g+26,I(d)),d.ib(g+28,d.P),d.ib(g+30,d.K),d.ib(g+32,d.J),d.ib(g+ -34,d.Wa.ba),d.ib(g+36,d.va.ba),d.ib(g+38,d.ta.ba),d.ib(g+40,d.ub.ba),d.Bc.load(d.oa(h+42)),yd(d,d.oa(h+16)|(c?16384:0)),d.G=d.oa(h+18),d.I=d.oa(h+20),d.M=d.oa(h+22),d.H=d.oa(h+24),d.P=d.oa(h+28),d.K=d.oa(h+30),d.J=d.oa(h+32),d.Wa.load(d.oa(h+34)),d.ub.load(d.oa(h+40)),zd(d,d.oa(h+14),d.oa(h+36)),b=38,g=26,a.Vb>>0)+1)}; -function fd(a,b,c,d){void 0===c&&(c=!!(a.F.ab&1));a.bd=!1;if(c)if(a.load=a.sg,a.Wi=a.bm,a.pc=a.Di,a.qc=a.Fi,void 0===d&&(d=!!(a.F.aa&131072)),d)a.load=a.L,a.pc=a.ea,a.qc=a.qa,a.Vb=a.Kc=3,a.Z=a.Mc=2,a.R=a.Ba=65535,a.Ta=65535,a.$b=a.Ta+1,a.Mc=a.Z,a.Yb=-1,a.af=!1;else{if(!(a.ba&-4))a.pc=a.ng,a.qc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.pc=a.ng);if(a.type&2048||!(a.type&512))a.qc=a.og;1024==(a.type&3072)&&(a.pc==a.Di&&(a.pc=a.Hk),a.qc==a.Fi&&(a.qc=a.Ik),a.bd=!0);b&&6>a.id&&a.ba&-4&&-1!==a.Yb&& -(c=a.Yb+5,d=a.F.Pa(c),d&1||a.F.sc(c,d|1))}b&&(a.Vb=a.ba&3,a.Kc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.Z=2,a.R=65535):(a.Z=4,a.R=-1),a.Mc=a.Z,a.Ba=a.R)}else a.load=a.mh,a.Wi=a.cm,a.pc=a.Ei,a.qc=a.Gi,a.Vb=a.Kc=0,a.Yb=-1,a.af=!1} -function Bd(a){this.ia=a.model||8088;var b=a.stepping;this.nc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.ag=61442;this.mc=1792;this.Yf=28672;this.Ed=4;this.sa=255;this.B=80286<=this.ia?xb:wb;this.U=Cd;this.gg=Dd;this.hg=Ed;this.Ng=Fd;if(80186<=this.ia&&(this.U=Cd.slice(),this.gg=Dd.slice(),this.hg=Ed.slice(),this.sa=31,this.U[15]=Gd,this.U[96]=Hd,this.U[97]=Id,this.U[98]=Jd,this.U[99]=Gd,this.U[100]=Gd,this.U[101]= -Gd,this.U[102]=Gd,this.U[103]=Gd,this.U[104]=Kd,this.U[105]=Ld,this.U[106]=Md,this.U[107]=Nd,this.U[108]=Od,this.U[109]=Pd,this.U[110]=Td,this.U[111]=Ud,this.U[192]=Vd,this.U[193]=Wd,this.U[200]=Xd,this.U[201]=ce,this.U[241]=de,this.gg[7]=ee,this.hg[7]=ee,80286<=this.ia)){this.ag=2;this.mc|=28672;this.Ed=0;this.U[15]=fe;this.Tb=ge.slice();for(a=0;a=this.nc&&(this.Tb[166]=oe,this.Tb[167]=pe)}}this.ie=[];this.je=[];this.le=0;Nc(this);this.la.Sd=this.la.Mi=!1;this.Pg=0;this.jd=this.ra=[];this.La=this.Mb=this.Fa=this.Fd=this.hd=this.Gb=this.vb=0;qe(this)}db(Bd,Lc);function re(a,b,c,d){Gc((d?a.jd:a.ra)[b>>>a.La],c);d&&Vb(a)} -function se(a){var b;if(a.ra===a.jd){a.ra=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Mb(a.ke,a.ha);for(b=0;ba.ye&&(a.bg[a.ye++]=d);a.ra[b]=a.ke}a.Gd=[]}function Vb(a){a.ab&-2147483648&&se(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.jd[(a.Md+e&a.Gb)>>>a.La],g=f.Kd(e);if(!(g&1))return d||te.call(a,b,!1,c),a.qd;if(!(g&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.qd;var h=(b&4190208)>>>10,g=a.jd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Kd(h);if(!(k&1))return d||te.call(a,b,!1,c),a.qd;if(!(k&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.qd;c=a.jd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.ra[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&ac&&c.ca&&!c.controller&&!c.Re&&!c.Se?(b.Xa=c.Xa,b.ce=c.ce,b.ca=c.ca,Yb(b,Kc)):(b.ea=c?yc(32):0,b.V=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.ra[d]=b;a.Gd.push(d);return b}function ue(a){a.ra!==a.jd&&(a.ra=a.jd,a.ke=null,a.Gd=null,a.qd=null)}m=Bd.prototype;m.reset=function(){this.la.Ib&&this.Xb();qe(this);Nc(this);this.la.ud=!1}; -function ve(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function we(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function qe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.fb=0;a.P=0;a.K=0;a.J=0;a.bb=!1;a.ja=a.wa=0;a.Y=0;a.Og=0;a.L=0;a.ab=65520;a.Nc=0;a.Pd=1023;a.aa=a.Sa=0;a.Vc=a.td=a.Uc=a.Wc=0;a.pb=-1;a.Jc=a.pd=-1;a.Ge=a.W=-1;a.va=new ed(a,1,"CS");a.ub=new ed(a,2,"DS");a.Wa=new ed(a,2,"ES");a.ta=new ed(a,3,"SS");G(a,0);kd(a,0);if(80386<=a.ia){switch(a.nc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.ab=16;a.ki=0;a.pe=0;a.Md=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Be=[null,null,null,null,null,null,0,0];a.Nb=new ed(a,2,"FS");a.Ob=new ed(a,2,"GS");ue(a)}a.of=new ed(a,0,"NULL");a.ka=a.ub;a.Ka=a.ta;a.S=a.Ga=0;a.D=a.C=-1;a.ac=a.of;a.ua=0;if(80286>a.ia)zd(a,0,65535);else{a.Dc=0;a.zd=65535;a.Bc=new ed(a,5,"LDT",!0);a.Ra=new ed(a,4,"TSS",!0);a.Ea=new ed(a,6,"VER",!0);zd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.nf=(b>>>0)+(a.va.Ta>>>0)+1}yd(a,0);md(a)} -function xe(a,b){b.ba&65528&&b.Kc>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.ra[g>>>a.La].Od(g&a.Fa,f,a):Gc(a.ra[g>>>a.La],f)}c>>=2;d>>=4}} -function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}}function md(a,b,c){void 0===b&&(b=!!(a.ab&1));void 0===c&&(c=!!(a.aa&131072));a.Ng=b&&!c?gf:Fd;fd(a.va,!1,b,c);fd(a.ub,!1,b,c);fd(a.ta,!1,b,c);fd(a.Wa,!1,b,c);80386<=a.ia&&(fd(a.Nb,!1,b,c),fd(a.Ob,!1,b,c));bf(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.ub.save(),e=this.ta.save(),f=this.Wa.save(),g;null!=this.Dc?(g=[this.ab,this.Dc,this.zd,this.Nc,this.Pd,this.Bc.save(),this.Ra.save(),this.Sa],80386<=this.ia&&(g.push(this.ki),g.push(this.pe),g.push(this.Md),g.push(this.Ja),g.push(this.Be))):g=null;b=[b,c,d,e,f,g,xd(this)];80386<=this.ia&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ga,this.ua,this.D,this.C]);N(a,3,[0,this.Ub,this.X.Ud]);b=this.ea;c=!!(this.ab&-2147483648);d=0;e=[];(f=!b.L&&b.wg==b.Gb)||Sb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Vb;bf(a)}function zd(a,b,c,d){var e=a.va;e.Wf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Wf&a.va.R)),a.va.af):null} -function mf(a,b){var c=(a.Ha>>>0)+b;c>a.nf&&(8088>=a.ia||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.nf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ha=a.Ge}function I(a){return a.fb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.fb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Vc=d,a.Uc=b):(a.Vc=b,a.Uc=d);a.td=c;a.Wc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Wc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.aa&=-2,(a.Vc^(a.Vc^a.td)&(a.td^a.Uc))&a.resultType&-2147450752&&(a.aa|=1),a.resultType&=-2);return a.aa&1}function qf(a){a.resultType&2&&(a.aa&=-5,38505>>((a.Wc^a.Wc>>4)&15)&1&&(a.aa|=4),a.resultType&=-3);return a.aa&4} -function rf(a){a.resultType&4&&(a.aa&=-17,(a.Uc^a.Vc^a.td)&16&&(a.aa|=16),a.resultType&=-5);return a.aa&16}function sf(a){a.resultType&8&&(a.aa&=-65,a.Wc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.aa|=64),a.resultType&=-9);return a.aa&64}function tf(a){a.resultType&16&&(a.aa&=-129,a.Wc&a.resultType&-2147450752&&(a.aa|=128),a.resultType&=-17);return a.aa&128} -function uf(a){a.resultType&32&&(a.aa&=-2049,(a.Vc^a.Uc)&(a.td^a.Uc)&a.resultType&-2147450752&&(a.aa|=2048),a.resultType&=-33);return a.aa&2048}function xf(a){a.resultType&=-2;a.aa&=-2}function Cf(a){a.resultType&=-5;a.aa&=-17}function Df(a){a.resultType&=-9;a.aa&=-65}function zf(a){a.resultType&=-33;a.aa&=-2049}function wf(a){a.resultType&=-2;a.aa|=1}function Ef(a){a.resultType&=-5;a.aa|=16}function Ff(a){a.resultType&=-9;a.aa|=64}function yf(a){a.resultType&=-33;a.aa|=2048} -function xd(a){return a.aa&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.ab&1|65520;a.ab=a.ab&-65536|b&65535;a.ab&1&&md(a,!0)}function yd(a,b,c){a.ab&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.aa&12288:a.Sa=(b&12288)>>12;c>a.Sa&&(b=b&-513|a.aa&512);a.resultType=128;a.aa=a.aa&~(a.mc|2261)|b&(a.mc|2261)|a.ag;a.aa&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.ab&1&&(a.pa>a.Sa||a.aa&131072)&&a.Ra.vi)for(var f=a.Ra.vi+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.jd:a.ra)[(b&a.vb)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.oe(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.oa=function(a){var b=a&this.Fa,c=(a&this.vb)>>>this.La;this.A-=this.B.Dg;if(b>>this.La;if(b>>this.La].uc(a&this.Fa,b&255,a)}; -m.ib=function(a,b){var c=a&this.Fa,d=(a&this.vb)>>>this.La;this.A-=this.B.Dg;c>8&255,a+1))};m.mb=function(a,b){var c=a&this.Fa,d=(a&this.vb)>>>this.La;this.A-=this.B.Dg;if(c>>=8}}; -function Jf(a,b,c){a.ac=b;a.Ca=c&a.Ba;a.D=b.pc(a.Ca,1);return a.S&1?0:a.Pa(a.D)}function P(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.ac=b;a.Ca=c&a.Ba;a.D=b.pc(a.Ca,a.Z);return a.S&1?0:a.rb(a.D)}function R(a,b){a.ac=a.ka;a.Ca=b&a.Ba;a.D=a.ac.pc(a.Ca,2);return a.S&1?0:a.oa(a.D)}function Mf(a,b){a.ac=a.Ka;a.Ca=b&a.Ba;a.D=a.ac.pc(a.Ca,2);return a.S&1?0:a.oa(a.D)}function S(a,b){a.ac=a.ka;a.Ca=b&a.Ba;a.D=a.ac.pc(a.Ca,4);return a.S&1?0:a.na(a.D)} -function Nf(a,b){a.ac=a.Ka;a.Ca=b&a.Ba;a.D=a.ac.pc(a.Ca,4);return a.S&1?0:a.na(a.D)}function Of(a,b){a.S&2||a.sc(a.ac.qc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.ib(a.ac.qc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.mb(a.ac.qc(a.Ca,4),b)}function td(a,b,c){return a.rb(b.pc(c,a.Z))}m.xa=function(){var a=mf(this,1),b=this.Pa(this.Ha);this.Ha=a;return b};function Rf(a){var b=mf(a,2),c=a.oa(a.Ha);a.Ha=b;return c}function T(a){var b=mf(a,a.Mc),c=a.dc(a.Ha);a.Ha=b;return c} -m.Ma=function(){var a=mf(this,this.Z),b=this.rb(this.Ha);this.Ha=a;return b};m.T=function(){var a=mf(this,1),b=this.Pa(this.Ha)<<24>>24;this.Ha=a;return b};function E(a){var b=a.rb(a.ga);a.ga=a.ga+a.Z|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function ud(a,b,c,d){c=a.ga-c|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.sc(c,b);break;case 2:a.ib(c,b);break;case 4:a.mb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.Z|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.tc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.aa&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ha,c)){this.Xb();break}c=1}this.S=0;this.U[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ia>=cg?eg(a,13):a.Ea&0||Vf.call(a.F,2),!0;a=a.N;a.ia>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ia||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.da[0]=d|0;2147483648d&&(a.da[1]=-1))}return d} -function wg(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function xg(a){var b=a.B+0&7;return a.C&1<>16}function Cg(a){return a.F.na(a.F.D)}function Dg(a){a.ua[0]=a.F.na(a.F.D);return a.pa[0]}function Eg(a){a.da[0]=a.F.na(a.F.D);a.da[1]=a.F.na(a.F.D+4);return a.W[0]} -function Fg(a){a.ea[0]=a.F.na(a.F.D);a.ea[1]=a.F.na(a.F.D+4);a.ea[2]=a.F.oa(a.F.D+8);return a.ea}m.pi=function(){this.F.mb(this.F.D,this.da[0])};m.lk=function(){this.F.mb(this.F.D,this.da[0]);this.F.mb(this.F.D+4,this.da[1])};m.nk=Xf.prototype.pi;m.mk=Xf.prototype.lk;function Gg(a){a.F.mb(a.F.D,a.ea[0]);a.F.mb(a.F.D+4,a.ea[1]);a.F.ib(a.F.D+8,a.ea[2])} -function Hg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.da[0]=f;a.da[1]=c|(d|e)<<20;return a.W[0]}function Ag(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Ig(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Jg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.rb(b+=d.Z));!(d.ab&1)||d.aa&131072?(a.V=d.rb(b+=d.Z),c=d.rb(b+=d.Z),a.ja=c&2047,a.V|=(c&-4096)<<4,a.fa=-1,a.U=d.rb(b+=d.Z),a.U|=(d.rb(b+=d.Z)&-4096)<<4,a.ga=-1):(a.V=d.rb(b+=d.Z),c=d.rb(b+=d.Z),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.rb(b+=d.Z),a.ga=d.rb(b+=d.Z)&65535);return b+d.Z} -function Ng(a,b){var c=a.F;c.tc(b,a.kc);c.tc(b+=c.Z,Zf(a));c.tc(b+=c.Z,$f(a));if(!(c.ab&1)||c.aa&131072){var d=(a.fa<<4)+a.V;c.tc(b+=c.Z,d);c.tc(b+=c.Z,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.tc(b+=c.Z,d);c.tc(b+=c.Z,d>>4&-4096)}else c.tc(b+=c.Z,a.V),c.tc(b+=c.Z,a.fa|a.ja<<16),c.tc(b+=c.Z,a.U),c.tc(b+=c.Z,a.ga);return b+c.Z}var Og=Math.log(10)/Math.LN2,Pg=Math.LOG2E,Qg=Math.PI,Rg=Math.log(2)/Math.LN10,Sg=Math.LN2,Tg=Math.pow(2,63);function Ug(){this.ma&=-32896;ag(this)} -function Vg(){lg(this,U(this,0),U(this,this.A))}function Wg(){lg(this,U(this,0),U(this,this.A))&&Kg(this)}function Xg(){Wg.call(this)}function Yg(){W(this,0,kg(this,U(this,0),Dg(this)))}function Zg(){this.C&=~(1<>20&2047)-1023),this.da[1]=(this.da[1]|1072693248)&-1073741825,Lg(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1, -U(this,1)*Math.log(U(this,0)+1)/Math.LN2)&&Kg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Tg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Lg(this,a)},6:function(){var a=mg(this,Kg(this));null!=a&&(this.ea[0]= -Jg(a,8),this.ea[1]=Jg(a/1E8,8),this.ea[2]=Jg(a/1E16,2),0>a&&(this.ea[2]|=32768),Gg(this))},7:function(){null!=mg(this,U(this,0),Tg)&&(this.lk(),Kg(this))},48:function(){Zg.call(this);Kg(this)},49:lh,50:gh,51:gh,52:jh}},nh=[Ug,$g,ah,bh,ch,dh,hh,eh,ih,jh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function wh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=2==this.Z?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function yh(a,b){a&1<<(b&(2==this.Z?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function zh(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Ah(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Bh(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Ch(a,b){if(-1===this.D)return yh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ca+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Dh(a,b){if(-1===this.D)return zh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ca+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ca+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ca+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Gh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Wb;this.S|=2;return a}function Hh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Wb;this.S|=2;return a} -function Ih(a){if(this.Sb){var b=this.Sb,c=this.Og,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=mh[c][f]){if(0>nh.indexOf(e)){var f=b.F,g=f.Ge;8087==b.ia&&(f.Ga&16&&g++,f.Ga&32&&g++);b.fa=f.va.ba;b.V=g-f.va.Aa;-1!==f.D&&(b.ga=f.ac.ba,b.U=f.D-f.ac.Aa);b.ja=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Jh(a){if(80186>this.ia)return Kh.call(this,a);C.call(this,13,0);return a}function ee(a){C.call(this,6);return a} -function Kh(a){he.call(this);return a}function Lh(a,b){var c=Mh.call(this,this.T(),b);80386>this.ia&&(this.A-=12);return c}function Nh(a,b){var c;a=this.Ma();c=2==this.Z?Mh.call(this,a,b):Oh.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function Ph(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Qh.call(this,a,b);c&&(this.ja=~this.ja+1|0,this.wa=~this.wa+(this.ja?0:1)|0)} -function Mh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Oh(a,b){Ph.call(this,a,b);this.wa!=this.ja>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ja}function Rh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Kc>=this.pa&&this.Ea.Kc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Kc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function Yh(a,b){if(-1===this.D)return he.call(this),a;kd(this,this.oa(this.D+this.Z));this.A-=this.B.lf;return b} -function Zh(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function $h(a,b){switch(this.L>>3&7){case 4:this.Y=this.G;break;case 5:this.Y=this.I;break;case 6:this.Y=this.M;break;case 7:this.Y=this.H}return b}function ai(a,b){return b} -function bi(a,b){var c=this.L>>3&7;switch(c){case 0:this.Y=this.G;break;case 2:this.Y=this.M;break;case 3:this.Y=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.Y=this.I;break;case 4:this.Y=I(this);break;case 5:this.Y=this.P;break;case 6:this.Y=this.K;break;case 7:this.Y=this.J}}return Zh.call(this,0,b)} -function ci(a,b){switch(this.L>>3&7){case 0:b=this.Wa.ba;break;case 1:b=this.va.ba;break;case 2:b=this.ta.ba;break;case 3:b=this.ub.ba;break;case 4:if(80386<=this.ia){b=this.Nb.ba;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Ob.ba;break}default:C.call(this,6),b=a}-1!==this.C&&sd(this,2);return Zh.call(this,0,b)} -function Qh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function di(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a|b,128)}function vi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a|b,this.Ia)&this.R} -function wi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&255}function xi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&this.R}function yi(){return uf(this)?1:0}function zi(){return pf(this)?1:0}function Ai(){return pf(this)?0:1}function Bi(){return sf(this)?1:0}function Ci(){return sf(this)?0:1}function Di(){return pf(this)||sf(this)?1:0} -function Ei(){return pf(this)||sf(this)?0:1}function Fi(){return tf(this)?1:0}function Gi(){return tf(this)?0:1}function Hi(){return qf(this)?1:0}function Ii(){return qf(this)?0:1}function Ji(){return!tf(this)!=!uf(this)?1:0}function Ki(){return!tf(this)!=!uf(this)?0:1}function Li(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Mi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Ni(a,b){return Oi.call(this,a,b,this.xa())}function Pi(a,b){return Qi.call(this,a,b,this.xa())} -function Ri(a,b){return Oi.call(this,a,b,this.I&31)}function Si(a,b){return Qi.call(this,a,b,this.I&31)}function Ti(a,b){return Ui.call(this,a,b,this.xa())}function Vi(a,b){return Wi.call(this,a,b,this.xa())}function Xi(a,b){return Ui.call(this,a,b,this.I&31)}function Yi(a,b){return Wi.call(this,a,b,this.I&31)}function Zi(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&255} -function $i(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&this.R}function aj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Tf:this.B.Tf;this.S|=2;return a}function bj(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Tf:this.B.Tf;this.S|=2;return a}function cj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function ej(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.di}else this.C=this.D,Of(this,a),this.A-=this.B.ci;return b} -function fj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.di}else this.C=this.D,this.S&2||this.tc(this.ac.qc(this.Ca,this.Z),a),this.A-=this.B.ci;return b} -function gj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c}function hj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a^b,this.Ia)&this.R}function ij(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function jj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function kj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=ij(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ja=d;this.wa=a[0];return!0}function lj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function mj(a){this.ab=a;md(this);this.ab&-2147483648?se(this):ue(this)}function Ad(a){this.Md=a;Vb(this)}function nj(a){this.S|=1;this.Ya.call(this,a);this.A-=-1===this.D?4:5}function Oi(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Qi(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Ui(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Wi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function oj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function pj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Vh:this.B.Uh)+(a<this.pb?(-1!=this.Jc&&(this.va.Vb=3,kf(this,this.Jc),this.Jc=-1),lf(this,this.Ge),-1!=this.pd&&(kd(this,this.pd),this.pd=-1),-1!==this.W&&(G(this,this.fb&~this.ta.Ba|this.W-this.ta.Aa),this.W=-1)):8!=this.pb?(b=0,a=8):(b=0,a=-1,qe(this),e=d=!1)):lf(this,this.Ge);var f=a,g=b,h=32,k=If(this,this.Ha);204!=k||this.Pd||(d=!1);this.aa&131072&&(6==f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);z(this, -h|-2147483648)&&(d=!0);if(z(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked by PCjs Debugger)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Xb())):(this.Oa(f),this.Xb())}if(d&&e)throw-1;if(e)throw this.pb=a,uj.call(this,a,b,c),this.Ge=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;}function te(a,b,c){this.pe=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)} -function ze(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=P(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Kf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Kf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=P(this,this.K);this.A-=this.B.Hc;break;case 5:c=P(this,this.J);this.A-=this.B.Hc;break;case 6:c=P(this,T(this));this.A-=this.B.Id;break;case 7:c=P(this,this.H);this.A-=this.B.Hc;break;case 64:c=P(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=P(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Kf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Kf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=P(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=P(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Kf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=P(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=P(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=P(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Kf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Kf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=P(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=P(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Kf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=P(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break; -case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ae(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.H+this.K);this.C=this.D;break;case 1:b=P(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=P(this,this.K);this.C=this.D;break;case 5:b=P(this,this.J);this.C=this.D;break;case 6:b=P(this,T(this));this.C=this.D;break;case 7:b=P(this,this.H);this.C=this.D;break;case 64:b=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=P(this,this.K+this.T());this.C=this.D;break;case 69:b=P(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=P(this,this.H+this.T());this.C=this.D;break;case 128:b=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=P(this,this.K+T(this));this.C=this.D;break;case 133:b=P(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=P(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.dd;break;case 1:case 2:Of(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Hc;break;case 6:Of(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Be(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.H+this.K);this.C=this.D;break;case 1:c=P(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=P(this,this.K);this.C=this.D;break;case 5:c=P(this,this.J);this.C=this.D;break;case 6:c=P(this,T(this));this.C=this.D;break;case 7:c=P(this,this.H);this.C=this.D;break;case 64:c=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=P(this,this.K+this.T());this.C=this.D;break;case 69:c=P(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=P(this,this.H+this.T());this.C=this.D;break;case 128:c=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=P(this,this.K+T(this));this.C=this.D;break;case 133:c=P(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=P(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.dd;break;case 1:case 2:Of(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Hc;break;case 6:Of(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ce(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Hc;break;case 5:c=R(this,this.J);this.A-=this.B.Hc;break;case 6:c=R(this,T(this));this.A-=this.B.Id;break;case 7:c=R(this,this.H);this.A-=this.B.Hc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function De(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.dd;break;case 1:case 2:Pf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Hc;break;case 6:Pf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ee(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.dd;break;case 1:case 2:Pf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Hc;break;case 6:Pf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Fe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=S(this,this.K);this.A-=this.B.Hc;break;case 5:c=S(this,this.J);this.A-=this.B.Hc;break;case 6:c=S(this,T(this));this.A-=this.B.Id;break;case 7:c=S(this,this.H);this.A-=this.B.Hc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ge(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.dd;break;case 1:case 2:Qf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Hc;break;case 6:Qf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.hb;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Je(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.dd;break;case 1:case 2:Qf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Hc;break;case 6:Qf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.hb;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ke(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.G);break;case 1:c=P(this,this.I);break;case 2:c=P(this,this.M);break;case 3:c=P(this,this.H);break;case 4:c=P(this,xj.call(this,0));break;case 5:c=P(this,T(this));break;case 6:c=P(this,this.K);break;case 7:c=P(this,this.J);break;case 64:c=P(this,this.G+this.T());break;case 65:c=P(this,this.I+this.T());break;case 66:c=P(this,this.M+this.T());break;case 67:c=P(this,this.H+this.T());break;case 68:c=P(this,xj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=P(this,this.K+this.T());break;case 71:c=P(this,this.J+this.T());break;case 128:c=P(this,this.G+T(this));break;case 129:c=P(this,this.I+T(this));break;case 130:c=P(this,this.M+T(this));break;case 131:c=P(this,this.H+T(this));break;case 132:c=P(this,xj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=P(this,this.K+T(this));break;case 135:c=P(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Le(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.G);this.C=this.D;break;case 1:b=P(this,this.I);this.C=this.D;break;case 2:b=P(this,this.M);this.C=this.D;break;case 3:b=P(this,this.H);this.C=this.D;break;case 4:b=P(this,xj.call(this,0));this.C=this.D;break;case 5:b=P(this,T(this));this.C=this.D;break;case 6:b=P(this,this.K);this.C=this.D;break;case 7:b=P(this,this.J);this.C=this.D;break;case 64:b=P(this,this.G+this.T());this.C=this.D;break;case 65:b=P(this,this.I+this.T()); -this.C=this.D;break;case 66:b=P(this,this.M+this.T());this.C=this.D;break;case 67:b=P(this,this.H+this.T());this.C=this.D;break;case 68:b=P(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=P(this,this.K+this.T());this.C=this.D;break;case 71:b=P(this,this.J+this.T());this.C=this.D;break;case 128:b=P(this,this.G+T(this));this.C=this.D;break;case 129:b=P(this,this.I+T(this));this.C=this.D;break;case 130:b=P(this,this.M+T(this));this.C= -this.D;break;case 131:b=P(this,this.H+T(this));this.C=this.D;break;case 132:b=P(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=P(this,this.K+T(this));this.C=this.D;break;case 135:b=P(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Me(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.G);this.C=this.D;break;case 1:c=P(this,this.I);this.C=this.D;break;case 2:c=P(this,this.M);this.C=this.D;break;case 3:c=P(this,this.H);this.C=this.D;break;case 4:c=P(this,xj.call(this,0));this.C=this.D;break;case 5:c=P(this,T(this));this.C=this.D;break;case 6:c=P(this,this.K);this.C=this.D;break;case 7:c=P(this,this.J);this.C=this.D;break;case 64:c=P(this,this.G+this.T());this.C=this.D;break;case 65:c=P(this,this.I+this.T()); -this.C=this.D;break;case 66:c=P(this,this.M+this.T());this.C=this.D;break;case 67:c=P(this,this.H+this.T());this.C=this.D;break;case 68:c=P(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=P(this,this.K+this.T());this.C=this.D;break;case 71:c=P(this,this.J+this.T());this.C=this.D;break;case 128:c=P(this,this.G+T(this));this.C=this.D;break;case 129:c=P(this,this.I+T(this));this.C=this.D;break;case 130:c=P(this,this.M+T(this));this.C= -this.D;break;case 131:c=P(this,this.H+T(this));this.C=this.D;break;case 132:c=P(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=P(this,this.K+T(this));this.C=this.D;break;case 135:c=P(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Ne(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,xj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,xj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,xj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Oe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,xj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Pe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,xj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Qe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,xj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,xj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,xj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Re(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,xj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Se(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,xj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function xj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ia&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.Ee},function(){this.G=lj.call(this,this.G)},function(){this.I=lj.call(this,this.I)},function(){this.M=lj.call(this,this.M)},function(){this.H=lj.call(this,this.H)},function(){G(this,lj.call(this,I(this)))},function(){this.P= -lj.call(this,this.P)},function(){this.K=lj.call(this,this.K)},function(){this.J=lj.call(this,this.J)},function(){this.G=jj.call(this,this.G)},function(){this.I=jj.call(this,this.I)},function(){this.M=jj.call(this,this.M)},function(){this.H=jj.call(this,this.H)},function(){G(this,jj.call(this,I(this)))},function(){this.P=jj.call(this,this.P)},function(){this.K=jj.call(this,this.K)},function(){this.J=jj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Rc},function(){J(this,this.I& -this.R);this.A-=this.B.Rc},function(){J(this,this.M&this.R);this.A-=this.B.Rc},function(){J(this,this.H&this.R);this.A-=this.B.Rc},function(){J(this,I(this)-2&65535);this.A-=this.B.Rc},function(){J(this,this.P&this.R);this.A-=this.B.Rc},function(){J(this,this.K&this.R);this.A-=this.B.Rc},function(){J(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|E(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|E(this);this.A-=this.B.zc},function(){this.M=this.M&~this.R|E(this); -this.A-=this.B.zc},function(){this.H=this.H&~this.R|E(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|E(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|E(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|E(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|E(this);this.A-=this.B.zc},yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,function(){this.za.call(this,dk,this.Ma);this.A-=-1===this.C?1:this.B.Cg},Oj,function(){this.za.call(this, -dk,this.T);this.A-=-1===this.C?1:this.B.Cg},function(){this.Ya.call(this,aj)},function(){this.fa.call(this,bj)},function(){this.Na.call(this,ej)},function(){this.V.call(this,fj)},Qj,Rj,Sj,Tj,function(){this.S|=1;this.fa.call(this,ci)},function(){this.S|=1;this.ka=this.Ka=this.of;this.V.call(this,Th)},function(){var a;this.V.call(this,bi);switch(this.L>>3&7){case 0:a=this.G;this.G=this.Y;wd(this,a);break;case 1:a=this.I;this.I=this.Y;kf(this,a);break;case 2:a=this.M;this.M=this.Y;kd(this,a);break; -case 3:a=this.H;this.H=this.Y;vd(this,a);break;case 4:a=I(this);G(this,this.Y);80386<=this.ia?this.Nb.load(a):wd(this,a);break;case 5:a=this.P;this.P=this.Y;80386<=this.ia?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.Y;kd(this,a);break;case 7:a=this.J,this.J=this.Y,vd(this,a)}},function(){this.S|=1;this.W=this.ga;this.Y=E(this);this.za.call(this,ek,sj);this.W=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-= -3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R; -this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.Z?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.Z?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){tj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=xd(this);a&131072&&3>this.Sa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.aa& -131072&&3>this.Sa)C.call(this,13,0);else{var a=E(this),a=a&65535|this.aa&-65536;yd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.aa|=4):(this.resultType&=-3,this.aa&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.aa|=128):(this.resultType&=-17,this.aa&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(xd(this)&213)<<8;this.A-=this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Pa(this.ka.pc(b, -1));this.G=a|b;this.A-=this.B.Kh},function(){this.G=this.G&~this.R|td(this,this.ka,T(this));this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.sc(this.ka.qc(a,1),b);this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.tc(this.ka.qc(a,this.Z),b);this.A-=this.B.Lh},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ga&256||(this.A-=this.B.Nh));if(a--){var e=this.Pa(this.ka.pc(this.K&c,1));this.sc(this.Wa.qc(this.J&c,1),e);e=this.aa&1024?-1:1;this.K= -this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ga&256||(this.A-=this.B.Nh));if(a--){var e=td(this,this.ka,this.K&c);this.tc(this.Wa.qc(this.J&c,this.Z),e);e=this.aa&1024?-this.Z:this.Z;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d= -this.B.xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.zh,this.Ga&256||(this.A-=this.B.yh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Wa,this.J);this.C=this.D;Gh.call(this,e,f);e=this.aa&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.zh,this.Ga&256||(this.A-=this.B.yh));if(a--){var e=Lf(this,this.ka, -this.K&c),f=Lf(this,this.Wa,this.J&c);this.C=this.D;Hh.call(this,e,f);e=this.aa&1024?-this.Z:this.Z;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.Ee},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.Ee},function(){var a=1,b=0,c=this.Ba,d=this.B.Xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Zh,this.Ga&256||(this.A-=this.B.Yh));if(a--){var e= -this.G;this.sc(this.Wa.qc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.nc&&80564>=this.nc&&!(this.Ga&2048)!=(103!=this.Pa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.aa&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Zh,this.Ga&256||(this.A-=this.B.Yh));if(a--){var e=this.G;this.tc(this.Wa.qc(this.J&c,this.Z),e);this.J=this.J&~c|this.J+(this.aa&1024?-this.Z:this.Z)&c;this.I=this.I&~c|this.I-b& -c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Eh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Gh,this.Ga&256||(this.A-=this.B.Fh));if(a--){var e=this.Pa(this.ka.pc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.aa&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Eh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Gh,this.Ga&256||(this.A-=this.B.Fh));if(a--){var e=td(this,this.ka,this.K&c);this.G= -this.G&~this.R|e;this.K=this.K&~c|this.K+(this.aa&1024?-this.Z:this.Z)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Rh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ga&256||(this.A-=this.B.Sh));if(a--){var e=this.G&255,f=Jf(this,this.Wa,this.J);this.C=this.D;Gh.call(this,e,f);this.J=this.J&~c|this.J+(this.aa&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){var a= -1,b=0,c=this.Ba,d=this.B.Rh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ga&256||(this.A-=this.B.Sh));if(a--){var e=this.G&this.R,f=Lf(this,this.Wa,this.J&c);this.C=this.D;Hh.call(this,e,f);this.J=this.J&~c|this.J+(this.aa&1024?-this.Z:this.Z)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I=this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa(); -this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma(); -this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},Xj,Yj,Xj,Yj,function(){this.V.call(this,Uh)},function(){this.V.call(this,Sh)},function(){this.S|=1;this.Db.call(this,fk,this.xa)},function(){this.S|=1;this.za.call(this,fk, -this.Ma)},Zj,ak,Zj,ak,function(){if(this.aa&131072&&3>this.Sa)C.call(this,13,0);else{var a=this.B.xj;this.pb=-1;uj.call(this,3,null,a)}},function(){var a=this.xa();if(this.aa&131072&&3>this.Sa)C.call(this,13,0);else{var b;a:{b=this.ie[a];if(void 0!==b)for(var c=0;cthis.Sa)C.call(this,13,0);else{var a=this.B.yj; -this.pb=-1;uj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.aa&131072&&3>this.Sa)C.call(this,13,0);else{this.W=this.ga;this.A-=this.B.vj;if(this.ab&1&&this.aa&16384){var a=this.oa(this.Ra.Aa+0);ld(this.va,a,!1)}else{var a=this.pa,b=E(this),c=E(this),d=E(this);if(this.aa&131072)d=d&131071|this.aa&-131072;else if(d&131072){var e=E(this),f=E(this),g=E(this),h=E(this),k=E(this),l=E(this);md(this,!0,!0);kd(this,f);G(this,e);wd(this,g);vd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=zd(this, -b,c,!1)&&(yd(this,d,a),this.le&&ef(this,this.Ha))}this.W=-1}},function(){this.Db.call(this,Uj,oj)},function(){this.za.call(this,2==this.Z?Vj:Wj,oj)},function(){this.Db.call(this,Uj,pj)},function(){this.za.call(this,2==this.Z?Vj:Wj,pj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else wj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.$i}, -function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){bk.call(this,216)},function(){bk.call(this,217)},function(){bk.call(this,218)},function(){bk.call(this,219)},function(){bk.call(this,220)},function(){bk.call(this,221)},function(){bk.call(this,222)},function(){bk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Gj): -this.A-=this.B.Hh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Ih):this.A-=this.B.Jh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Hh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Jh:(O(this,K(this)+a),this.A-=this.B.Ih)},function(){var a=this.xa();Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ha-2)&255,this.A-=this.B.Ch)},function(){var a= -this.xa();Hf(this,a,this.Z,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.Z,this.Ha-2)&this.R,this.A-=this.B.Ch)},function(){var a=this.xa();Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ha-2),this.A-=this.B.Qh)},function(){var a=this.xa();Hf(this,a,this.Z,!1)&&(mc(this.ea,a,this.Z,this.G&this.R,this.Ha-2),this.A-=this.B.Qh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Dh},function(){zd(this,this.Ma(), -Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Dh},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ha-1)&255,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,this.Z,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.Z,this.Ha-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ha-1),this.A-=this.B.Ph)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(mc(this.ea, -a,this.Z,this.G&this.R,this.Ha-1),this.A-=this.B.Ph)},ck,ck,function(){this.S|=132;this.A-=this.B.md},function(){this.S|=68;this.A-=this.B.md},function(){this.aa&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(nf(this),this.ha.Xb()):this.aa&512||(this.ha&&nf(this),this.Xb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.bb=!1;this.Db.call(this,hk,rj);this.bb&&(this.G=this.G&~this.R|this.ja&this.R)},function(){this.bb=!1;this.za.call(this,ik,rj);this.bb&& -(this.G=this.G&~this.R|this.ja&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Sa?C.call(this,13,0):(this.aa&=-513,this.A-=this.B.cj)},function(){this.pa>this.Sa?C.call(this,13,0):(this.aa|=512,this.S|=4,this.A-=2)},function(){this.aa&=-1025;this.A-=2},function(){this.aa|=1024;this.A-=2},function(){this.Db.call(this,Dd,rj)},function(){this.za.call(this,Ed,rj)}],Pj=[qh,di,oh,wi,sh,Zi,gj,Gh],dk=[rh,vi,ph,xi,th,$i,hj, -Hh],ek=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Jh,Jh,Jh,Jh,Jh,Jh,Jh],fk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Kh,Kh,Kh,Kh,Kh,Kh,Kh],Uj=[function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)& -255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Kh,function(a,b){var c=b&this.sa;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}], -Vj=[function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this, -c,e,32768)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Kh,function(a,b){var c=b&this.sa;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],Wj=[function(a,b){var c=a,d=b&this.sa;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.sa;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.sa;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648)); -return a},Kh,function(a,b){var c=b&this.sa;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],hk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Kh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ja=(this.G&255)*a&65535;this.ja&65280?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D? -this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ja=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return wj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>> -16)/c|0;if(d!=d<<24>>24||8086==this.ia&&-128==d)return wj.call(this),a;this.ja=d&255|(b%c&255)<<8;this.bb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],ik=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Kh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,b){if(2==this.Z){b=this.G&65535; -var c=b*a|0;this.ja=c&65535;this.wa=c>>16&65535}else Qh.call(this,a,this.G),80563==this.nc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.Z?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ja=c&65535,this.wa=c>>16&65535,c=32767c):(Ph.call(this,a,this.G),c=this.wa!=this.ja>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D? -this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.Z){if(!a)return wj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return wj.call(this),a;this.ja=c&65535;this.wa=b%a&65535}else{if(!kj.call(this,this.G,this.M,a))return wj.call(this),a;this.ja|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.Z){if(!a)return wj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ia&& --32768==d)return wj.call(this),a;this.ja=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!kj.call(this,c,d,e)||this.ja>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ja=-this.ja),g&&(this.wa=-this.wa),c=!0);if(!c)return wj.call(this),a;this.ja|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Dd=[function(a){var b=a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b& -255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Kh,Kh,Kh,Kh,Kh,Kh],Ed=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|=2;return a},function(a){if(-1===this.D)return Kh.call(this,a);this.W=this.ga; -tj.call(this,a,this.oa(this.D+this.Z));this.A-=this.B.fj;this.S|=2;this.W=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Kh.call(this,a);zd(this,a,this.oa(this.D+this.Z));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ia&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Tj;this.S|=2;return a},Kh];function oe(){this.V.call(this,dj);this.A-=-1===this.D?6:13} -function pe(){this.fa.call(this,cj);this.A-=-1===this.D?12:19}var ge=Array(256);ge[0]=function(){16>(this.Pa(this.Ha)&56)&&(this.S|=1);this.za.call(this,this.Ng,rj)};ge[1]=function(){this.Pa(this.Ha)&16||(this.S|=1);this.za.call(this,jk,rj)};ge[2]=function(){!(this.ab&1)||this.aa&131072?C.call(this,6):this.V.call(this,Rh)};ge[3]=function(){!(this.ab&1)||this.aa&131072?C.call(this,6):this.V.call(this,Xh)}; -ge[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.oa(2054)),this.J=this.oa(2086),this.K=this.oa(2088),this.P=this.oa(2090),this.H=this.oa(2094),this.M=this.oa(2096),this.I=this.oa(2098),this.G=this.oa(2100),jd(this.Wa,2102,this.oa(2084)),jd(this.va,2108,this.oa(2082)),jd(this.ta,2114,this.oa(2080)),jd(this.ub,2120,this.oa(2078)),yd(this,this.oa(2072)),O(this,this.oa(2074)),G(this,this.oa(2092)),this.Dc=this.oa(2126)|this.Pa(2128)<<16,this.zd=this.Dc+this.oa(2130),this.Nc=this.oa(2138)| -this.Pa(2140)<<16,this.Pd=this.Nc+this.oa(2142),jd(this.Bc,2132,this.oa(2076)),jd(this.Ra,2144,this.oa(2070)),this.A-=195)};ge[6]=function(){this.pa?C.call(this,13,0):(this.ab&=-9,this.A-=2)};ge[11]=Gd;ge[166]=Gd;ge[255]=Gd;var M=[];M[5]=Gd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Wa.pc(this.J&this.Ba,204);if(-1!==a){mj.call(this,this.na(a));var b=this.na(a+168),c=(b&24576)>>13;yd(this,this.na(a+4),c);this.Dc=this.na(a+112);this.zd=this.Dc+this.na(a+116);this.Nc=this.na(a+100);this.Pd=this.Nc+this.na(a+104);id(this.Bc,this.na(a+56),this.na(a+120),this.na(a+124),this.na(a+128));id(this.Ra,this.na(a+52),this.na(a+84),this.na(a+88),this.na(a+92));this.J=this.na(a+12);this.K=this.na(a+16);this.P=this.na(a+20);this.H= -this.na(a+28);this.M=this.na(a+32);this.I=this.na(a+36);this.G=this.na(a+40);id(this.Ob,this.na(a+60),this.na(a+132),this.na(a+136),this.na(a+140));id(this.Nb,this.na(a+64),this.na(a+144),this.na(a+148),this.na(a+152));id(this.ub,this.na(a+68),this.na(a+156),this.na(a+160),this.na(a+164));id(this.ta,this.na(a+72),b,this.na(a+172),this.na(a+176));id(this.va,this.na(a+76),this.na(a+180),this.na(a+184),this.na(a+188));id(this.Wa,this.na(a+80),this.na(a+192),this.na(a+196),this.na(a+200));O(this,this.na(a+ -8));G(this,this.na(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Qj;M[17]=Rj;M[18]=Sj;M[19]=Tj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.ab;break;case 2:a=this.pe;break;case 3:a=this.Md;break;default:he.call(this);return}we(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(we(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7);switch((a&56)>>3){case 0:mj.call(this,b);this.A-=10;break;case 2:this.pe=b;this.A-=4;break;case 3:Ad.call(this,b);this.A-=5;break;default:he.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(a=ve(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Be[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Be[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[144]=function(){nj.call(this,yi)}; -M[145]=function(){nj.call(this,yi)};M[146]=function(){nj.call(this,zi)};M[147]=function(){nj.call(this,Ai)};M[148]=function(){nj.call(this,Bi)};M[149]=function(){nj.call(this,Ci)};M[150]=function(){nj.call(this,Di)};M[151]=function(){nj.call(this,Ei)};M[152]=function(){nj.call(this,Fi)};M[153]=function(){nj.call(this,Gi)};M[154]=function(){nj.call(this,Hi)};M[155]=function(){nj.call(this,Ii)};M[156]=function(){nj.call(this,Ji)};M[157]=function(){nj.call(this,Ki)};M[158]=function(){nj.call(this,Li)}; -M[159]=function(){nj.call(this,Mi)};M[160]=function(){ud(this,this.Nb.ba,this.Z,2);this.A-=this.B.Fe};M[161]=function(){this.W=this.ga;var a=E(this);this.Nb.load(a);this.A-=this.B.zc;this.W=-1};M[163]=function(){this.fa.call(this,Ch);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.Z?Ni:Pi);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.Z?Ri:Si);this.A-=-1===this.D?3:7};M[168]=function(){ud(this,this.Ob.ba,this.Z,2);this.A-=this.B.Fe}; -M[169]=function(){this.W=this.ga;var a=E(this);this.Ob.load(a);this.A-=this.B.zc;this.W=-1};M[171]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.Z?Ti:Vi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.Z?Xi:Yi);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.Z?Mh:Oh)};M[178]=function(){this.V.call(this,Yh)};M[179]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.V.call(this,Vh)};M[181]=function(){this.V.call(this,Wh)}; -M[182]=function(){this.Na.call(this,$h);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.fb=this.fb&~this.R|this.G>>8&255;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.Y}this.A-=-1=== -this.D?3:6};M[183]=function(){sd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.fb=this.fb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.za.call(this,kk,this.xa)};M[187]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.V.call(this,wh)};M[189]=function(){this.V.call(this,xh)}; -M[190]=function(){this.Na.call(this,$h);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.fb=this.fb&~this.R|this.G<<16>>24&this.R;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&this.R; -this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.Y}this.A-=-1===this.D?3:6};M[191]=function(){sd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.fb=this.fb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.ba},function(){this.A-=2+(-1===this.D?0:1);return this.Ra.ba},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Ra.load(a)&&(this.ib(this.Ra.Yb+4,this.Ra.wb|=512),this.Ra.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Kc>=this.pa&&this.Ea.Kc>=(a&3)||7168==(this.Ea.wb& -7168)))return Ff(this),a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Kc>=this.pa&&this.Ea.Kc>=(a&3))return Ff(this),a;Df(this);return a},Kh,Kh],Fd=[ee,ee,ee,ee,ee,ee,Kh,Kh],jk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.zd-this.Dc;var b=this.Dc;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.Z&&(a|=b<<16);this.mb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Pd- -this.Nc;var b=this.Nc;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.Z&&(a|=b<<16);this.mb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.aa&131072?C.call(this,6):(this.Dc=this.na(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Dc+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.aa&131072?C.call(this,6):(this.Nc=this.na(this.D+2)&(this.R|this.R<<8),a&=65535,this.Pd=this.Nc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.ab}, -Kh,function(a){this.aa&131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Kh],kk=[Kh,Kh,Kh,Kh,yh,Bh,Ah,zh]; -function lk(a){Ua.call(this,"ChipSet",a,lk,32768);this.ia=(this.ia=a.model)&&mk[this.ia]||nk;this.V=0;var b=a[ok];if(b)this.V=pk(b,qk|rk.Ak);else{this.ka=[360,360];(b=a.floppies)&&b.length&&(this.ka=b);if(b=this.ka.length)this.V|=sk.Qg,b--,this.V|=(b&3)<=cg&&(this.eb=this.Ia=2);this.pa=a.scaleTimers||!1;this.nc=a.rtcDate;this.Tb=!1; -a.sound&&(this.Db=this.Ja=null,window&&(this.Db=window.AudioContext||window.webkitAudioContext),this.Db&&(this.Ja=new this.Db));this.reset(!0);sb(this)}db(lk);var nk=5150,cg=5170,mk={5150:nk,5160:5160,5170:cg,deskpro386:5180},ok="sw1",uk="sw2",tk={none:0,tv:1,color:2,mono:3,ega:0,vga:0},sk={Qg:1,ONE:0,Xn:64,Vn:128,An:192,xf:192,yf:6},qk=12,rk={Wn:16,tn:32,Ak:48,xf:48,yf:4};m=lk.prototype; -m.Pb=function(a,b,c){switch(b){case ok:return this.qa[b]=c,vk(this,b,this.V,{0:this.ia==nk?"Bootable Floppy Drive":"Loop on POST",1:this.iab;b++){var c=13>=b?Ek(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}cf(c,26,this.Xl.bind(this))};m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;this.Y=this.V;this.sa=this.ua;Fk(this,ok,this.Y);Fk(this,uk,this.sa);Gk(this);this.N=Array(this.eb);for(b=0;b=cg){this.B=16;this.ga=0;this.fa=16;this.Na=0;this.ja=160;512<=Kk(this)&&(this.ja|=16);3==Lk(this)&&(this.ja|=64);5180==this.ia&&(this.ja|= -12);this.Sa=3;this.za=Array(8);this.wa=0;a&&(this.A=Array(64));Mk(this,this.nc);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);this.A[20]=this.Y&(rk.xf|2|sk.Qg|sk.xf);this.A[16]=Nk(this,0)<<4|Nk(this,1);Ok(this)}}; -function Mk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Ka=a.Ca=0;a.Ub=a.fb=null} -function Ek(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.V,this.ua,this.Y,this.sa]);for(var b=[],c=0;c=cg&&(N(a,5,[this.B,this.ga,this.fa,this.Na,this.ja,this.Sa]),N(a,6,[this.za[7],this.za,this.wa,this.A,this.Ka,this.Ca]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];this.V=b[0];this.ua=b[1];this.Y=b[2];this.sa=b[3];b=a[1];for(c=0;c>2)+1)*a.mc+32*((b?a.ua:a.sa)&15)} -function Wk(a,b){var c=b?a.V:a.Y;return a.ia!=nk||c&sk.Qg?((c&sk.xf)>>sk.yf)+1:0}function Nk(a,b){if(b>rk.yf} -function vk(a,b,c,d){for(var e="",f=a.qa[b],g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");e+='
    '+g+"
    \n"}f.innerHTML=e;Fk(a,b,c,d)} -function Fk(a,b,c,d){if(b=a.qa[b]){b=nb(b,"pcjs-bitCell");for(var e=0;eg.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function al(a,b,c,d,e,f){var g=a.N[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Cc[c];a.Ab[g.Kb]=a.Ec[g.Kb]=e;g.Kb^=1}function bl(a,b,c,d){var e=a.N[b],f=e.Zb|1;e.Zb&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function cl(a,b,c,d,e){var f=a.N[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Zb=f.Zb&~(16<>2].Cc[b&3],c,d,e)} -function el(a,b,c){b=a.N[b>>2].Cc[b&3];b.pg&&b.gh&&b.Eg?(c&&(b.done=c),b.Ae||ml(a,b,!0)):c&&c(!0)}function ml(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.kg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.gh.call(b.pg,b.Eg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ae||a.ea.sc(c,f);(d=g)&&setTimeout(function(){nl(b)||ml(a,b)},0)})}(c)):8==b.type?(c=a.ea.Pa(c),0>b.gh.call(b.pg,b.Eg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!nl(b););} -function nl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.oc&b||(d.oc|=b,d.kf=c||0,ql(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.oc&d&&(c.oc&=~d,ql(a))}function ql(a,b){var c,d=-1;1>=1),Zc(a.F,d))),2==b&&bd(a))}m=lk.prototype;m.Fl=function(a,b){x(this,a,null,b,"PIT1_CTRL",null,2048);return this.Ya}; -m.Zm=function(a,b,c){this.Ya=b;x(this,a,b,c,"PIT1_CTRL",null,2048);a=b&192;if(192==a){if(!(b&16))for(a=0;2>=a;a++)b&2<=a;a++)b&2<>=6;c=b&1;var d=b&14;b&=48;if(0==b)xl(this,a);else{var e=a,f=this.L[e];f.eg=b;f.mode=d;f.Zg=c;f.Ec=[0,0];f.Ab=[0,0];f.ve=[0,0];f.vd=!1;f.Xe=!1;f.xe=!1;f.bf=!1;ul(this,e);0==a&&dg(this,0);2==a&&255==this.vc[0].Ad&&77==this.W&&(a=this.L[0], -a.Zc[0]=a.Ec[0],a.Zc[1]=a.Ec[1],a.xd=Vc(this.F,this.pa))}}};function wl(a,b){var c=a.L[b],d=c.Ec[1]<<8|c.Ec[0];d||(d=1==c.ld?256:65536);return d}function dd(a,b){var c=a.L[b],d=c.Zc[1]<<8|c.Zc[0];d||(d=1==c.ld?256:65536);return d}function xl(a,b){Dk(a,b);var c=a.L[b];c.ve[0]=c.Ab[0];c.ve[1]=c.Ab[1];c.Xe=!0;ul(a,b)}function ul(a,b){var c=a.L[b];c.Dd=32==c.eg?1:0;c.ld=48==c.eg?2:1} -function Dk(a,b,c){var d=a.L[b];if(d.xe&&(2!=b||a.W&1)){var e=Vc(a.F,a.pa),f=(e-d.xd)/a.pb|0;0>f&&(d.xd=e,f=0);var g=wl(a,b),h=dd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.xe=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Zc[0]=h&255,d.Zc[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.Zc[0]=h&255,d.Zc[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function cd(a,b){for(var c=0;c=cg){var c=a.F.X.Hd,d=Vc(a.F,a.pa);null==a.fb&&(a.Ka=Vc(a.F,a.pa),a.Ub=1024,a.fb=Math.floor(a.F.X.Hd/a.Ub),Pk(a));d>=a.Ca&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.Ca=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ka,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ka=d-e%c}}m.Gl=function(a,b){var c=this.bb;if(this.Fa&16)if(this.W&128)c=this.Y;else if(this.C){var c=this.C,d=0;c.A.length&&(d=c.A[0]);z(c)&&y(c,"scan code "+t(d)+" delivered");c=d}x(this,a,null,b,"PPI_A",c);return c};m.$m=function(a,b,c){x(this,a,b,c,"PPI_A");this.bb=b}; -m.Hl=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c};m.an=function(a,b,c){x(this,a,b,c,"PPI_B");yl(this,b)};function yl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.C&&zl(a.C,!(b&128),!!(b&64));c!=d&&bd(a,c)}m.Il=function(a,b){var c=0,c=this.ia==nk?this.W&4?c|this.sa&15:c|this.sa>>4&1:this.W&8?c|this.Y>>4:c|this.Y&15;this.W&1&&Dk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.bn=function(a,b,c){x(this,a,b,c,"PPI_C");this.vb=b}; -m.Jl=function(a,b){var c=this.Fa;x(this,a,null,b,"PPI_CTRL",c);return c};m.cn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Fa=b};m.Uk=function(a,b){var c=this.Na;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.B&=-258;this.C&&Al(this.C);return c};m.lm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.B&8)switch(this.ga){case 96:Bl(this,b);break;case 209:Cl(this,b);break;default:if(Bl(this,this.fa&-17),this.C){a=-1;switch(b){case 255:a=250,Dl(this.C)}El(this,a)}}this.ga=b;this.B&=-9}; -m.Vk=function(a,b){var c=this.W&-209|(Vc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.mm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);yl(this,b)};m.Wk=function(a,b){x(this,a,null,b,"8042_STATUS",this.B,16384);var c=this.B&255;this.B&256&&(this.B|=1,this.B&=-257);return c}; -m.km=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ga=b;this.B|=8;a=0;240<=this.ga&&(a=this.ga^15,this.ga=240);switch(this.ga){case 32:El(this,this.fa);break;case 173:Bl(this,this.fa|16);break;case 174:Bl(this,this.fa&-17);this.C&&Al(this.C);break;case 170:this.C&&(a=this.C,a.A=[],z(a)&&y(a,"scan codes flushed"));Bl(this,this.fa|16);El(this,85);Cl(this,3);break;case 171:El(this,0);break;case 192:El(this,this.ja);break;case 208:El(this,this.Sa);break;case 224:El(this,this.fa&16?0: -1);break;case 240:a&1&&qe(this.F)}};function Bl(a,b){a.fa=b;a.B=a.B&-5|b&4;a.C&&zl(a.C,!!(b&8),!(b&16))}function El(a,b,c){0<=b&&(a.Na=b,c?a.B|=1:(a.B&=-2,a.B|=256))}function Cl(a,b){a.Sa=b;Sb(a.ea,!!(b&2));b&1||qe(a.F)}function Fl(a,b){a.ia=c?Ek(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Pk(this));return d}; -m.Bm=function(a,b,c){var d=this.wa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Pk(this)};m.Ym=function(a,b,c){x(this,a,b,c,"NMI");this.Ea=b};m.Lm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Mm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Sb&&Yf(this.Sb)}; -m.Xl=function(a){if(z(this,16)&&gk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Vc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Vc(this.F)))}return!0}; -function pk(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>>4,0,this.da,this.C,this.Nd),delete this.Nd);return!0};Hl.prototype.hc=function(){return!0}; -function Il(a,b,c,d){if(d)a.Oa("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.re,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Nd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Oa("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].uf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;Ok(a)}}else w("No RAM allocated")};m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Ol(a){this.N=a;this.C=Ql;this.ha=Rl;this.B=Sl;this.A=null}var Pl=-2134900736,Ql=65535,Rl=2575,Sl=2,Tl=[null,0],Ul=[function(a){return this.controller.Pa(a)},null,null,function(a,b){this.controller.sc(a,b)},null,null];m=Ol.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.sc(0,a[0]&255);this.sc(2,a[1]&255);return!0};m.Pa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.sc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Ri=function(){return Tl};m.hh=function(){return Ul}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,qn:65,rn:66,sn:67,xn:68,E:69,yn:70,Bn:71,Cn:72,Dn:73,En:74,Fn:75,Gn:76,Hn:77,In:78,Jn:79,Kn:80,Q:81,Ln:82,Pn:83,Un:84,Yn:85,Zn:86,$n:87,bo:88,co:89,eo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,fo:97,ho:98,jo:99,d:100,e:101,ko:102,lo:103,mo:104, -no:105,oo:106,k:107,po:108,qo:109,n:110,so:111,p:112,q:113,r:114,to:115,t:116,vo:117,wo:118,xo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Yl={};Yl[186]=X[";"];Yl[187]=X["="];Yl[188]=X[","];Yl[189]=X["-"];Yl[190]=X["."];Yl[191]=X["/"];Yl[192]=X["`"];Yl[219]=X["["];Yl[220]=X["\\"];Yl[221]=X["]"];Yl[222]=X["'"];Yl[173]=X["-"];var Zl={};Zl[X["1"]]=X["!"];Zl[X["2"]]=X["@"];Zl[X["3"]]=X["#"];Zl[X["4"]]=X.$;Zl[X["5"]]=X["%"];Zl[X["6"]]=X["^"];Zl[X["7"]]=X["&"];Zl[X["8"]]=X["*"];Zl[X["9"]]=X["("]; -Zl[X["0"]]=X[")"];Zl[186]=X[":"];Zl[187]=X["+"];Zl[188]=X["<"];Zl[189]=X._;Zl[190]=X[">"];Zl[191]=X["?"];Zl[192]=X["~"];Zl[219]=X["{"];Zl[220]=X["|"];Zl[221]=X["}"];Zl[222]=X['"'];Zl[173]=X._;Zl[61]=X["+"];Zl[59]=X[":"]; -var $l={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},am={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},bm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"], -enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107, -"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},cm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764;Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14; -Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788;Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790; -Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65; -Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;m=Vl.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return dm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||em(e,a,!0);return b},c.onkeyup=function(a){return dm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();em(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();em(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.F&&e.F.Tc();em(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==am[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.F&&a.F.Tc();fm(a,c,!0);em(a,c,!0)}}(this,g,am[g]),!0;if(void 0!==bm[b])return this.Y++,this.qa[f]=c,a=function(a,b,c){return function(){em(a,c)}}(this,b,bm[b]),b=function(a,b,c){return function(){gm(a,c)}}(this,b,bm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();d&&!e.L&&(e.L=d,hm(e,300))},!0}return!1};function im(a,b,c){if(a.Y){for(var d in Zl)if(b==Zl[d]){b=+d;(d=Yl[d])&&(b=d);break}for(var e in bm)if((d=bm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=bm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function Wl(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=Xl.indexOf(a.ia),0>c&&(c=0));b=Xl[c];a.ka=parseInt(b.substr(2),10)}function Dl(a,b){y(a,"keyboard reset",65792);a.A=[170];a.da=!0;b&&a.N&&Fl(a.N,a.A[0])}function zl(a,b,c){a.U!==c&&(a.U=a.W=c)&&(a.da=!0);a.V!==b&&(a.V=b)&&!a.W&&Gl(a,!0);a.V&&a.W&&(Dl(a,!0),a.W=!1)}function Al(a){var b=0;a.A.length&&a.da&&(b=a.A[0],a.N&&Fl(a.N,b));z(a)&&y(a,"scan code "+t(b)+" available")} -function Gl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in cm)d="led-"+g,e=cm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function em(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){$l[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ke=b,d.xc=a.xc,im(a,b,!0),e++),0b.Jd){if(!b.Ef){gm(a,b.Ke);return}b.Ef=!1;c=a.pa}else c=1==b.Jd++?500:100;b.pk=setTimeout(function(a){return function(){km(a,b)}}(a),c)}} -function mm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=Zl[b])d=a}else if(a=Yl[b])d=a;return d}m.Fg=function(a){a||(this.xc&=-256)}; -function dm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=mm(a,g,!0);a.dh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),fm(a,h,!1,c)){if(20==g||144==g||145==g)a.ja||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Fl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Gm:Hm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.bc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.bc=Math.min(this.Cd>>2,32768));this.Fc=c[0];this.fd=c[1];this.qf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Ig=c[4]>>8&255;this.tb=c[5];this.oh=Gm;this.jg=Im;if(5<=b){this.oh=Hm;this.jg=Jm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.nb,this.bc,this.Cd],Array(this.Cd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ve=b[0];this.Ld=b[1];this.Sc=b[2];this.Tg=Km;this.Lg=b[3];this.sf=b[4];this.dg=b[5];this.$d=b[6];this.He=b[7];this.Vg=Lm;this.fk=b[8];this.gk=b[9];this.Zd=b[10];this.Yd=b[11];this.Ug=Mm;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.nb,this.bc,d]);this.nb=d[0];this.bc=d[1];d=this.Cd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.ei&255};Om[17408]=function(a){return(this.controller.Fb=this.ca[(a&-4)+this.C])>>((a&3)<<3)&255};Om[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.ca[a&-2];return(a&1?b>>8:b)&255};Om[1280]=function(a){a+=this.C;a=this.controller.Fb=this.ca[a];for(var b=this.controller.qh,c=this.controller.ph&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -Om[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[32]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[96]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d&=this.controller.Fb;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[160]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d|=this.controller.Fb;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[224]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d^=this.controller.Fb;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};Om[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Lb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -function Pm(a){var b=[];if(void 0!==a.kb){b[0]=a.Fc;b[1]=a.fd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Ac|a.Ig<<8;b[5]=a.tb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.fk;c[9]=a.gk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.bc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(A=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.nb&&(f-=b.nb);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.B,Qm(b,"CRTC",b.Ac,b.tb,b.jg),5<=b.kb&&(Qm(b," GRC",b.Zd,b.Yd,b.Ug),Qm(b," SEQ",b.$d,b.He,b.Vg),Qm(b," ATC",b.Ld,b.Sc,b.Tg),Qm(b," ATCINDX", -b.Ld),b.ha.O(" ATCDATA: "+b.Ve),Qm(b," FEAT",b.dg),Qm(b," MISC",b.sf),Qm(b," STATUS0",b.Lg)),Qm(b," STATUS1",b.ma),b.kb!=om&&3!=b.kb||Qm(b," MODEREG",b.fd),3==b.kb&&Qm(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.C=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.nf?(this.pa.style.width=a,this.pa.style.width=a,this.pa.style.display="block",this.pa.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.Ue();a=!0}this.Tc()}return a}; -function sm(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.C&&(a.C.dh=b)}m.ze=function(a){var b=!1;this.da&&(a?this.da.ze&&(this.da.ze(),this.V&&this.V.Vf(!0),b=!0):this.da.qk&&(this.da.qk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.C&&(this.C.dh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.tk)}; -function Zm(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){$m(a,b,!0)},!1),c.addEventListener("touchmove",function(b){$m(a,b)},!0),c.addEventListener("touchend",function(b){$m(a,b,!1)},!1),a.je=b,a.mc=a.nc=a.gg=-1,a.Gd=!1,a.Wc=null,a.Fd=!1,a.pn=function(){a.Fd=!0;a.V.ge(an,!0)})}m.Fg=function(a){this.C&&this.C.Fg(a)}; -function $m(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?em(a.C,1040,!0):em(a.C,1038,!0):1!=d&&(d?em(a.C,1039,!0):em(a.C,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500f){a.V.ge(an,!0);a.V.ge(an,!1);return}}if(c||0>a.mc||0>a.nc)a.mc=d,a.nc=e;c=Math.round(d-a.mc);b=Math.round(e-a.nc);a.mc=d;a.nc=e;a.V.Hf(c,b,a.mc,a.nc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=Lk(this.N));this.ia||(this.kb=3==b?om:3);this.wa=3;switch(this.kb){case Ml:b=7;break;case 5:var c=vm[this.Uc];c&&(b=c[0]);b||(b=4);break;case om:b=3;this.wa=qm;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.B=null;this.sa=this.pd=new Em(this,om);this.Y=this.Vc=new Em(this,3);5>this.kb?this.A=new Em:(this.A=new Em(this,this.kb,null,this.Cd),bn(this));cn(this);this.Ia=null;this.bb=this.ka=-1;this.Sa=0;dn(this,this.wa);if(this.B.nb&&a){a=this.B.nb+this.Jb; -for(b=this.B.nb;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Xc(this,!0)}};function bn(a){a.A.sf&1?(a.sa=a.pd,a.Y=a.A):(a.sa=a.A,a.Y=a.Vc)}m.save=function(){var a=new hf(this);N(a,0,Pm(this.pd));N(a,1,Pm(this.Vc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,Pm(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.B=null;this.sa=this.pd=new Em(this,om,a[0]);this.Y=this.Vc=new Em(this,3,a[1]);this.A=new Em(this,this.kb,a[3],this.Cd);this.A.Fc&&bn(this);cn(this);if(!en(this))return!1;fn(this);return!0}; -function tm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.re,b,c);try{var e=eval("("+c+")");if(!e.length){w("Empty font ROM: "+b);return}if(1==e.length){w(e[0]);return}if(8192==e.length)Ll(a,e,[6144,0]);else{a.Oa("Unrecognized font data length ("+e.length+")");return}}catch(f){a.Oa("Font ROM data error: "+f.message);return}(a.ja||a.ha)&&sb(a)}} -function gn(a,b){if(1==b)return a.Ca[0]=ym[0],a.Ca[1]=ym[7],a.Ca;if(2==b){var c=a.B.qf;if(a.B===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ca[0]=ym[c&15];c=c&32?Am:zm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Sc[15]?c.Sc:Bm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.pb=!0}return a.Ca}function Ll(a,b,c,d){a.Jc=b;a.qd=c;a.Sb=d} -function cn(a,b){var c=!1;if(window&&a.Jc&&(!b||a.U)){var d=0,e=a.Sb?a.Sb:8,f=gn(a);hn(a,3,a.qd[0],d,e,8,a.Jc,f)&&(c=!0);d=a.Sb?0:2048;e=a.Sb?a.Sb:9;hn(a,1,a.qd[1],d,e,14,a.Jc,wm,xm)&&(c=!0);a.Sb&&hn(a,a.kb,a.qd[1],0,a.Sb,14,a.Jc,f)&&(c=!0)}return c}function hn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(jn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&jn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function jn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<V||!H?V:8,va=ga.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Ba= -0;Ba=V-2,Qc=Q[Ba>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:$a;kn(va,He,Sd,Ie);v&&kn(va,He+1,Sd,Ie)}ga.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ui[F]=A;l.Sg[F]=ma;l=!0}}a.Na[b]=q;return l}function ln(a){0a.bb&&(a.bb=0):a.bb=-1} -function fn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.B.tb[b])return;var c=a.B.tb[10],b=c&31,d=a.B.tb[11]&31,e=a.B.tb[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mn(a);else{c=a.B.tb[15]+((a.B.tb[14]&63)<<8);a.ka!=c&&(mn(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ye!=d)a.hg=b,a.ye=d;a.Ya=e+1;ln(a)}}} -function mn(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&nn(a,c,d,b,a.fb),nn(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}} -function on(a){var b,c=a.B;a.Be=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==Ml&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Be=!0));b|=e}return b} -function pn(a,b){var c=a.B;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.bc,c.hh(),!0),!0):!1} -function en(a,b){var c,d=a.Ia,e=a.B;if(e)if(e.kb==om)d=qm;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768f?d=c?7-d:6: -e.Yd[5]&64?d=g&31?143>=e.tb[18]?19:20:21:g&128||350>f?d=c?13:14:480<=f&&(d=3==a.za?17:18):d-=c?2:0);c=on(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!dn(a,d,b))return!1;pn(a,c);return!0} -function dn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.B||(b==qm?a.sa:a.Y);if(b!=a.B||b.nb!=a.nb||b.bc!=a.bc){mn(a);if(a.nb){if(!Zb(a.ea,a.nb,a.bc))return!1;a.B&&(a.B.Fc=!1)}a.B=b;b.Fc=!0;a.nb=b.nb;a.bc=b.bc;if(!Tb(a.ea,b.nb,b.bc,3,b===a.A?b:null))return!1}a.U=0;a.L=a.hd;a.W=a.ie;a.Db=a.L;a.gd=pm[qm][2];b=0;if(c=pm[a.Ia])a.L=c[0],a.W=c[1],a.gd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.B!==a.A||3!=a.U||(7==a.A.tb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.gd|0;a.Jb=a.of;a.sd=0;void 0!== -b&&(a.Jb=(a.Jb<<1)+b|0,a.sd=a.Jb+b>>1);a.Na.length&&(a.Ja=a.ua/a.L|0,a.Ka=a.Ea/a.W|0,a.U?(b=a.Na[a.U],c=a.Na[a.U<<1],a.si&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc)),a.Tb=a.Ub=0,b&&(a.Tb=a.L*b.Pc,a.Ub=a.W*b.Qc)):(a.Ja=a.Ka=1,a.Tb=a.L,a.Ub=a.W),a.vb=a.ja.createImageData(a.Tb,a.Ub),a.eb=document.createElement("canvas"),a.eb.width=a.Tb,a.eb.height=a.Ub,a.fb=a.eb.getContext("2d"),a.ke=a.le=0,a.td=a.ua,a.Ed=a.Ea,b=a.ua-a.L*a.Ja,c=a.Ea-a.W*a.Ka,0>1,a.td-=b),0>1,a.Ed-=c),b||c)&&(a.ja.fillStyle=a.pa.style.backgroundColor,a.ja.fillRect(0,0,a.ua,a.Ea));Ln(a,!0);Xc(a)}return!0}function kn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mn(a){a.Sa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function Ln(a,b){b||(a.pb=!1);Mn(a)} -function nn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ja.fillStyle=h.Me[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ja.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ye,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Me[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ja.fillStyle=h.Me[d],a.ja.fillRect(b,c+f,a.Ja,g)))} -function Xc(a,b){if(a.la.cc){var c=!1,d=a.B;d&&(d!==a.A?d.fd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)Mn(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.bc;19<=a.Ia&&(h=c=655360,k=c+65536);if(Nn(a,d)&8||d.mf&&d.mfk&&(l=k-c, -0>l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Sa=0;d=1048575;l=a.B.fd&32;5<=a.kb&&(l=a.B.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c>8|(p&255)<<8;var H=h,L=16;n>=d))>>(L-=d);kn(a.vb,n++,q,l[Q])}n>F&&(F=n);q=D&&(D=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;Aa.L?a.Db-a.L-p>>3:0;c>=8;l>A&&(A=l);n=v&&(v=n+1)}c+=D;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(p<<=v,L-=v,a.Fa=!1):(a.Fa&&p===a.fa[f]?(d+=L,L=0):a.fa[f]=p,f++);if(L){dq&&(q=d);l=F&&(F=l+1)}if(d>=a.L){d=0;if(++l>a.W)break;c+=D}}v||(a.Fa=!0);nd&&(b.wh=d,d=-d|0);d%b.rh>b.fm&&(c|=1);d%b.uh>b.hm&&(c|=9);b.fi=d/b.uh|0;return c}m.Bl=function(a,b){return On(this,this.sa,a,b)};m.Vm=function(a,b,c){var d=this.sa;d.Ig=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Al=function(a,b){return Pn(this,this.sa,a,b)};m.Um=function(a,b,c){Qn(this,this.sa,a,b,c)};m.Cl=function(a,b){return Rn(this,this.sa,b)};m.Wm=function(a,b,c){a=this.sa;x(this,a.port+4,b,c,"MODE");a.fd=b;en(this,!1)}; -m.Dl=function(a,b){return Sn(this,this.sa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.al=function(a,b){var c=this.A.Ld;b&&!z(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Bk=function(a,b){var c=this.A.Sc[this.A.Ld&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Ld&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,Ln(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&cn(this,!0)&&Xc(this,!0),d.Xf=(d.tb[12]<<8)+d.tb[13]|0,d.mf=0};m.Ol=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Uc&1<>this.A.Ic&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.nd)+"]["+t(this.A.Ic)+"]",c);this.A.Ic+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ha("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function Tn(a){this.V=a.adapter;switch(this.V){case 1:this.L=956;this.C=7;break;case 2:this.L=888;this.C=7;break;case 3:this.L=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,Tn,4194304);a=a.binding;"console"==a?this.B="":lb(this,a,Un)}db(Tn);var Un="buffer";m=Tn.prototype;m.Pb=function(a,b,c){switch(b){case Un:return this.qa[b]=this.A=c,!0}return!1}; -m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,Vn,this.L);lc(b,this,Wn,this.L);sb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){Xn(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.da;c[b++]=this.Zb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return Xn(this,a[0])}; -function Xn(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.da=b[c++];a.Zb=b[c++];a.Bf=b[c];return!0}m.pl=function(a,b){var c=this.da;x(this,a,null,b,"DATA",c);return c};m.Nl=function(a,b){var c=this.Zb;x(this,a,null,b,"STAT",c);return c};m.ll=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Hm=function(a,b,c){x(this,a,b,c,"DATA");this.da=b;this.Zb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Zb&=-65);Yn(this)};m.Cm=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;Yn(this)};function Yn(a){a.N&&a.C&&(a.Bf&16&&!(a.Zb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var Vn={0:Tn.prototype.pl,1:Tn.prototype.Nl,2:Tn.prototype.ll},Wn={0:Tn.prototype.Hm,2:Tn.prototype.Cm};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ja;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.wl=function(a,b){var c=this.da;x(this,a,null,b,"IIR",c);return c}; -m.xl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.zl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.yl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.El=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.fn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.Y=this.Y&-256|b;else{this.wa=b;this.A&=-97;if(this.L)13==b?this.W=0:8==b?(this.L.value=this.L.value.slice(0,-1),0a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}} -m.ge=function(a,b){if(this.Fc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case an:if(this.Y!=b){this.Y=b;mo(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;mo(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Fc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,mo(this,null,c,d))}; -function mo(a,b,c,d){var e=64|(a.Y?32:0)|(a.fa?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);ao(a.N,[e,f,g]);a.U=a.W=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Fo(a.ya,f,e,c);for(e=d=0;c--;)d|=Do(a,b++,1)<=e.gi&&a<=e.ak){d=a-=e.gi;var f,g;for(g in e.se){var h=e.se[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ko(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ia(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.$e?"":d)+"&format=json"));return!!wa(f,null,!0,function(a,b,c){Lo(g,a,b,c)})}; -function Lo(a,b,c,d){var e=null;a.cf=!1;var f=0>d&&a.da&&!a.da.la.cc;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,Mo(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.re,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.sb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A= -l<<2,F=p.length;Fb;b++){if(128==Fo(a,e,c+0,1)){d.Zf=Fo(a,e,c+8,4);(e=Eo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Fo(a,e,19,2)||Fo(a,e,32,4),d.Ff=Fo(a,e,14,2),d.lh=d.Ff+Fo(a,e,22,2)*Fo(a,e,16,1),d.vh=Fo(a,e,17,2),d.xg=Fo(a,e,13,1));d.jh=d.lh+((32*d.vh+(d.Ua-1))/d.Ua|0);d.em=(d.Gf-d.jh)/d.xg|0;d.zg=4084>=d.em?12:16;d.Rk=12==d.zg?4086:65526;b=[];for(e=d.lh;e>8;f+=2;if(k)for(;l--;)Do(d,f,1),254>=k?(n=k,q=Do(d,f+1),f+=3):(n=Do(d,f+3,1),q=Do(d,f+4),f+=6),d.yd[n]&&(d.yd[n].se[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Go(e,Ao,c))&&Ho(e,g+c);g=Go(e,Bo,c);h=Go(e,yo,c);g&&h&&Ho(e,g,g+h)}}}} -function Po(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.uo=d+"\\";for(var k=0;kF)break;for(var v=p.jh+(F-2)*p.xg,D=0;D>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Eo(a,b){var c=a.sb*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function Jo(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Sk=b;a.Tk=c;a.wd=a.Yc=0;a.Va=!1;return a} -function Ko(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.sb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c} -function Ro(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.sb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var D=a.seek(p,A,F,!0);if(!D)break;No(D,l,q);q+=D.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function So(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.sb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.cf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Yc?f=a.wd+a.Yc&&(a.Yc+=f-(a.wd+a.Yc)+1):(a.wd=f,a.Yc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):Mo(this);return b}; -m.toJSON=function(){var a=JSON.stringify(this.A,function(a,c){return"file"==a?void 0:c}),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,""),a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function Wo(a){Ua.call(this,"FDC",a,Wo,524288);this.dmaRead=this.vk;this.dmaWrite=this.wk;this.dmaFormat=this.Kk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(Wo);aa={};var Xo={3:{Rd:3,fe:0,name:aa.Tn},4:{Rd:2,fe:1,name:aa.Rn},5:{Rd:9,fe:7,name:aa.ao},6:{Rd:9,fe:7,name:aa.Mn},7:{Rd:2,fe:0,name:aa.On},8:{Rd:1,fe:2,name:aa.Sn},10:{Rd:2,fe:7,name:aa.Nn},13:{Rd:6,fe:7,name:aa.zn},15:{Rd:3,fe:0,name:aa.Qn}};m=Wo.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Yo(d,a)},!0; -case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&Zo(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Eo(b,h++);)for(var l=0,n=k.length;lg.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Qb,g.jb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.kc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; -function ep(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;ga.Bb||f[1]>a.sb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.ik=c,a.Je=d,ip(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.we||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.we&&(a.we=!1,--this.fa||sb(this));Yo(this,a.gb)}; -function dp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Jm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=Xo[a].Rd){b=!1;this.L=0;a=jp(this);var d,e,f,g,h=a&31;switch(h){case 3:jp(this);jp(this);kp(this);break;case 4:c=jp(this);this.gb=c&3;d=this.A[this.gb];kp(this);lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Qb=jp(this);e=jp(this);f=d.xb=jp(this);g=jp(this);d.Hb=128<>2&1;this.gb=c&3;d= -this.A[this.gb];c=d.Qb;e=d.jb=b;f=d.xb=1;g=0;d.Cb=0;d.ya&&(d.ob=d.ya.seek(d.Qb,d.jb,d.xb))?g=d.ob.length>>8:d.Cb=72;mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Qb;e=d.jb=b;f=1;g=jp(this);d.Hb=128<>2&1,c=jp(this),d.Qb+=c-d.de,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.de=c,d.Cb=32,d.Qb||(d.Cb|=268435456),kp(this),b=!0}0>>8);lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));lp(a,e+k);lp(a,f);lp(a,g);lp(a,h)}function jp(a){var b=a.V[a.L];a.L++;return b}function kp(a){a.L=a.C=0}function lp(a,b){a.V[a.C++]=b} -m.vk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=1088;break}a.cb=0;np(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.wk=function(a,b){return void 0!==b&&0<=b?op(a,b):-1}; -m.Kk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.kd[a.Te++]=c;if(a.Te==a.kd.length){a.Qb=a.kd[0];a.jb=a.kd[1];a.xb=a.kd[2];a.Hb=128<op(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function op(a,b){if(a.Cb||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=8256;b=-1;break}a.cb=0;np(a)}while(1);return b} -function np(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Qb++))}var bp={1012:Wo.prototype.sl,1013:Wo.prototype.ql,1015:Wo.prototype.rl},cp={1010:Wo.prototype.Km,1013:Wo.prototype.Jm,1015:Wo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.ya.restore(g)&&(A=!1),A&&void 0!==k.cb&&(k.ob=k.ya.seek(k.ae,k.jb,k.xb+ -k.lg)));A||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.gb&&(a.B=a.A[a.gb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function yp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Oe[2])?e=b.Oe[0]<<8|b.Oe[1]:c=b.type);null==c||d||(d=rp[a.U][c][1],e=rp[a.U][c][0]);d&&((c=rp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.sb=d,null==b.ya&&(b.ya=new no(a,b,b.mode)))}} -m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ae=Math.floor(b/g),b%=g,a.jb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function wp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.hn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,zp(this))};m.Ul=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Ua?(a.ma=128,Bp(a.B,function(b){0<=b?(Cp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.zk=function(a,b){return Ap(this,a,b)|Ap(this,a,b)<<8}; -function Dp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Ua)if(0>Ep(a.B,c))a.ma=1,a.W=16;else if(1==a.B.cb||a.B.cb==a.B.Ua)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.cb+"]"),1=a.B.Ua&&(a.ma|=8))}m.qm=function(a,b,c){Dp(this,a,b&255,c);Dp(this,a,b>>8&255,c)};m.$k=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"WPREC");this.Na=b};m.bl=function(a,b){var c=this.Y;x(this,a,null,b,"SECCNT",c);return c}; -m.tm=function(a,b,c){x(this,a,b,c,"SECCNT");this.Y=b};m.cl=function(a,b){var c=this.za;x(this,a,null,b,"SECNUM",c);return c};m.um=function(a,b,c){x(this,a,b,c,"SECNUM");this.za=b};m.Yk=function(a,b){var c=this.wa;x(this,a,null,b,"CYLLO",c);return c};m.pm=function(a,b,c){x(this,a,b,c,"CYLLO");this.wa=b};m.Xk=function(a,b){var c=this.ua;x(this,a,null,b,"CYLHI",c);return c};m.om=function(a,b,c){x(this,a,b,c,"CYLHI");this.ua=b};m.Zk=function(a,b){var c=this.sa;x(this,a,null,b,"DRVHD",c);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"DRVHD");this.sa=b;this.ma=this.A[this.sa&16?1:0]?this.ma|80:this.ma&-65};m.dl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.nm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);Fp(this)};m.sm=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.W=1);this.ga=b}; -function Fp(a){var b=!1,c=a.Ea,d=a.sa&16?1:0,e=a.sa&15,f=a.wa|(a.ua&3)<<8,g=a.za,h=a.Y||256;a.gb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ae=f,k.jb=e,k.xb=g,k.Hb=h*k.Ua,c=144<=c?c:c&240,k.ob=null,k.cb=0,k.errorCode=0,a.gb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Bp(k,function(b){0<=b&&a.N?(Cp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.sb=e+1,k.lb=h,b=!0}b&&Cp(a)} -function Cp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function zp(a){a.L=0;var b=Gp(a),c=Gp(a),d=c&32,e=d>>5,f=c&31,g=Gp(a),h=Gp(a),k=g<<2&768|h,l=g&63,n=Gp(a),q=Gp(a),p=a.A[e];p&&(p.ae=k,p.jb=f,p.xb=l,p.Hb=n*p.Ua);switch(b){case 3:Hp(a,p?p.errorCode:4);Ip(a,c);Ip(a,g);Ip(a,h);Ip(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Gp(a));)p&&cb?Bp(a,c):c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Ep(a,b):-1}; -m.Lk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cbEp(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c}; -function Jp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaRead",b);el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Kp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaWrite",b);el(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function Lp(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Hb||(b.Pe=Array(b.Hb));b.cb=0;a.N?(b.errorCode=0,ll(a.N,3,a,"dmaWriteBuffer",b),el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Bp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.ob&&(f=a.cb,d=a.ya.read(a.ob,a.cb),a.cb+=g,0<=d))return e=a.ob,b&&b(d,!1,e,f),d;if(b){if(a.ya)return a.ya.seek(a.ae,a.jb,a.xb+a.lg,!1,function(c,k){(a.ob=c)?(e=c,f=a.cb=0,Mp(a),d=a.ya.read(a.ob,a.cb),a.cb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Ep(a,b){if(a.errorCode)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ya&&a.ya.seek(a.ae,a.jb,a.xb+a.lg,!0,function(b){a.ob=b});if(!a.ob){a.errorCode=20;b=-1;break}a.cb=0;Mp(a)}while(1);return b}function Mp(a){a.xb++;var b=1-a.lg;a.xb>=a.lb+b&&(a.xb=b,a.jb++,a.jb>=a.sb&&(a.jb=0,a.ae++))}m.Vl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1}; -var tp={800:pp.prototype.Tl,801:pp.prototype.Ul,802:pp.prototype.Sl},sp={496:pp.prototype.zk,497:pp.prototype.$k,498:pp.prototype.bl,499:pp.prototype.cl,500:pp.prototype.Yk,501:pp.prototype.Xk,502:pp.prototype.Zk,503:pp.prototype.dl},vp={800:pp.prototype.hn,801:pp.prototype.mn,802:pp.prototype.kn,803:pp.prototype.jn,807:pp.prototype.hi,811:pp.prototype.hi,815:pp.prototype.hi},up={496:pp.prototype.qm,497:pp.prototype.vm,498:pp.prototype.tm,499:pp.prototype.um,500:pp.prototype.pm,501:pp.prototype.om, -502:pp.prototype.rm,503:pp.prototype.nm,1014:pp.prototype.sm};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.wg;this.Ub=new ed(this.F,7,"DBG");this.Ia=eq;80186<=this.F.ia&&(this.Ia=eq.slice(),this.Ia[15]=cq,80286<=this.F.ia&&(this.Ia[15]=dq,80386<=this.F.ia&&(this.Ja=8)));Ck(this,64,function(a){iq(d,d.F.jd,a[0])});Ck(this,128,function(a){iq(d,d.F.ra,a[0],d.F.ra!==d.F.jd)});Ck(this,4,function(a){if(a=a[0]){var b=jq(d, -a);if(void 0===b)d.O("invalid selector: "+a);else if(a=kq(d,b,2),d.O("dumpSel("+u(a?a.ba:b)+"): %"+r(a?a.Yb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=lq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+mq(a.Ta))+ -" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+" dpl="+t(a.Kc))}}else d.O("no selector")});Ck(this,8,function(a){a:{if(a=a[0]){var b=jq(d,a);if(void 0===b){d.O("invalid task selector: "+a);break a}a=kq(d,b,2)}else a=d.F.Ra;d.O("dumpTSS("+u(a?a.ba:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?nq:oq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+la(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});Ck(this,134217728,function(a){var b;(a=a[0])&&(b=jq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=Op(d,0,b);var c=d.Pa(a,1),h=d.oa(a,2),k=d.oa(a,5);if(77!=c&&90!=c)break;d.O(pq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+qq(d,a,8)+'"');b+=1+k}});this.C=null;this.pb=0;this.bb=!1;cf(this.F,48,this.Yl.bind(this));cf(this.F,65,this.Zl.bind(this)); -this.ka=null;cf(this.F,104,this.$l.bind(this));sb(this)};function rq(a,b,c,d,e,f){b=qq(a,b);var g=kq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=sq(a,b,c);e[b+h]=0;Kl(a,b,c,d,0,null,g,e)} -function tq(a,b,c,d){var e=a.oa(b,2),f=a.oa(b,2),g=a.na(b,4),h=a.na(b,4),k=Op(a,a.na(b,4),a.oa(b,2));b=Op(a,a.na(b,4),a.oa(b,2));b=qq(a,b).toUpperCase();var k=qq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=sq(a,k,e);c[k+l]=g;Kl(a,k,e,f,g,null,h,c)}function uq(a,b,c){c=qq(a,c).toUpperCase();vq(a,c,b)} -m.Yl=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=Op(this,I(a)+12,a.ta.ba);switch(this.na(d)){case 336:tq(this,Op(this,a.H,b),!c,!!this.C)}}return!0}; -m.Zl=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Wa.ba;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:rq(this,Op(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:vq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.bb?0:1));break;case 131:this.C&&(a=Op(this,b.M,e),this.pb++?(this.O("TRAPFAULT failed"),wq(this,this.A,a,!0,!0),this.pb=0,this.Xb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+xq(a)),this.Od(this.A,a,!0),Qp(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:tq(this,Op(this,b.H,f),!g,!!this.C);break;case 338:uq(this,d,Op(this,b.J,f))}this.bb=!1;return!this.C}; -m.$l=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Wa.ba;if(null==this.ka){if(67==d){if(609437257==b.na((b.va.ba<<4)+10)||1111835735==b.na((b.va.ba<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=gd(b.va,this.Gk.bind(this)))&& -(b.J=a[0],wd(b,a[1]));break;case 72:vq(this,null,e);break;case 80:32==c?rq(this,Op(this,h,k),0,f,!0,!!this.ka):128>c?rq(this,Op(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):tq(this,Op(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Gk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Sp(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Yb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=kq(this,a.ba,a.type);e&&(b=a.Qa||0,c=c||1,d=e=-1===e.Yb||e.bd&&(b>>>0)+c>e.$b||!e.bd&&(b>>>0)+c<=e.$b?e.Aa+b|0:-1,a.Da=d)}return d};m.Pa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&zq(this,a,b));return c}; -m.rb=function(a,b){return a.Rb?this.na(a,b?4:0):this.oa(a,b?2:0)};m.oa=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&zq(this,a,b));return c};m.na=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&zq(this,a,b));return c};m.sc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.sc(d,b);else{var e=this.ea;e.ra[(d&e.Gb)>>>e.La].uf(d&e.A,b&255,d)}c&&zq(this,a,c);Pc(this.F,!0)}}; -m.ib=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.ib(d,b):fc(this.ea,d,b),c&&zq(this,a,c),Pc(this.F,!0))};function Op(a,b,c,d,e,f,g){return Aq(a,{},b,c,d,e,f,g)}function Aq(a,b,c,d,e,f,g,h){b.Qa=c||0;b.ba=d;b.Da=e;b.type=f||(yq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.Z;b.rc=null!=h?h:a.F&&4==a.F.va.Mc;b.Td=!1;return b}function Bq(a){return[a.Qa,a.ba,a.Da,a.Td,a.Rb,a.rc,a.Qe,a.Sd]}function Cq(a){return{Qa:a[0],ba:a[1],Da:a[2],Td:a[3],Rb:a[4],rc:a[5],Qe:a[6],Sd:a[7]}} -function Dq(a,b,c){if(null!=b.ba&&(a=kq(a,b.ba,b.type))){var d=b.Qa&a.Ba;if(!a.bd){if(d>>>0>=a.$b)return!1}else if(d>>>0f?null!=h?(g=Gq(a,b,void 0),f=null):(f=Gq(a,b,void 0),null==f&&(g=null)):(h=Gq(a,b.substring(0,f),void 0),g=Gq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=Op(a,g,h,f,c),d||Dq(a,e,!0)||(a.O("invalid offset: "+xq(e)),e=null));return e}function Hq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ck=Iq(a,b.hk=c[2]))}function zq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.ba&&(b.Qa+=c,Dq(a,b)||(b.Qa=0,b.Da=null))} -function pq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function xq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.ba?"":"%"}return 4<=a.type||null==a.ba?b+r(a.Da):b+pq(a.Qa,a.ba,a.rc)}function qq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],6==c&&(d=d.Bd,h+=" -> "+wc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua($p,a.substr(b,2))));return c} -function Lq(a,b){var c=0,d=Mq(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function Mq(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break; -case 16:c=d.Wa.ba;break;case 17:c=d.va.ba;break;case 18:c=d.ta.ba;break;case 19:c=d.ub.ba;break;default:if(80286==a.F.ia)32==b&&(c=d.ab);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.ab;break;case 33:c=d.ki;break;case 34:c=d.pe;break;case 35:c=d.Md;break;case 20:c=d.Nb.ba;break;case 21:c=d.Ob.ba;break;case 56:c=K(d)}}}return c} -function Nq(a,b){b=Fq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Kq(b,c+1),0<=e&&(b=b.substr(0,c)+Lq(a,e)+b.substr(c+1+$p[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Eq(a,e))?(d=e+' "'+qq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Eq(a,e))?(zq(a,d),d=e+ -' "'+qq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=Np.prototype;m.message=function(a,b){b&&(a+=" at "+xq(Op(this,K(this.F),this.F.va.ba))+" (%"+r(this.F.Ha)+")");if(!this.Sa||a!=this.Sa)if(this.O(a),this.Sa=a,this.F){this.wc&-2147483648&&this.Xb();var c=this.F;c.X.jf=0;c.eb-=c.A;c.A=0;Pc(c)}}; -function gk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Up.indexOf(b),!d)){var g=Tp[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=zb[b])&&g[e]||"")&&(g=" "+Nq(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+pq(c-2-a.F.va.Aa,a.F.va.ba)+g));return d} -function pb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.ba,e-=a.F.va.Aa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+pq(e,h):""))}m.ih=function(){this.O("Type ? for help with PCjs Debugger commands");this.od();if(this.fb){var a=this.fb;this.fb=null;Sp(this,a)}}; -function Qp(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c>>f.La].Od(e&f.Fa,a==this.ga);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.ba=null),b.Td=!0):(Tq(this,a,a.length-1,"set"),Qp(this)));return d}; -function wq(a,b,c,d,e){for(var f=!1,g=Uq(a,a.dc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=A&&(A=p<<4|g&7);(p=gq[f])&&(q=p[A]);q&&(n=Xp,k=q,l=k[0])}l>=n.length&&(g=a.Pa(b,1),k=hq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18== -l?n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,A=!0,F=1;F<=p;F++){var v,D;v="";D=k[F];if(void 0!==D){null==f&&(f=D>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.rc?"E":"")+"DI]"));var H=D&15;if(0!=H)if(8==H)A=!1;else{var L=D&240;if(128<=L)if(0>g&&(g=a.Pa(b,1)),160>L){v=a;var V=p,H=b,Q="",$a=g>>6,ma=g&7;if(3>$a){var ga=void 0,L=0==n.indexOf("FI");if(!$a&&(!H.rc&&6==ma||H.rc&&5==ma))$a=2;else{if(H.rc)if(4!= -ma)ma+=8;else{var Q=v,ga=$a,Ga=H,Wa=Q.Pa(Ga,1),Ba=Wa>>6,Pb=Wa>>3&7,Wa=Wa&7,va="";if(ga||5!=Wa)va=aq[Wa+8];4!=Pb&&(va&&(va+="+"),va+=aq[Pb+8],Ba&&(va+="*"+(1<>24,Q+="-"+r(-ga,2)):Q+="+"+r(ga,2)):2==$a&&(Q&&(Q+="+"),H.rc?(ga=v.na(H,4),Q+=r(ga)):(ga=v.oa(H,2),Q+=r(ga,4)));Q="["+Q+"]";if(1==V){v="";D&=15;4==D&&(D=H.Rb?5:3);switch(D){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(Q=v+" "+Q)}}else Q=Yq(v,ma,D,H);v=Q}else v=160==L?Yq(a,g&7,D,b):Yq(a,g>>3&7,D,b);else if(16==L)v="1";else if(0==L){v=a;H=D;L=b;D=" ";switch(H&15){case 1:H&12288&&(D=r(v.Pa(L,1),2));break;case 2:D=r(v.Pa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){D=r(v.na(L,4));break}case 3:D=r(v.oa(L,2),4);break;case 7:L= -Op(v,v.rb(L,!0),v.oa(L,2),null,L.type,L.Rb,L.rc);D=xq(L);v=Zq(v,L);v[0]&&(D+=" ("+v[0]+")");break;default:D="imm("+u(H)+")"}v=D}else 32==L?(b.rc?(v=8,D=a.na(b,4)):(v=4,D=a.oa(b,2)),v="["+r(D,v)+"]"):48==L?(v=1==H?a.Pa(b,1)<<24>>24:a.rb(b,!0),D=b.Qa+v&(b.Rb?-1:65535),v=r(D,b.Rb?8:4),D=Zq(a,Op(a,D,b.ba)),D[0]&&(v+=" ("+D[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":Yq(a,(D&3840)>>8,D,b):112==L?v=Yq(a,(D&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=xq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Pa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=la(g,e.rc?24:16);k+=la(n,8);q&&(k+=" "+q);a.F.iaa.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return $p[b]} -function ar(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.aa&1024;break;case "I":c=a.F.aa&512;break;case "T":c=a.F.aa&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function mq(a){return r(a,a&-65536?8:4)}function br(a,b){8<=b&&15>=b&&4a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+cr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=cr(a,a.F.Nb,b)+" "+cr(a,a.F.Ob,b)+"\n");c+=dr(a,"LD",a.F.Bc.ba,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+dr(a,"GD",null,a.F.Dc,a.F.zd)+" "+dr(a, -"ID",null,a.F.Nc,a.F.Pd)+" ";c=c+(d+" "+e)+br(a,32);80386<=a.F.ia&&(c+=br(a,34)+br(a,35))}else 80386<=a.F.ia&&(c+=cr(a,a.F.Nb,b)+" "+cr(a,a.F.Ob,b)+" ");return c+=br(a,23)+ar(a,"V")+ar(a,"D")+ar(a,"I")+ar(a,"T")+ar(a,"S")+ar(a,"Z")+ar(a,"A")+ar(a,"P")+ar(a,"C")}var fr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function gr(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Gq(a,b,c){var d;if(b){b=Fq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(A,p,a.vb);0>v&&A.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,im:c,ba:d,Qa:e,Da:f,am:g,Nd:h,ti:l})} -function vq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.am;48==k&&(k=40);if(k==b.ba&&e>=l&&e=n&&fc?(a.O("out of data at address "+xq(b)),n=!0):(a.sc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function Pq(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Sb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.Y=Op(a,K(a.F),a.F.va.ba);break;case "IP":case "EIP":O(a.F,h);a.Y=Op(a,K(a.F),a.F.va.ba);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.aa|=4):(e=a.F,e.resultType&= --3,e.aa&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.aa|=128):(e=a.F,e.resultType&=-17,e.aa&=-129);break;case "I":h?(e=a.F,e.aa|=512):(e=a.F,e.aa&=-513);break;case "D":h?(e=a.F,e.aa|=1024):(e=a.F,e.aa&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Ra.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.ab=h;mj.call(a.F,h);break;case "CR2":a.F.pe=h;break;case "CR3":a.F.Md=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Pc(a.F);a.O("updated registers:")}}a.O(er(a,d));c&&(a.Y= -Op(a,K(a.F),a.F.va.ba),Qq(a,xq(a.Y)))}}function pr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(Nq(a,c[2])):Gq(a,b,!0)}function qr(a,b,c){for(var d=null,e=b.Qa,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=Xq(a,b,g,f);b.Sd||d||d++;a.O(f);a.Y=b;e-=b.Da-k;c++}}} -function Iq(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function Wq(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+xq(a.ua)),a.Y=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.ab&1&&(e=a.F.aa&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Sa=null;if(tb(a)&&0n||"z">>20;Da.wi=a.F.Md+Da.bk;Da.yb=Zd.ra[(Da.wi& -Zd.Gb)>>>Zd.La];Da.Ui=Da.yb.Kd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.xi=(Da.Ui&-4096)+Da.ck;Da.zb=Zd.ra[(Da.xi&Zd.Gb)>>>Zd.La];Da.Vi=Da.zb.Kd(Da.ck);Da.Ek=(Da.Vi&-4096)+(Te&4095)}if(Yd=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var nd="%"+r(Te),nd=nd+(" %%"+Jq(Yd.wi,Yd.Ui)),nd=nd+(" %%"+Jq(Yd.xi,Yd.Vi,!0)),nd=nd+(" %%"+r(Yd.Ek));a.O(nd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"== -ma){if("disk"==ga){Q[0]="l";Q[1]="json";or(a,Q);break a}for($a in bq)if(Q[1]==$a){var qn=a.Ya[$a];qn?(Q.shift(),Q.shift(),qn(Q)):a.O("no dump registered for "+ga);break a}ga||(ma=a.Jc||"db")}else a.Jc=ma;if("dh"==ma){var rn=ga,sn=Ga,tn="",un=0,ob=a.Fa,rc=a.ja;if(rc.length){var yb=+rn||a.Tb,$d=+sn||10;isNaN(yb)?yb=$d:tn="more ";yb>rc.length&&(a.O("note: only "+rc.length+" available"),yb=rc.length);ob-=yb;0>ob&&(null==rc[rc.length-1].ba?(yb=ob+yb,ob=0):ob+=rc.length);var fi=[];"call"==sn&&($d=1E5,fi= -["CALL"]);for(void 0!==rn&&a.O(yb+" instructions earlier:");0<$d&&ob!=a.Fa;){var od=rc[ob++];if(null==od.ba)break;var Ue=Op(a,od.Qa,od.ba,od.Da,od.type,od.Rb,od.rc),Mr=yb--,vn=Xq(a,Ue,"history",Mr);(!fi.length||0<=vn.indexOf(fi[0]))&&a.O(vn);Ue.Qe&&(ob+=Ue.Qe,$d-=Ue.Qe,yb-=Ue.Qe);ob>=rc.length&&(ob=0);a.Tb=yb;un++;$d--}}un||(a.O("no "+tn+"history available"),a.Tb=void 0)}else if("di"==ma)Q.shift(),a.O("no information");else{var ae=Eq(a,ga);if(ae&&(null!=ae.ba||null!=ae.Da)){var ng=0;Ga&&("l"==Ga.charAt(0)&& -(Ga=Ga.substr(1)||Wa),ng=jq(a,Ga)>>>0,65536>4||1,gi="dd"==ma?4:"dw"==ma?2:1,wn=0;wnji;ji++){var pg=a.Pa(ae,1),og=og|pg<<(hi++<<3);hi==gi&&(Ve+=r(og,2*gi),Ve+=1==gi?7==ji?"-":" ":" ",og=hi=0);ii+=32<=pg&&128>pg?String.fromCharCode(pg):"."}pd&&(pd+="\n");pd+=ga+" "+Ve+" "+ii}pd&&a.O(pd);a.Db=ae}}}}}break;case "e":if("else"==g[0])break;var qg=1,xn=255,yn=a.Pa,zn=a.sc;"ew"==g[0]&&(qg=2,xn=65535, -yn=a.oa,zn=a.ib);var An=qg<<1,Bn=g[1];if(null==Bn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var rg=Eq(a,Bn);if(rg)for(var sg=2;sgpi;){for(var sc=null,Sr=256;Sc.Qa>>>0>>0;){Ye.Qa=a.rb(Sc,!0);if(null==Sc.Da||!Sr--)break;Ye.ba=Dn;if(sc=qr(a,Ye))break;Ye.ba=a.rb(Sc);if(sc=qr(a,Ye,!0)){Dn=a.rb(Sc,!0);0Ar){if(d.load(this.U)){this.N=new hf(this,Cr,"failsafe");this.N.load()&&(Gr(this,d),a=2,ur(this.N));N(this.N,"timestamp",qa());vr(this.N);var e=this.A&&!this.L;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=wr(d)){var f=xr(d,"code"),g=xr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),ur(d),d.load()?(c=wr(d),e=!0):c=!1))}e&&Fr(this,c?d:null)}else 2==a&&d.clear()}else Fr(this);delete this.U;delete this.W}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ga||(this.O("PCjs v"+Cr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ga=!0);this.F&&(Hr(this,this.F,b,c,a),Rc(this.F));this.ja&&(Gr(this,b),b.clear());!c&&this.N&&(this.N.clear(),delete this.N);this.C=0}; -function Gr(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.sa,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=Cr;f.url=c;f.user=d;f.type="bug";f.data=e;wa("http://www.pcjs.org/api/v1/report",f,!0)}} -function sr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new hf(a,Cr),g=new hf(a,Cr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.0");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Xb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;kh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");wa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Xr(a,b,c)}})}else c(a,null)} -function Yr(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);k&&(--Kr||Sa(!0));k=!1}var g,h,k=!0;Kr++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.0/components.xsl");l=function(d,h){h?Lr(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--Kr||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Kr||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Lr(b,a,d,!0,e,l):Wr(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return Yr(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function Zr(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ia(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?wa(b,null,!0,function(a,b){$r(b,d)}):$r(null,d)}else w("Error ("+c+") requesting "+a)} -function $r(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ha(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:,stepping:'' - - - - - - - - - - - - - - - 5150 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - 7 - - - - - - - 256 - - - - - - - 224 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - black - - - - - - - - - - - - - - false - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 20 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - diff --git a/versions/pcjs/1.21.1/document.css b/versions/pcjs/1.21.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.1/document.xsl b/versions/pcjs/1.21.1/document.xsl deleted file mode 100644 index a00f26c49..000000000 --- a/versions/pcjs/1.21.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.1/machine.xsl b/versions/pcjs/1.21.1/machine.xsl deleted file mode 100644 index 02fb8d0e2..000000000 --- a/versions/pcjs/1.21.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.1/manifest.xsl b/versions/pcjs/1.21.1/manifest.xsl deleted file mode 100644 index 069d9ab5d..000000000 --- a/versions/pcjs/1.21.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.1/outline.xsl b/versions/pcjs/1.21.1/outline.xsl deleted file mode 100644 index 0f1bfd553..000000000 --- a/versions/pcjs/1.21.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.1/pc-dbg.js b/versions/pcjs/1.21.1/pc-dbg.js deleted file mode 100644 index 19fdc13d4..000000000 --- a/versions/pcjs/1.21.1/pc-dbg.js +++ /dev/null @@ -1,804 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})} -function la(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.nh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Cb(a.x,a.y,a.$c,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Cb(a.x,a.y,a.$c*b/c|0,a.A),a.x+=b.$c,a.$c-=b.$c);return b}m=Ab.prototype; -m.Pb=function(a,b,c,d){return this.da&&this.da.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.C&&this.C.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Gc=function(a,b,c,d){this.da=a;this.ea=b;this.F=c;this.ha=d;this.C=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.ge=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.fa?b=a.V:2==a.fa&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Ne)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ba)){b=c;if(a.context&&a.ja&&a.ka){e=a.ja.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ja,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.ra[(k&h.Gb)>>>h.La].oe(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ja,0,360,e,360,a.pb,a.Db,a.Pa,a.bb)}a.Ba= -c}}}m.od=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Bi++]={Pk:b,Qd:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Na=10;a.B=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.B,a.U);a.B+=a.pa;null!=c&&(16!=a.Sb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.B,a.U),a.B+=a.pa);d&&(a.B+=a.pa*d);e&&(a.B=a.Na,a.U+=(a.W+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Mb=1<>2;this.A=this.Mb-1;this.U=this.W/this.Mb|0;this.ea=this.U-1;this.B=[];this.C=[];this.da=this.V=!1;this.Y=[];this.fa=[];a=new B;Mb(a,this.ha);this.ra=Array(this.U);for(b=0;b>>a.La;0a.Mb?a.Mb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Le+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Le){k=g.size-(b-h);k>c&&(k=c);g.Le=b-g.Da+k;c-=k;b=h+a.Mb;continue}}return Ub(a,1,b,c)}g=a.ra[f];b=new B(b,k,a.Mb,d,e);Mb(b,a.ha,g);a.ra[f++]=b;b=h+a.Mb;c-=k}return 0>=c?(Vb(a.F),!0):Ub(a,2,b,c)} -function Sb(a,b){if(32==a.N)b?a.L&&(Wb(a,1048576,1048576,a.L),a.L=null):a.L||(a.L=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.ra[c].pf(b,a):this.ra[c++].jc(b,a)|this.ra[c&this.ea].jc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.ra[d].cg(c,b):a.ra[d++].oe(c,b)|a.ra[d&a.ea].oe(0,b+1)<<8}m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].uc(a&this.A,b&255,a)};m.ib=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.ra[d].wf(c,b&65535,a):(this.ra[d++].uc(c,b&255,a),this.ra[d&this.ea].uc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.ra[e].ri(d,c&65535,b):(a.ra[e++].uf(d,c&255,b),a.ra[e&a.ea].uf(0,c>>8&255,b+1))} -m.mb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Si=function(){return null};function gc(a,b){if(void 0===b)return a.da=!a.da,a.da;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&nc(a.ha,b,k)}else a.ha&&(pb(a.ha,a,b,k,e),a.V&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Ub(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.ca=null;this.C=0;this.Da=a;this.Le=b;this.size=c||0;this.type=d||vc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Va=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.ca=a[0],this.C=a[1],Yb(this,e.hh());else if(vb)this.L=new ArrayBuffer(c),this.qa=new DataView(this.L,0,c),this.Xa=new Uint8Array(this.L,0,c),this.ce=new Uint16Array(this.L,0,c>>1),this.ca=new Int32Array(this.L,0,c>>2),Yb(this,ac?bc:cc);else{this.ca=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,ih:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.uc(a++,b&255,c++);this.uc(a++,b>>8&255,c++);this.uc(a++,b>>16&255,c++);this.uc(a,b>>>24,c)},Fa:function(a){return this.ca[a>>2]>>>((a&3)<<3)&255},vb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b]>>a;return 24>a?c&65535:c&255|(this.ca[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b];a&&(c=c>>>a|this.ca[b+1]<<32-a);return c},nc:function(a,b){var c=a>>2,d=(a&3)<<3;this.ca[c]=this.ca[c]&~(255<>2,d=(a&3)<<3;24>d?this.ca[c]=this.ca[c]& -~(65535<>8);this.Va=!0},gd:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ca[c]=b;this.Va=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.oe(a,b)},pb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ji(a,b)},mc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.da(a,b,c):this.uf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.da(a,b,c):this.ri(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.da(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.ca[this.A]|= -this.ea;this.zb.ca[this.B]|=this.ea;return this.Bd.jc(a,b)},Jb:function(a,b){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.ea;return this.Bd.pf(a,b)},eb:function(a,b){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.ea;return this.Bd.Kd(a,b)},Jc:function(a,b,c){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.V;this.Bd.uc(a,b,c)},Fd:function(a,b,c){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|=this.V;this.Bd.wf(a,b,c)},re:function(a,b,c){this.yb.ca[this.A]|=this.ea;this.zb.ca[this.B]|= -this.V;this.Bd.vf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Tb:function(a,b){return Fc(this.F,b,!1).pf(a,b)},fb:function(a,b){return Fc(this.F,b,!1).Kd(a,b)},Uc:function(a,b,c){Fc(this.F,c,!0).uc(a,b,c)},Gd:function(a,b,c){Fc(this.F,c,!0).wf(a,b,c)},qd:function(a,b,c){Fc(this.F,c,!0).vf(a,b,c)},Ba:function(a){return this.Xa[a]},Y:function(a){return this.Xa[a]},Ia:function(a){this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=32;this.jc=this.Y;return this.Xa[a]},Sb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},Db:function(a){this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=32;this.pf=this.pa;return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},Na:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>>2]},bb:function(a){this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=32;this.Kd=this.ga;return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>> -2]},Ub:function(a,b){this.Xa[a]=b;this.Va=!0},sa:function(a,b){this.Xa[a]=b;this.Va=!0},be:function(a,b){this.Xa[a]=b;this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=96;this.uc=this.sa;this.Bd.Va=!0},pd:function(a,b){this.qa.setUint16(a,b,!0);this.Va=!0},za:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.Va=!0},Ed:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=96;this.wf=this.za;this.Bd.Va=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Va=!0},wa:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.Va=!0},hd:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.yb.ca[this.A]|=32;this.zb.ca[this.B]|=96;this.vf=this.wa;this.Bd.Va=!0}};function Mb(a,b,c){a.ha=b;a.Re=a.Se=0;c&&(c.F&&(a.F=c.F),(a.Re=c.Re)&&zc(a,Ac,!1),(a.Se=c.Se)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Se&&(a.uc=a.N?a.da:a.uf,a.wf=a.N?a.W:a.ri,a.vf=a.N?a.U:a.ua):0===--a.Re&&(a.jc=a.oe,a.pf=a.cg,a.Kd=a.ji)}function Bc(a,b,c){c&&a.Se||(a.uc=!a.N&&b[3]||a.da,a.wf=!a.N&&b[4]||a.W,a.vf=!a.N&&b[5]||a.U);if(c||void 0===c)a.uf=b[3]||a.da,a.ri=b[4]||a.W,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Re||(a.jc=b[0]||a.ja,a.pf=b[1]||a.ka,a.Kd=b[2]||a.fa);if(c||void 0===c)a.oe=b[0]||a.ja,a.cg=b[1]||a.ka,a.ji=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.vb,B.prototype.Ya,B.prototype.nc,B.prototype.td,B.prototype.gd],Ac=[B.prototype.Ea,B.prototype.pb,B.prototype.Pa,B.prototype.mc,B.prototype.sd,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.eb,B.prototype.Jc,B.prototype.Fd,B.prototype.re],Hc=[B.prototype.Ka,B.prototype.Tb,B.prototype.fb,B.prototype.Uc,B.prototype.Gd,B.prototype.qd]; -if(vb)var cc=[B.prototype.Ba,B.prototype.Sb,B.prototype.Na,B.prototype.Ub,B.prototype.pd,B.prototype.Vc],bc=[B.prototype.Y,B.prototype.pa,B.prototype.ga,B.prototype.sa,B.prototype.za,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.bb,B.prototype.be,B.prototype.Ed,B.prototype.hd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.X={};this.X.Hd=c;this.X.Ud=d;this.X.tg=Math.round(this.X.Hd/1E4)/100;this.X.Ce=this.X.tg*this.X.Ud;this.la.Ib=!1;this.la.fh=!1;this.la.ah=a.autoStart;this.la.Oi=!1;c=Ya.autostart||Ya.autoStart;void 0!==c&&(this.la.ah="true"==c?!0:"false"==c?!1:null);this.la.We=!1;this.X.If=this.X.gf=0;this.X.Jf=a.csStart;this.X.ff=a.csInterval;this.X.hf=a.csStop;this.gd=[];this.si=this.Ie.bind(this);sb(this)}db(Lc); -var Mc=["power","reset"];m=Lc.prototype;m.Gc=function(a,b,c,d){this.da=a;this.ea=b;this.ha=d;for(b=0;b=a.X.gf&&(a.X.gf+=a.X.ff,c=!0);0<=a.X.hf&&a.X.hf<=Vc(a)&&(a.X.ff=a.X.hf=-1,Oc(a),a.Xb(),c=!0);c&&a.O(Vc(a)+" cycles: checksum="+r(a.X.If))}}m.od=function(){this.da&&this.da.Xd&&this.da.Xd.od()}; -function Wc(a,b){for(var c=0;c>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Qd=0;h<=f;)g=d.ra[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Qd++),h++;c.A=e;c.za=c.A.Qd*c.ea.Mb/691200;d=0;c.A.Bi=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.$c>1,h.U+=(h.W>>1)-2,Jb(h,e),h.sa&&(h.N.restore(),h.sa=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.Y,0,0,c.Y.width,c.Y.height,c.vb,c.Jb,c.Ya,c.eb);c.Ja=!1}} -m.Tc=function(a){if(this.gd.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);this.gd[0].Tc();a&&window&&window.scrollTo(b,c)}}; -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.da)if(a=d.da,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.X.tg&&(c=Math.round(c/a.X.Ud));return c}function Nc(a){a.X.me=0;a.Ub=a.Jb=a.eb=a.A=0;Oc(a);Yc(a,1)} -function Yc(a,b,c){var d=!1;if(void 0!==b){.8>a.X.me/a.X.Ce?b=1:d=!0;a.X.Ud=b;b=a.X.tg*a.X.Ud;if(a.X.Ce!=b){a.X.Ce=b;b=a.X.Ce.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.Tc()}$c(a,a.Jb);a.Jb=0;a.X.ef=pa();a.X.De=0;ad(a);return d} -m.Ie=function(a){if(qb(this,!0)){if(!this.la.Ib){Yc(this);this.da&&this.da.start(this.X.ef,Vc(this));this.la.Ib=!0;this.la.fh=!0;this.N&&bd(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.od(!0);a&&this.Tc(!0)}this.X.th>=this.X.Hd&&ad(this,!0);this.X.Mf=0;this.X.ug=pa();this.X.De&&(a=this.X.ug-this.X.De,a>this.X.Xi&&(this.X.ef+=a,this.X.ef>this.X.ug&&(this.X.ef=this.X.ug)));try{do{var c=this.la.We?1:this.X.gm;if(this.N){cd(this.N);var d=this.N;a=c;var e=d.L[0];if(e.xe){var f=(Vc(d.F,d.pa)- -e.xd)/d.pb|0,g=dd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.pb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.Ba-Vc(k.F,k.pa);0l&&(a=l)}c=a}try{this.tf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.eb-this.A;this.Jb+=n;this.X.Mf+=n;$c(this,0,!0);Uc(this,n);this.X.Lf-=n;0>=this.X.Lf&&(this.X.Lf+=this.X.Zi,Wc(this));this.X.Kf-=n;0>=this.X.Kf&&(this.X.Kf+=this.X.Yi,this.od());this.X.jf-=n;if(0>=this.X.jf){this.X.jf+=this.X.sh;break}}while(this.la.Ib)}catch(q){this.Xb(); -Pc(this);this.da&&this.da.stop(pa(),Vc(this));qb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.si;this.X.De=pa();e=this.X.Xi;this.X.Mf&&(e=Math.round(e*this.X.Mf/this.X.sh));e-=this.X.De-this.X.ug;if(f=this.X.De-this.X.ef)this.X.me=Math.round(this.Jb/(10*f))/100,864E5<=f&&(this.Ub=0,this.N&&cd(this.N,!0),Yc(this));if(0>e||this.X.methis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.cm=function(a){var b=this.F;a=b.Nc+(a<<2);var c=b.oa(a);b.aa&=-769;return this.load(b.oa(a+2))+c|0}; -m.bm=function(a){var b=this.F;a<<=3;var c=b.Nc+a|0;if(7<=(b.Pd-c|0))return this.C=!0,a=hd(this,c,a),-1!==a&&(a+=this.Wf),a;C.call(b,13,a|2);return-1};m.Ei=function(a){return this.Aa+a|0};m.Gi=function(a){return this.Aa+a|0};m.Di=function(a,b){return(a>>>0)+b<=this.$b?this.Aa+a|0:this.ng()};m.Hk=function(a,b){return(a>>>0)+b>this.$b?this.Aa+a|0:this.ng()};m.ng=function(){C.call(this.F,13,0);return-1};m.Fi=function(a,b){return(a>>>0)+b<=this.$b?this.Aa+a|0:this.og()}; -m.Ik=function(a,b){return(a>>>0)+b>this.$b?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};function id(a,b,c,d,e){a.ba=b;a.Aa=d;a.Ta=e;a.$b=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Yb=(b&4?a.F.Bc.Aa:a.F.Dc)+(b&65528)|0;4>a.id&&fd(a,!0)}function jd(a,b,c){var d=a.F,e=d.oa(b+2),f=d.oa(b)|(e&255)<<16,d=d.oa(b+4);a.ba=c;a.Aa=f;a.Ta=d;a.$b=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Yb=b;4>a.id&&fd(a,!0)} -function hd(a,b,c,d){var e=a.F;if(!d&&c===a.A.ba)return a.ba=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.$b=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Yb=a.A.Yb,a.A.ba=-1,fd(a,!0,!0,!1),a.Aa;a.A.ba=-1;var f=e.oa(b+0),g=e.oa(b+4),h=g&7936,k=e.oa(b+2)|(g&255)<<16,l=e.oa(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.af=!1;if(p&&1==c&&a.B.length){var A=a.B[a.Wf-1];if(A&&!A())return-1}var F=c&3,v=(g&24576)>>13,A=-1,D,H;n|| -b>=e.Dc&&ba.Vb&&(A=-1,!1===p||v==a.Vb||h&1024&&v<=a.Vb))A=E(e),kd(e,E(e),!0),G(e,A),a.af=!0,A=0}else{if(256==h||2304==h)return ld(a,c,p)?a.Aa:-1;if(1024==h)A=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1;break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e, -13,c&65532),-1;2304==p&&(a.vi=k+e.oa(k+100+2)|0,a.Dk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Yb=b,fd(a,!0,!0,!1));return k} -function ld(a,b,c){var d=a.F,e=a.Vb,f=d.Sa.ba,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.ib(d.Sa.Yb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.ib(d.Sa.Yb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.ib(g+14,K(d)),d.ib(g+16,xd(d)),d.ib(g+18,d.G),d.ib(g+20,d.I),d.ib(g+22,d.M),d.ib(g+24,d.H),d.ib(g+26,I(d)),d.ib(g+28,d.P),d.ib(g+30,d.K),d.ib(g+32,d.J),d.ib(g+ -34,d.Wa.ba),d.ib(g+36,d.va.ba),d.ib(g+38,d.ta.ba),d.ib(g+40,d.ub.ba),d.Bc.load(d.oa(h+42)),yd(d,d.oa(h+16)|(c?16384:0)),d.G=d.oa(h+18),d.I=d.oa(h+20),d.M=d.oa(h+22),d.H=d.oa(h+24),d.P=d.oa(h+28),d.K=d.oa(h+30),d.J=d.oa(h+32),d.Wa.load(d.oa(h+34)),d.ub.load(d.oa(h+40)),zd(d,d.oa(h+14),d.oa(h+36)),b=38,g=26,a.Vb>>0)+1)}; -function fd(a,b,c,d){void 0===c&&(c=!!(a.F.ab&1));a.bd=!1;if(c)if(a.load=a.sg,a.Wi=a.bm,a.pc=a.Di,a.qc=a.Fi,void 0===d&&(d=!!(a.F.aa&131072)),d)a.load=a.L,a.pc=a.ea,a.qc=a.qa,a.Vb=a.Kc=3,a.Z=a.Mc=2,a.R=a.Ca=65535,a.Ta=65535,a.$b=a.Ta+1,a.Mc=a.Z,a.Yb=-1,a.af=!1;else{if(!(a.ba&-4))a.pc=a.ng,a.qc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.pc=a.ng);if(a.type&2048||!(a.type&512))a.qc=a.og;1024==(a.type&3072)&&(a.pc==a.Di&&(a.pc=a.Hk),a.qc==a.Fi&&(a.qc=a.Ik),a.bd=!0);b&&6>a.id&&a.ba&-4&&-1!==a.Yb&& -(c=a.Yb+5,d=a.F.Qa(c),d&1||a.F.sc(c,d|1))}b&&(a.Vb=a.ba&3,a.Kc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.Z=2,a.R=65535):(a.Z=4,a.R=-1),a.Mc=a.Z,a.Ca=a.R)}else a.load=a.mh,a.Wi=a.cm,a.pc=a.Ei,a.qc=a.Gi,a.Vb=a.Kc=0,a.Yb=-1,a.af=!1} -function Bd(a){this.ia=a.model||8088;var b=a.stepping;this.nc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.ag=61442;this.mc=1792;this.Yf=28672;this.Ed=4;this.sa=255;this.B=80286<=this.ia?xb:wb;this.U=Cd;this.gg=Dd;this.hg=Ed;this.Ng=Fd;if(80186<=this.ia&&(this.U=Cd.slice(),this.gg=Dd.slice(),this.hg=Ed.slice(),this.sa=31,this.U[15]=Gd,this.U[96]=Hd,this.U[97]=Id,this.U[98]=Jd,this.U[99]=Gd,this.U[100]=Gd,this.U[101]= -Gd,this.U[102]=Gd,this.U[103]=Gd,this.U[104]=Kd,this.U[105]=Ld,this.U[106]=Md,this.U[107]=Nd,this.U[108]=Od,this.U[109]=Pd,this.U[110]=Qd,this.U[111]=Ud,this.U[192]=Vd,this.U[193]=Wd,this.U[200]=Xd,this.U[201]=Yd,this.U[241]=de,this.gg[7]=ee,this.hg[7]=ee,80286<=this.ia)){this.ag=2;this.mc|=28672;this.Ed=0;this.U[15]=fe;this.Tb=ge.slice();for(a=0;a=this.nc&&(this.Tb[166]=oe,this.Tb[167]=pe)}}this.ie=[];this.je=[];this.le=0;Nc(this);this.la.Sd=this.la.Mi=!1;this.Pg=0;this.jd=this.ra=[];this.La=this.Mb=this.Fa=this.Fd=this.hd=this.Gb=this.vb=0;qe(this)}db(Bd,Lc);function re(a,b,c,d){Gc((d?a.jd:a.ra)[b>>>a.La],c);d&&Vb(a)} -function se(a){var b;if(a.ra===a.jd){a.ra=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Mb(a.ke,a.ha);for(b=0;ba.ye&&(a.bg[a.ye++]=d);a.ra[b]=a.ke}a.Gd=[]}function Vb(a){a.ab&-2147483648&&se(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.jd[(a.Md+e&a.Gb)>>>a.La],g=f.Kd(e);if(!(g&1))return d||te.call(a,b,!1,c),a.qd;if(!(g&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.qd;var h=(b&4190208)>>>10,g=a.jd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Kd(h);if(!(k&1))return d||te.call(a,b,!1,c),a.qd;if(!(k&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.qd;c=a.jd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.ra[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&ac&&c.ca&&!c.controller&&!c.Re&&!c.Se?(b.Xa=c.Xa,b.ce=c.ce,b.ca=c.ca,Yb(b,Kc)):(b.ea=c?yc(32):0,b.V=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.ra[d]=b;a.Gd.push(d);return b}function ue(a){a.ra!==a.jd&&(a.ra=a.jd,a.ke=null,a.Gd=null,a.qd=null)}m=Bd.prototype;m.reset=function(){this.la.Ib&&this.Xb();qe(this);Nc(this);this.la.ud=!1}; -function ve(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function we(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function qe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.fb=0;a.P=0;a.K=0;a.J=0;a.bb=!1;a.ja=a.wa=0;a.Y=0;a.Og=0;a.L=0;a.ab=65520;a.Nc=0;a.Pd=1023;a.aa=a.Pa=0;a.Vc=a.td=a.Uc=a.Wc=0;a.pb=-1;a.Jc=a.pd=-1;a.Ge=a.W=-1;a.va=new ed(a,1,"CS");a.ub=new ed(a,2,"DS");a.Wa=new ed(a,2,"ES");a.ta=new ed(a,3,"SS");G(a,0);kd(a,0);if(80386<=a.ia){switch(a.nc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.ab=16;a.ki=0;a.pe=0;a.Md=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Be=[null,null,null,null,null,null,0,0];a.Nb=new ed(a,2,"FS");a.Ob=new ed(a,2,"GS");ue(a)}a.of=new ed(a,0,"NULL");a.ka=a.ub;a.Ka=a.ta;a.S=a.Ga=0;a.D=a.C=-1;a.ac=a.of;a.ua=0;if(80286>a.ia)zd(a,0,65535);else{a.Dc=0;a.zd=65535;a.Bc=new ed(a,5,"LDT",!0);a.Sa=new ed(a,4,"TSS",!0);a.Ea=new ed(a,6,"VER",!0);zd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.nf=(b>>>0)+(a.va.Ta>>>0)+1}yd(a,0);md(a)} -function xe(a,b){b.ba&65528&&b.Kc>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.ra[g>>>a.La].Od(g&a.Fa,f,a):Gc(a.ra[g>>>a.La],f)}c>>=2;d>>=4}} -function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}}function md(a,b,c){void 0===b&&(b=!!(a.ab&1));void 0===c&&(c=!!(a.aa&131072));a.Ng=b&&!c?gf:Fd;fd(a.va,!1,b,c);fd(a.ub,!1,b,c);fd(a.ta,!1,b,c);fd(a.Wa,!1,b,c);80386<=a.ia&&(fd(a.Nb,!1,b,c),fd(a.Ob,!1,b,c));bf(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.ub.save(),e=this.ta.save(),f=this.Wa.save(),g;null!=this.Dc?(g=[this.ab,this.Dc,this.zd,this.Nc,this.Pd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ia&&(g.push(this.ki),g.push(this.pe),g.push(this.Md),g.push(this.Ja),g.push(this.Be))):g=null;b=[b,c,d,e,f,g,xd(this)];80386<=this.ia&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ga,this.ua,this.D,this.C]);N(a,3,[0,this.Ub,this.X.Ud]);b=this.ea;c=!!(this.ab&-2147483648);d=0;e=[];(f=!b.L&&b.wg==b.Gb)||Sb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Vb;bf(a)}function zd(a,b,c,d){var e=a.va;e.Wf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Wf&a.va.R)),a.va.af):null} -function mf(a,b){var c=(a.Ha>>>0)+b;c>a.nf&&(8088>=a.ia||a.va.Ta==a.va.Ca?c=a.va.Aa+(c-a.nf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ha=a.Ge}function I(a){return a.fb&~a.ta.Ca|a.ga-a.ta.Aa}function G(a,b){a.fb=b;a.ga=a.ta.Aa+(b&a.ta.Ca)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Vc=d,a.Uc=b):(a.Vc=b,a.Uc=d);a.td=c;a.Wc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Wc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.aa&=-2,(a.Vc^(a.Vc^a.td)&(a.td^a.Uc))&a.resultType&-2147450752&&(a.aa|=1),a.resultType&=-2);return a.aa&1}function qf(a){a.resultType&2&&(a.aa&=-5,38505>>((a.Wc^a.Wc>>4)&15)&1&&(a.aa|=4),a.resultType&=-3);return a.aa&4} -function rf(a){a.resultType&4&&(a.aa&=-17,(a.Uc^a.Vc^a.td)&16&&(a.aa|=16),a.resultType&=-5);return a.aa&16}function sf(a){a.resultType&8&&(a.aa&=-65,a.Wc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.aa|=64),a.resultType&=-9);return a.aa&64}function tf(a){a.resultType&16&&(a.aa&=-129,a.Wc&a.resultType&-2147450752&&(a.aa|=128),a.resultType&=-17);return a.aa&128} -function uf(a){a.resultType&32&&(a.aa&=-2049,(a.Vc^a.Uc)&(a.td^a.Uc)&a.resultType&-2147450752&&(a.aa|=2048),a.resultType&=-33);return a.aa&2048}function xf(a){a.resultType&=-2;a.aa&=-2}function Cf(a){a.resultType&=-5;a.aa&=-17}function Df(a){a.resultType&=-9;a.aa&=-65}function zf(a){a.resultType&=-33;a.aa&=-2049}function wf(a){a.resultType&=-2;a.aa|=1}function Ef(a){a.resultType&=-5;a.aa|=16}function Ff(a){a.resultType&=-9;a.aa|=64}function yf(a){a.resultType&=-33;a.aa|=2048} -function xd(a){return a.aa&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.ab&1|65520;a.ab=a.ab&-65536|b&65535;a.ab&1&&md(a,!0)}function yd(a,b,c){a.ab&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.aa&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.aa&512);a.resultType=128;a.aa=a.aa&~(a.mc|2261)|b&(a.mc|2261)|a.ag;a.aa&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.ab&1&&(a.pa>a.Pa||a.aa&131072)&&a.Sa.vi)for(var f=a.Sa.vi+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.jd:a.ra)[(b&a.vb)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.oe(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.oa=function(a){var b=a&this.Fa,c=(a&this.vb)>>>this.La;this.A-=this.B.Dg;if(b>>this.La;if(b>>this.La].uc(a&this.Fa,b&255,a)}; -m.ib=function(a,b){var c=a&this.Fa,d=(a&this.vb)>>>this.La;this.A-=this.B.Dg;c>8&255,a+1))};m.mb=function(a,b){var c=a&this.Fa,d=(a&this.vb)>>>this.La;this.A-=this.B.Dg;if(c>>=8}}; -function Jf(a,b,c){a.ac=b;a.Ba=c&a.Ca;a.D=b.pc(a.Ba,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.ac=b;a.Ba=c&a.Ca;a.D=b.pc(a.Ba,a.Z);return a.S&1?0:a.sb(a.D)}function R(a,b){a.ac=a.ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,2);return a.S&1?0:a.oa(a.D)}function Mf(a,b){a.ac=a.Ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,2);return a.S&1?0:a.oa(a.D)}function S(a,b){a.ac=a.ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,4);return a.S&1?0:a.na(a.D)} -function Nf(a,b){a.ac=a.Ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,4);return a.S&1?0:a.na(a.D)}function Of(a,b){a.S&2||a.sc(a.ac.qc(a.Ba,1),b)}function Pf(a,b){a.S&2||a.ib(a.ac.qc(a.Ba,2),b)}function Qf(a,b){a.S&2||a.mb(a.ac.qc(a.Ba,4),b)}function td(a,b,c){return a.sb(b.pc(c,a.Z))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Rf(a){var b=mf(a,2),c=a.oa(a.Ha);a.Ha=b;return c}function T(a){var b=mf(a,a.Mc),c=a.dc(a.Ha);a.Ha=b;return c} -m.Ma=function(){var a=mf(this,this.Z),b=this.sb(this.Ha);this.Ha=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function E(a){var b=a.sb(a.ga);a.ga=a.ga+a.Z|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ca||a.ta.bd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ca):-1>c&&C.call(a,12,0));return b} -function ud(a,b,c,d){c=a.ga-c|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ca||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));switch(d){case 1:a.sc(c,b);break;case 2:a.ib(c,b);break;case 4:a.mb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.Z|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ca||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));a.tc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.aa&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ha,c)){this.Xb();break}c=1}this.S=0;this.U[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ia>=cg?eg(a,13):a.Ea&0||Vf.call(a.F,2),!0;a=a.N;a.ia>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ia||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.da[0]=d|0;2147483648d&&(a.da[1]=-1))}return d} -function wg(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function xg(a){var b=a.B+0&7;return a.C&1<>16}function Cg(a){return a.F.na(a.F.D)}function Dg(a){a.ua[0]=a.F.na(a.F.D);return a.pa[0]}function Eg(a){a.da[0]=a.F.na(a.F.D);a.da[1]=a.F.na(a.F.D+4);return a.W[0]} -function Fg(a){a.ea[0]=a.F.na(a.F.D);a.ea[1]=a.F.na(a.F.D+4);a.ea[2]=a.F.oa(a.F.D+8);return a.ea}m.pi=function(){this.F.mb(this.F.D,this.da[0])};m.lk=function(){this.F.mb(this.F.D,this.da[0]);this.F.mb(this.F.D+4,this.da[1])};m.nk=Xf.prototype.pi;m.mk=Xf.prototype.lk;function Gg(a){a.F.mb(a.F.D,a.ea[0]);a.F.mb(a.F.D+4,a.ea[1]);a.F.ib(a.F.D+8,a.ea[2])} -function Hg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.da[0]=f;a.da[1]=c|(d|e)<<20;return a.W[0]}function Ag(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Ig(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Jg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.sb(b+=d.Z));!(d.ab&1)||d.aa&131072?(a.V=d.sb(b+=d.Z),c=d.sb(b+=d.Z),a.ja=c&2047,a.V|=(c&-4096)<<4,a.fa=-1,a.U=d.sb(b+=d.Z),a.U|=(d.sb(b+=d.Z)&-4096)<<4,a.ga=-1):(a.V=d.sb(b+=d.Z),c=d.sb(b+=d.Z),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.sb(b+=d.Z),a.ga=d.sb(b+=d.Z)&65535);return b+d.Z} -function Ng(a,b){var c=a.F;c.tc(b,a.kc);c.tc(b+=c.Z,Zf(a));c.tc(b+=c.Z,$f(a));if(!(c.ab&1)||c.aa&131072){var d=(a.fa<<4)+a.V;c.tc(b+=c.Z,d);c.tc(b+=c.Z,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.tc(b+=c.Z,d);c.tc(b+=c.Z,d>>4&-4096)}else c.tc(b+=c.Z,a.V),c.tc(b+=c.Z,a.fa|a.ja<<16),c.tc(b+=c.Z,a.U),c.tc(b+=c.Z,a.ga);return b+c.Z}var Og=Math.log(10)/Math.LN2,Pg=Math.LOG2E,Qg=Math.PI,Rg=Math.log(2)/Math.LN10,Sg=Math.LN2,Tg=Math.pow(2,63);function Ug(){this.ma&=-32896;ag(this)} -function Vg(){lg(this,U(this,0),U(this,this.A))}function Wg(){lg(this,U(this,0),U(this,this.A))&&Kg(this)}function Xg(){Wg.call(this)}function Yg(){W(this,0,kg(this,U(this,0),Dg(this)))}function Zg(){this.C&=~(1<>20&2047)-1023),this.da[1]=(this.da[1]|1072693248)&-1073741825,Lg(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1, -U(this,1)*Math.log(U(this,0)+1)/Math.LN2)&&Kg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Tg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Lg(this,a)},6:function(){var a=mg(this,Kg(this));null!=a&&(this.ea[0]= -Jg(a,8),this.ea[1]=Jg(a/1E8,8),this.ea[2]=Jg(a/1E16,2),0>a&&(this.ea[2]|=32768),Gg(this))},7:function(){null!=mg(this,U(this,0),Tg)&&(this.lk(),Kg(this))},48:function(){Zg.call(this);Kg(this)},49:lh,50:gh,51:gh,52:jh}},nh=[Ug,$g,ah,bh,ch,dh,hh,eh,ih,jh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function wh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=2==this.Z?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function yh(a,b){a&1<<(b&(2==this.Z?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function zh(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Ah(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Bh(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Ch(a,b){if(-1===this.D)return yh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Dh(a,b){if(-1===this.D)return zh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Gh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Wb;this.S|=2;return a}function Hh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Wb;this.S|=2;return a} -function Ih(a){if(this.Sb){var b=this.Sb,c=this.Og,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=mh[c][f]){if(0>nh.indexOf(e)){var f=b.F,g=f.Ge;8087==b.ia&&(f.Ga&16&&g++,f.Ga&32&&g++);b.fa=f.va.ba;b.V=g-f.va.Aa;-1!==f.D&&(b.ga=f.ac.ba,b.U=f.D-f.ac.Aa);b.ja=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Jh(a){if(80186>this.ia)return Kh.call(this,a);C.call(this,13,0);return a}function ee(a){C.call(this,6);return a} -function Kh(a){he.call(this);return a}function Lh(a,b){var c=Mh.call(this,this.T(),b);80386>this.ia&&(this.A-=12);return c}function Nh(a,b){var c;a=this.Ma();c=2==this.Z?Mh.call(this,a,b):Oh.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function Ph(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Qh.call(this,a,b);c&&(this.ja=~this.ja+1|0,this.wa=~this.wa+(this.ja?0:1)|0)} -function Mh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Oh(a,b){Ph.call(this,a,b);this.wa!=this.ja>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ja}function Rh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Kc>=this.pa&&this.Ea.Kc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Kc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function Yh(a,b){if(-1===this.D)return he.call(this),a;kd(this,this.oa(this.D+this.Z));this.A-=this.B.lf;return b} -function Zh(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function $h(a,b){switch(this.L>>3&7){case 4:this.Y=this.G;break;case 5:this.Y=this.I;break;case 6:this.Y=this.M;break;case 7:this.Y=this.H}return b}function ai(a,b){return b} -function bi(a,b){var c=this.L>>3&7;switch(c){case 0:this.Y=this.G;break;case 2:this.Y=this.M;break;case 3:this.Y=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.Y=this.I;break;case 4:this.Y=I(this);break;case 5:this.Y=this.P;break;case 6:this.Y=this.K;break;case 7:this.Y=this.J}}return Zh.call(this,0,b)} -function ci(a,b){switch(this.L>>3&7){case 0:b=this.Wa.ba;break;case 1:b=this.va.ba;break;case 2:b=this.ta.ba;break;case 3:b=this.ub.ba;break;case 4:if(80386<=this.ia){b=this.Nb.ba;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Ob.ba;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return Zh.call(this,0,b)} -function Qh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function di(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a|b,128)}function vi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a|b,this.Ia)&this.R} -function wi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&255}function xi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&this.R}function yi(){return uf(this)?1:0}function zi(){return pf(this)?1:0}function Ai(){return pf(this)?0:1}function Bi(){return sf(this)?1:0}function Ci(){return sf(this)?0:1}function Di(){return pf(this)||sf(this)?1:0} -function Ei(){return pf(this)||sf(this)?0:1}function Fi(){return tf(this)?1:0}function Gi(){return tf(this)?0:1}function Hi(){return qf(this)?1:0}function Ii(){return qf(this)?0:1}function Ji(){return!tf(this)!=!uf(this)?1:0}function Ki(){return!tf(this)!=!uf(this)?0:1}function Li(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Mi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Ni(a,b){return Oi.call(this,a,b,this.xa())}function Pi(a,b){return Qi.call(this,a,b,this.xa())} -function Ri(a,b){return Oi.call(this,a,b,this.I&31)}function Si(a,b){return Qi.call(this,a,b,this.I&31)}function Ti(a,b){return Ui.call(this,a,b,this.xa())}function Vi(a,b){return Wi.call(this,a,b,this.xa())}function Xi(a,b){return Ui.call(this,a,b,this.I&31)}function Yi(a,b){return Wi.call(this,a,b,this.I&31)}function Zi(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&255} -function $i(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&this.R}function aj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Tf:this.B.Tf;this.S|=2;return a}function bj(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Tf:this.B.Tf;this.S|=2;return a}function cj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function ej(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.di}else this.C=this.D,Of(this,a),this.A-=this.B.ci;return b} -function fj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.di}else this.C=this.D,this.S&2||this.tc(this.ac.qc(this.Ba,this.Z),a),this.A-=this.B.ci;return b} -function gj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c}function hj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a^b,this.Ia)&this.R}function ij(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function jj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function kj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=ij(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ja=d;this.wa=a[0];return!0}function lj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function mj(a){this.ab=a;md(this);this.ab&-2147483648?se(this):ue(this)}function Ad(a){this.Md=a;Vb(this)}function nj(a){this.S|=1;this.Ya.call(this,a);this.A-=-1===this.D?4:5}function Oi(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Qi(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Ui(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Wi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function oj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function pj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Vh:this.B.Uh)+(a<this.pb?(-1!=this.Jc&&(this.va.Vb=3,kf(this,this.Jc),this.Jc=-1),lf(this,this.Ge),-1!=this.pd&&(kd(this,this.pd),this.pd=-1),-1!==this.W&&(G(this,this.fb&~this.ta.Ca|this.W-this.ta.Aa),this.W=-1)):8!=this.pb?(b=0,a=8):(b=0,a=-1,qe(this),e=d=!1)):lf(this,this.Ge);var f=a,g=b,h=32,k=If(this,this.Ha);204!=k||this.Pd||(d=!1);this.aa&131072&&(6==f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);z(this, -h|-2147483648)&&(d=!0);if(z(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked by PCjs Debugger)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Xb())):(this.Oa(f),this.Xb())}if(d&&e)throw-1;if(e)throw this.pb=a,uj.call(this,a,b,c),this.Ge=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;}function te(a,b,c){this.pe=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)} -function ze(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=P(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Kf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Kf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=P(this,this.K);this.A-=this.B.Hc;break;case 5:c=P(this,this.J);this.A-=this.B.Hc;break;case 6:c=P(this,T(this));this.A-=this.B.Id;break;case 7:c=P(this,this.H);this.A-=this.B.Hc;break;case 64:c=P(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=P(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Kf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Kf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=P(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=P(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Kf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=P(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=P(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=P(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Kf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Kf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=P(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=P(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Kf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=P(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break; -case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ae(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.H+this.K);this.C=this.D;break;case 1:b=P(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=P(this,this.K);this.C=this.D;break;case 5:b=P(this,this.J);this.C=this.D;break;case 6:b=P(this,T(this));this.C=this.D;break;case 7:b=P(this,this.H);this.C=this.D;break;case 64:b=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=P(this,this.K+this.T());this.C=this.D;break;case 69:b=P(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=P(this,this.H+this.T());this.C=this.D;break;case 128:b=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=P(this,this.K+T(this));this.C=this.D;break;case 133:b=P(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=P(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.dd;break;case 1:case 2:Of(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Hc;break;case 6:Of(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Be(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.H+this.K);this.C=this.D;break;case 1:c=P(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=P(this,this.K);this.C=this.D;break;case 5:c=P(this,this.J);this.C=this.D;break;case 6:c=P(this,T(this));this.C=this.D;break;case 7:c=P(this,this.H);this.C=this.D;break;case 64:c=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=P(this,this.K+this.T());this.C=this.D;break;case 69:c=P(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=P(this,this.H+this.T());this.C=this.D;break;case 128:c=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=P(this,this.K+T(this));this.C=this.D;break;case 133:c=P(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=P(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.dd;break;case 1:case 2:Of(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Hc;break;case 6:Of(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ce(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Hc;break;case 5:c=R(this,this.J);this.A-=this.B.Hc;break;case 6:c=R(this,T(this));this.A-=this.B.Id;break;case 7:c=R(this,this.H);this.A-=this.B.Hc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function De(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.dd;break;case 1:case 2:Pf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Hc;break;case 6:Pf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ee(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.dd;break;case 1:case 2:Pf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Hc;break;case 6:Pf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Fe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=S(this,this.K);this.A-=this.B.Hc;break;case 5:c=S(this,this.J);this.A-=this.B.Hc;break;case 6:c=S(this,T(this));this.A-=this.B.Id;break;case 7:c=S(this,this.H);this.A-=this.B.Hc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ge(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.dd;break;case 1:case 2:Qf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Hc;break;case 6:Qf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.hb;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function He(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.dd;break;case 1:case 2:Qf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Hc;break;case 6:Qf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.hb;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ke(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.G);break;case 1:c=P(this,this.I);break;case 2:c=P(this,this.M);break;case 3:c=P(this,this.H);break;case 4:c=P(this,xj.call(this,0));break;case 5:c=P(this,T(this));break;case 6:c=P(this,this.K);break;case 7:c=P(this,this.J);break;case 64:c=P(this,this.G+this.T());break;case 65:c=P(this,this.I+this.T());break;case 66:c=P(this,this.M+this.T());break;case 67:c=P(this,this.H+this.T());break;case 68:c=P(this,xj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=P(this,this.K+this.T());break;case 71:c=P(this,this.J+this.T());break;case 128:c=P(this,this.G+T(this));break;case 129:c=P(this,this.I+T(this));break;case 130:c=P(this,this.M+T(this));break;case 131:c=P(this,this.H+T(this));break;case 132:c=P(this,xj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=P(this,this.K+T(this));break;case 135:c=P(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Le(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.G);this.C=this.D;break;case 1:b=P(this,this.I);this.C=this.D;break;case 2:b=P(this,this.M);this.C=this.D;break;case 3:b=P(this,this.H);this.C=this.D;break;case 4:b=P(this,xj.call(this,0));this.C=this.D;break;case 5:b=P(this,T(this));this.C=this.D;break;case 6:b=P(this,this.K);this.C=this.D;break;case 7:b=P(this,this.J);this.C=this.D;break;case 64:b=P(this,this.G+this.T());this.C=this.D;break;case 65:b=P(this,this.I+this.T()); -this.C=this.D;break;case 66:b=P(this,this.M+this.T());this.C=this.D;break;case 67:b=P(this,this.H+this.T());this.C=this.D;break;case 68:b=P(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=P(this,this.K+this.T());this.C=this.D;break;case 71:b=P(this,this.J+this.T());this.C=this.D;break;case 128:b=P(this,this.G+T(this));this.C=this.D;break;case 129:b=P(this,this.I+T(this));this.C=this.D;break;case 130:b=P(this,this.M+T(this));this.C= -this.D;break;case 131:b=P(this,this.H+T(this));this.C=this.D;break;case 132:b=P(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=P(this,this.K+T(this));this.C=this.D;break;case 135:b=P(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Me(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.G);this.C=this.D;break;case 1:c=P(this,this.I);this.C=this.D;break;case 2:c=P(this,this.M);this.C=this.D;break;case 3:c=P(this,this.H);this.C=this.D;break;case 4:c=P(this,xj.call(this,0));this.C=this.D;break;case 5:c=P(this,T(this));this.C=this.D;break;case 6:c=P(this,this.K);this.C=this.D;break;case 7:c=P(this,this.J);this.C=this.D;break;case 64:c=P(this,this.G+this.T());this.C=this.D;break;case 65:c=P(this,this.I+this.T()); -this.C=this.D;break;case 66:c=P(this,this.M+this.T());this.C=this.D;break;case 67:c=P(this,this.H+this.T());this.C=this.D;break;case 68:c=P(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=P(this,this.K+this.T());this.C=this.D;break;case 71:c=P(this,this.J+this.T());this.C=this.D;break;case 128:c=P(this,this.G+T(this));this.C=this.D;break;case 129:c=P(this,this.I+T(this));this.C=this.D;break;case 130:c=P(this,this.M+T(this));this.C= -this.D;break;case 131:c=P(this,this.H+T(this));this.C=this.D;break;case 132:c=P(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=P(this,this.K+T(this));this.C=this.D;break;case 135:c=P(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Ne(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,xj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,xj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,xj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Oe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,xj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Pe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,xj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Qe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,xj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,xj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,xj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Re(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,xj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Se(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,xj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,xj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,xj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function xj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ia&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.Ee},function(){this.G=lj.call(this,this.G)},function(){this.I=lj.call(this,this.I)},function(){this.M=lj.call(this,this.M)},function(){this.H=lj.call(this,this.H)},function(){G(this,lj.call(this,I(this)))},function(){this.P= -lj.call(this,this.P)},function(){this.K=lj.call(this,this.K)},function(){this.J=lj.call(this,this.J)},function(){this.G=jj.call(this,this.G)},function(){this.I=jj.call(this,this.I)},function(){this.M=jj.call(this,this.M)},function(){this.H=jj.call(this,this.H)},function(){G(this,jj.call(this,I(this)))},function(){this.P=jj.call(this,this.P)},function(){this.K=jj.call(this,this.K)},function(){this.J=jj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Rc},function(){J(this,this.I& -this.R);this.A-=this.B.Rc},function(){J(this,this.M&this.R);this.A-=this.B.Rc},function(){J(this,this.H&this.R);this.A-=this.B.Rc},function(){J(this,I(this)-2&65535);this.A-=this.B.Rc},function(){J(this,this.P&this.R);this.A-=this.B.Rc},function(){J(this,this.K&this.R);this.A-=this.B.Rc},function(){J(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|E(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|E(this);this.A-=this.B.zc},function(){this.M=this.M&~this.R|E(this); -this.A-=this.B.zc},function(){this.H=this.H&~this.R|E(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|E(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|E(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|E(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|E(this);this.A-=this.B.zc},yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,function(){this.za.call(this,dk,this.Ma);this.A-=-1===this.C?1:this.B.Cg},Oj,function(){this.za.call(this, -dk,this.T);this.A-=-1===this.C?1:this.B.Cg},function(){this.Ya.call(this,aj)},function(){this.fa.call(this,bj)},function(){this.Na.call(this,ej)},function(){this.V.call(this,fj)},Qj,Rj,Sj,Tj,function(){this.S|=1;this.fa.call(this,ci)},function(){this.S|=1;this.ka=this.Ka=this.of;this.V.call(this,Th)},function(){var a;this.V.call(this,bi);switch(this.L>>3&7){case 0:a=this.G;this.G=this.Y;wd(this,a);break;case 1:a=this.I;this.I=this.Y;kf(this,a);break;case 2:a=this.M;this.M=this.Y;kd(this,a);break; -case 3:a=this.H;this.H=this.Y;vd(this,a);break;case 4:a=I(this);G(this,this.Y);80386<=this.ia?this.Nb.load(a):wd(this,a);break;case 5:a=this.P;this.P=this.Y;80386<=this.ia?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.Y;kd(this,a);break;case 7:a=this.J,this.J=this.Y,vd(this,a)}},function(){this.S|=1;this.W=this.ga;this.Y=E(this);this.za.call(this,ek,sj);this.W=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-= -3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R; -this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.Z?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.Z?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){tj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=xd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.aa& -131072&&3>this.Pa)C.call(this,13,0);else{var a=E(this),a=a&65535|this.aa&-65536;yd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.aa|=4):(this.resultType&=-3,this.aa&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.aa|=128):(this.resultType&=-17,this.aa&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(xd(this)&213)<<8;this.A-=this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.pc(b, -1));this.G=a|b;this.A-=this.B.Kh},function(){this.G=this.G&~this.R|td(this,this.ka,T(this));this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.sc(this.ka.qc(a,1),b);this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.tc(this.ka.qc(a,this.Z),b);this.A-=this.B.Lh},function(){var a=1,b=0,c=this.Ca,d=this.B.Mh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ga&256||(this.A-=this.B.Nh));if(a--){var e=this.Qa(this.ka.pc(this.K&c,1));this.sc(this.Wa.qc(this.J&c,1),e);e=this.aa&1024?-1:1;this.K= -this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Mh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ga&256||(this.A-=this.B.Nh));if(a--){var e=td(this,this.ka,this.K&c);this.tc(this.Wa.qc(this.J&c,this.Z),e);e=this.aa&1024?-this.Z:this.Z;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d= -this.B.xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.zh,this.Ga&256||(this.A-=this.B.yh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Wa,this.J);this.C=this.D;Gh.call(this,e,f);e=this.aa&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.zh,this.Ga&256||(this.A-=this.B.yh));if(a--){var e=Lf(this,this.ka, -this.K&c),f=Lf(this,this.Wa,this.J&c);this.C=this.D;Hh.call(this,e,f);e=this.aa&1024?-this.Z:this.Z;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.Ee},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.Ee},function(){var a=1,b=0,c=this.Ca,d=this.B.Xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Zh,this.Ga&256||(this.A-=this.B.Yh));if(a--){var e= -this.G;this.sc(this.Wa.qc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.nc&&80564>=this.nc&&!(this.Ga&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.aa&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Xh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Zh,this.Ga&256||(this.A-=this.B.Yh));if(a--){var e=this.G;this.tc(this.Wa.qc(this.J&c,this.Z),e);this.J=this.J&~c|this.J+(this.aa&1024?-this.Z:this.Z)&c;this.I=this.I&~c|this.I-b& -c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Eh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Gh,this.Ga&256||(this.A-=this.B.Fh));if(a--){var e=this.Qa(this.ka.pc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.aa&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Eh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Gh,this.Ga&256||(this.A-=this.B.Fh));if(a--){var e=td(this,this.ka,this.K&c);this.G= -this.G&~this.R|e;this.K=this.K&~c|this.K+(this.aa&1024?-this.Z:this.Z)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Rh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ga&256||(this.A-=this.B.Sh));if(a--){var e=this.G&255,f=Jf(this,this.Wa,this.J);this.C=this.D;Gh.call(this,e,f);this.J=this.J&~c|this.J+(this.aa&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){var a= -1,b=0,c=this.Ca,d=this.B.Rh;this.Ga&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ga&256||(this.A-=this.B.Sh));if(a--){var e=this.G&this.R,f=Lf(this,this.Wa,this.J&c);this.C=this.D;Hh.call(this,e,f);this.J=this.J&~c|this.J+(this.aa&1024?-this.Z:this.Z)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&sf(this)==(this.Ga&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I=this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa(); -this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma(); -this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},Xj,Yj,Xj,Yj,function(){this.V.call(this,Uh)},function(){this.V.call(this,Sh)},function(){this.S|=1;this.Db.call(this,fk,this.xa)},function(){this.S|=1;this.za.call(this,fk, -this.Ma)},Zj,ak,Zj,ak,function(){if(this.aa&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.pb=-1;uj.call(this,3,null,a)}},function(){var a=this.xa();if(this.aa&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.ie[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj; -this.pb=-1;uj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.aa&131072&&3>this.Pa)C.call(this,13,0);else{this.W=this.ga;this.A-=this.B.vj;if(this.ab&1&&this.aa&16384){var a=this.oa(this.Sa.Aa+0);ld(this.va,a,!1)}else{var a=this.pa,b=E(this),c=E(this),d=E(this);if(this.aa&131072)d=d&131071|this.aa&-131072;else if(d&131072){var e=E(this),f=E(this),g=E(this),h=E(this),k=E(this),l=E(this);md(this,!0,!0);kd(this,f);G(this,e);wd(this,g);vd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=zd(this, -b,c,!1)&&(yd(this,d,a),this.le&&ef(this,this.Ha))}this.W=-1}},function(){this.Db.call(this,Uj,oj)},function(){this.za.call(this,2==this.Z?Vj:Wj,oj)},function(){this.Db.call(this,Uj,pj)},function(){this.za.call(this,2==this.Z?Vj:Wj,pj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else wj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.$i}, -function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){bk.call(this,216)},function(){bk.call(this,217)},function(){bk.call(this,218)},function(){bk.call(this,219)},function(){bk.call(this,220)},function(){bk.call(this,221)},function(){bk.call(this,222)},function(){bk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Gj): -this.A-=this.B.Hh},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Ih):this.A-=this.B.Jh},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Hh},function(){var a=this.T();this.I&this.Ca?this.A-=this.B.Jh:(O(this,K(this)+a),this.A-=this.B.Ih)},function(){var a=this.xa();Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ha-2)&255,this.A-=this.B.Ch)},function(){var a= -this.xa();Hf(this,a,this.Z,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.Z,this.Ha-2)&this.R,this.A-=this.B.Ch)},function(){var a=this.xa();Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ha-2),this.A-=this.B.Qh)},function(){var a=this.xa();Hf(this,a,this.Z,!1)&&(mc(this.ea,a,this.Z,this.G&this.R,this.Ha-2),this.A-=this.B.Qh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Dh},function(){zd(this,this.Ma(), -Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Dh},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ha-1)&255,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,this.Z,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.Z,this.Ha-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ha-1),this.A-=this.B.Ph)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(mc(this.ea, -a,this.Z,this.G&this.R,this.Ha-1),this.A-=this.B.Ph)},ck,ck,function(){this.S|=132;this.A-=this.B.md},function(){this.S|=68;this.A-=this.B.md},function(){this.aa&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(nf(this),this.ha.Xb()):this.aa&512||(this.ha&&nf(this),this.Xb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.bb=!1;this.Db.call(this,hk,rj);this.bb&&(this.G=this.G&~this.R|this.ja&this.R)},function(){this.bb=!1;this.za.call(this,ik,rj);this.bb&& -(this.G=this.G&~this.R|this.ja&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.aa&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.aa|=512,this.S|=4,this.A-=2)},function(){this.aa&=-1025;this.A-=2},function(){this.aa|=1024;this.A-=2},function(){this.Db.call(this,Dd,rj)},function(){this.za.call(this,Ed,rj)}],Pj=[qh,di,oh,wi,sh,Zi,gj,Gh],dk=[rh,vi,ph,xi,th,$i,hj, -Hh],ek=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Jh,Jh,Jh,Jh,Jh,Jh,Jh],fk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Kh,Kh,Kh,Kh,Kh,Kh,Kh],Uj=[function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)& -255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Kh,function(a,b){var c=b&this.sa;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}], -Vj=[function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this, -c,e,32768)}return c},function(a,b){var c=a,d=b&this.sa;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Kh,function(a,b){var c=b&this.sa;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],Wj=[function(a,b){var c=a,d=b&this.sa;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.sa;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.sa;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648)); -return a},Kh,function(a,b){var c=b&this.sa;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],hk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Kh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ja=(this.G&255)*a&65535;this.ja&65280?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D? -this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ja=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return wj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>> -16)/c|0;if(d!=d<<24>>24||8086==this.ia&&-128==d)return wj.call(this),a;this.ja=d&255|(b%c&255)<<8;this.bb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],ik=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Kh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,b){if(2==this.Z){b=this.G&65535; -var c=b*a|0;this.ja=c&65535;this.wa=c>>16&65535}else Qh.call(this,a,this.G),80563==this.nc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.Z?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ja=c&65535,this.wa=c>>16&65535,c=32767c):(Ph.call(this,a,this.G),c=this.wa!=this.ja>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.bb=!0;this.A-=-1===this.D? -this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.Z){if(!a)return wj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return wj.call(this),a;this.ja=c&65535;this.wa=b%a&65535}else{if(!kj.call(this,this.G,this.M,a))return wj.call(this),a;this.ja|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.Z){if(!a)return wj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ia&& --32768==d)return wj.call(this),a;this.ja=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!kj.call(this,c,d,e)||this.ja>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ja=-this.ja),g&&(this.wa=-this.wa),c=!0);if(!c)return wj.call(this),a;this.ja|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Dd=[function(a){var b=a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b& -255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Kh,Kh,Kh,Kh,Kh,Kh],Ed=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|=2;return a},function(a){if(-1===this.D)return Kh.call(this,a);this.W=this.ga; -tj.call(this,a,this.oa(this.D+this.Z));this.A-=this.B.fj;this.S|=2;this.W=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Kh.call(this,a);zd(this,a,this.oa(this.D+this.Z));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ia&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Tj;this.S|=2;return a},Kh];function oe(){this.V.call(this,dj);this.A-=-1===this.D?6:13} -function pe(){this.fa.call(this,cj);this.A-=-1===this.D?12:19}var ge=Array(256);ge[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.za.call(this,this.Ng,rj)};ge[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.za.call(this,jk,rj)};ge[2]=function(){!(this.ab&1)||this.aa&131072?C.call(this,6):this.V.call(this,Rh)};ge[3]=function(){!(this.ab&1)||this.aa&131072?C.call(this,6):this.V.call(this,Xh)}; -ge[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.oa(2054)),this.J=this.oa(2086),this.K=this.oa(2088),this.P=this.oa(2090),this.H=this.oa(2094),this.M=this.oa(2096),this.I=this.oa(2098),this.G=this.oa(2100),jd(this.Wa,2102,this.oa(2084)),jd(this.va,2108,this.oa(2082)),jd(this.ta,2114,this.oa(2080)),jd(this.ub,2120,this.oa(2078)),yd(this,this.oa(2072)),O(this,this.oa(2074)),G(this,this.oa(2092)),this.Dc=this.oa(2126)|this.Qa(2128)<<16,this.zd=this.Dc+this.oa(2130),this.Nc=this.oa(2138)| -this.Qa(2140)<<16,this.Pd=this.Nc+this.oa(2142),jd(this.Bc,2132,this.oa(2076)),jd(this.Sa,2144,this.oa(2070)),this.A-=195)};ge[6]=function(){this.pa?C.call(this,13,0):(this.ab&=-9,this.A-=2)};ge[11]=Gd;ge[166]=Gd;ge[255]=Gd;var M=[];M[5]=Gd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Wa.pc(this.J&this.Ca,204);if(-1!==a){mj.call(this,this.na(a));var b=this.na(a+168),c=(b&24576)>>13;yd(this,this.na(a+4),c);this.Dc=this.na(a+112);this.zd=this.Dc+this.na(a+116);this.Nc=this.na(a+100);this.Pd=this.Nc+this.na(a+104);id(this.Bc,this.na(a+56),this.na(a+120),this.na(a+124),this.na(a+128));id(this.Sa,this.na(a+52),this.na(a+84),this.na(a+88),this.na(a+92));this.J=this.na(a+12);this.K=this.na(a+16);this.P=this.na(a+20);this.H= -this.na(a+28);this.M=this.na(a+32);this.I=this.na(a+36);this.G=this.na(a+40);id(this.Ob,this.na(a+60),this.na(a+132),this.na(a+136),this.na(a+140));id(this.Nb,this.na(a+64),this.na(a+144),this.na(a+148),this.na(a+152));id(this.ub,this.na(a+68),this.na(a+156),this.na(a+160),this.na(a+164));id(this.ta,this.na(a+72),b,this.na(a+172),this.na(a+176));id(this.va,this.na(a+76),this.na(a+180),this.na(a+184),this.na(a+188));id(this.Wa,this.na(a+80),this.na(a+192),this.na(a+196),this.na(a+200));O(this,this.na(a+ -8));G(this,this.na(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Qj;M[17]=Rj;M[18]=Sj;M[19]=Tj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.ab;break;case 2:a=this.pe;break;case 3:a=this.Md;break;default:he.call(this);return}we(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(we(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7);switch((a&56)>>3){case 0:mj.call(this,b);this.A-=10;break;case 2:this.pe=b;this.A-=4;break;case 3:Ad.call(this,b);this.A-=5;break;default:he.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(a=ve(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Be[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Be[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)};M[144]=function(){nj.call(this,yi)}; -M[145]=function(){nj.call(this,yi)};M[146]=function(){nj.call(this,zi)};M[147]=function(){nj.call(this,Ai)};M[148]=function(){nj.call(this,Bi)};M[149]=function(){nj.call(this,Ci)};M[150]=function(){nj.call(this,Di)};M[151]=function(){nj.call(this,Ei)};M[152]=function(){nj.call(this,Fi)};M[153]=function(){nj.call(this,Gi)};M[154]=function(){nj.call(this,Hi)};M[155]=function(){nj.call(this,Ii)};M[156]=function(){nj.call(this,Ji)};M[157]=function(){nj.call(this,Ki)};M[158]=function(){nj.call(this,Li)}; -M[159]=function(){nj.call(this,Mi)};M[160]=function(){ud(this,this.Nb.ba,this.Z,2);this.A-=this.B.Fe};M[161]=function(){this.W=this.ga;var a=E(this);this.Nb.load(a);this.A-=this.B.zc;this.W=-1};M[163]=function(){this.fa.call(this,Ch);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.Z?Ni:Pi);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.Z?Ri:Si);this.A-=-1===this.D?3:7};M[168]=function(){ud(this,this.Ob.ba,this.Z,2);this.A-=this.B.Fe}; -M[169]=function(){this.W=this.ga;var a=E(this);this.Ob.load(a);this.A-=this.B.zc;this.W=-1};M[171]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.Z?Ti:Vi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.Z?Xi:Yi);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.Z?Mh:Oh)};M[178]=function(){this.V.call(this,Yh)};M[179]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.V.call(this,Vh)};M[181]=function(){this.V.call(this,Wh)}; -M[182]=function(){this.Na.call(this,$h);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.fb=this.fb&~this.R|this.G>>8&255;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.Y}this.A-=-1=== -this.D?3:6};M[183]=function(){nd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.fb=this.fb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.za.call(this,kk,this.xa)};M[187]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.V.call(this,wh)};M[189]=function(){this.V.call(this,xh)}; -M[190]=function(){this.Na.call(this,$h);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.fb=this.fb&~this.R|this.G<<16>>24&this.R;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&this.R; -this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.Y}this.A-=-1===this.D?3:6};M[191]=function(){nd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.fb=this.fb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.ba},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.ba},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.ib(this.Sa.Yb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Kc>=this.pa&&this.Ea.Kc>=(a&3)||7168==(this.Ea.wb& -7168)))return Ff(this),a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Kc>=this.pa&&this.Ea.Kc>=(a&3))return Ff(this),a;Df(this);return a},Kh,Kh],Fd=[ee,ee,ee,ee,ee,ee,Kh,Kh],jk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.zd-this.Dc;var b=this.Dc;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.Z&&(a|=b<<16);this.mb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Pd- -this.Nc;var b=this.Nc;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.Z&&(a|=b<<16);this.mb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.aa&131072?C.call(this,6):(this.Dc=this.na(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Dc+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.aa&131072?C.call(this,6):(this.Nc=this.na(this.D+2)&(this.R|this.R<<8),a&=65535,this.Pd=this.Nc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.ab}, -Kh,function(a){this.aa&131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Kh],kk=[Kh,Kh,Kh,Kh,yh,Bh,Ah,zh]; -function lk(a){Ua.call(this,"ChipSet",a,lk,32768);this.ia=(this.ia=a.model)&&mk[this.ia]||nk;this.V=0;var b=a[ok];if(b)this.V=pk(b,qk|rk.Ak);else{this.ka=[360,360];(b=a.floppies)&&b.length&&(this.ka=b);if(b=this.ka.length)this.V|=sk.Qg,b--,this.V|=(b&3)<=cg&&(this.eb=this.Ia=2);this.pa=a.scaleTimers||!1;this.nc=a.rtcDate;this.Tb=!1; -a.sound&&(this.Db=this.Ja=null,window&&(this.Db=window.AudioContext||window.webkitAudioContext),this.Db&&(this.Ja=new this.Db));this.reset(!0);sb(this)}db(lk);var nk=5150,cg=5170,mk={5150:nk,5160:5160,5170:cg,deskpro386:5180},ok="sw1",uk="sw2",tk={none:0,tv:1,color:2,mono:3,ega:0,vga:0},sk={Qg:1,ONE:0,Xn:64,Vn:128,An:192,xf:192,yf:6},qk=12,rk={Wn:16,tn:32,Ak:48,xf:48,yf:4};m=lk.prototype; -m.Pb=function(a,b,c){switch(b){case ok:return this.qa[b]=c,vk(this,b,this.V,{0:this.ia==nk?"Bootable Floppy Drive":"Loop on POST",1:this.iab;b++){var c=13>=b?Ek(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}cf(c,26,this.Xl.bind(this))};m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;this.Y=this.V;this.sa=this.ua;Fk(this,ok,this.Y);Fk(this,uk,this.sa);Gk(this);this.N=Array(this.eb);for(b=0;b=cg){this.B=16;this.ga=0;this.fa=16;this.Na=0;this.ja=160;512<=Kk(this)&&(this.ja|=16);3==Lk(this)&&(this.ja|=64);5180==this.ia&&(this.ja|= -12);this.Pa=3;this.za=Array(8);this.wa=0;a&&(this.A=Array(64));Mk(this,this.nc);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);this.A[20]=this.Y&(rk.xf|2|sk.Qg|sk.xf);this.A[16]=Nk(this,0)<<4|Nk(this,1);Ok(this)}}; -function Mk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Ka=a.Ba=0;a.Ub=a.fb=null} -function Ek(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.V,this.ua,this.Y,this.sa]);for(var b=[],c=0;c=cg&&(N(a,5,[this.B,this.ga,this.fa,this.Na,this.ja,this.Pa]),N(a,6,[this.za[7],this.za,this.wa,this.A,this.Ka,this.Ba]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];this.V=b[0];this.ua=b[1];this.Y=b[2];this.sa=b[3];b=a[1];for(c=0;c>2)+1)*a.mc+32*((b?a.ua:a.sa)&15)} -function Wk(a,b){var c=b?a.V:a.Y;return a.ia!=nk||c&sk.Qg?((c&sk.xf)>>sk.yf)+1:0}function Nk(a,b){if(b>rk.yf} -function vk(a,b,c,d){for(var e="",f=a.qa[b],g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");e+='
    '+g+"
    \n"}f.innerHTML=e;Fk(a,b,c,d)} -function Fk(a,b,c,d){if(b=a.qa[b]){b=nb(b,"pcjs-bitCell");for(var e=0;eg.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function al(a,b,c,d,e,f){var g=a.N[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Cc[c];a.Ab[g.Kb]=a.Ec[g.Kb]=e;g.Kb^=1}function bl(a,b,c,d){var e=a.N[b],f=e.Zb|1;e.Zb&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function cl(a,b,c,d,e){var f=a.N[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Zb=f.Zb&~(16<>2].Cc[b&3],c,d,e)} -function el(a,b,c){b=a.N[b>>2].Cc[b&3];b.pg&&b.gh&&b.Eg?(c&&(b.done=c),b.Ae||ml(a,b,!0)):c&&c(!0)}function ml(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.kg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.gh.call(b.pg,b.Eg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ae||a.ea.sc(c,f);(d=g)&&setTimeout(function(){nl(b)||ml(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.gh.call(b.pg,b.Eg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!nl(b););} -function nl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.oc&b||(d.oc|=b,d.kf=c||0,ql(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.oc&d&&(c.oc&=~d,ql(a))}function ql(a,b){var c,d=-1;1>=1),Zc(a.F,d))),2==b&&bd(a))}m=lk.prototype;m.Fl=function(a,b){x(this,a,null,b,"PIT1_CTRL",null,2048);return this.Ya}; -m.Zm=function(a,b,c){this.Ya=b;x(this,a,b,c,"PIT1_CTRL",null,2048);a=b&192;if(192==a){if(!(b&16))for(a=0;2>=a;a++)b&2<=a;a++)b&2<>=6;c=b&1;var d=b&14;b&=48;if(0==b)xl(this,a);else{var e=a,f=this.L[e];f.eg=b;f.mode=d;f.Zg=c;f.Ec=[0,0];f.Ab=[0,0];f.ve=[0,0];f.vd=!1;f.Xe=!1;f.xe=!1;f.bf=!1;ul(this,e);0==a&&dg(this,0);2==a&&255==this.vc[0].Ad&&77==this.W&&(a=this.L[0], -a.Zc[0]=a.Ec[0],a.Zc[1]=a.Ec[1],a.xd=Vc(this.F,this.pa))}}};function wl(a,b){var c=a.L[b],d=c.Ec[1]<<8|c.Ec[0];d||(d=1==c.ld?256:65536);return d}function dd(a,b){var c=a.L[b],d=c.Zc[1]<<8|c.Zc[0];d||(d=1==c.ld?256:65536);return d}function xl(a,b){Dk(a,b);var c=a.L[b];c.ve[0]=c.Ab[0];c.ve[1]=c.Ab[1];c.Xe=!0;ul(a,b)}function ul(a,b){var c=a.L[b];c.Dd=32==c.eg?1:0;c.ld=48==c.eg?2:1} -function Dk(a,b,c){var d=a.L[b];if(d.xe&&(2!=b||a.W&1)){var e=Vc(a.F,a.pa),f=(e-d.xd)/a.pb|0;0>f&&(d.xd=e,f=0);var g=wl(a,b),h=dd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.xe=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Zc[0]=h&255,d.Zc[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.Zc[0]=h&255,d.Zc[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function cd(a,b){for(var c=0;c=cg){var c=a.F.X.Hd,d=Vc(a.F,a.pa);null==a.fb&&(a.Ka=Vc(a.F,a.pa),a.Ub=1024,a.fb=Math.floor(a.F.X.Hd/a.Ub),Pk(a));d>=a.Ba&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.Ba=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ka,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ka=d-e%c}}m.Gl=function(a,b){var c=this.bb;if(this.Fa&16)if(this.W&128)c=this.Y;else if(this.C){var c=this.C,d=0;c.A.length&&(d=c.A[0]);z(c)&&y(c,"scan code "+t(d)+" delivered");c=d}x(this,a,null,b,"PPI_A",c);return c};m.$m=function(a,b,c){x(this,a,b,c,"PPI_A");this.bb=b}; -m.Hl=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c};m.an=function(a,b,c){x(this,a,b,c,"PPI_B");yl(this,b)};function yl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.C&&zl(a.C,!(b&128),!!(b&64));c!=d&&bd(a,c)}m.Il=function(a,b){var c=0,c=this.ia==nk?this.W&4?c|this.sa&15:c|this.sa>>4&1:this.W&8?c|this.Y>>4:c|this.Y&15;this.W&1&&Dk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.bn=function(a,b,c){x(this,a,b,c,"PPI_C");this.vb=b}; -m.Jl=function(a,b){var c=this.Fa;x(this,a,null,b,"PPI_CTRL",c);return c};m.cn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Fa=b};m.Uk=function(a,b){var c=this.Na;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.B&=-258;this.C&&Al(this.C);return c};m.lm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.B&8)switch(this.ga){case 96:Bl(this,b);break;case 209:Cl(this,b);break;default:if(Bl(this,this.fa&-17),this.C){a=-1;switch(b){case 255:a=250,Dl(this.C)}El(this,a)}}this.ga=b;this.B&=-9}; -m.Vk=function(a,b){var c=this.W&-209|(Vc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.mm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);yl(this,b)};m.Wk=function(a,b){x(this,a,null,b,"8042_STATUS",this.B,16384);var c=this.B&255;this.B&256&&(this.B|=1,this.B&=-257);return c}; -m.km=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ga=b;this.B|=8;a=0;240<=this.ga&&(a=this.ga^15,this.ga=240);switch(this.ga){case 32:El(this,this.fa);break;case 173:Bl(this,this.fa|16);break;case 174:Bl(this,this.fa&-17);this.C&&Al(this.C);break;case 170:this.C&&(a=this.C,a.A=[],z(a)&&y(a,"scan codes flushed"));Bl(this,this.fa|16);El(this,85);Cl(this,3);break;case 171:El(this,0);break;case 192:El(this,this.ja);break;case 208:El(this,this.Pa);break;case 224:El(this,this.fa&16?0: -1);break;case 240:a&1&&qe(this.F)}};function Bl(a,b){a.fa=b;a.B=a.B&-5|b&4;a.C&&zl(a.C,!!(b&8),!(b&16))}function El(a,b,c){0<=b&&(a.Na=b,c?a.B|=1:(a.B&=-2,a.B|=256))}function Cl(a,b){a.Pa=b;Sb(a.ea,!!(b&2));b&1||qe(a.F)}function Fl(a,b){a.ia=c?Ek(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Pk(this));return d}; -m.Bm=function(a,b,c){var d=this.wa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Pk(this)};m.Ym=function(a,b,c){x(this,a,b,c,"NMI");this.Ea=b};m.Lm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Mm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Sb&&Yf(this.Sb)}; -m.Xl=function(a){if(z(this,16)&&gk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Vc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Vc(this.F)))}return!0}; -function pk(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>>4,0,this.da,this.C,this.Nd),delete this.Nd);return!0};Hl.prototype.hc=function(){return!0}; -function Il(a,b,c,d){if(d)a.Oa("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.re,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Nd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Oa("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].uf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;Ok(a)}}else w("No RAM allocated")};m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Ol(a){this.N=a;this.C=Ql;this.ha=Rl;this.B=Sl;this.A=null}var Pl=-2134900736,Ql=65535,Rl=2575,Sl=2,Tl=[null,0],Ul=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.sc(a,b)},null,null];m=Ol.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.sc(0,a[0]&255);this.sc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.sc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Ri=function(){return Tl};m.hh=function(){return Ul}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,qn:65,rn:66,sn:67,xn:68,E:69,yn:70,Bn:71,Cn:72,Dn:73,En:74,Fn:75,Gn:76,Hn:77,In:78,Jn:79,Kn:80,Q:81,Ln:82,Pn:83,Un:84,Yn:85,Zn:86,$n:87,bo:88,co:89,eo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,fo:97,ho:98,jo:99,d:100,e:101,ko:102,lo:103,mo:104, -no:105,oo:106,k:107,po:108,qo:109,n:110,so:111,p:112,q:113,r:114,to:115,t:116,vo:117,wo:118,xo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Yl={};Yl[186]=X[";"];Yl[187]=X["="];Yl[188]=X[","];Yl[189]=X["-"];Yl[190]=X["."];Yl[191]=X["/"];Yl[192]=X["`"];Yl[219]=X["["];Yl[220]=X["\\"];Yl[221]=X["]"];Yl[222]=X["'"];Yl[173]=X["-"];var Zl={};Zl[X["1"]]=X["!"];Zl[X["2"]]=X["@"];Zl[X["3"]]=X["#"];Zl[X["4"]]=X.$;Zl[X["5"]]=X["%"];Zl[X["6"]]=X["^"];Zl[X["7"]]=X["&"];Zl[X["8"]]=X["*"];Zl[X["9"]]=X["("]; -Zl[X["0"]]=X[")"];Zl[186]=X[":"];Zl[187]=X["+"];Zl[188]=X["<"];Zl[189]=X._;Zl[190]=X[">"];Zl[191]=X["?"];Zl[192]=X["~"];Zl[219]=X["{"];Zl[220]=X["|"];Zl[221]=X["}"];Zl[222]=X['"'];Zl[173]=X._;Zl[61]=X["+"];Zl[59]=X[":"]; -var $l={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},am={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},bm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"], -enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107, -"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},cm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764;Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14; -Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788;Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790; -Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65; -Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;m=Vl.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return dm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||em(e,a,!0);return b},c.onkeyup=function(a){return dm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();em(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();em(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.F&&e.F.Tc();em(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==am[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.F&&a.F.Tc();fm(a,c,!0);em(a,c,!0)}}(this,g,am[g]),!0;if(void 0!==bm[b])return this.Y++,this.qa[f]=c,a=function(a,b,c){return function(){em(a,c)}}(this,b,bm[b]),b=function(a,b,c){return function(){gm(a,c)}}(this,b,bm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();d&&!e.L&&(e.L=d,hm(e,300))},!0}return!1};function im(a,b,c){if(a.Y){for(var d in Zl)if(b==Zl[d]){b=+d;(d=Yl[d])&&(b=d);break}for(var e in bm)if((d=bm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=bm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function Wl(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=Xl.indexOf(a.ia),0>c&&(c=0));b=Xl[c];a.ka=parseInt(b.substr(2),10)}function Dl(a,b){y(a,"keyboard reset",65792);a.A=[170];a.da=!0;b&&a.N&&Fl(a.N,a.A[0])}function zl(a,b,c){a.U!==c&&(a.U=a.W=c)&&(a.da=!0);a.V!==b&&(a.V=b)&&!a.W&&Gl(a,!0);a.V&&a.W&&(Dl(a,!0),a.W=!1)}function Al(a){var b=0;a.A.length&&a.da&&(b=a.A[0],a.N&&Fl(a.N,b));z(a)&&y(a,"scan code "+t(b)+" available")} -function Gl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in cm)d="led-"+g,e=cm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function em(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){$l[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ke=b,d.xc=a.xc,im(a,b,!0),e++),0b.Jd){if(!b.Ef){gm(a,b.Ke);return}b.Ef=!1;c=a.pa}else c=1==b.Jd++?500:100;b.pk=setTimeout(function(a){return function(){km(a,b)}}(a),c)}} -function mm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=Zl[b])d=a}else if(a=Yl[b])d=a;return d}m.Fg=function(a){a||(this.xc&=-256)}; -function dm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=mm(a,g,!0);a.dh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),fm(a,h,!1,c)){if(20==g||144==g||145==g)a.ja||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Fl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Gm:Hm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.bc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.bc=Math.min(this.Cd>>2,32768));this.Fc=c[0];this.fd=c[1];this.qf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Ig=c[4]>>8&255;this.rb=c[5];this.oh=Gm;this.jg=Im;if(5<=b){this.oh=Hm;this.jg=Jm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.nb,this.bc,this.Cd],Array(this.Cd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ve=b[0];this.Ld=b[1];this.Sc=b[2];this.Tg=Km;this.Lg=b[3];this.sf=b[4];this.dg=b[5];this.$d=b[6];this.He=b[7];this.Vg=Lm;this.fk=b[8];this.gk=b[9];this.Zd=b[10];this.Yd=b[11];this.Ug=Mm;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.nb,this.bc,d]);this.nb=d[0];this.bc=d[1];d=this.Cd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.ei&255};Om[17408]=function(a){return(this.controller.Fb=this.ca[(a&-4)+this.C])>>((a&3)<<3)&255};Om[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.ca[a&-2];return(a&1?b>>8:b)&255};Om[1280]=function(a){a+=this.C;a=this.controller.Fb=this.ca[a];for(var b=this.controller.qh,c=this.controller.ph&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -Om[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[32]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[96]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d&=this.controller.Fb;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[160]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d|=this.controller.Fb;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -Om[224]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d^=this.controller.Fb;d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};Om[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Lb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -function Pm(a){var b=[];if(void 0!==a.kb){b[0]=a.Fc;b[1]=a.fd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Ac|a.Ig<<8;b[5]=a.rb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.fk;c[9]=a.gk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.bc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(A=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.nb&&(f-=b.nb);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.B,Qm(b,"CRTC",b.Ac,b.rb,b.jg),5<=b.kb&&(Qm(b," GRC",b.Zd,b.Yd,b.Ug),Qm(b," SEQ",b.$d,b.He,b.Vg),Qm(b," ATC",b.Ld,b.Sc,b.Tg),Qm(b," ATCINDX", -b.Ld),b.ha.O(" ATCDATA: "+b.Ve),Qm(b," FEAT",b.dg),Qm(b," MISC",b.sf),Qm(b," STATUS0",b.Lg)),Qm(b," STATUS1",b.ma),b.kb!=om&&3!=b.kb||Qm(b," MODEREG",b.fd),3==b.kb&&Qm(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.C=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.nf?(this.pa.style.width=a,this.pa.style.width=a,this.pa.style.display="block",this.pa.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.Ue();a=!0}this.Tc()}return a}; -function sm(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.C&&(a.C.dh=b)}m.ze=function(a){var b=!1;this.da&&(a?this.da.ze&&(this.da.ze(),this.V&&this.V.Vf(!0),b=!0):this.da.qk&&(this.da.qk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.C&&(this.C.dh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.tk)}; -function Zm(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){$m(a,b,!0)},!1),c.addEventListener("touchmove",function(b){$m(a,b)},!0),c.addEventListener("touchend",function(b){$m(a,b,!1)},!1),a.je=b,a.mc=a.nc=a.gg=-1,a.Gd=!1,a.Wc=null,a.Fd=!1,a.pn=function(){a.Fd=!0;a.V.ge(an,!0)})}m.Fg=function(a){this.C&&this.C.Fg(a)}; -function $m(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?em(a.C,1040,!0):em(a.C,1038,!0):1!=d&&(d?em(a.C,1039,!0):em(a.C,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500f){a.V.ge(an,!0);a.V.ge(an,!1);return}}if(c||0>a.mc||0>a.nc)a.mc=d,a.nc=e;c=Math.round(d-a.mc);b=Math.round(e-a.nc);a.mc=d;a.nc=e;a.V.Hf(c,b,a.mc,a.nc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=Lk(this.N));this.ia||(this.kb=3==b?om:3);this.wa=3;switch(this.kb){case Ml:b=7;break;case 5:var c=vm[this.Uc];c&&(b=c[0]);b||(b=4);break;case om:b=3;this.wa=qm;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.B=null;this.sa=this.pd=new Em(this,om);this.Y=this.Vc=new Em(this,3);5>this.kb?this.A=new Em:(this.A=new Em(this,this.kb,null,this.Cd),bn(this));cn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;dn(this,this.wa);if(this.B.nb&&a){a=this.B.nb+this.Jb; -for(b=this.B.nb;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Xc(this,!0)}};function bn(a){a.A.sf&1?(a.sa=a.pd,a.Y=a.A):(a.sa=a.A,a.Y=a.Vc)}m.save=function(){var a=new hf(this);N(a,0,Pm(this.pd));N(a,1,Pm(this.Vc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,Pm(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.B=null;this.sa=this.pd=new Em(this,om,a[0]);this.Y=this.Vc=new Em(this,3,a[1]);this.A=new Em(this,this.kb,a[3],this.Cd);this.A.Fc&&bn(this);cn(this);if(!en(this))return!1;fn(this);return!0}; -function tm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.re,b,c);try{var e=eval("("+c+")");if(!e.length){w("Empty font ROM: "+b);return}if(1==e.length){w(e[0]);return}if(8192==e.length)Ll(a,e,[6144,0]);else{a.Oa("Unrecognized font data length ("+e.length+")");return}}catch(f){a.Oa("Font ROM data error: "+f.message);return}(a.ja||a.ha)&&sb(a)}} -function gn(a,b){if(1==b)return a.Ba[0]=ym[0],a.Ba[1]=ym[7],a.Ba;if(2==b){var c=a.B.qf;if(a.B===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ba[0]=ym[c&15];c=c&32?Am:zm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ba[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Sc[15]?c.Sc:Bm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function Ll(a,b,c,d){a.Jc=b;a.qd=c;a.Sb=d} -function cn(a,b){var c=!1;if(window&&a.Jc&&(!b||a.U)){var d=0,e=a.Sb?a.Sb:8,f=gn(a);hn(a,3,a.qd[0],d,e,8,a.Jc,f)&&(c=!0);d=a.Sb?0:2048;e=a.Sb?a.Sb:9;hn(a,1,a.qd[1],d,e,14,a.Jc,wm,xm)&&(c=!0);a.Sb&&hn(a,a.kb,a.qd[1],0,a.Sb,14,a.Jc,f)&&(c=!0)}return c}function hn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(jn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&jn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function jn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<V||!H?V:8,va=ga.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Ba= -0;Ba=V-2,Qc=Q[Ba>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:$a;kn(va,Ie,Td,Je);v&&kn(va,Ie+1,Td,Je)}ga.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ui[F]=A;l.Sg[F]=ma;l=!0}}a.Na[b]=q;return l}function ln(a){0a.bb&&(a.bb=0):a.bb=-1} -function fn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.B.rb[b])return;var c=a.B.rb[10],b=c&31,d=a.B.rb[11]&31,e=a.B.rb[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mn(a);else{c=a.B.rb[15]+((a.B.rb[14]&63)<<8);a.ka!=c&&(mn(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ye!=d)a.hg=b,a.ye=d;a.Ya=e+1;ln(a)}}} -function mn(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&nn(a,c,d,b,a.fb),nn(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}} -function on(a){var b,c=a.B;a.Be=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==Ml&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Be=!0));b|=e}return b} -function pn(a,b){var c=a.B;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.bc,c.hh(),!0),!0):!1} -function en(a,b){var c,d=a.Ia,e=a.B;if(e)if(e.kb==om)d=qm;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768=e.rb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=on(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!dn(a,d,b))return!1;pn(a,c);return!0} -function dn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.B||(b==qm?a.sa:a.Y);if(b!=a.B||b.nb!=a.nb||b.bc!=a.bc){mn(a);if(a.nb){if(!Zb(a.ea,a.nb,a.bc))return!1;a.B&&(a.B.Fc=!1)}a.B=b;b.Fc=!0;a.nb=b.nb;a.bc=b.bc;if(!Tb(a.ea,b.nb,b.bc,3,b===a.A?b:null))return!1}a.U=0;a.L=a.hd;a.W=a.ie;a.Db=a.L;a.gd=pm[qm][2];b=0;if(c=pm[a.Ia])a.L=c[0],a.W=c[1],a.gd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.B!==a.A||3!=a.U||(7==a.A.rb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.gd|0;a.Jb=a.of;a.sd=0;void 0!== -b&&(a.Jb=(a.Jb<<1)+b|0,a.sd=a.Jb+b>>1);a.Na.length&&(a.Ja=a.ua/a.L|0,a.Ka=a.Ea/a.W|0,a.U?(b=a.Na[a.U],c=a.Na[a.U<<1],a.si&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc)),a.Tb=a.Ub=0,b&&(a.Tb=a.L*b.Pc,a.Ub=a.W*b.Qc)):(a.Ja=a.Ka=1,a.Tb=a.L,a.Ub=a.W),a.vb=a.ja.createImageData(a.Tb,a.Ub),a.eb=document.createElement("canvas"),a.eb.width=a.Tb,a.eb.height=a.Ub,a.fb=a.eb.getContext("2d"),a.ke=a.le=0,a.td=a.ua,a.Ed=a.Ea,b=a.ua-a.L*a.Ja,c=a.Ea-a.W*a.Ka,0>1,a.td-=b),0>1,a.Ed-=c),b||c)&&(a.ja.fillStyle=a.pa.style.backgroundColor,a.ja.fillRect(0,0,a.ua,a.Ea));Ln(a,!0);Xc(a)}return!0}function kn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mn(a){a.Pa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function Ln(a,b){b||(a.pb=!1);Mn(a)} -function nn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ja.fillStyle=h.Me[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ja.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ye,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Me[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ja.fillStyle=h.Me[d],a.ja.fillRect(b,c+f,a.Ja,g)))} -function Xc(a,b){if(a.la.cc){var c=!1,d=a.B;d&&(d!==a.A?d.fd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)Mn(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.bc;19<=a.Ia&&(h=c=655360,k=c+65536);if(Nn(a,d)&8||d.mf&&d.mfk&&(l=k-c, -0>l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Pa=0;d=1048575;l=a.B.fd&32;5<=a.kb&&(l=a.B.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c>8|(p&255)<<8;var H=h,L=16;n>=d))>>(L-=d);kn(a.vb,n++,q,l[Q])}n>F&&(F=n);q=D&&(D=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;Aa.L?a.Db-a.L-p>>3:0;c>=8;l>A&&(A=l);n=v&&(v=n+1)}c+=D;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(p<<=v,L-=v,a.Fa=!1):(a.Fa&&p===a.fa[f]?(d+=L,L=0):a.fa[f]=p,f++);if(L){dq&&(q=d);l=F&&(F=l+1)}if(d>=a.L){d=0;if(++l>a.W)break;c+=D}}v||(a.Fa=!0);nd&&(b.wh=d,d=-d|0);d%b.rh>b.fm&&(c|=1);d%b.uh>b.hm&&(c|=9);b.fi=d/b.uh|0;return c}m.Bl=function(a,b){return On(this,this.sa,a,b)};m.Vm=function(a,b,c){var d=this.sa;d.Ig=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Al=function(a,b){return Pn(this,this.sa,a,b)};m.Um=function(a,b,c){Qn(this,this.sa,a,b,c)};m.Cl=function(a,b){return Rn(this,this.sa,b)};m.Wm=function(a,b,c){a=this.sa;x(this,a.port+4,b,c,"MODE");a.fd=b;en(this,!1)}; -m.Dl=function(a,b){return Sn(this,this.sa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.al=function(a,b){var c=this.A.Ld;b&&!z(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Bk=function(a,b){var c=this.A.Sc[this.A.Ld&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Ld&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,Ln(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&cn(this,!0)&&Xc(this,!0),d.Xf=(d.rb[12]<<8)+d.rb[13]|0,d.mf=0};m.Ol=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Uc&1<>this.A.Ic&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.nd)+"]["+t(this.A.Ic)+"]",c);this.A.Ic+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ha("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function Tn(a){this.V=a.adapter;switch(this.V){case 1:this.L=956;this.C=7;break;case 2:this.L=888;this.C=7;break;case 3:this.L=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,Tn,4194304);a=a.binding;"console"==a?this.B="":lb(this,a,Un)}db(Tn);var Un="buffer";m=Tn.prototype;m.Pb=function(a,b,c){switch(b){case Un:return this.qa[b]=this.A=c,!0}return!1}; -m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,Vn,this.L);lc(b,this,Wn,this.L);sb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){Xn(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.da;c[b++]=this.Zb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return Xn(this,a[0])}; -function Xn(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.da=b[c++];a.Zb=b[c++];a.Bf=b[c];return!0}m.pl=function(a,b){var c=this.da;x(this,a,null,b,"DATA",c);return c};m.Nl=function(a,b){var c=this.Zb;x(this,a,null,b,"STAT",c);return c};m.ll=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Hm=function(a,b,c){x(this,a,b,c,"DATA");this.da=b;this.Zb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Zb&=-65);Yn(this)};m.Cm=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;Yn(this)};function Yn(a){a.N&&a.C&&(a.Bf&16&&!(a.Zb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var Vn={0:Tn.prototype.pl,1:Tn.prototype.Nl,2:Tn.prototype.ll},Wn={0:Tn.prototype.Hm,2:Tn.prototype.Cm};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ja;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.wl=function(a,b){var c=this.da;x(this,a,null,b,"IIR",c);return c}; -m.xl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.zl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.yl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.El=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.fn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.Y=this.Y&-256|b;else{this.wa=b;this.A&=-97;if(this.L)13==b?this.W=0:8==b?(this.L.value=this.L.value.slice(0,-1),0a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}} -m.ge=function(a,b){if(this.Fc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case an:if(this.Y!=b){this.Y=b;mo(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;mo(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Fc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,mo(this,null,c,d))}; -function mo(a,b,c,d){var e=64|(a.Y?32:0)|(a.fa?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);ao(a.N,[e,f,g]);a.U=a.W=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Fo(a.ya,f,e,c);for(e=d=0;c--;)d|=Do(a,b++,1)<=e.gi&&a<=e.ak){d=a-=e.gi;var f,g;for(g in e.se){var h=e.se[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ko(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ia(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.$e?"":d)+"&format=json"));return!!wa(f,null,!0,function(a,b,c){Lo(g,a,b,c)})}; -function Lo(a,b,c,d){var e=null;a.cf=!1;var f=0>d&&a.da&&!a.da.la.cc;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,Mo(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.re,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.tb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A= -l<<2,F=p.length;Fb;b++){if(128==Fo(a,e,c+0,1)){d.Zf=Fo(a,e,c+8,4);(e=Eo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Fo(a,e,19,2)||Fo(a,e,32,4),d.Ff=Fo(a,e,14,2),d.lh=d.Ff+Fo(a,e,22,2)*Fo(a,e,16,1),d.vh=Fo(a,e,17,2),d.xg=Fo(a,e,13,1));d.jh=d.lh+((32*d.vh+(d.Ua-1))/d.Ua|0);d.em=(d.Gf-d.jh)/d.xg|0;d.zg=4084>=d.em?12:16;d.Rk=12==d.zg?4086:65526;b=[];for(e=d.lh;e>8;f+=2;if(k)for(;l--;)Do(d,f,1),254>=k?(n=k,q=Do(d,f+1),f+=3):(n=Do(d,f+3,1),q=Do(d,f+4),f+=6),d.yd[n]&&(d.yd[n].se[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Go(e,Ao,c))&&Ho(e,g+c);g=Go(e,Bo,c);h=Go(e,yo,c);g&&h&&Ho(e,g,g+h)}}}} -function Po(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.uo=d+"\\";for(var k=0;kF)break;for(var v=p.jh+(F-2)*p.xg,D=0;D>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Eo(a,b){var c=a.tb*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function Jo(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Sk=b;a.Tk=c;a.wd=a.Yc=0;a.Va=!1;return a} -function Ko(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c} -function Ro(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var D=a.seek(p,A,F,!0);if(!D)break;No(D,l,q);q+=D.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function So(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.cf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Yc?f=a.wd+a.Yc&&(a.Yc+=f-(a.wd+a.Yc)+1):(a.wd=f,a.Yc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):Mo(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Eo(this,a++);)Wo(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function Wo(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function Xo(a){Ua.call(this,"FDC",a,Xo,524288);this.dmaRead=this.vk;this.dmaWrite=this.wk;this.dmaFormat=this.Kk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(Xo);aa={}; -var Yo={3:{Rd:3,fe:0,name:aa.Tn},4:{Rd:2,fe:1,name:aa.Rn},5:{Rd:9,fe:7,name:aa.ao},6:{Rd:9,fe:7,name:aa.Mn},7:{Rd:2,fe:0,name:aa.On},8:{Rd:1,fe:2,name:aa.Sn},10:{Rd:2,fe:7,name:aa.Nn},13:{Rd:6,fe:7,name:aa.zn},15:{Rd:3,fe:0,name:aa.Qn}};m=Xo.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Zo(d,a)},!0; -case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&$o(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Eo(b,h++);)for(var l=0,n=k.length;lg.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Qb,g.jb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.kc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; -function fp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;ga.Bb||f[1]>a.tb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.ik=c,a.Je=d,jp(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.we||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.we&&(a.we=!1,--this.fa||sb(this));Zo(this,a.gb)}; -function ep(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Jm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=Yo[a].Rd){b=!1;this.L=0;a=kp(this);var d,e,f,g,h=a&31;switch(h){case 3:kp(this);kp(this);lp(this);break;case 4:c=kp(this);this.gb=c&3;d=this.A[this.gb];lp(this);mp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=kp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Qb=kp(this);e=kp(this);f=d.xb=kp(this);g=kp(this);d.Hb=128<>2&1;this.gb=c&3;d= -this.A[this.gb];c=d.Qb;e=d.jb=b;f=d.xb=1;g=0;d.Cb=0;d.ya&&(d.ob=d.ya.seek(d.Qb,d.jb,d.xb))?g=d.ob.length>>8:d.Cb=72;np(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=kp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Qb;e=d.jb=b;f=1;g=kp(this);d.Hb=128<>2&1,c=kp(this),d.Qb+=c-d.de,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.de=c,d.Cb=32,d.Qb||(d.Cb|=268435456),lp(this),b=!0}0>>8);mp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));mp(a,e+k);mp(a,f);mp(a,g);mp(a,h)}function kp(a){var b=a.V[a.L];a.L++;return b}function lp(a){a.L=a.C=0}function mp(a,b){a.V[a.C++]=b} -m.vk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=1088;break}a.cb=0;op(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.wk=function(a,b){return void 0!==b&&0<=b?pp(a,b):-1}; -m.Kk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.kd[a.Te++]=c;if(a.Te==a.kd.length){a.Qb=a.kd[0];a.jb=a.kd[1];a.xb=a.kd[2];a.Hb=128<pp(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function pp(a,b){if(a.Cb||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=8256;b=-1;break}a.cb=0;op(a)}while(1);return b} -function op(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Qb++))}var cp={1012:Xo.prototype.sl,1013:Xo.prototype.ql,1015:Xo.prototype.rl},dp={1010:Xo.prototype.Km,1013:Xo.prototype.Jm,1015:Xo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.ya.restore(g)&&(A=!1),A&&void 0!==k.cb&&(k.ob=k.ya.seek(k.ae,k.jb,k.xb+ -k.lg)));A||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.gb&&(a.B=a.A[a.gb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function zp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Oe[2])?e=b.Oe[0]<<8|b.Oe[1]:c=b.type);null==c||d||(d=sp[a.U][c][1],e=sp[a.U][c][0]);d&&((c=sp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.tb=d,null==b.ya&&(b.ya=new no(a,b,b.mode)))}} -m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ae=Math.floor(b/g),b%=g,a.jb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function xp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.hn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Ap(this))};m.Ul=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Ua?(a.ma=128,Cp(a.B,function(b){0<=b?(Dp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.zk=function(a,b){return Bp(this,a,b)|Bp(this,a,b)<<8}; -function Ep(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Ua)if(0>Fp(a.B,c))a.ma=1,a.W=16;else if(1==a.B.cb||a.B.cb==a.B.Ua)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.cb+"]"),1=a.B.Ua&&(a.ma|=8))}m.qm=function(a,b,c){Ep(this,a,b&255,c);Ep(this,a,b>>8&255,c)};m.$k=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.bl=function(a,b){var c=this.Y;x(this,a,null,b,"SECCNT",c);return c}; -m.tm=function(a,b,c){x(this,a,b,c,"SECCNT");this.Y=b};m.cl=function(a,b){var c=this.Ba;x(this,a,null,b,"SECNUM",c);return c};m.um=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ba=b};m.Yk=function(a,b){var c=this.za;x(this,a,null,b,"CYLLO",c);return c};m.pm=function(a,b,c){x(this,a,b,c,"CYLLO");this.za=b};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.om=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.Zk=function(a,b){var c=this.sa;x(this,a,null,b,"DRVHD",c);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"DRVHD");this.sa=b;this.ma=this.A[this.sa&16?1:0]?this.ma|80:this.ma&-65};m.dl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.nm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);Gp(this)};m.sm=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.W=1);this.ga=b}; -function Gp(a){var b=!1,c=a.Ea,d=a.sa&16?1:0,e=a.sa&15,f=a.za|(a.wa&3)<<8,g=a.Ba,h=a.Y||256;a.gb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ae=f,k.jb=e,k.xb=g,k.Hb=h*k.Ua,c=144<=c?c:c&240,k.ob=null,k.cb=0,k.errorCode=0,a.gb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Cp(k,function(b){0<=b&&a.N?(Dp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.tb=e+1,k.lb=h,b=!0}b&&Dp(a)} -function Dp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Ap(a){a.L=0;var b=Hp(a),c=Hp(a),d=c&32,e=d>>5,f=c&31,g=Hp(a),h=Hp(a),k=g<<2&768|h,l=g&63,n=Hp(a),q=Hp(a),p=a.A[e];p&&(p.ae=k,p.jb=f,p.xb=l,p.Hb=n*p.Ua);switch(b){case 3:Ip(a,p?p.errorCode:4);Jp(a,c);Jp(a,g);Jp(a,h);Jp(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Hp(a));)p&&cb?Cp(a,c):c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Fp(a,b):-1}; -m.Lk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cbFp(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c}; -function Kp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaRead",b);el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Lp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaWrite",b);el(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function Mp(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Hb||(b.Pe=Array(b.Hb));b.cb=0;a.N?(b.errorCode=0,ll(a.N,3,a,"dmaWriteBuffer",b),el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Cp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.ob&&(f=a.cb,d=a.ya.read(a.ob,a.cb),a.cb+=g,0<=d))return e=a.ob,b&&b(d,!1,e,f),d;if(b){if(a.ya)return a.ya.seek(a.ae,a.jb,a.xb+a.lg,!1,function(c,k){(a.ob=c)?(e=c,f=a.cb=0,Np(a),d=a.ya.read(a.ob,a.cb),a.cb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Fp(a,b){if(a.errorCode)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ya&&a.ya.seek(a.ae,a.jb,a.xb+a.lg,!0,function(b){a.ob=b});if(!a.ob){a.errorCode=20;b=-1;break}a.cb=0;Np(a)}while(1);return b}function Np(a){a.xb++;var b=1-a.lg;a.xb>=a.lb+b&&(a.xb=b,a.jb++,a.jb>=a.tb&&(a.jb=0,a.ae++))}m.Vl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1}; -var up={800:qp.prototype.Tl,801:qp.prototype.Ul,802:qp.prototype.Sl},tp={496:qp.prototype.zk,497:qp.prototype.$k,498:qp.prototype.bl,499:qp.prototype.cl,500:qp.prototype.Yk,501:qp.prototype.Xk,502:qp.prototype.Zk,503:qp.prototype.dl},wp={800:qp.prototype.hn,801:qp.prototype.mn,802:qp.prototype.kn,803:qp.prototype.jn,807:qp.prototype.hi,811:qp.prototype.hi,815:qp.prototype.hi},vp={496:qp.prototype.qm,497:qp.prototype.vm,498:qp.prototype.tm,499:qp.prototype.um,500:qp.prototype.pm,501:qp.prototype.om, -502:qp.prototype.rm,503:qp.prototype.nm,1014:qp.prototype.sm};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ca=b.wg;this.Ub=new ed(this.F,7,"DBG");this.Ia=fq;80186<=this.F.ia&&(this.Ia=fq.slice(),this.Ia[15]=dq,80286<=this.F.ia&&(this.Ia[15]=eq,80386<=this.F.ia&&(this.Ja=8)));Ck(this,64,function(a){jq(d,d.F.jd,a[0])});Ck(this,128,function(a){jq(d,d.F.ra,a[0],d.F.ra!==d.F.jd)});Ck(this,4,function(a){if(a=a[0]){var b=kq(d, -a);if(void 0===b)d.O("invalid selector: "+a);else if(a=lq(d,b,2),d.O("dumpSel("+u(a?a.ba:b)+"): %"+r(a?a.Yb:null,d.Ba)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=mq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ba)+" limit="+nq(a.Ta))+ -" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+" dpl="+t(a.Kc))}}else d.O("no selector")});Ck(this,8,function(a){a:{if(a=a[0]){var b=kq(d,a);if(void 0===b){d.O("invalid task selector: "+a);break a}a=lq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.ba:b)+"): %"+r(a?a.Aa:null,d.Ba));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?oq:pq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+la(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});Ck(this,134217728,function(a){var b;(a=a[0])&&(b=kq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=Pp(d,0,b);var c=d.Qa(a,1),h=d.oa(a,2),k=d.oa(a,5);if(77!=c&&90!=c)break;d.O(qq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+rq(d,a,8)+'"');b+=1+k}});this.C=null;this.pb=0;this.bb=!1;cf(this.F,48,this.Yl.bind(this));cf(this.F,65,this.Zl.bind(this)); -this.ka=null;cf(this.F,104,this.$l.bind(this));sb(this)};function sq(a,b,c,d,e,f){b=rq(a,b);var g=lq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=tq(a,b,c);e[b+h]=0;Kl(a,b,c,d,0,null,g,e)} -function uq(a,b,c,d){var e=a.oa(b,2),f=a.oa(b,2),g=a.na(b,4),h=a.na(b,4),k=Pp(a,a.na(b,4),a.oa(b,2));b=Pp(a,a.na(b,4),a.oa(b,2));b=rq(a,b).toUpperCase();var k=rq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=tq(a,k,e);c[k+l]=g;Kl(a,k,e,f,g,null,h,c)}function vq(a,b,c){c=rq(a,c).toUpperCase();wq(a,c,b)} -m.Yl=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=Pp(this,I(a)+12,a.ta.ba);switch(this.na(d)){case 336:uq(this,Pp(this,a.H,b),!c,!!this.C)}}return!0}; -m.Zl=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Wa.ba;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:sq(this,Pp(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:wq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.bb?0:1));break;case 131:this.C&&(a=Pp(this,b.M,e),this.pb++?(this.O("TRAPFAULT failed"),xq(this,this.A,a,!0,!0),this.pb=0,this.Xb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+yq(a)),this.Od(this.A,a,!0),Rp(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:uq(this,Pp(this,b.H,f),!g,!!this.C);break;case 338:vq(this,d,Pp(this,b.J,f))}this.bb=!1;return!this.C}; -m.$l=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Wa.ba;if(null==this.ka){if(67==d){if(609437257==b.na((b.va.ba<<4)+10)||1111835735==b.na((b.va.ba<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=gd(b.va,this.Gk.bind(this)))&& -(b.J=a[0],wd(b,a[1]));break;case 72:wq(this,null,e);break;case 80:32==c?sq(this,Pp(this,h,k),0,f,!0,!!this.ka):128>c?sq(this,Pp(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):uq(this,Pp(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Gk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Tp(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Yb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=lq(this,a.ba,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Yb||e.bd&&(b>>>0)+c>e.$b||!e.bd&&(b>>>0)+c<=e.$b?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Aq(this,a,b));return c}; -m.sb=function(a,b){return a.Rb?this.na(a,b?4:0):this.oa(a,b?2:0)};m.oa=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Aq(this,a,b));return c};m.na=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Aq(this,a,b));return c};m.sc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.sc(d,b);else{var e=this.ea;e.ra[(d&e.Gb)>>>e.La].uf(d&e.A,b&255,d)}c&&Aq(this,a,c);Pc(this.F,!0)}}; -m.ib=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.ib(d,b):fc(this.ea,d,b),c&&Aq(this,a,c),Pc(this.F,!0))};function Pp(a,b,c,d,e,f,g){return Bq(a,{},b,c,d,e,f,g)}function Bq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.ba=d;b.Da=e;b.type=f||(zq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.Z;b.rc=null!=h?h:a.F&&4==a.F.va.Mc;b.Td=!1;return b}function Cq(a){return[a.Ra,a.ba,a.Da,a.Td,a.Rb,a.rc,a.Qe,a.Sd]}function Dq(a){return{Ra:a[0],ba:a[1],Da:a[2],Td:a[3],Rb:a[4],rc:a[5],Qe:a[6],Sd:a[7]}} -function Eq(a,b,c){if(null!=b.ba&&(a=lq(a,b.ba,b.type))){var d=b.Ra&a.Ca;if(!a.bd){if(d>>>0>=a.$b)return!1}else if(d>>>0f?null!=h?(g=Hq(a,b,void 0),f=null):(f=Hq(a,b,void 0),null==f&&(g=null)):(h=Hq(a,b.substring(0,f),void 0),g=Hq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=Pp(a,g,h,f,c),d||Eq(a,e,!0)||(a.O("invalid offset: "+yq(e)),e=null));return e}function Iq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ck=Jq(a,b.hk=c[2]))}function Aq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.ba&&(b.Ra+=c,Eq(a,b)||(b.Ra=0,b.Da=null))} -function qq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function yq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.ba?"":"%"}return 4<=a.type||null==a.ba?b+r(a.Da):b+qq(a.Ra,a.ba,a.rc)}function rq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],6==c&&(d=d.Bd,h+=" -> "+wc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(aq,a.substr(b,2))));return c} -function Mq(a,b){var c=0,d=Nq(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function Nq(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break; -case 16:c=d.Wa.ba;break;case 17:c=d.va.ba;break;case 18:c=d.ta.ba;break;case 19:c=d.ub.ba;break;default:if(80286==a.F.ia)32==b&&(c=d.ab);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.ab;break;case 33:c=d.ki;break;case 34:c=d.pe;break;case 35:c=d.Md;break;case 20:c=d.Nb.ba;break;case 21:c=d.Ob.ba;break;case 56:c=K(d)}}}return c} -function Oq(a,b){b=Gq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Lq(b,c+1),0<=e&&(b=b.substr(0,c)+Mq(a,e)+b.substr(c+1+aq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Fq(a,e))?(d=e+' "'+rq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Fq(a,e))?(Aq(a,d),d=e+ -' "'+rq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=Op.prototype;m.message=function(a,b){b&&(a+=" at "+yq(Pp(this,K(this.F),this.F.va.ba))+" (%"+r(this.F.Ha)+")");if(!this.Pa||a!=this.Pa)if(this.O(a),this.Pa=a,this.F){this.wc&-2147483648&&this.Xb();var c=this.F;c.X.jf=0;c.eb-=c.A;c.A=0;Pc(c)}}; -function gk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Vp.indexOf(b),!d)){var g=Up[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=zb[b])&&g[e]||"")&&(g=" "+Oq(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+qq(c-2-a.F.va.Aa,a.F.va.ba)+g));return d} -function pb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.ba,e-=a.F.va.Aa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+qq(e,h):""))}m.ih=function(){this.O("Type ? for help with PCjs Debugger commands");this.od();if(this.fb){var a=this.fb;this.fb=null;Tp(this,a)}}; -function Rp(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c>>f.La].Od(e&f.Fa,a==this.ga);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.ba=null),b.Td=!0):(Uq(this,a,a.length-1,"set"),Rp(this)));return d}; -function xq(a,b,c,d,e){for(var f=!1,g=Vq(a,a.dc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=A&&(A=p<<4|g&7);(p=hq[f])&&(q=p[A]);q&&(n=Yp,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=iq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18== -l?n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,A=!0,F=1;F<=p;F++){var v,D;v="";D=k[F];if(void 0!==D){null==f&&(f=D>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.rc?"E":"")+"DI]"));var H=D&15;if(0!=H)if(8==H)A=!1;else{var L=D&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,Q="",$a=g>>6,ma=g&7;if(3>$a){var ga=void 0,L=0==n.indexOf("FI");if(!$a&&(!H.rc&&6==ma||H.rc&&5==ma))$a=2;else{if(H.rc)if(4!= -ma)ma+=8;else{var Q=v,ga=$a,Ga=H,Wa=Q.Qa(Ga,1),Ba=Wa>>6,Pb=Wa>>3&7,Wa=Wa&7,va="";if(ga||5!=Wa)va=bq[Wa+8];4!=Pb&&(va&&(va+="+"),va+=bq[Pb+8],Ba&&(va+="*"+(1<>24,Q+="-"+r(-ga,2)):Q+="+"+r(ga,2)):2==$a&&(Q&&(Q+="+"),H.rc?(ga=v.na(H,4),Q+=r(ga)):(ga=v.oa(H,2),Q+=r(ga,4)));Q="["+Q+"]";if(1==V){v="";D&=15;4==D&&(D=H.Rb?5:3);switch(D){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(Q=v+" "+Q)}}else Q=Zq(v,ma,D,H);v=Q}else v=160==L?Zq(a,g&7,D,b):Zq(a,g>>3&7,D,b);else if(16==L)v="1";else if(0==L){v=a;H=D;L=b;D=" ";switch(H&15){case 1:H&12288&&(D=r(v.Qa(L,1),2));break;case 2:D=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){D=r(v.na(L,4));break}case 3:D=r(v.oa(L,2),4);break;case 7:L= -Pp(v,v.sb(L,!0),v.oa(L,2),null,L.type,L.Rb,L.rc);D=yq(L);v=$q(v,L);v[0]&&(D+=" ("+v[0]+")");break;default:D="imm("+u(H)+")"}v=D}else 32==L?(b.rc?(v=8,D=a.na(b,4)):(v=4,D=a.oa(b,2)),v="["+r(D,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.sb(b,!0),D=b.Ra+v&(b.Rb?-1:65535),v=r(D,b.Rb?8:4),D=$q(a,Pp(a,D,b.ba)),D[0]&&(v+=" ("+D[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":Zq(a,(D&3840)>>8,D,b):112==L?v=Zq(a,(D&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=yq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=la(g,e.rc?24:16);k+=la(n,8);q&&(k+=" "+q);a.F.ia<$p[f]&&(c=$p[f]+" CPU only");c&&A&&(k=la(k,e.rc?74:56)+";"+c,k=a.F.la.We?k+("cycles="+Vc(a.F).toString()+" cs="+r(a.F.X.If)):k+(null!=d?"="+d.toString():""));ar(b,A,h);return k} -function Zq(a,b,c,d){var e=c&240;if(192==e){if(5a.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return aq[b]} -function br(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.aa&1024;break;case "I":c=a.F.aa&512;break;case "T":c=a.F.aa&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function nq(a){return r(a,a&-65536?8:4)}function cr(a,b){8<=b&&15>=b&&4a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+dr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=dr(a,a.F.Nb,b)+" "+dr(a,a.F.Ob,b)+"\n");c+=er(a,"LD",a.F.Bc.ba,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+er(a,"GD",null,a.F.Dc,a.F.zd)+" "+er(a, -"ID",null,a.F.Nc,a.F.Pd)+" ";c=c+(d+" "+e)+cr(a,32);80386<=a.F.ia&&(c+=cr(a,34)+cr(a,35))}else 80386<=a.F.ia&&(c+=dr(a,a.F.Nb,b)+" "+dr(a,a.F.Ob,b)+" ");return c+=cr(a,23)+br(a,"V")+br(a,"D")+br(a,"I")+br(a,"T")+br(a,"S")+br(a,"Z")+br(a,"A")+br(a,"P")+br(a,"C")}var gr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function hr(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Hq(a,b,c){var d;if(b){b=Gq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(A,p,a.vb);0>v&&A.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,im:c,ba:d,Ra:e,Da:f,am:g,Nd:h,ti:l})} -function wq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.am;48==k&&(k=40);if(k==b.ba&&e>=l&&e=n&&fc?(a.O("out of data at address "+yq(b)),n=!0):(a.sc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function Qq(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Sb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.Y=Pp(a,K(a.F),a.F.va.ba);break;case "IP":case "EIP":O(a.F,h);a.Y=Pp(a,K(a.F),a.F.va.ba);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.aa|=4):(e=a.F,e.resultType&= --3,e.aa&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.aa|=128):(e=a.F,e.resultType&=-17,e.aa&=-129);break;case "I":h?(e=a.F,e.aa|=512):(e=a.F,e.aa&=-513);break;case "D":h?(e=a.F,e.aa|=1024):(e=a.F,e.aa&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.ab=h;mj.call(a.F,h);break;case "CR2":a.F.pe=h;break;case "CR3":a.F.Md=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Pc(a.F);a.O("updated registers:")}}a.O(fr(a,d));c&&(a.Y= -Pp(a,K(a.F),a.F.va.ba),Rq(a,yq(a.Y)))}}function qr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(Oq(a,c[2])):Hq(a,b,!0)}function rr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=Yq(a,b,g,f);b.Sd||d||d++;a.O(f);a.Y=b;e-=b.Da-k;c++}}} -function Jq(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function Xq(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+yq(a.ua)),a.Y=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.ab&1&&(e=a.F.aa&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(tb(a)&&0n||"z">>20;Da.wi=a.F.Md+Da.bk;Da.yb=$d.ra[(Da.wi& -$d.Gb)>>>$d.La];Da.Ui=Da.yb.Kd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.xi=(Da.Ui&-4096)+Da.ck;Da.zb=$d.ra[(Da.xi&$d.Gb)>>>$d.La];Da.Vi=Da.zb.Kd(Da.ck);Da.Ek=(Da.Vi&-4096)+(Te&4095)}if(Zd=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Te),od=od+(" %%"+Kq(Zd.wi,Zd.Ui)),od=od+(" %%"+Kq(Zd.xi,Zd.Vi,!0)),od=od+(" %%"+r(Zd.Ek));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"== -ma){if("disk"==ga){Q[0]="l";Q[1]="json";pr(a,Q);break a}for($a in cq)if(Q[1]==$a){var qn=a.Ya[$a];qn?(Q.shift(),Q.shift(),qn(Q)):a.O("no dump registered for "+ga);break a}ga||(ma=a.Jc||"db")}else a.Jc=ma;if("dh"==ma){var rn=ga,sn=Ga,tn="",un=0,ob=a.Fa,rc=a.ja;if(rc.length){var yb=+rn||a.Tb,ae=+sn||10;isNaN(yb)?yb=ae:tn="more ";yb>rc.length&&(a.O("note: only "+rc.length+" available"),yb=rc.length);ob-=yb;0>ob&&(null==rc[rc.length-1].ba?(yb=ob+yb,ob=0):ob+=rc.length);var fi=[];"call"==sn&&(ae=1E5,fi= -["CALL"]);for(void 0!==rn&&a.O(yb+" instructions earlier:");0=rc.length&&(ob=0);a.Tb=yb;un++;ae--}}un||(a.O("no "+tn+"history available"),a.Tb=void 0)}else if("di"==ma)Q.shift(),a.O("no information");else{var be=Fq(a,ga);if(be&&(null!=be.ba||null!=be.Da)){var ng=0;Ga&&("l"==Ga.charAt(0)&& -(Ga=Ga.substr(1)||Wa),ng=kq(a,Ga)>>>0,65536>4||1,gi="dd"==ma?4:"dw"==ma?2:1,wn=0;wnji;ji++){var pg=a.Qa(be,1),og=og|pg<<(hi++<<3);hi==gi&&(Ve+=r(og,2*gi),Ve+=1==gi?7==ji?"-":" ":" ",og=hi=0);ii+=32<=pg&&128>pg?String.fromCharCode(pg):"."}qd&&(qd+="\n");qd+=ga+" "+Ve+" "+ii}qd&&a.O(qd);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var qg=1,xn=255,yn=a.Qa,zn=a.sc;"ew"==g[0]&&(qg=2,xn=65535, -yn=a.oa,zn=a.ib);var An=qg<<1,Bn=g[1];if(null==Bn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var rg=Fq(a,Bn);if(rg)for(var sg=2;sgpi;){for(var sc=null,Tr=256;Sc.Ra>>>0>>0;){Ye.Ra=a.sb(Sc,!0);if(null==Sc.Da||!Tr--)break;Ye.ba=Dn;if(sc=rr(a,Ye))break;Ye.ba=a.sb(Sc);if(sc=rr(a,Ye,!0)){Dn=a.sb(Sc,!0);0Br){if(d.load(this.U)){this.N=new hf(this,Dr,"failsafe");this.N.load()&&(Hr(this,d),a=2,vr(this.N));N(this.N,"timestamp",qa());wr(this.N);var e=this.A&&!this.L;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=xr(d)){var f=yr(d,"code"),g=yr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),vr(d),d.load()?(c=xr(d),e=!0):c=!1))}e&&Gr(this,c?d:null)}else 2==a&&d.clear()}else Gr(this);delete this.U;delete this.W}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ga||(this.O("PCjs v"+Dr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ga=!0);this.F&&(Ir(this,this.F,b,c,a),Rc(this.F));this.ja&&(Hr(this,b),b.clear());!c&&this.N&&(this.N.clear(),delete this.N);this.C=0}; -function Hr(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.sa,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=Dr;f.url=c;f.user=d;f.type="bug";f.data=e;wa("http://www.pcjs.org/api/v1/report",f,!0)}} -function tr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new hf(a,Dr),g=new hf(a,Dr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.1");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Xb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;kh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");wa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Yr(a,b,c)}})}else c(a,null)} -function Zr(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);k&&(--Lr||Sa(!0));k=!1}var g,h,k=!0;Lr++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.1/components.xsl");l=function(d,h){h?Mr(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--Lr||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Lr||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Mr(b,a,d,!0,e,l):Xr(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return Zr(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function $r(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ia(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?wa(b,null,!0,function(a,b){as(b,d)}):as(null,d)}else w("Error ("+c+") requesting "+a)} -function as(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ha(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:,stepping:'' - - - - - - - - - - - - - - - 5150 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - black - - - - - - - - - - - - - - false - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 20 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - diff --git a/versions/pcjs/1.21.2/document.css b/versions/pcjs/1.21.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.2/document.xsl b/versions/pcjs/1.21.2/document.xsl deleted file mode 100644 index 992353f5b..000000000 --- a/versions/pcjs/1.21.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.2/machine.xsl b/versions/pcjs/1.21.2/machine.xsl deleted file mode 100644 index 1c171aeb7..000000000 --- a/versions/pcjs/1.21.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.2/manifest.xsl b/versions/pcjs/1.21.2/manifest.xsl deleted file mode 100644 index 4721dcc42..000000000 --- a/versions/pcjs/1.21.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.2/outline.xsl b/versions/pcjs/1.21.2/outline.xsl deleted file mode 100644 index 6ff063bf3..000000000 --- a/versions/pcjs/1.21.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.2/pc-dbg.js b/versions/pcjs/1.21.2/pc-dbg.js deleted file mode 100644 index 2628631ab..000000000 --- a/versions/pcjs/1.21.2/pc-dbg.js +++ /dev/null @@ -1,813 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Rb=function(a,b,c,d){return this.da&&this.da.Rb(a,b,c,d)||this.F&&this.F.Rb(a,b,c,d)||this.B&&this.B.Rb(a,b,c,d)||this.ha&&this.ha.Rb(a,b,c,d)?!0:this.parent.Rb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.da=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.kc=function(a,b){b||Fb();return!0};m.jc=function(){return!0};m.ge=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.fa?b=a.V:2==a.fa&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Ne)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ba)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].pe(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.pb,a.tb,a.Pa,a.bb)}a.Ba= -c}}}m.pd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Bi++]={Rk:b,Qd:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Na=10;a.C=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Vb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Na,a.U+=(a.W+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Ob=1<>2;this.A=this.Ob-1;this.U=this.W/this.Ob|0;this.ea=this.U-1;this.B=[];this.C=[];this.da=this.V=!1;this.Y=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0a.Ob?a.Ob:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Le+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Le){k=g.size-(b-h);k>c&&(k=c);g.Le=b-g.Da+k;c-=k;b=h+a.Ob;continue}}return Ub(a,1,b,c)}g=a.sa[f];b=new B(b,k,a.Ob,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Ob;c-=k}return 0>=c?(Vb(a.F),!0):Ub(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.L&&(Wb(a,1048576,1048576,a.L),a.L=null):a.L||(a.L=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].lc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].pf(b,a):this.sa[c++].lc(b,a)|this.sa[c&this.ea].lc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].pe(c,b)|a.sa[d&a.ea].pe(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].vc(a&this.A,b&255,a)};m.ib=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].wf(c,b&65535,a):(this.sa[d++].vc(c,b&255,a),this.sa[d&this.ea].vc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].pi(d,c&65535,b):(a.sa[e++].uf(d,c&255,b),a.sa[e&a.ea].uf(0,c>>8&255,b+1))} -m.mb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Ti=function(){return null};function gc(a,b){if(void 0===b)return a.da=!a.da,a.da;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.V&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Ub(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.ca=null;this.C=0;this.Da=a;this.Le=b;this.size=c||0;this.type=d||vc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Va=this.Oi=!1;if(c)if(e)this.controller=e,a=e.Si(a),this.ca=a[0],this.C=a[1],Yb(this,e.gh());else if(vb)this.L=new ArrayBuffer(c),this.qa=new DataView(this.L,0,c),this.Xa=new Uint8Array(this.L,0,c),this.ce=new Uint16Array(this.L,0,c>>1),this.ca=new Int32Array(this.L,0,c>>2),Yb(this,ac?bc:cc);else{this.ca=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.vc(a++,b&255,c++);this.vc(a++,b>>8&255,c++);this.vc(a++,b>>16&255,c++);this.vc(a,b>>>24,c)},Fa:function(a){return this.ca[a>>2]>>>((a&3)<<3)&255},qb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b]>>a;return 24>a?c&65535:c&255|(this.ca[b+1]&255)<<8},Za:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b];a&&(c=c>>>a|this.ca[b+1]<<32-a);return c},dc:function(a,b){var c=a>>2,d=(a&3)<<3;this.ca[c]=this.ca[c]&~(255<>2,d=(a&3)<<3;24>d?this.ca[c]=this.ca[c]& -~(65535<>8);this.Va=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ca[c]=b;this.Va=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.pe(a,b)},pb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},Yb:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.da(a,b,c):this.uf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.da(a,b,c):this.pi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.da(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.zb.ca[this.A]|= -this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.lc(a,b)},Ib:function(a,b){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.pf(a,b)},eb:function(a,b){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.Kd(a,b)},Uc:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.V;this.Bd.vc(a,b,c)},Fd:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.V;this.Bd.wf(a,b,c)},jd:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|= -this.V;this.Bd.vf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).lc(a,b)},Kb:function(a,b){return Fc(this.F,b,!1).pf(a,b)},fb:function(a,b){return Fc(this.F,b,!1).Kd(a,b)},be:function(a,b,c){Fc(this.F,c,!0).vc(a,b,c)},Gd:function(a,b,c){Fc(this.F,c,!0).wf(a,b,c)},se:function(a,b,c){Fc(this.F,c,!0).vf(a,b,c)},Ba:function(a){return this.Xa[a]},Y:function(a){return this.Xa[a]},Ia:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.lc=this.Y;return this.Xa[a]},Vb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},tb:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.pf=this.pa;return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},Na:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>>2]},bb:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.Kd=this.ga;return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>> -2]},Sb:function(a,b){this.Xa[a]=b;this.Va=!0},ra:function(a,b){this.Xa[a]=b;this.Va=!0},oc:function(a,b){this.Xa[a]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.vc=this.ra;this.Bd.Va=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Va=!0},za:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.Va=!0},Ed:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.wf=this.za;this.Bd.Va=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Va=!0},wa:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.Va=!0},hd:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.vf=this.wa;this.Bd.Va=!0}};function Mb(a,b,c){a.ha=b;a.Re=a.Se=0;c&&(c.F&&(a.F=c.F),(a.Re=c.Re)&&zc(a,Ac,!1),(a.Se=c.Se)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Se&&(a.vc=a.N?a.da:a.uf,a.wf=a.N?a.W:a.pi,a.vf=a.N?a.U:a.ua):0===--a.Re&&(a.lc=a.pe,a.pf=a.cg,a.Kd=a.ii)}function Bc(a,b,c){c&&a.Se||(a.vc=!a.N&&b[3]||a.da,a.wf=!a.N&&b[4]||a.W,a.vf=!a.N&&b[5]||a.U);if(c||void 0===c)a.uf=b[3]||a.da,a.pi=b[4]||a.W,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Re||(a.lc=b[0]||a.ia,a.pf=b[1]||a.ka,a.Kd=b[2]||a.fa);if(c||void 0===c)a.pe=b[0]||a.ia,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.qb,B.prototype.Za,B.prototype.dc,B.prototype.td,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.pb,B.prototype.Pa,B.prototype.Yb,B.prototype.sd,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Ib,B.prototype.eb,B.prototype.Uc,B.prototype.Fd,B.prototype.jd],Hc=[B.prototype.Ka,B.prototype.Kb,B.prototype.fb,B.prototype.be,B.prototype.Gd,B.prototype.se]; -if(vb)var cc=[B.prototype.Ba,B.prototype.Vb,B.prototype.Na,B.prototype.Sb,B.prototype.qd,B.prototype.Vc],bc=[B.prototype.Y,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.za,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.tb,B.prototype.bb,B.prototype.oc,B.prototype.Ed,B.prototype.hd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.X={};this.X.Hd=c;this.X.Ud=d;this.X.tg=Math.round(this.X.Hd/1E4)/100;this.X.De=this.X.tg*this.X.Ud;this.la.Jb=!1;this.la.eh=!1;this.la.Li=a.autoStart;this.la.Pi=!1;this.la.We=!1;this.X.If=this.X.gf=0;this.X.Jf=a.csStart;this.X.ff=a.csInterval;this.X.hf=a.csStop;this.hd=[];this.ri=this.Ie.bind(this);sb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.da=a;this.ea=b;this.ha=d;for(b=0;b=a.X.gf&&(a.X.gf+=a.X.ff,c=!0);0<=a.X.hf&&a.X.hf<=Wc(a)&&(a.X.ff=a.X.hf=-1,Qc(a),a.Xb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.X.If))}}m.pd=function(){this.da&&this.da.Xd&&this.da.Xd.pd()}; -function Xc(a,b){for(var c=0;c>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Qd=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Qd++),h++;c.A=e;c.za=c.A.Qd*c.ea.Ob/691200;d=0;c.A.Bi=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.W>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.Y,0,0,c.Y.width,c.Y.height,c.qb,c.Ib,c.Za,c.eb);c.Ja=!1}} -m.Tc=function(a){if(this.hd.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);this.hd[0].Tc();a&&window&&window.scrollTo(b,c)}}; -m.Rb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.da)if(a=d.da,a.la.ec)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.X.tg&&(c=Math.round(c/a.X.Ud));return c}function Oc(a){a.X.me=0;a.dc=a.Kb=a.eb=a.A=0;Qc(a);Zc(a,1)} -function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.X.me/a.X.De?b=1:d=!0;a.X.Ud=b;b=a.X.tg*a.X.Ud;if(a.X.De!=b){a.X.De=b;b=a.X.De.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.Tc()}ad(a,a.Kb);a.Kb=0;a.X.ef=pa();a.X.Ee=0;bd(a);return d} -m.Ie=function(a){if(pb(this,!0)){if(!this.la.Jb){Zc(this);this.da&&this.da.start(this.X.ef,Wc(this));this.la.Jb=!0;this.la.eh=!0;this.N&&cd(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.pd(!0);a&&this.Tc(!0)}this.X.sh>=this.X.Hd&&bd(this,!0);this.X.Mf=0;this.X.ug=pa();this.X.Ee&&(a=this.X.ug-this.X.Ee,a>this.X.Yi&&(this.X.ef+=a,this.X.ef>this.X.ug&&(this.X.ef=this.X.ug)));try{do{var c=this.la.We?1:this.X.km;if(this.N){dd(this.N);var d=this.N;a=c;var e=d.L[0];if(e.ye){var f=(Wc(d.F,d.ra)- -e.xd)/d.tb|0,g=ed(d,0)-f;6==e.mode&&(g-=f);var h=g*d.tb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.Ba-Wc(k.F,k.ra);0l&&(a=l)}c=a}try{this.tf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.eb-this.A;this.Kb+=n;this.X.Mf+=n;ad(this,0,!0);Vc(this,n);this.X.Lf-=n;0>=this.X.Lf&&(this.X.Lf+=this.X.$i,Xc(this));this.X.Kf-=n;0>=this.X.Kf&&(this.X.Kf+=this.X.Zi,this.pd());this.X.jf-=n;if(0>=this.X.jf){this.X.jf+=this.X.rh;break}}while(this.la.Jb)}catch(q){this.Xb(); -Tc(this);this.da&&this.da.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.ri;this.X.Ee=pa();e=this.X.Yi;this.X.Mf&&(e=Math.round(e*this.X.Mf/this.X.rh));e-=this.X.Ee-this.X.ug;if(f=this.X.Ee-this.X.ef)this.X.me=Math.round(this.Kb/(10*f))/100,864E5<=f&&(this.dc=0,this.N&&dd(this.N,!0),Zc(this));if(0>e||this.X.methis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Lc+(a<<2);var c=b.na(a);b.ba&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Lc+a|0;if(7<=(b.Pd-c|0))return this.C=!0,a=id(this,c,a),-1!==a&&(a+=this.Wf),a;C.call(b,13,a|2);return-1};m.Ei=function(a){return this.Aa+a|0};m.Gi=function(a){return this.Aa+a|0};m.Di=function(a,b){return(a>>>0)+b<=this.ac?this.Aa+a|0:this.ng()};m.Jk=function(a,b){return(a>>>0)+b>this.ac?this.Aa+a|0:this.ng()};m.ng=function(){C.call(this.F,13,0);return-1};m.Fi=function(a,b){return(a>>>0)+b<=this.ac?this.Aa+a|0:this.og()}; -m.Kk=function(a,b){return(a>>>0)+b>this.ac?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};function jd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.ac=(e>>>0)+1;a.xb=c;a.type=c&7936;a.ext=c>>16&192;a.Zb=(b&4?a.F.Cc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&gd(a,!0)}function kd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.ac=(d>>>0)+1;a.xb=e;a.type=e&7936;a.ext=0;a.Zb=b;4>a.id&&gd(a,!0)} -function id(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.ac=(a.A.Ta>>>0)+1,a.xb=a.A.xb,a.type=a.A.type,a.ext=a.A.ext,a.Zb=a.A.Zb,a.A.Z=-1,gd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.af=!1;if(p&&1==c&&a.B.length){var A=a.B[a.Wf-1];if(A&&!A())return-1}var F=c&3,v=(g&24576)>>13,A=-1,E,H;n||b>=e.Ec&& -b=a.Mb&&(F>a.Mb&&(A=D(e),ld(e,D(e),!0),G(e,A),a.af=!0),A=0);else{if(256==h||2304==h)return md(a,c,p)?a.Aa:-1;if(1024==h)A=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ui=k+e.na(k+100+2)|0,a.Fk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.xb=g,a.type=h,a.ext=l,a.Zb=b,gd(a,!0,!0,!1));return k} -function md(a,b,c){var d=a.F,e=a.Mb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.ib(d.Sa.Zb+4,d.Sa.xb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.ib(d.Sa.Zb+4,d.Sa.xb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.xb&512;256==d.Sa.type||768==d.Sa.type?(d.ib(g+14,K(d)),d.ib(g+16,yd(d)),d.ib(g+18,d.G),d.ib(g+20,d.I),d.ib(g+22,d.M),d.ib(g+24,d.H),d.ib(g+26,I(d)),d.ib(g+28,d.P),d.ib(g+30,d.K),d.ib(g+32,d.J),d.ib(g+ -34,d.Wa.Z),d.ib(g+36,d.va.Z),d.ib(g+38,d.ta.Z),d.ib(g+40,d.wb.Z),d.Cc.load(d.na(h+42)),zd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Wa.load(d.na(h+34)),d.wb.load(d.na(h+40)),Ad(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Mb>>0)+1)}; -function gd(a,b,c,d){void 0===c&&(c=!!(a.F.Ya&1));a.cd=!1;if(c)if(a.load=a.sg,a.Xi=a.fm,a.qc=a.Di,a.rc=a.Fi,void 0===d&&(d=!!(a.F.ba&131072)),d)a.load=a.L,a.qc=a.ea,a.rc=a.qa,a.Mb=a.Gc=3,a.aa=a.Nc=2,a.R=a.Ca=65535,a.Ta=65535,a.ac=a.Ta+1,a.Nc=a.aa,a.Zb=-1,a.af=!1;else{if(!(a.Z&-4))a.qc=a.ng,a.rc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.qc=a.ng);if(a.type&2048||!(a.type&512))a.rc=a.og;1024==(a.type&3072)&&(a.qc==a.Di&&(a.qc=a.Jk),a.rc==a.Fi&&(a.rc=a.Kk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Zb&& -(c=a.Zb+5,d=a.F.Qa(c),d&1||a.F.tc(c,d|1))}b&&(a.Mb=a.Z&3,a.Gc=(a.xb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.aa=2,a.R=65535):(a.aa=4,a.R=-1),a.Nc=a.aa,a.Ca=a.R)}else a.load=a.lh,a.Xi=a.gm,a.qc=a.Ei,a.rc=a.Gi,a.Mb=a.Gc=0,a.Zb=-1,a.af=!1} -function Cd(a){this.ja=a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.ag=61442;this.oc=1792;this.Yf=28672;this.Ed=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.W=Dd;this.gg=Ed;this.hg=Fd;this.Ng=Gd;if(80186<=this.ja&&(this.W=Dd.slice(),this.gg=Ed.slice(),this.hg=Fd.slice(),this.ra=31,this.W[15]=Hd,this.W[96]=Id,this.W[97]=Jd,this.W[98]=Kd,this.W[99]=Hd,this.W[100]=Hd,this.W[101]= -Hd,this.W[102]=Hd,this.W[103]=Hd,this.W[104]=Ld,this.W[105]=Md,this.W[106]=Nd,this.W[107]=Od,this.W[108]=Pd,this.W[109]=Qd,this.W[110]=Rd,this.W[111]=Sd,this.W[192]=Wd,this.W[193]=Xd,this.W[200]=Yd,this.W[201]=Zd,this.W[241]=ee,this.gg[7]=fe,this.hg[7]=fe,80286<=this.ja)){this.ag=2;this.oc|=28672;this.Ed=0;this.W[15]=ge;this.Yb=he.slice();for(a=0;a=this.Uc&&(this.Yb[166]=pe,this.Yb[167]=qe)}}this.ie=[];this.je=[];this.le=0;Oc(this);this.la.Sd=this.la.Ni=!1;this.Pg=0;this.kd=this.sa=[];this.La=this.Ob=this.Fa=this.Fd=this.jd=this.Gb=this.tb=0;re(this)}db(Cd,Lc);function se(a,b,c,d){Gc((d?a.kd:a.sa)[b>>>a.La],c);d&&Vb(a)} -function te(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Mb(a.ke,a.ha);for(b=0;ba.ze&&(a.bg[a.ze++]=d);a.sa[b]=a.ke}a.Gd=[]}function Vb(a){a.Ya&-2147483648&&te(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Md+e&a.Gb)>>>a.La],g=f.Kd(e);if(!(g&1))return d||ue.call(a,b,!1,c),a.qd;if(!(g&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.qd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Kd(h);if(!(k&1))return d||ue.call(a,b,!1,c),a.qd;if(!(k&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.qd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.Ab=g;b.B=h>>2;vb&&ac&&c.ca&&!c.controller&&!c.Re&&!c.Se?(b.Xa=c.Xa,b.ce=c.ce,b.ca=c.ca,Yb(b,Kc)):(b.ea=c?yc(32):0,b.V=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ve(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.qd=null)}m=Cd.prototype;m.reset=function(){this.la.Jb&&this.Xb();re(this);Oc(this);this.la.ud=!1}; -function we(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function xe(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function re(a){a.G=0;a.H=0;a.I=0;a.M=0;a.fb=0;a.P=0;a.K=0;a.J=0;a.bb=!1;a.ia=a.wa=0;a.Y=0;a.Og=0;a.L=0;a.Ya=65520;a.Lc=0;a.Pd=1023;a.ba=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.pb=-1;a.Sb=a.qb=-1;a.oe=a.U=-1;a.va=new fd(a,1,"CS");a.wb=new fd(a,2,"DS");a.Wa=new fd(a,2,"ES");a.ta=new fd(a,3,"SS");G(a,0);ld(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Ya=16;a.ji=0;a.qe=0;a.Md=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Pb=new fd(a,2,"FS");a.Qb=new fd(a,2,"GS");ve(a)}a.of=new fd(a,0,"NULL");a.ka=a.wb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.bc=a.of;a.ua=0;if(80286>a.ja)Ad(a,0,65535);else{a.Ec=0;a.zd=65535;a.Cc=new fd(a,5,"LDT",!0);a.Sa=new fd(a,4,"TSS",!0);a.Ea=new fd(a,6,"VER",!0);Ad(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.nf=(b>>>0)+(a.va.Ta>>>0)+1}zd(a,0);nd(a)} -function ye(a){2==a.Nc?(a.fc=a.na,a.Na=ze,a.Za=Ae,a.Ib=Be,2==a.aa?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Fe,a.fa=Ge,a.za=Je)):(a.fc=a.oa,a.Na=Ke,a.Za=Le,a.Ib=Me,2==a.aa?(a.V=Ne,a.fa=Oe,a.za=Pe):(a.V=Qe,a.fa=Re,a.za=af))}function td(a,b){a.aa!=b&&(a.Ha|=1024,a.aa=b,a.R=2==b?65535:-1,bf(a))}function bf(a){2==a.aa?(a.Ia=32768,a.ub=a.na,a.uc=a.ib,2==a.Nc?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Ne,a.fa=Oe,a.za=Pe)):(a.Ia=-2147483648,a.ub=a.oa,a.uc=a.mb,2==a.Nc?(a.V=Fe,a.fa=Ge,a.za=Je):(a.V=Qe,a.fa=Re,a.za=af))} -function cf(a){a.Nc=a.va.Nc;a.Ca=a.va.Ca;ye(a);a.aa=a.va.aa;a.R=a.va.R;bf(a);a.Ha&=-3073}m.Ri=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.wb.Z+this.ta.Z+this.Wa.Z+yd(this)|0};function df(a,b,c){void 0===a.ie[b]&&(a.ie[b]=[]);a.ie[b].push(c)}function ef(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function ff(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])} -function gf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Od(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function nd(a,b,c){void 0===b&&(b=!!(a.Ya&1));void 0===c&&(c=!!(a.ba&131072));a.Ng=b&&!c?hf:Gd;gd(a.va,!1,b,c);gd(a.wb,!1,b,c);gd(a.ta,!1,b,c);gd(a.Wa,!1,b,c);80386<=a.ja&&(gd(a.Pb,!1,b,c),gd(a.Qb,!1,b,c));cf(a)} -m.save=function(){var a=new jf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.wb.save(),e=this.ta.save(),f=this.Wa.save(),g;null!=this.Ec?(g=[this.Ya,this.Ec,this.zd,this.Lc,this.Pd,this.Cc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ji),g.push(this.qe),g.push(this.Md),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,yd(this)];80386<=this.ja&&(b.push(this.Pb.save()),b.push(this.Qb.save()));N(a,1,b);N(a,2,[this.ka.nc, -this.Ka.nc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.dc,this.X.Ud]);b=this.ea;c=!!(this.Ya&-2147483648);d=0;e=[];(f=!b.L&&b.wg==b.Gb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Mb;cf(a)}function Ad(a,b,c,d){var e=a.va;e.Wf=b;e.C=d;b=e.load(c);return-1!==b?(mf(a,b+(a.va.Wf&a.va.R)),a.va.af):null} -function nf(a,b){var c=(a.Ga>>>0)+b;c>a.nf&&(8088>=a.ja||a.va.Ta==a.va.Ca?c=a.va.Aa+(c-a.nf&a.R):C.call(a,13,0));return c|0}function of(a){a.Ga=a.oe}function I(a){return a.fb&~a.ta.Ca|a.ga-a.ta.Aa}function G(a,b){a.fb=b;a.ga=a.ta.Aa+(b&a.ta.Ca)|0}function pf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&qf(a),g&2&&rf(a),g&4&&sf(a),g&8&&tf(a),g&16&&uf(a),g&32&&vf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function wf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?xf(a):yf(a);e?zf(a):Af(a);return b}function Bf(a,b,c,d){c&d?xf(a):yf(a);(b^c)&d?zf(a):Af(a)}function Cf(a){return qf(a)?1:0}function qf(a){a.resultType&1&&(a.ba&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ba|=1),a.resultType&=-2);return a.ba&1}function rf(a){a.resultType&2&&(a.ba&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ba|=4),a.resultType&=-3);return a.ba&4} -function sf(a){a.resultType&4&&(a.ba&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ba|=16),a.resultType&=-5);return a.ba&16}function tf(a){a.resultType&8&&(a.ba&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ba|=64),a.resultType&=-9);return a.ba&64}function uf(a){a.resultType&16&&(a.ba&=-129,a.Xc&a.resultType&-2147450752&&(a.ba|=128),a.resultType&=-17);return a.ba&128} -function vf(a){a.resultType&32&&(a.ba&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ba|=2048),a.resultType&=-33);return a.ba&2048}function yf(a){a.resultType&=-2;a.ba&=-2}function Df(a){a.resultType&=-5;a.ba&=-17}function Ef(a){a.resultType&=-9;a.ba&=-65}function Af(a){a.resultType&=-33;a.ba&=-2049}function xf(a){a.resultType&=-2;a.ba|=1}function Ff(a){a.resultType&=-5;a.ba|=16}function Gf(a){a.resultType&=-9;a.ba|=64}function zf(a){a.resultType&=-33;a.ba|=2048} -function yd(a){return a.ba&-2262|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)|vf(a)}function Hf(a,b){b=b|a.Ya&1|65520;a.Ya=a.Ya&-65536|b&65535;a.Ya&1&&nd(a,!0)}function zd(a,b,c){a.Ya&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ba&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ba&512);a.resultType=128;a.ba=a.ba&~(a.oc|2261)|b&(a.oc|2261)|a.ag;a.ba&256&&(a.ua|=2,a.S|=4)} -function If(a,b,c,d){var e=0;if(a.Ya&1&&(a.pa>a.Pa||a.ba&131072)&&a.Sa.ui)for(var f=a.Sa.ui+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Rb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Rb.call(this,a,b,c)}return d}; -function Jf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.tb)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.pe(f,b);if(2==c)return f>>this.La].lc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.tb)>>>this.La;this.A-=this.B.Dg;if(b>>this.La;if(b>>this.La].vc(a&this.Fa,b&255,a)}; -m.ib=function(a,b){var c=a&this.Fa,d=(a&this.tb)>>>this.La;this.A-=this.B.Dg;c>8&255,a+1))};m.mb=function(a,b){var c=a&this.Fa,d=(a&this.tb)>>>this.La;this.A-=this.B.Dg;if(c>>=8}}; -function Kf(a,b,c){a.bc=b;a.Ba=c&a.Ca;a.D=b.qc(a.Ba,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Kf(a,a.ka,b)}function Lf(a,b){return Kf(a,a.Ka,b)}function Mf(a,b,c){a.bc=b;a.Ba=c&a.Ca;a.D=b.qc(a.Ba,a.aa);return a.S&1?0:a.ub(a.D)}function R(a,b){a.bc=a.ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,2);return a.S&1?0:a.na(a.D)}function Nf(a,b){a.bc=a.Ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.bc=a.ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,4);return a.S&1?0:a.oa(a.D)} -function Of(a,b){a.bc=a.Ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,4);return a.S&1?0:a.oa(a.D)}function Pf(a,b){a.S&2||a.tc(a.bc.rc(a.Ba,1),b)}function Qf(a,b){a.S&2||a.ib(a.bc.rc(a.Ba,2),b)}function Rf(a,b){a.S&2||a.mb(a.bc.rc(a.Ba,4),b)}function ud(a,b,c){return a.ub(b.qc(c,a.aa))}m.xa=function(){var a=nf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Sf(a){var b=nf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=nf(a,a.Nc),c=a.fc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=nf(this,this.aa),b=this.ub(this.Ga);this.Ga=a;return b};m.T=function(){var a=nf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.ub(a.ga);a.ga=a.ga+a.aa|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ca):-1>c&&C.call(a,12,0));return b} -function vd(a,b,c,d){c=a.ga-c|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));switch(d){case 1:a.tc(c,b);break;case 2:a.ib(c,b);break;case 4:a.mb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.aa|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));a.uc(c,b);a.ga=c} -function Tf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ba&512){var f=Vf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Wf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Wf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Xf(this.ha,this.Ga,c)){this.Xb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;bg(this);cg(this,a[b++]);for(c=0;c=dg&&eg(a,13))}function bg(a){a.ma&=-129;a.ma&~a.mc&63&&(a.ma|=128);if(a.ma&128&&!(a.mc&128))return a=a.N,a.ja>=dg?fg(a,13):a.Fa&0||Wf.call(a.F,2),!0;a=a.N;a.ja>=dg&&eg(a,13);return!1}function gg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return bg(a)} -function $f(a){return a.ma|a.B<<11}function hg(a,b){return isFinite(b)?!0:!gg(a,Infinity===b?8:16)}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,hg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,hg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,hg(a,d)||(d=null));return d}function lg(a,b,c){var d=null;null==b||null==c||!c&&gg(a,2)||(d=b/c,hg(a,d)||(d=null));return d} -function mg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function ng(a,b,c){if(null==b)return null;var d=a.mc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(gg(a,1))return null;d=-c}else if(d<-c){if(gg(a,1))return null;d=-c}a.da[0]=d|0;2147483648d&&(a.da[1]=-1))}return d} -function og(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function zg(a){var b=a.B+0&7;return a.C&1<>16}function Eg(a){return a.F.oa(a.F.D)}function Fg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Gg(a){a.da[0]=a.F.oa(a.F.D);a.da[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Hg(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.oi=function(){this.F.mb(this.F.D,this.da[0])};m.pk=function(){this.F.mb(this.F.D,this.da[0]);this.F.mb(this.F.D+4,this.da[1])};m.rk=Yf.prototype.oi;m.qk=Yf.prototype.pk;function Ig(a){a.F.mb(a.F.D,a.ea[0]);a.F.mb(a.F.D+4,a.ea[1]);a.F.ib(a.F.D+8,a.ea[2])} -function Jg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.da[0]=f;a.da[1]=c|(d|e)<<20;return a.W[0]}function Cg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Kg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Lg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;bg(a);cg(a,d.ub(b+=d.aa));!(d.Ya&1)||d.ba&131072?(a.V=d.ub(b+=d.aa),c=d.ub(b+=d.aa),a.ia=c&2047,a.V|=(c&-4096)<<4,a.fa=-1,a.U=d.ub(b+=d.aa),a.U|=(d.ub(b+=d.aa)&-4096)<<4,a.ga=-1):(a.V=d.ub(b+=d.aa),c=d.ub(b+=d.aa),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.ub(b+=d.aa),a.ga=d.ub(b+=d.aa)&65535);return b+d.aa} -function Pg(a,b){var c=a.F;c.uc(b,a.mc);c.uc(b+=c.aa,$f(a));c.uc(b+=c.aa,ag(a));if(!(c.Ya&1)||c.ba&131072){var d=(a.fa<<4)+a.V;c.uc(b+=c.aa,d);c.uc(b+=c.aa,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.uc(b+=c.aa,d);c.uc(b+=c.aa,d>>4&-4096)}else c.uc(b+=c.aa,a.V),c.uc(b+=c.aa,a.fa|a.ia<<16),c.uc(b+=c.aa,a.U),c.uc(b+=c.aa,a.ga);return b+c.aa}var Qg=Math.log(10)/Math.LN2,Rg=Math.LOG2E,Sg=Math.PI,Tg=Math.log(2)/Math.LN10,Ug=Math.LN2,Vg=Math.pow(2,63);function Wg(){this.ma&=-32896;bg(this)} -function Xg(){mg(this,U(this,0),U(this,this.A))}function Yg(){mg(this,U(this,0),U(this,this.A))&&Mg(this)}function Zg(){Yg.call(this)}function $g(){V(this,0,lg(this,U(this,0),Fg(this)))}function ah(){this.C&=~(1<>20&2047)-1023),this.da[1]=(this.da[1]|1072693248)&-1073741825,Ng(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1, -U(this,1)*Math.log(U(this,0)+1)/Math.LN2)&&Mg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!gg(this,1))b=Math.sqrt(a),hg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,ng(this,U(this,0),Vg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Ng(this,a)},6:function(){var a=ng(this,Mg(this));null!=a&&(this.ea[0]= -Lg(a,8),this.ea[1]=Lg(a/1E8,8),this.ea[2]=Lg(a/1E16,2),0>a&&(this.ea[2]|=32768),Ig(this))},7:function(){null!=ng(this,U(this,0),Vg)&&(this.pk(),Mg(this))},48:function(){ah.call(this);Mg(this)},49:nh,50:ih,51:ih,52:lh}},ph=[Wg,bh,ch,dh,eh,fh,jh,gh,kh,lh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.cj;(bd)&&C.call(this,5);this.S|=2;return a}function yh(a,b){var c=0;if(b){Ef(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Gf(this);this.A-=11+3*c;return a}function zh(a,b){var c=0;if(b){Ef(this);for(var d=2==this.aa?15:31,e=1<>>=1;c++;d--}}else Gf(this);this.A-=11+3*c;return a} -function Ah(a,b){a&1<<(b&(2==this.aa?15:31))?xf(this):yf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Bh(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a^c}function Ch(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a&~c}function Dh(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a|c} -function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=6;this.S|=2;return a}function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a^b} -function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a&~b}function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a|b} -function Ih(a,b){pf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.zh:this.B.Wb;this.S|=2;return a}function Jh(a,b){pf(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.zh:this.B.Wb;this.S|=2;return a} -function Kh(a){if(this.Vb){var b=this.Vb,c=this.Og,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=oh[c][f]){if(0>ph.indexOf(e)){var f=b.F,g=f.oe;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.V=g-f.va.Aa;-1!==f.D&&(b.ga=f.bc.Z,b.U=f.D-f.bc.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Lh(a){if(80186>this.ja)return Mh.call(this,a);C.call(this,13,0);return a}function fe(a){C.call(this,6);return a} -function Mh(a){ie.call(this);return a}function Nh(a,b){var c=Oh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Ph(a,b){var c;a=this.Ma();c=2==this.aa?Oh.call(this,a,b):Qh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Rh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Sh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Oh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(xf(this),zf(this)):(yf(this),Af(this));this.A-=-1===this.D?9:12;return c&65535}function Qh(a,b){Rh.call(this,a,b);this.wa!=this.ia>>31?(xf(this),zf(this)):(yf(this),Af(this));this.A-=-1===this.D?9:12;return this.ia}function Th(a,b){this.A-=14+(-1===this.D?0:2);Ef(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Gf(this),a=this.Ea.xb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Gf(this),this.Ea.Ta;Ef(this);return a}function $h(a,b){if(-1===this.D)return ie.call(this),a;ld(this,this.na(this.D+this.aa));this.A-=this.B.lf;return b} -function ai(a,b){this.A-=-1===this.C?-1===this.D?this.B.Mj:this.B.Lj:this.B.Jj;return b}function bi(a,b){switch(this.L>>3&7){case 4:this.Y=this.G;break;case 5:this.Y=this.I;break;case 6:this.Y=this.M;break;case 7:this.Y=this.H}return b}function ci(a,b){return b} -function di(a,b){var c=this.L>>3&7;switch(c){case 0:this.Y=this.G;break;case 2:this.Y=this.M;break;case 3:this.Y=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.Y=this.I;break;case 4:this.Y=I(this);break;case 5:this.Y=this.P;break;case 6:this.Y=this.K;break;case 7:this.Y=this.J}}return ai.call(this,0,b)} -function ei(a,b){switch(this.L>>3&7){case 0:b=this.Wa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.wb.Z;break;case 4:if(80386<=this.ja){b=this.Pb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Qb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&td(this,2);return ai.call(this,0,b)} -function Sh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a|b,128)}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a|b,this.Ia)&this.R} -function Ai(a,b){var c=a-b-Cf(this)|0;pf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255}function Bi(a,b){var c=a-b-Cf(this)|0;pf(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}function Ci(){return vf(this)?1:0}function Di(){return qf(this)?1:0}function Ei(){return qf(this)?0:1}function Fi(){return tf(this)?1:0}function Gi(){return tf(this)?0:1}function Hi(){return qf(this)||tf(this)?1:0} -function Ii(){return qf(this)||tf(this)?0:1}function Ji(){return uf(this)?1:0}function Ki(){return uf(this)?0:1}function Li(){return rf(this)?1:0}function Mi(){return rf(this)?0:1}function Ni(){return!uf(this)!=!vf(this)?1:0}function Oi(){return!uf(this)!=!vf(this)?0:1}function Pi(){return tf(this)||!uf(this)!=!vf(this)?1:0}function Qi(){return tf(this)||!uf(this)!=!vf(this)?0:1}function Ri(a,b){return Si.call(this,a,b,this.xa())}function Ti(a,b){return Ui.call(this,a,b,this.xa())} -function Vi(a,b){return Si.call(this,a,b,this.I&31)}function Wi(a,b){return Ui.call(this,a,b,this.I&31)}function Xi(a,b){return Yi.call(this,a,b,this.xa())}function Zi(a,b){return $i.call(this,a,b,this.xa())}function aj(a,b){return Yi.call(this,a,b,this.I&31)}function bj(a,b){return $i.call(this,a,b,this.I&31)}function cj(a,b){var c=a-b|0;pf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255} -function dj(a,b){var c=a-b|0;pf(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}function ej(a,b){wf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){wf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function gj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Pf(this,a),this.A-=this.B.bi;return b} -function jj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.uc(this.bc.rc(this.Ba,this.aa),a),this.A-=this.B.bi;return b} -function kj(a,b){var c=a^b;wf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c}function lj(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a^b,this.Ia)&this.R}function mj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function nj(a){var b=a-1|0;pf(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function oj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=mj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function pj(a){var b=a+1|0;pf(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function qj(a){this.Ya=a;nd(this);this.Ya&-2147483648?te(this):ve(this)}function Bd(a){this.Md=a;Vb(this)}function rj(a){this.S|=1;this.Za.call(this,a);this.A-=-1===this.D?4:5}function Si(a,b,c){if(c){16>>16-c)&65535;wf(this,a,32768,d&32768)}return a}function Ui(a,b,c){if(c){var d=a<>>32-c;wf(this,a,-2147483648,d&-2147483648)}return a} -function Yi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;wf(this,a,32768,d&1)}return a}function $i(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;wf(this,a,-2147483648,d&1)}return a}function sj(){this.A-=-1===this.D?2:this.B.Zj;return 1}function tj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.pb?(-1!=this.Sb&&(this.Sb!==this.va.Z&&(this.va.Mb=this.Sb&3,lf(this,this.Sb)),this.Sb=-1),this.oe!==this.Ga&&mf(this,this.oe),-1!=this.qb&&(this.qb!==this.ta.Z&&ld(this,this.qb),this.qb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.fb&~this.ta.Ca|this.U-this.ta.Aa),this.U=-1)):8!=this.pb?(b=0,a=8):(b=0,a=-1,re(this),e=d=!1)):mf(this,this.oe);var f=a,g=b,h=32,k=Jf(this,this.Ga);204!=k||this.Pd||(d=!1);this.ba&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);z(this,h|-2147483648)&&(d=!0);if(z(this,h)||d){var l=this.la.Jb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Xb())):(this.Oa(f),this.Xb())}if(d&&e)throw-1;if(e)throw this.pb=a,yj.call(this,a,b,c),this.oe=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function ue(a,b,c){this.qe=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function Aj(a){var b=a.xb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ae(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Lf(this,this.P+this.K);this.C=this.D;break;case 3:b=Lf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Lf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Lf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Lf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Lf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Lf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Lf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Be(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Lf(this,this.P+this.K);this.C=this.D;break;case 3:c=Lf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Lf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Lf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Lf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Lf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Lf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Lf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ce(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Id;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.gc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.hc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.hc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.gc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.gc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.hc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.hc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.gc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function De(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this, -a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ee(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Fe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Id;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.gc;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.hc;break;case 66:c=Of(this,this.P+this.K+this.T());this.A-=this.B.hc;break;case 67:c=Of(this,this.P+this.J+this.T());this.A-=this.B.gc;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Of(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.gc;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.hc;break;case 130:c=Of(this,this.P+this.K+T(this));this.A-=this.B.hc;break;case 131:c=Of(this,this.P+this.J+T(this));this.A-=this.B.gc;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Of(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ge(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Of(this,this.P+this.K);this.C=this.D;break;case 3:b=Of(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Of(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Of(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Rf(this,a);this.A-=this.B.ed;break;case 1:case 2:Rf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,a);this.A-=this.B.Jc;break;case 6:Rf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Rf(this, -a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Rf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,a);this.A-=this.B.hb;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Je(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Of(this,this.P+this.K);this.C=this.D;break;case 3:c=Of(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Of(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Of(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Rf(this,c);this.A-=this.B.ed;break;case 1:case 2:Rf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,c);this.A-=this.B.Jc;break;case 6:Rf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Rf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Rf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this, -c);this.A-=this.B.hb;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ke(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Cj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Cj.call(this,1)+this.T()); -break;case 69:c=Lf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Cj.call(this,2)+T(this));break;case 133:c=Lf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Le(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Cj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Lf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Lf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Pf(this,a)}} -function Me(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Cj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Lf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Lf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Pf(this,c)}} -function Ne(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Cj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Cj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Cj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Oe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Cj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Qf(this,a)}} -function Pe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Cj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Qf(this,c)}} -function Qe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Cj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Cj.call(this,1)+this.T()); -break;case 69:c=Of(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Cj.call(this,2)+T(this));break;case 133:c=Of(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Re(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Cj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Of(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Of(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Rf(this,a)}} -function af(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Cj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Of(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Of(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Rf(this,c)}} -function Cj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||sf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||sf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?xf(this):yf(this);b?Ff(this):Df(this);this.A-=this.B.Fe},function(){this.G=pj.call(this,this.G)},function(){this.I=pj.call(this,this.I)},function(){this.M=pj.call(this,this.M)},function(){this.H=pj.call(this,this.H)},function(){G(this,pj.call(this,I(this)))},function(){this.P= -pj.call(this,this.P)},function(){this.K=pj.call(this,this.K)},function(){this.J=pj.call(this,this.J)},function(){this.G=nj.call(this,this.G)},function(){this.I=nj.call(this,this.I)},function(){this.M=nj.call(this,this.M)},function(){this.H=nj.call(this,this.H)},function(){G(this,nj.call(this,I(this)))},function(){this.P=nj.call(this,this.P)},function(){this.K=nj.call(this,this.K)},function(){this.J=nj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Rc},function(){J(this,this.I& -this.R);this.A-=this.B.Rc},function(){J(this,this.M&this.R);this.A-=this.B.Rc},function(){J(this,this.H&this.R);this.A-=this.B.Rc},function(){J(this,I(this)-2&65535);this.A-=this.B.Rc},function(){J(this,this.P&this.R);this.A-=this.B.Rc},function(){J(this,this.K&this.R);this.A-=this.B.Rc},function(){J(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.Ac},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.Ac},function(){this.M=this.M&~this.R|D(this); -this.A-=this.B.Ac},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.Ac},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.Ac},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.Ac},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.Ac},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.Ac},Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,function(){this.za.call(this,ik,this.Ma);this.A-=-1===this.C?1:this.B.Cg},Tj,function(){this.za.call(this, -ik,this.T);this.A-=-1===this.C?1:this.B.Cg},function(){this.Za.call(this,ej)},function(){this.fa.call(this,fj)},function(){this.Na.call(this,ij)},function(){this.V.call(this,jj)},Vj,Wj,Xj,Yj,function(){this.S|=1;this.fa.call(this,ei)},function(){this.S|=1;this.ka=this.Ka=this.of;this.V.call(this,Vh)},function(){var a;this.V.call(this,di);switch(this.L>>3&7){case 0:a=this.G;this.G=this.Y;xd(this,a);break;case 1:a=this.I;this.I=this.Y;lf(this,a);break;case 2:a=this.M;this.M=this.Y;ld(this,a);break; -case 3:a=this.H;this.H=this.Y;wd(this,a);break;case 4:a=I(this);G(this,this.Y);80386<=this.ja?this.Pb.load(a):xd(this,a);break;case 5:a=this.P;this.P=this.Y;80386<=this.ja?this.Qb.load(a):lf(this,a);break;case 6:a=this.K;this.K=this.Y;ld(this,a);break;case 7:a=this.J,this.J=this.Y,wd(this,a)}},function(){this.S|=1;this.U=this.ga;this.Y=D(this);this.za.call(this,jk,wj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-= -3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R; -this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.aa?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.aa?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ej},function(){xj.call(this,this.Ma(),Sf(this));this.A-=this.B.hj},function(){this.A-=3},function(){var a=yd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.ba& -131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ba&-65536;zd(this,a);this.A-=this.B.Ac}},function(){var a=this.G>>8&255;a&1?xf(this):yf(this);a&4?(this.resultType&=-3,this.ba|=4):(this.resultType&=-3,this.ba&=-5);a&16?Ff(this):Df(this);a&64?Gf(this):Ef(this);a&128?(this.resultType&=-17,this.ba|=128):(this.resultType&=-17,this.ba&=-129);this.A-=this.B.ic},function(){this.G=this.G&-65281|(yd(this)&213)<<8;this.A-=this.B.ic},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.qc(b, -1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|ud(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.tc(this.ka.rc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.uc(this.ka.rc(a,this.aa),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ca,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.qc(this.K&c,1));this.tc(this.Wa.rc(this.J&c,1),e);e=this.ba&1024?-1:1;this.K= -this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=ud(this,this.ka,this.K&c);this.uc(this.Wa.rc(this.J&c,this.aa),e);e=this.ba&1024?-this.aa:this.aa;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca, -d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Kf(this,this.ka,this.K),f=Kf(this,this.Wa,this.J);this.C=this.D;Ih.call(this,e,f);e=this.ba&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Mf(this, -this.ka,this.K&c),f=Mf(this,this.Wa,this.J&c);this.C=this.D;Jh.call(this,e,f);e=this.ba&1024?-this.aa:this.aa;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){wf(this,this.G&this.xa(),128);this.A-=this.B.Fe},function(){wf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.Fe},function(){var a=1,b=0,c=this.Ca,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh)); -if(a--){var e=this.G;this.tc(this.Wa.rc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ba&1024?-1:1)&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.uc(this.Wa.rc(this.J&c,this.aa),e);this.J=this.J&~c|this.J+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I& -~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.qc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ba&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=ud(this,this.ka, -this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Kf(this,this.Wa,this.J);this.C=this.D;Ih.call(this,e,f);this.J=this.J&~c|this.J+(this.ba&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}}, -function(){var a=1,b=0,c=this.Ca,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Mf(this,this.Wa,this.J&c);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.ic},function(){this.I=this.I&-256|this.xa();this.A-=this.B.ic},function(){this.M= -this.M&-256|this.xa();this.A-=this.B.ic},function(){this.H=this.H&-256|this.xa();this.A-=this.B.ic},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.ic},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.ic},function(){this.M=this.M& -~this.R|this.Ma();this.A-=this.B.ic},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.ic},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.ic},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.ic},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.ic},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.ic},ck,dk,ck,dk,function(){this.V.call(this,Wh)},function(){this.V.call(this,Uh)},function(){this.S|=1;this.Ib.call(this,kk,this.xa)},function(){this.S|=1;this.za.call(this, -kk,this.Ma)},ek,fk,ek,fk,function(){if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.yj;this.pb=-1;yj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.ie[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.zj; -this.pb=-1;yj.call(this,4,null,a)}else this.A-=this.B.Aj},function(){if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{this.qb=this.ta.Z;this.U=this.ga;this.A-=this.B.wj;if(this.Ya&1&&this.ba&16384){var a=this.na(this.Sa.Aa+0);md(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ba&131072)d=d&131071|this.ba&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);nd(this,!0,!0);ld(this,f);G(this,e);xd(this,g);wd(this,h);this.Pb.load(k);this.Qb.load(l)}null!= -Ad(this,b,c,!1)&&(zd(this,d,a),this.le&&ff(this,this.Ga))}this.qb=this.U=-1}},function(){this.Ib.call(this,Zj,sj)},function(){this.za.call(this,2==this.aa?ak:bk,sj)},function(){this.Ib.call(this,Zj,tj)},function(){this.za.call(this,2==this.aa?ak:bk,tj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;wf(this,this.G,128);this.A-=this.B.bj}else Bj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;pf(this,a,b,c, -191);this.A-=this.B.aj},function(){this.G=this.G&-256|(qf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Kf(this,this.ka,this.H+(this.G&255));this.A-=this.B.$j},function(){gk.call(this,216)},function(){gk.call(this,217)},function(){gk.call(this,218)},function(){gk.call(this,219)},function(){gk.call(this,220)},function(){gk.call(this,221)},function(){gk.call(this,222)},function(){gk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&!tf(this)?(O(this,K(this)+ -a),this.A-=this.B.Hj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&tf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ca?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa();If(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255, -this.A-=this.B.Bh)},function(){var a=this.xa();If(this,a,this.aa,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.aa,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();If(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();If(this,a,this.aa,!1)&&(mc(this.ea,a,this.aa,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.fj},function(){var a=this.Ma();O(this,K(this)+a);this.A-= -this.B.Ch},function(){Ad(this,this.Ma(),Sf(this));this.A-=this.B.Cj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;If(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;If(this,a,this.aa,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.aa,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;If(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a= -this.M&65535;If(this,a,2,!1)&&(mc(this.ea,a,this.aa,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},hk,hk,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ba&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(of(this),this.ha.Xb()):this.ba&512||(this.ha&&of(this),this.Xb()))},function(){qf(this)?yf(this):xf(this);this.A-=2},function(){this.bb=!1;this.Ib.call(this,mk,vj);this.bb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.bb= -!1;this.za.call(this,nk,vj);this.bb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){yf(this);this.A-=2},function(){xf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ba&=-513,this.A-=this.B.dj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ba|=512,this.S|=4,this.A-=2)},function(){this.ba&=-1025;this.A-=2},function(){this.ba|=1024;this.A-=2},function(){this.Ib.call(this,Ed,vj)},function(){this.za.call(this,Fd,vj)}],Uj=[sh,fi,qh,Ai, -uh,cj,kj,Ih],ik=[th,gi,rh,Bi,vh,dj,lj,Jh],jk=[function(a,b){this.A-=-1===this.C?this.B.Ac:this.B.Sj;return b},Lh,Lh,Lh,Lh,Lh,Lh,Lh],kk=[function(a,b){this.A-=-1===this.C?this.B.Kj:this.B.Ij;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e= -Cf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,wf(this,a,128,c&1,a&128));return a},Mh,function(a,b){var c=b&this.ra;c&&(9>24>>c-1, -a=c>>1&255,wf(this,a,128,c&1));return a}],ak=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Cf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<< -16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,wf(this,a,32768,c&1,a&32768));return a},Mh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,wf(this,a,32768,c&1));return a}],bk=[function(a,b){var c=a,d=b&this.ra;d&&(c=a<>>32-d,Bf(this,c,a<>>d|e;Bf(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Cf(this),c=a<>>32-d>>>1,Bf(this,c,a<>>d|c<<32-d|a<<32-d<<1,Bf(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>> -c-1,a=c>>>1,wf(this,a,-2147483648,c&1,a&-2147483648));return a},Mh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,wf(this,a,-2147483648,c&1));return a}],mk=[function(a,b){b=this.xa();wf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Mh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;pf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ia=(this.G&255)*a&65535;this.ia&65280?(xf(this),zf(this)): -(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.Oj:this.B.Nj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(xf(this),zf(this)):(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a},function(a,b){if(!a)return Bj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Bj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.bb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a}],nk=[function(a,b){b=this.Ma();wf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Mh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;pf(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a, -b){if(2==this.aa){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Sh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(xf(this),zf(this)):(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a,b){var c;2==this.aa?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Rh.call(this,a,this.G),c=this.wa!=this.ia>>31);c?(xf(this),zf(this)):(yf(this),Af(this)); -this.bb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(2==this.aa){if(!a)return Bj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Bj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!oj.call(this,this.G,this.M,a))return Bj.call(this),a;this.ia|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.nj:this.B.mj;this.S|=2;return a},function(a,b){if(2==this.aa){if(!a)return Bj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/ -c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Bj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!oj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Bj.call(this),a;this.ia|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],Ed=[function(a){var b=a+1|0;pf(this,a,1,b,190);this.A-=-1=== -this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;pf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Mh,Mh,Mh,Mh,Mh,Mh],Fd=[function(a){var b=a+1|0;pf(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;pf(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.jj:this.B.ij;this.S|=2;return a},function(a){if(-1===this.D)return Mh.call(this, -a);this.U=this.ga;xj.call(this,a,this.na(this.D+this.aa));this.A-=this.B.gj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Ej:this.B.Dj;this.S|=2;return a},function(a){if(-1===this.D)return Mh.call(this,a);Ad(this,a,this.na(this.D+this.aa));this.A-=this.B.Bj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Uj;this.S|=2;return a},Mh]; -function pe(){this.V.call(this,hj);this.A-=-1===this.D?6:13}function qe(){this.fa.call(this,gj);this.A-=-1===this.D?12:19}var he=Array(256);he[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.za.call(this,this.Ng,vj)};he[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.za.call(this,ok,vj)};he[2]=function(){!(this.Ya&1)||this.ba&131072?C.call(this,6):this.V.call(this,Th)};he[3]=function(){!(this.Ya&1)||this.ba&131072?C.call(this,6):this.V.call(this,Zh)}; -he[5]=function(){this.pa?C.call(this,13,0,0,!0):(Hf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),kd(this.Wa,2102,this.na(2084)),kd(this.va,2108,this.na(2082)),kd(this.ta,2114,this.na(2080)),kd(this.wb,2120,this.na(2078)),zd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Lc=this.na(2138)| -this.Qa(2140)<<16,this.Pd=this.Lc+this.na(2142),kd(this.Cc,2132,this.na(2076)),kd(this.Sa,2144,this.na(2070)),this.A-=195)};he[6]=function(){this.pa?C.call(this,13,0):(this.Ya&=-9,this.A-=2)};he[11]=Hd;he[166]=Hd;he[255]=Hd;var M=[];M[5]=Hd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Wa.qc(this.J&this.Ca,204);if(-1!==a){qj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;zd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Lc=this.oa(a+100);this.Pd=this.Lc+this.oa(a+104);jd(this.Cc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));jd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);jd(this.Qb,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));jd(this.Pb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));jd(this.wb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));jd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));jd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));jd(this.Wa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Vj;M[17]=Wj;M[18]=Xj;M[19]=Yj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Ya;break;case 2:a=this.qe;break;case 3:a=this.Md;break;default:ie.call(this);return}xe(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(xe(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=we(this,a&7);switch((a&56)>>3){case 0:qj.call(this,b);this.A-=10;break;case 2:this.qe=b;this.A-=4;break;case 3:Bd.call(this,b);this.A-=5;break;default:ie.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(a=we(this,a&7),a!=this.Ja[b]&&(gf(this,!1),this.Ja[b]=a,gf(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(xe(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(this.Ce[b]=we(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[129]=function(){var a=this.Ma();vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}; -M[130]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[131]=function(){var a=this.Ma();qf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[132]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[133]=function(){var a=this.Ma();tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[134]=function(){var a=this.Ma();qf(this)||tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}; -M[135]=function(){var a=this.Ma();qf(this)||tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[136]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[137]=function(){var a=this.Ma();uf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[138]=function(){var a=this.Ma();rf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[139]=function(){var a=this.Ma();rf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}; -M[140]=function(){var a=this.Ma();!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[141]=function(){var a=this.Ma();!uf(this)==!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[142]=function(){var a=this.Ma();tf(this)||!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[143]=function(){var a=this.Ma();tf(this)||!uf(this)!=!vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[144]=function(){rj.call(this,Ci)}; -M[145]=function(){rj.call(this,Ci)};M[146]=function(){rj.call(this,Di)};M[147]=function(){rj.call(this,Ei)};M[148]=function(){rj.call(this,Fi)};M[149]=function(){rj.call(this,Gi)};M[150]=function(){rj.call(this,Hi)};M[151]=function(){rj.call(this,Ii)};M[152]=function(){rj.call(this,Ji)};M[153]=function(){rj.call(this,Ki)};M[154]=function(){rj.call(this,Li)};M[155]=function(){rj.call(this,Mi)};M[156]=function(){rj.call(this,Ni)};M[157]=function(){rj.call(this,Oi)};M[158]=function(){rj.call(this,Pi)}; -M[159]=function(){rj.call(this,Qi)};M[160]=function(){vd(this,this.Pb.Z,this.aa,2);this.A-=this.B.Ge};M[161]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.Ac;this.U=-1};M[163]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.aa?Ri:Ti);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.aa?Vi:Wi);this.A-=-1===this.D?3:7};M[168]=function(){vd(this,this.Qb.Z,this.aa,2);this.A-=this.B.Ge}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Qb.load(a);this.A-=this.B.Ac;this.U=-1};M[171]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.aa?Xi:Zi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.aa?aj:bj);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.aa?Oh:Qh)};M[178]=function(){this.V.call(this,$h)};M[179]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.V.call(this,Xh)};M[181]=function(){this.V.call(this,Yh)}; -M[182]=function(){this.Na.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.fb=this.fb&~this.R|this.G>>8&255;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.Y}this.A-=-1=== -this.D?3:6};M[183]=function(){td(this,2);this.V.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.fb=this.fb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.za.call(this,pk,this.xa)};M[187]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.V.call(this,yh)};M[189]=function(){this.V.call(this,zh)}; -M[190]=function(){this.Na.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.fb=this.fb&~this.R|this.G<<16>>24&this.R;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&this.R; -this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.Y}this.A-=-1===this.D?3:6};M[191]=function(){td(this,2);this.V.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.fb=this.fb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var hf=[function(){this.A-=2+(-1===this.D?0:1);return this.Cc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Cc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.ib(this.Sa.Zb+4,this.Sa.xb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.xb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.xb&7168)))return Gf(this), -a;Ef(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.xb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Gf(this),a;Ef(this);return a},Mh,Mh],Gd=[fe,fe,fe,fe,fe,fe,Mh,Mh],ok=[function(a){if(-1===this.D)C.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.aa&&(a|=b<<16);this.mb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Pd-this.Lc;var b=this.Lc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.aa&&(a|=b<<16);this.mb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ba&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ba&131072?C.call(this,6):(this.Lc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Pd=this.Lc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Ya},Mh,function(a){this.ba& -131072?C.call(this,6):(Hf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Mh],pk=[Mh,Mh,Mh,Mh,Ah,Dh,Ch,Bh]; -function qk(a){Ua.call(this,"ChipSet",a,qk,32768);var b=a.model;b&&!rk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=b&&rk[b]||sk;this.V=0;if(b=a[tk])this.V=uk(b,vk|wk.Ck);else{this.pa=[360,360];(b=a.floppies)&&b.length&&(this.pa=b);if(b=this.pa.length)this.V|=xk.Qg,b--,this.V|=(b&3)<=dg&&(this.pb=this.Ja=2);this.ra=a.scaleTimers|| -!1;this.oc=a.rtcDate;this.Sb=!1;a.sound&&(this.Kb=this.Ka=null,window&&(this.Kb=window.AudioContext||window.webkitAudioContext),this.Kb&&(this.Ka=new this.Kb));this.reset(!0);sb(this)}db(qk);var Ak=5150,sk=5150.9,dg=5170,rk={5150:Ak,5160:5160,5170:dg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:sk,deskpro386:5180},tk="sw1",zk="sw2",Bk={};Bk[Ak]={0:"Bootable Floppy Drive",1:"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"};Bk[5160]={}; -Bk[5160][0]="Loop on Post";Bk[5160][1]=Bk[Ak][1];Bk[5160][2]=Bk[Ak][2];Bk[5160][4]=Bk[Ak][4];Bk[5160][6]=Bk[Ak][6];Bk[5160.101]={0:"Total RAM",4:"Coprocessor",5:"Serial Interface"};var Ck={};Ck[Ak]={0:"Expansion Memory Size",4:"Reserved"};Ck[5160.101]={0:"Floppy Type",1:"Fast Startup",2:"HDU",4:"Monitor Type",6:"Number of Floppy Drives"};var yk={none:0,tv:1,color:2,mono:3,ega:0,vga:0},xk={Qg:1,ONE:0,ao:64,Zn:128,En:192,xf:192,yf:6},vk=12,wk={$n:16,xn:32,Ck:48,xf:48,yf:4};m=qk.prototype; -m.Rb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Dk(this,b,this.V,Bk[this.ja]),!0;case zk:if((this.ja|0)==Ak||5160.101==this.ja)return this.qa[b]=c,Dk(this,b,this.ua,Ck[this.ja]),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;if(this.Vb=Eb(a,"FPU"))this.V|=2;this.B=Eb(a,"Keyboard");this.tb=c.X.Hd/1193181;hc(b,this,Ek);lc(b,this,Fk);this.jab;b++){var c=13>=b?Qk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}df(c,26,this.am.bind(this))}; -m.kc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;this.Y=this.V;this.ka=this.ua;Rk(this,tk,this.Y);Rk(this,zk,this.ka);Sk(this);this.N=Array(this.pb);for(b=0;b=dg){this.C=16;this.ga=0;this.fa=16;this.Pa=0;this.ia=160;512<=Wk(this)&&(this.ia|=16);3==Xk(this)&& -(this.ia|=64);5180==(this.ja|0)&&(this.ia|=12);this.Za=3;this.za=Array(8);this.wa=0;a&&(this.A=Array(64));Yk(this,this.oc);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);this.A[20]=this.Y&(wk.xf|2|xk.Qg|xk.xf);this.A[16]=Zk(this,0)<<4|Zk(this,1);$k(this)}}; -function Yk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Na=a.Ba=0;a.Yb=a.qb=null} -function Qk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new jf(this);N(a,0,[this.V,this.ua,this.Y,this.ka]);for(var b=[],c=0;c=dg&&(N(a,5,[this.C,this.ga,this.fa,this.Pa,this.ia,this.Za]),N(a,6,[this.za[7],this.za,this.wa,this.A,this.Na,this.Ba]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];this.V=b[0];this.ua=b[1];this.Y=b[2];this.ka=b[3];b=a[1];for(c=0;c>2)+1)*a.dc+32*((b?a.ua:a.ka)&15)} -function hl(a,b){var c=b?a.V:a.Y;return(a.ja|0)!=Ak||c&xk.Qg?((c&xk.xf)>>xk.yf)+1:0}function Zk(a,b){if(b>wk.yf} -function Dk(a,b,c,d){for(var e="",f=a.qa[b],g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");e+='
    '+g+"
    \n"}f.innerHTML=e;Rk(a,b,c,d)} -function Rk(a,b,c,d){if(b=a.qa[b]){b=nb(b,"pcjs-bitCell");for(var e=0;eg.Bb[0]&&(g.Bb[0]=255,g.Bb[1]--,0>g.Bb[1]&&(g.Bb[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.N[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Lb+"]",null,!0);a=g.Dc[c];a.Bb[g.Lb]=a.Fc[g.Lb]=e;g.Lb^=1}function nl(a,b,c,d){var e=a.N[b],f=e.$b|1;e.$b&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.N[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.$b=f.$b&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.N[b>>2].Dc[b&3];b.pg&&b.fh&&b.Eg?(c&&(b.done=c),b.Be||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Bb[1]<<8|b.Bb[0],b.type=b.mode&12,b.Qi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.kg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.pg,b.Eg,-1,function(f,g){0>f&&(b.Qi||(b.Qi=!0),f=255);b.Be||a.ea.tc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.pg,b.Eg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.pc&b||(d.pc|=b,d.kf=c||0,Dl(a))}function eg(a,b){var c=a.wc[b>>3],d=1<<(b&7);c.pc&d&&(c.pc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),$c(a.F,e))),0==b&&2==c&&cd(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.eb:a.bb} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.eb=d):a.bb=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.L[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Bb=[0,0];h.we=[0,0];h.vd=!1;h.Xe=!1;h.ye=!1;h.bf=!1;Hl(a,e);0==b&&0==c&&eg(a,0);0==b&&2==c&&255==a.wc[0].Ad&& -77==a.W&&(b=a.L[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ra))}}}function Jl(a,b){var c=a.L[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.md?256:65536);return d}function ed(a,b){var c=a.L[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ml(a,b){Pk(a,b);var c=a.L[b];c.we[0]=c.Bb[0];c.we[1]=c.Bb[1];c.Xe=!0;Hl(a,b)}function Hl(a,b){var c=a.L[b];c.Dd=32==c.eg?1:0;c.md=48==c.eg?2:1} -function Pk(a,b,c){var d=a.L[b];if(d.ye&&(2!=b||a.W&1)){var e=Wc(a.F,a.ra),f=(e-d.xd)/a.tb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=ed(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.ye=!1,b||fg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&fg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&fg(a,0)));d.Bb[0]=h&255;d.Bb[1]=h>>8&255;c&&(a.xd=0)}return d} -function dd(a,b){for(var c=0;c=dg){var c=a.F.X.Hd,d=Wc(a.F,a.ra);null==a.qb&&(a.Na=Wc(a.F,a.ra),a.Yb=1024,a.qb=Math.floor(a.F.X.Hd/a.Yb),al(a));d>=a.Ba&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,fg(a,8)),a.Ba=d+a.qb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,fg(a,8)));var e=d-a.Na,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,fg(a,8))}a.Na=d-e%c}}m=qk.prototype;m.Kl=function(a,b){var c=this.fb;this.Ia&16&&(this.W&128?c=this.Y:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.fb=b};m.Ll=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&cd(a,c)}m.Ml=function(a,b){var c=0,c=(this.ja|0)==Ak?this.W&4?c|this.ka&15:c|this.ka>>4&1:this.W&8?c|this.Y>>4:c|this.Y&15;this.W&1&&Pk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.Ib=b};m.Nl=function(a,b){var c=this.Ia;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ia=b};m.Xk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.Ea&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Wk=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Yk=function(a,b){var c=this.Ea;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Zk=function(a,b){var c=this.Pa;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.C&=-258;this.B&&Ql(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.C&8)switch(this.ga){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.fa&-17),this.B){a=this.B;c=b;var d=-1;z(a)&&y(a,"sendCmd("+t(c)+")");switch(a.da||c){case 255:d=250;Tl(a);break;case 243:a.da&&(c=0);Ul(a,250);a.da=c;break;case 237:a.da&&(c=0);Ul(a,250);a.da=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.ga=b;this.C&=-9}; -m.$k=function(a,b){var c=this.W&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.al=function(a,b){x(this,a,null,b,"8042_STATUS",this.C,16384);var c=this.C&255;this.C&256&&(this.C|=1,this.C&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ga=b;this.C|=8;a=0;240<=this.ga&&(a=this.ga^15,this.ga=240);switch(this.ga){case 32:Vl(this,this.fa);break;case 173:Rl(this,this.fa|16);break;case 174:Rl(this,this.fa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],z(a)&&y(a,"scan codes flushed"));Rl(this,this.fa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ia);break;case 208:Vl(this,this.Za);break;case 224:Vl(this,this.fa&16?0: -1);break;case 240:a&1&&re(this.F)}};function Rl(a,b){a.fa=b;a.C=a.C&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Pa=b,c?a.C|=1:(a.C&=-2,a.C|=256))}function Sl(a,b){a.Za=b;Rb(a.ea,!!(b&2));b&1||re(a.F)}function Wl(a,b){a.ja=c?Qk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&eg(this,8),d&64&&this.A[11]&64&&al(this));return d}; -m.Hm=function(a,b,c){var d=this.wa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&al(this)};m.gk=function(a,b,c){x(this,a,b,c,"NMI");this.Fa=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Vb&&Zf(this.Vb)}; -m.am=function(a){if(z(this,16)&&lk(this.ha,26,a)){var b=this.F.G>>8;ef(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(qf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function uk(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>>4,0,this.da,this.C,this.Nd),delete this.Nd);return!0};Zl.prototype.jc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Oa("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.se,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Nd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Oa("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].uf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;$k(a)}}else w("No RAM allocated")};m.save=function(){var a=new jf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.tc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.tc(0,a[0]&255);this.tc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.tc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Si=function(){return km};m.gh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,un:65,vn:66,wn:67,Bn:68,E:69,Cn:70,Fn:71,Gn:72,Hn:73,In:74,Jn:75,Kn:76,Ln:77,Mn:78,Nn:79,On:80,Q:81,Pn:82,Tn:83,Yn:84,bo:85,co:86,eo:87,ho:88,io:89,jo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ko:97,lo:98,no:99,d:100,e:101,oo:102,po:103,qo:104, -ro:105,so:106,k:107,to:108,uo:109,n:110,wo:111,p:112,q:113,r:114,xo:115,t:116,zo:117,Ao:118,Bo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Rb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.yc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.F&&a.F.Tc();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.fa){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ja=null;b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));b=om[c];a.pa=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.W!==c&&(a.W=a.Y=c)&&(a.V=!0);a.U!==b&&(a.U=b)&&!a.Y&&Xl(a,!0);a.U&&a.Y&&(Tl(a),a.Y=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.V=!0,Wl(a.N,b))}function Ql(a){var b=0;a.A.length&&a.V&&(b=a.A[0],a.N&&Wl(a.N,b));z(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Nl(a){var b=0;a.A.length&&(b=a.A[0]);z(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.yc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.yc&=~b,d&&(a.yc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Jb){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ke=b,d.yc=a.yc,Am(a,b,!0),e++),0b.Jd){if(!b.Ef){ym(a,b.Ke);return}b.Ef=!1;c=a.ra}else c=1==b.Jd++?500:100;b.sk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.yc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.yc&515)==c&&(d=b-32);else if(!!(a.yc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Fg=function(a){a||(this.yc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.ka||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.cc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.cc=Math.min(this.Cd>>2,32768));this.Hc=c[0];this.gd=c[1];this.qf=c[2];this.ma=c[3];this.Bc=c[4]&255;this.Ig=c[4]>>8&255;this.sb=c[5];this.nh=Wm;this.jg=Ym;if(5<=b){this.nh=Xm;this.jg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.nb,this.cc,this.Cd],Array(this.Cd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ve=b[0];this.Ld=b[1];this.Sc=b[2];this.Tg=$m;this.Lg=b[3];this.sf=b[4];this.dg=b[5];this.$d=b[6];this.He=b[7];this.Vg=an;this.ik=b[8];this.jk=b[9];this.Zd=b[10];this.Yd=b[11];this.Ug=bn;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.nb,this.cc,d]);this.nb=d[0];this.cc=d[1];d=this.Cd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.di&255};dn[17408]=function(a){return(this.controller.Fb=this.ca[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.ca[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.ca[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d&=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d|=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d^=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Nb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -function en(a){var b=[];if(void 0!==a.kb){b[0]=a.Hc;b[1]=a.gd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Bc|a.Ig<<8;b[5]=a.sb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.ik;c[9]=a.jk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.cc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(A=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.nb&&(f-=b.nb);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Bc,b.sb,b.jg),5<=b.kb&&(fn(b," GRC",b.Zd,b.Yd,b.Ug),fn(b," SEQ",b.$d,b.He,b.Vg),fn(b," ATC",b.Ld,b.Sc,b.Tg),fn(b," ATCINDX", -b.Ld),b.ha.O(" ATCDATA: "+b.Ve),fn(b," FEAT",b.dg),fn(b," MISC",b.sf),fn(b," STATUS0",b.Lg)),fn(b," STATUS1",b.ma),1!=b.kb&&3!=b.kb||fn(b," MODEREG",b.gd),3==b.kb&&fn(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.nf?(this.pa.style.width=a,this.pa.style.width=a,this.pa.style.display="block",this.pa.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.Ue();a=!0}this.Tc()}return a}; -function Im(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.Ae=function(a){var b=!1;this.da&&(a?this.da.Ae&&(this.da.Ae(),this.V&&this.V.Vf(!0),b=!0):this.da.tk&&(this.da.tk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vk)}; -function pn(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){qn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){qn(a,b)},!0),c.addEventListener("touchend",function(b){qn(a,b,!1)},!1),a.je=b,a.dc=a.oc=a.gg=-1,a.Gd=!1,a.Xc=null,a.Fd=!1,a.tn=function(){a.Fd=!0;a.V.ge(rn,!0)})}m.Fg=function(a){this.B&&this.B.Fg(a)}; -function qn(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500f){a.V.ge(rn,!0);a.V.ge(rn,!1);return}}if(c||0>a.dc||0>a.oc)a.dc=d,a.oc=e;c=Math.round(d-a.dc);b=Math.round(e-a.oc);a.dc=d;a.oc=e;a.V.Hf(c,b,a.dc,a.oc)}}m.kc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=Xk(this.N));this.ja||(this.kb=3==b?1:3);this.wa=3;switch(this.kb){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.C=null;this.ra=this.qd=new Um(this,1);this.Y=this.Wc=new Um(this,3);5>this.kb?this.A=new Um:(this.A=new Um(this,this.kb,null,this.Cd),sn(this));tn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;un(this,this.wa);if(this.C.nb&&a){a=this.C.nb+this.Kb; -for(b=this.C.nb;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Yc(this,!0)}};function sn(a){a.A.sf&1?(a.ra=a.qd,a.Y=a.A):(a.ra=a.A,a.Y=a.Wc)}m.save=function(){var a=new jf(this);N(a,0,en(this.qd));N(a,1,en(this.Wc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.ra=this.qd=new Um(this,1,a[0]);this.Y=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.kb,a[3],this.Cd);this.A.Hc&&sn(this);tn(this);if(!vn(this))return!1;wn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.se,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Oa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Oa("Font ROM data error: "+g.message);return}(a.ia||a.ha)&&sb(a)}} -function xn(a,b){if(1==b)return a.Ba[0]=Om[0],a.Ba[1]=Om[7],a.Ba;if(2==b){var c=a.C.qf;if(a.C===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ba[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ba[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Sc[15]?c.Sc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function cm(a,b,c,d){a.Uc=b;a.Ib=c;a.Vb=d} -function tn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Vb?a.Vb:8,f=xn(a);null!=a.Ib[0]&&yn(a,3,a.Ib[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Vb?0:2048;e=a.Vb?a.Vb:9;null!=a.Ib[1]&&(yn(a,1,a.Ib[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Vb&&yn(a,a.kb,a.Ib[1],0,a.Vb,14,a.Uc,f)&&(c=!0))}return c}function yn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(zn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&zn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function zn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<W||!H?W:8,va=ia.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Aa= -0;Aa=W-2,Pc=P[Aa>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:ab;An(va,He,Vd,Ie);v&&An(va,He+1,Vd,Ie)}ia.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ti[F]=A;l.Sg[F]=ha;l=!0}}a.Na[b]=q;return l}function Bn(a){0a.bb&&(a.bb=0):a.bb=-1} -function wn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.sb[b])return;var c=a.C.sb[10],b=c&31,d=a.C.sb[11]&31,e=a.C.sb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)$n(a);else{c=a.C.sb[15]+((a.C.sb[14]&63)<<8);a.ka!=c&&($n(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ze!=d)a.hg=b,a.ze=d;a.Za=e+1;Bn(a)}}} -function $n(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&ao(a,c,d,b,a.fb),ao(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}} -function bo(a){var b,c=a.C;a.Ce=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Ce=!0));b|=e}return b} -function co(a,b){var c=a.C;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.cc,c.gh(),!0),!0):!1} -function vn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.kb)d=7;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768=e.sb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=bo(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!un(a,d,b))return!1;co(a,c);return!0} -function un(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.C||(7==b?a.ra:a.Y);if(b!=a.C||b.nb!=a.nb||b.cc!=a.cc){$n(a);if(a.nb){if(!Zb(a.ea,a.nb,a.cc))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.nb=b.nb;a.cc=b.cc;if(!Tb(a.ea,b.nb,b.cc,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.ie;a.tb=a.L;a.hd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.C!==a.A||3!=a.U||(7==a.A.sb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.hd|0;a.Kb=a.of;a.sd=0; -void 0!==b&&(a.Kb=(a.Kb<<1)+b|0,a.sd=a.Kb+b>>1);if(a.Na.length){a.Ja=a.ua/a.L|0;a.Ka=a.Ea/a.W|0;if(a.U){b=a.Na[a.U];if(!b)break a;c=a.Na[a.U<<1];a.ri&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc));a.Sb=a.Yb=0;b&&(a.Sb=a.L*b.Pc,a.Yb=a.W*b.Qc)}else a.Ja=a.Ka=1,a.Sb=a.L,a.Yb=a.W;a.qb=a.ia.createImageData(a.Sb,a.Yb);a.eb=document.createElement("canvas");a.eb.width=a.Sb;a.eb.height=a.Yb;a.fb=a.eb.getContext("2d");a.ke=a.le=0;a.td=a.ua;a.Ed=a.Ea;b=a.ua- -a.L*a.Ja;c=a.Ea-a.W*a.Ka;0>1,a.td-=b);0>1,a.Ed-=c);if(b||c)a.ia.fillStyle=a.pa.style.backgroundColor,a.ia.fillRect(0,0,a.ua,a.Ea)}}eo(a,!0);Yc(a)}return!0}function An(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function fo(a){a.Pa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function eo(a,b){b||(a.pb=!1);fo(a)} -function ao(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ia.fillStyle=h.Me[k],a.ia.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ia.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ze,e?(a.Za&&a.Za!==h.Qc&&(f=f*h.Qc/a.Za|0,g=g*h.Qc/a.Za|0),e.fillStyle=h.Me[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Za&&a.Za!==a.Ka&&(f=f*a.Ka/a.Za|0,g=g*a.Ka/a.Za|0),a.ia.fillStyle=h.Me[d],a.ia.fillRect(b,c+f,a.Ja,g)))} -function Yc(a,b){if(a.la.ec){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)fo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.cc;19<=a.Ia&&(h=c=655360,k=c+65536);if(go(a,d)&8||d.mf&&d.mf=a.Ia&&(l<<=1));c+l>k&&(l=k-c,0> -l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Pa=0;d=1048575;l=a.C.gd&32;5<=a.kb&&(l=a.C.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c>8|(p&255)<<8;var H=h,L=16;n>=d))>>(L-=d);An(a.qb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;Aa.L?a.tb-a.L-p>>3:0;c>=8;l>A&&(A=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);qa.L?a.tb-a.L-v>>3:0;cH&&(L=H)):(p<<=v,L-=v,a.Fa=!1):(a.Fa&&p===a.fa[f]?(d+=L,L=0):a.fa[f]=p,f++);if(L){dq&&(q=d);l=F&&(F=l+1)}if(d>=a.L){d=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return ho(this,this.ra,a,b)};m.an=function(a,b,c){var d=this.ra;d.Ig=d.Bc;d.Bc=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return io(this,this.ra,a,b)};m.$m=function(a,b,c){jo(this,this.ra,a,b,c)};m.Hl=function(a,b){return ko(this,this.ra,b)};m.bn=function(a,b,c){a=this.ra;x(this,a.port+4,b,c,"MODE");a.gd=b;vn(this,!1)}; -m.Il=function(a,b){return lo(this,this.ra,b)};m.fk=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.fl=function(a,b){var c=this.A.Ld;b&&!z(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Dk=function(a,b){var c=this.A.Sc[this.A.Ld&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Ld&31],c);return c}; -m.ek=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,eo(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&tn(this,!0)&&Yc(this,!0),d.Xf=(d.sb[12]<<8)+d.sb[13]|0,d.mf=0};m.Sl=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.od)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ha("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function mo(a){this.V=a.adapter;switch(this.V){case 1:this.L=956;this.C=7;break;case 2:this.L=888;this.C=7;break;case 3:this.L=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,mo,4194304);a=a.binding;"console"==a?this.B="":lb(this,a,no)}db(mo);var no="buffer";m=mo.prototype;m.Rb=function(a,b,c){switch(b){case no:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,oo,this.L);lc(b,this,po,this.L);sb(this)};m.kc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};m.reset=function(){qo(this)};m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.da;c[b++]=this.$b;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return qo(this,a[0])}; -function qo(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.da=b[c++];a.$b=b[c++];a.Bf=b[c];return!0}m.ul=function(a,b){var c=this.da;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.$b;x(this,a,null,b,"STAT",c);return c};m.ql=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.da=b;this.$b|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.$b&=-65);ro(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;ro(this)};function ro(a){a.N&&a.C&&(a.Bf&16&&!(a.$b&64)?fg(a.N,a.C):eg(a.N,a.C))} -var oo={0:mo.prototype.ul,1:mo.prototype.Rl,2:mo.prototype.ql},po={0:mo.prototype.Nm,2:mo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.da;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.Y=this.Y&-256|b;else{this.wa=b;this.A&=-97;if(this.L)13==b?this.W=0:8==b?(this.L.value=this.L.value.slice(0,-1),0a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}} -m.ge=function(a,b){if(this.Hc&&this.F&&this.F.la.Jb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case rn:if(this.Y!=b){this.Y=b;Fo(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Fo(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Jb&&(a||b)&&(this.U=a,this.W=b,Fo(this,null,c,d))}; -function Fo(a,b,c,d){var e=64|(a.Y?32:0)|(a.fa?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);uo(a.N,[e,f,g]);a.U=a.W=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Yo(a.ya,f,e,c);for(e=d=0;c--;)d|=Wo(a,b++,1)<=e.fi&&a<=e.bk){d=a-=e.fi;var f,g;for(g in e.te){var h=e.te[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Cb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=cp(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ja(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.$e?"":d)+"&format=json"));return!!wa(f,null,!0,function(a,b,c){dp(g,a,b,c)})}; -function dp(a,b,c,d){var e=null;a.cf=!1;var f=0>d&&a.da&&!a.da.la.ec;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,ep(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.se,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Cb=h.length;a.vb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A= -l<<2,F=p.length;Fb;b++){if(128==Yo(a,e,c+0,1)){d.Zf=Yo(a,e,c+8,4);(e=Xo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Yo(a,e,19,2)||Yo(a,e,32,4),d.Ff=Yo(a,e,14,2),d.kh=d.Ff+Yo(a,e,22,2)*Yo(a,e,16,1),d.uh=Yo(a,e,17,2),d.xg=Yo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Ua-1))/d.Ua|0);d.im=(d.Gf-d.ih)/d.xg|0;d.zg=4084>=d.im?12:16;d.Tk=12==d.zg?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Wo(d,f,1),254>=k?(n=k,q=Wo(d,f+1),f+=3):(n=Wo(d,f+3,1),q=Wo(d,f+4),f+=6),d.yd[n]&&(d.yd[n].te[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Zo(e,To,c))&&$o(e,g+c);g=Zo(e,Uo,c);h=Zo(e,Ro,c);g&&h&&$o(e,g,g+h)}}}} -function hp(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.yo=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.xg,E=0;E>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Xo(a,b){var c=a.vb*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function bp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Uk=b;a.Vk=c;a.wd=a.Zc=0;a.Va=!1;return a} -function cp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c} -function jp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,A,F,!0);if(!E)break;fp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function kp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.cf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):ep(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Xo(this,a++);)op(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function op(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function pp(a){Ua.call(this,"FDC",a,pp,524288);this.dmaRead=this.xk;this.dmaWrite=this.yk;this.dmaFormat=this.Mk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(pp);aa={}; -var qp={3:{Rd:3,fe:0,name:aa.Xn},4:{Rd:2,fe:1,name:aa.Vn},5:{Rd:9,fe:7,name:aa.fo},6:{Rd:9,fe:7,name:aa.Qn},7:{Rd:2,fe:0,name:aa.Sn},8:{Rd:1,fe:2,name:aa.Wn},10:{Rd:2,fe:7,name:aa.Rn},13:{Rd:6,fe:7,name:aa.Dn},15:{Rd:3,fe:0,name:aa.Un}};m=pp.prototype; -m.Rb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&rp(d,a)},!0; -case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&sp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Xo(b,h++);)for(var l=0,n=k.length;lg.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Tb,g.jb,g.yb));h||(e=!1)}a.W=b[c++]||0;a.mc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.mk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Tb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.yb=b%e+1,a.Hb=c*d[3],a.Db=0,!0}return!1}; -function xp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;ga.Cb||f[1]>a.vb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.lk=c,a.Je=d,Bp(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.xe||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.xe&&(a.xe=!1,--this.fa||sb(this));rp(this,a.gb)}; -function wp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=qp[a].Rd){b=!1;this.L=0;a=Cp(this);var d,e,f,g,h=a&31;switch(h){case 3:Cp(this);Cp(this);Dp(this);break;case 4:c=Cp(this);this.gb=c&3;d=this.A[this.gb];Dp(this);Ep(this,(d.Db&-16777216)>>>24);break;case 5:case 6:c=Cp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Tb=Cp(this);e=Cp(this);f=d.yb=Cp(this);g=Cp(this);d.Hb=128<>2&1;this.gb=c&3;d= -this.A[this.gb];c=d.Tb;e=d.jb=b;f=d.yb=1;g=0;d.Db=0;d.ya&&(d.ob=d.ya.seek(d.Tb,d.jb,d.yb))?g=d.ob.length>>8:d.Db=72;Fp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Cp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Tb;e=d.jb=b;f=1;g=Cp(this);d.Hb=128<>2&1,c=Cp(this),d.Tb+=c-d.de,0>d.Tb&&(d.Tb=0),d.Tb>=d.Cb&&(d.Tb=d.Cb-1),d.de=c,d.Db=32,d.Tb||(d.Db|=268435456),Dp(this),b=!0}0>>8);Ep(a,(b.Db&16711680)>>>16);var k=0;if(e!=b.Tb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));Ep(a,e+k);Ep(a,f);Ep(a,g);Ep(a,h)}function Cp(a){var b=a.V[a.L];a.L++;return b}function Dp(a){a.L=a.C=0}function Ep(a,b){a.V[a.C++]=b} -m.xk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Db&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Tb,a.jb,a.yb);if(!a.ob){a.Db=1088;break}a.cb=0;Gp(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Hp(a,b):-1}; -m.Mk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Db)c=-1;else{a.ld[a.Te++]=c;if(a.Te==a.ld.length){a.Tb=a.ld[0];a.jb=a.ld[1];a.yb=a.ld[2];a.Hb=128<Hp(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function Hp(a,b){if(a.Db||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Tb,a.jb,a.yb);if(!a.ob){a.Db=8256;b=-1;break}a.cb=0;Gp(a)}while(1);return b} -function Gp(a){a.yb++;a.yb>=a.Of+1&&(a.yb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Tb++))}var up={1012:pp.prototype.xl,1013:pp.prototype.vl,1015:pp.prototype.wl},vp={1010:pp.prototype.Qm,1013:pp.prototype.Pm,1015:pp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.ya.restore(g)&&(A=!1),A&&void 0!==k.cb&&(k.ob=k.ya.seek(k.ae,k.jb,k.yb+ -k.lg)));A||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.gb&&(a.B=a.A[a.gb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Rp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Oe[2])?e=b.Oe[0]<<8|b.Oe[1]:c=b.type);null==c||d||(d=Kp[a.U][c][1],e=Kp[a.U][c][0]);d&&((c=Kp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Cb=e,b.vb=d,null==b.ya&&(b.ya=new Go(a,b,b.mode)))}} -m.mk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ae=Math.floor(b/g),b%=g,a.jb=Math.floor(b/f),a.yb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function Pp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Sp(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Ua?(a.ma=128,Up(a.B,function(b){0<=b?(Vp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.Bk=function(a,b){return Tp(this,a,b)|Tp(this,a,b)<<8}; -function Wp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Ua)if(0>Xp(a.B,c))a.ma=1,a.W=16;else if(1==a.B.cb||a.B.cb==a.B.Ua)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.cb+"]"),1=a.B.Ua&&(a.ma|=8))}m.wm=function(a,b,c){Wp(this,a,b&255,c);Wp(this,a,b>>8&255,c)};m.el=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.gl=function(a,b){var c=this.Y;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.Y=b};m.hl=function(a,b){var c=this.Ba;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ba=b};m.cl=function(a,b){var c=this.za;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.za=b};m.bl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.dl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.il=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&eg(this.N,14);Yp(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.W=1);this.ga=b}; -function Yp(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.za|(a.wa&3)<<8,g=a.Ba,h=a.Y||256;a.gb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ae=f,k.jb=e,k.yb=g,k.Hb=h*k.Ua,c=144<=c?c:c&240,k.ob=null,k.cb=0,k.errorCode=0,a.gb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Up(k,function(b){0<=b&&a.N?(Vp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.vb=e+1,k.lb=h,b=!0}b&&Vp(a)} -function Vp(a){!a.N||a.ga&2||fg(a.N,14,120)} -function Sp(a){a.L=0;var b=Zp(a),c=Zp(a),d=c&32,e=d>>5,f=c&31,g=Zp(a),h=Zp(a),k=g<<2&768|h,l=g&63,n=Zp(a),q=Zp(a),p=a.A[e];p&&(p.ae=k,p.jb=f,p.yb=l,p.Hb=n*p.Ua);switch(b){case 3:$p(a,p?p.errorCode:4);aq(a,c);aq(a,g);aq(a,h);aq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Zp(a));)p&&cb?Up(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Xp(a,b):-1}; -m.Nk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cbXp(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c}; -function bq(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function cq(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function dq(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Hb||(b.Pe=Array(b.Hb));b.cb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Up(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.ob&&(f=a.cb,d=a.ya.read(a.ob,a.cb),a.cb+=g,0<=d))return e=a.ob,b&&b(d,!1,e,f),d;if(b){if(a.ya)return a.ya.seek(a.ae,a.jb,a.yb+a.lg,!1,function(c,k){(a.ob=c)?(e=c,f=a.cb=0,eq(a),d=a.ya.read(a.ob,a.cb),a.cb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Xp(a,b){if(a.errorCode)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ya&&a.ya.seek(a.ae,a.jb,a.yb+a.lg,!0,function(b){a.ob=b});if(!a.ob){a.errorCode=20;b=-1;break}a.cb=0;eq(a)}while(1);return b}function eq(a){a.yb++;var b=1-a.lg;a.yb>=a.lb+b&&(a.yb=b,a.jb++,a.jb>=a.vb&&(a.jb=0,a.ae++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.wc[0].Ad&64));return a?!0:!1}; -var Mp={800:Ip.prototype.Xl,801:Ip.prototype.Yl,802:Ip.prototype.Wl},Lp={496:Ip.prototype.Bk,497:Ip.prototype.el,498:Ip.prototype.gl,499:Ip.prototype.hl,500:Ip.prototype.cl,501:Ip.prototype.bl,502:Ip.prototype.dl,503:Ip.prototype.il},Op={800:Ip.prototype.nn,801:Ip.prototype.qn,802:Ip.prototype.pn,803:Ip.prototype.on,807:Ip.prototype.gi,811:Ip.prototype.gi,815:Ip.prototype.gi},Np={496:Ip.prototype.wm,497:Ip.prototype.Bm,498:Ip.prototype.zm,499:Ip.prototype.Am,500:Ip.prototype.vm,501:Ip.prototype.um, -502:Ip.prototype.xm,503:Ip.prototype.tm,1014:Ip.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ca=b.wg;this.Sb=new fd(this.F,7,"DBG");this.Ia=xq;80186<=this.F.ja&&(this.Ia=xq.slice(),this.Ia[15]=vq,80286<=this.F.ja&&(this.Ia[15]=wq,80386<=this.F.ja&&(this.Ja=8)));Ok(this,64,function(a){Bq(d,d.F.kd,a[0])});Ok(this,4,function(a){if(a=a[0]){var b=Cq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Dq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Zb:null,d.Ba)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Eq[a.type];h&&(c=h[0],b=h[1])}!c||a.xb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ba)+" limit="+Fq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Ok(this,134217728,function(a){var b;(a=a[0])&&(b=Cq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=gq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Gq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Hq(d,a,8)+'"');b+=1+k}});Ok(this,128,function(a){Bq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Ok(this,8,function(a){a:{if(a=a[0]){var b=Cq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Dq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ba));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Iq:Jq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=Jf(d.F,n,2),2304==c&&(q|=Jf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=Jf(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.pb=0;this.bb=!1;df(this.F,48,this.bm.bind(this));df(this.F,65,this.cm.bind(this)); -this.ka=null;df(this.F,104,this.dm.bind(this));sb(this)};function Kq(a,b,c,d,e,f){b=Hq(a,b);var g=Dq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Lq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Mq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=gq(a,a.oa(b,4),a.na(b,2));b=gq(a,a.oa(b,4),a.na(b,2));b=Hq(a,b).toUpperCase();var k=Hq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Lq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Nq(a,b,c){c=Hq(a,c).toUpperCase();Oq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=gq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Mq(this,gq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Wa.Z;if(null==this.C)return 79==c&&ef(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Kq(this,gq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Oq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.bb?0:1));break;case 131:this.C&&(a=gq(this,b.M,e),this.pb++?(this.O("TRAPFAULT failed"),Pq(this,this.A,a,!0,!0),this.pb=0,this.Xb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Qq(a)),this.Od(this.A,a,!0),iq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Mq(this,gq(this,b.H,f),!g,!!this.C);break;case 338:Nq(this,d,gq(this,b.J,f))}this.bb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Wa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;ef(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=hd(b.va,this.Ik.bind(this)))&& -(b.J=a[0],xd(b,a[1]));break;case 72:Oq(this,null,e);break;case 80:32==c?Kq(this,gq(this,h,k),0,f,!0,!!this.ka):128>c?Kq(this,gq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Mq(this,gq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Ik=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Rb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",kq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.xb=f;a.type=g;a.ext=k;a.Zb=d;gd(a,!0,!0,!1)}}return a}m.fc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Dq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Zb||e.cd&&(b>>>0)+c>e.ac||!e.cd&&(b>>>0)+c<=e.ac?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.fc(a,!1,1);-1!==d&&(c=Jf(this.F,d,1,5==a.type)|0,b&&Sq(this,a,b));return c}; -m.ub=function(a,b){return a.Ub?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.fc(a,!1,2);-1!==d&&(c=Jf(this.F,d,2,5==a.type),b&&Sq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.fc(a,!1,4);-1!==d&&(c=Jf(this.F,d,4,5==a.type),b&&Sq(this,a,b));return c};m.tc=function(a,b,c){var d=this.fc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.tc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].uf(d&e.A,b&255,d)}c&&Sq(this,a,c);Tc(this.F,!0)}}; -m.ib=function(a,b,c){var d=this.fc(a,!0,2);-1!==d&&(5!=a.type?this.F.ib(d,b):fc(this.ea,d,b),c&&Sq(this,a,c),Tc(this.F,!0))};function gq(a,b,c,d,e,f,g){return Tq(a,{},b,c,d,e,f,g)}function Tq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Rq(a)?2:1);b.Ub=null!=g?g:a.F&&4==a.F.va.aa;b.sc=null!=h?h:a.F&&4==a.F.va.Nc;b.Td=!1;return b}function Uq(a){return[a.Ra,a.Z,a.Da,a.Td,a.Ub,a.sc,a.Qe,a.Sd]}function Vq(a){return{Ra:a[0],Z:a[1],Da:a[2],Td:a[3],Ub:a[4],sc:a[5],Qe:a[6],Sd:a[7]}} -function Wq(a,b,c){if(null!=b.Z&&(a=Dq(a,b.Z,b.type))){var d=b.Ra&a.Ca;if(!a.cd){if(d>>>0>=a.ac)return!1}else if(d>>>0f?null!=h?(g=Zq(a,b,void 0),f=null):(f=Zq(a,b,void 0),null==f&&(g=null)):(h=Zq(a,b.substring(0,f),void 0),g=Zq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=gq(a,g,h,f,c),d||Wq(a,e,!0)||(a.O("invalid offset: "+Qq(e)),e=null));return e}function $q(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ek=ar(a,b.kk=c[2]))}function Sq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Wq(a,b)||(b.Ra=0,b.Da=null))}function Gq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Qq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Gq(a.Ra,a.Z,a.sc)}function Hq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],6==c&&(d=d.Bd,h+=" -> "+wc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(sq,a.substr(b,2))));return c} -function dr(a,b){var c=0,d=er(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function er(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=yd(d);break; -case 16:c=d.Wa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.wb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Ya);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Ya;break;case 33:c=d.ji;break;case 34:c=d.qe;break;case 35:c=d.Md;break;case 20:c=d.Pb.Z;break;case 21:c=d.Qb.Z;break;case 56:c=K(d)}}}return c} -function fr(a,b){b=Yq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=cr(b,c+1),0<=e&&(b=b.substr(0,c)+dr(a,e)+b.substr(c+1+sq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Xq(a,e))?(d=e+' "'+Hq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Xq(a,e))?(Sq(a,d),d=e+ -' "'+Hq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=fq.prototype;m.message=function(a,b){b&&(a+=" at "+Qq(gq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.xc&-2147483648&&(this.Xb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.X.jf=0;c.eb-=c.A;c.A=0;Tc(c)}}; -function lk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>mq.indexOf(b),!d)){var g=lq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+fr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Gq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.xc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Gq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.pd();if(this.fb){var a=this.fb;this.fb=null;kq(this,a)}}; -function iq(a,b){var c;if(Uf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Od(e&f.Fa,a==this.ga);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Td=!0):(lr(this,a,a.length-1,"set"),iq(this)));return d}; -function Pq(a,b,c,d,e){for(var f=!1,g=mr(a,a.fc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=A&&(A=p<<4|g&7);(p=zq[f])&&(q=p[A]);q&&(n=pq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Aq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Ub&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Ub&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,A=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.sc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)A=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var W=p,H=b,P="",ab=g>>6,ha=g&7;if(3>ab){var ia=void 0,L=0==n.indexOf("FI");if(!ab&&(!H.sc&&6==ha||H.sc&&5==ha))ab=2;else{if(H.sc)if(4!= -ha)ha+=8;else{var P=v,ia=ab,Ga=H,Wa=P.Qa(Ga,1),Aa=Wa>>6,Sb=Wa>>3&7,Wa=Wa&7,va="";if(ia||5!=Wa)va=tq[Wa+8];4!=Sb&&(va&&(va+="+"),va+=tq[Sb+8],Aa&&(va+="*"+(1<>24,P+="-"+r(-ia,2)):P+="+"+r(ia,2)):2==ab&&(P&&(P+="+"),H.sc?(ia=v.oa(H,4),P+=r(ia)):(ia=v.na(H,2),P+=r(ia,4)));P="["+P+"]";if(1==W){v="";E&=15;4==E&&(E=H.Ub?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=qr(v,ha,E,H);v=P}else v=160==L?qr(a,g&7,E,b):qr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Ub?8:4);break;case 4:if(L.Ub){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -gq(v,v.ub(L,!0),v.na(L,2),null,L.type,L.Ub,L.sc);E=Qq(L);v=rr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.sc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.ub(b,!0),E=b.Ra+v&(b.Ub?-1:65535),v=r(E,b.Ub?8:4),E=rr(a,gq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":qr(a,(E&3840)>>8,E,b):112==L?v=qr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Qq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.sc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Ub))b+=16;return sq[b]} -function tr(a,b){var c;switch(b){case "V":c=vf(a.F);break;case "D":c=a.F.ba&1024;break;case "I":c=a.F.ba&512;break;case "T":c=a.F.ba&256;break;case "S":c=uf(a.F);break;case "Z":c=tf(a.F);break;case "A":c=sf(a.F);break;case "P":c=rf(a.F);break;case "C":c=qf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Fq(a){return r(a,a&-65536?8:4)}function ur(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+vr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=vr(a,a.F.Pb,b)+" "+vr(a,a.F.Qb,b)+"\n");c+=wr(a,"LD",a.F.Cc.Z,a.F.Cc.Aa,a.F.Cc.Aa+a.F.Cc.Ta)+" "+wr(a,"GD",null,a.F.Ec,a.F.zd)+" "+wr(a,"ID", -null,a.F.Lc,a.F.Pd)+" ";c=c+(d+" "+e)+ur(a,32);80386<=a.F.ja&&(c+=ur(a,34)+ur(a,35))}else 80386<=a.F.ja&&(c+=vr(a,a.F.Pb,b)+" "+vr(a,a.F.Qb,b)+" ");return c+=ur(a,23)+tr(a,"V")+tr(a,"D")+tr(a,"I")+tr(a,"T")+tr(a,"S")+tr(a,"Z")+tr(a,"A")+tr(a,"P")+tr(a,"C")}var yr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function zr(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Zq(a,b,c){var d;if(b){b=Yq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(A,p,a.qb);0>v&&A.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Nd:h,si:l})} -function Oq(a,b,c){for(var d=0;d>>0,f=a.fc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Qq(b)),n=!0):(a.tc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function hr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Vb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":wd(a.F,h);break;case "ES":xd(a.F,h);break;case "SS":ld(a.F,h);break;case "CS":lf(a.F,h);a.Y=gq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.Y=gq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":zd(a.F,h);break;case "C":h?xf(a.F):yf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ba|=4):(e=a.F,e.resultType&= --3,e.ba&=-5);break;case "A":h?Ff(a.F):Df(a.F);break;case "Z":h?Gf(a.F):Ef(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ba|=128):(e=a.F,e.resultType&=-17,e.ba&=-129);break;case "I":h?(e=a.F,e.ba|=512):(e=a.F,e.ba&=-513);break;case "D":h?(e=a.F,e.ba|=1024):(e=a.F,e.ba&=-1025);break;case "V":h?zf(a.F):Af(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Hf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Pb.load(h);break;case "GS":a.F.Qb.load(h);break;case "CR0":a.F.Ya=h;qj.call(a.F,h);break;case "CR2":a.F.qe=h;break;case "CR3":a.F.Md=h;Bd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Tc(a.F);a.O("updated registers:")}}a.O(xr(a,d));c&&(a.Y= -gq(a,K(a.F),a.F.va.Z),ir(a,Qq(a.Y)))}}function Ir(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(fr(a,c[2])):Zq(a,b,!0)}function Jr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=pr(a,b,g,f);b.Sd||d||d++;a.O(f);a.Y=b;e-=b.Da-k;c++}}} -function ar(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function or(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Qq(a.ua)),a.Y=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Ya&1&&(e=a.F.ba&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(tb(a)&&0n||"z">>20;Ca.vi=a.F.Md+Ca.ck;Ca.zb=ae.sa[(Ca.vi&ae.Gb)>>>ae.La];Ca.Vi=Ca.zb.Kd(Ca.ck);Ca.dk=(Se&4190208)>>>10;Ca.wi=(Ca.Vi&-4096)+Ca.dk;Ca.Ab=ae.sa[(Ca.wi&ae.Gb)>>>ae.La];Ca.Wi=Ca.Ab.Kd(Ca.dk);Ca.Gk=(Ca.Wi&-4096)+(Se&4095)}if($d=Ca){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Se),od=od+(" %%"+br($d.vi,$d.Vi)),od=od+(" %%"+br($d.wi,$d.Wi,!0)), -od=od+(" %%"+r($d.Gk));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ha){if("disk"==ia){P[0]="l";P[1]="json";Hr(a,P);break a}for(ab in uq)if(P[1]==ab){var Cn=a.Za[ab];Cn?(P.shift(),P.shift(),Cn(P)):a.O("no dump registered for "+ia);break a}ia||(ha=a.oc||"db")}else a.oc=ha;if("dh"==ha){var Dn=ia,En=Ga,Fn="",Gn=0,rb=a.Fa,rc=a.ia;if(rc.length){var Cb=+Dn||a.Kb,be=+En||10;isNaN(Cb)?Cb=be:Fn="more ";Cb>rc.length&&(a.O("note: only "+rc.length+" available"),Cb=rc.length); -rb-=Cb;0>rb&&(null==rc[rc.length-1].Z?(Cb=rb+Cb,rb=0):rb+=rc.length);var ii=[];"call"==En&&(be=1E5,ii=["CALL"]);for(void 0!==Dn&&a.O(Cb+" instructions earlier:");0=rc.length&&(rb=0);a.Kb=Cb;Gn++;be--}}Gn||(a.O("no "+Fn+"history available"),a.Kb=void 0)}else if("di"==ha){P.shift(); -var ji=P[0];if(ji){var Ue=Cq(a,ji);if(void 0===Ue||0>Ue||255>> -0,65536>4||1,li="dd"==ha?4:"dw"==ha?2:1,Ln=0;Lnoi;oi++){var sg=a.Qa(ce,1),rg=rg|sg<<(mi++<<3);mi==li&&(Ve+=r(rg,2*li),Ve+=1==li?7==oi?"-":" ":" ",rg=mi=0);ni+=32<=sg&&128>sg?String.fromCharCode(sg):"."}qd&&(qd+="\n");qd+=ia+" "+Ve+" "+ni}qd&&a.O(qd);a.tb=ce}}}}}break;case "e":if("else"==g[0])break;var tg=1,Mn=255,Nn=a.Qa,On=a.tc;"ew"==g[0]&&(tg=2,Mn=65535,Nn=a.na,On=a.ib);var Pn=tg<<1,Qn=g[1]; -if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Xq(a,Qn);if(ug)for(var vg=2;vgui;){for(var sc=null,ls=256;Rc.Ra>>>0>>0;){Ye.Ra=a.ub(Rc,!0);if(null==Rc.Da||!ls--)break;Ye.Z=Sn;if(sc=Jr(a,Ye))break;Ye.Z=a.ub(Rc);if(sc=Jr(a,Ye,!0)){Sn=a.ub(Rc,!0);0Tr){if(d.load(this.U)){this.N=new jf(this,Vr,"failsafe");this.N.load()&&(Zr(this,d),a=2,Nr(this.N));N(this.N,"timestamp",qa());Or(this.N);var e=this.A&&!this.L;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Pr(d)){var f=Qr(d,"code"),g=Qr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Nr(d),d.load()?(c=Pr(d),e=!0):c=!1))}e&&Yr(this,c?d:null)}else 2==a&&d.clear()}else Yr(this);delete this.U;delete this.W}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.ec=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ga||(this.O("PCjs v"+Vr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ga=!0);this.F&&($r(this,this.F,b,c,a),Uc(this.F));this.ia&&(Zr(this,b),b.clear());!c&&this.N&&(this.N.clear(),delete this.N);this.C=0}; -function Zr(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ra,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=Vr;f.url=c;f.user=d;f.type="bug";f.data=e;wa("http://www.pcjs.org/api/v1/report",f,!0)}} -function Lr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new jf(a,Vr),g=new jf(a,Vr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.2");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.jc&&(c&&a.F.Xb(),d=a.F.jc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.ec=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;kh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");wa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);qs(a,b,c)}})}else c(a,null)} -function rs(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--cs||Sa(!0));k=!1}var g,h,k=!0;cs++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.2/components.xsl");l=function(d,h){h?ds(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--cs||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--cs||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ds(b,a,d,!0,e,l):ps(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return rs(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function ss(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ja(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?wa(b,null,!0,function(a,b){ts(b,d)}):ts(null,d)}else w("Error ("+c+") requesting "+a)} -function ts(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:,stepping:'' - - - - - - - - - - - - - - - 5150 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - black - - - - - - - - - - - - - - false - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 20 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - diff --git a/versions/pcjs/1.21.3/document.css b/versions/pcjs/1.21.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.3/document.xsl b/versions/pcjs/1.21.3/document.xsl deleted file mode 100644 index 4e06b91d9..000000000 --- a/versions/pcjs/1.21.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.3/machine.xsl b/versions/pcjs/1.21.3/machine.xsl deleted file mode 100644 index 732079bfb..000000000 --- a/versions/pcjs/1.21.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.3/manifest.xsl b/versions/pcjs/1.21.3/manifest.xsl deleted file mode 100644 index bfa857337..000000000 --- a/versions/pcjs/1.21.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.3/outline.xsl b/versions/pcjs/1.21.3/outline.xsl deleted file mode 100644 index 2026a704c..000000000 --- a/versions/pcjs/1.21.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.3/pc-dbg.js b/versions/pcjs/1.21.3/pc-dbg.js deleted file mode 100644 index a0e9c58c0..000000000 --- a/versions/pcjs/1.21.3/pc-dbg.js +++ /dev/null @@ -1,813 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Rb=function(a,b,c,d){return this.da&&this.da.Rb(a,b,c,d)||this.F&&this.F.Rb(a,b,c,d)||this.B&&this.B.Rb(a,b,c,d)||this.ha&&this.ha.Rb(a,b,c,d)?!0:this.parent.Rb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.da=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.kc=function(a,b){b||Fb();return!0};m.jc=function(){return!0};m.ge=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.fa?b=a.V:2==a.fa&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Ne)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ba)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].pe(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.pb,a.tb,a.Pa,a.bb)}a.Ba= -c}}}m.pd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Bi++]={Rk:b,Qd:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Na=10;a.C=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Vb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Na,a.U+=(a.W+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Ob=1<>2;this.A=this.Ob-1;this.U=this.W/this.Ob|0;this.ea=this.U-1;this.B=[];this.C=[];this.da=this.V=!1;this.Y=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0a.Ob?a.Ob:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Le+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Le){k=g.size-(b-h);k>c&&(k=c);g.Le=b-g.Da+k;c-=k;b=h+a.Ob;continue}}return Ub(a,1,b,c)}g=a.sa[f];b=new B(b,k,a.Ob,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Ob;c-=k}return 0>=c?(Vb(a.F),!0):Ub(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.L&&(Wb(a,1048576,1048576,a.L),a.L=null):a.L||(a.L=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].lc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].pf(b,a):this.sa[c++].lc(b,a)|this.sa[c&this.ea].lc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].pe(c,b)|a.sa[d&a.ea].pe(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].vc(a&this.A,b&255,a)};m.ib=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].wf(c,b&65535,a):(this.sa[d++].vc(c,b&255,a),this.sa[d&this.ea].vc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].pi(d,c&65535,b):(a.sa[e++].uf(d,c&255,b),a.sa[e&a.ea].uf(0,c>>8&255,b+1))} -m.mb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Ti=function(){return null};function gc(a,b){if(void 0===b)return a.da=!a.da,a.da;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.V&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Ub(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.ca=null;this.C=0;this.Da=a;this.Le=b;this.size=c||0;this.type=d||vc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Va=this.Oi=!1;if(c)if(e)this.controller=e,a=e.Si(a),this.ca=a[0],this.C=a[1],Yb(this,e.gh());else if(vb)this.L=new ArrayBuffer(c),this.qa=new DataView(this.L,0,c),this.Xa=new Uint8Array(this.L,0,c),this.ce=new Uint16Array(this.L,0,c>>1),this.ca=new Int32Array(this.L,0,c>>2),Yb(this,ac?bc:cc);else{this.ca=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.vc(a++,b&255,c++);this.vc(a++,b>>8&255,c++);this.vc(a++,b>>16&255,c++);this.vc(a,b>>>24,c)},Fa:function(a){return this.ca[a>>2]>>>((a&3)<<3)&255},qb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b]>>a;return 24>a?c&65535:c&255|(this.ca[b+1]&255)<<8},Za:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ca[b];a&&(c=c>>>a|this.ca[b+1]<<32-a);return c},dc:function(a,b){var c=a>>2,d=(a&3)<<3;this.ca[c]=this.ca[c]&~(255<>2,d=(a&3)<<3;24>d?this.ca[c]=this.ca[c]& -~(65535<>8);this.Va=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.ca[c]=b;this.Va=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.pe(a,b)},pb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},Yb:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.da(a,b,c):this.uf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.da(a,b,c):this.pi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.da(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.zb.ca[this.A]|= -this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.lc(a,b)},Ib:function(a,b){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.pf(a,b)},eb:function(a,b){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.ea;return this.Bd.Kd(a,b)},Uc:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.V;this.Bd.vc(a,b,c)},Fd:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|=this.V;this.Bd.wf(a,b,c)},jd:function(a,b,c){this.zb.ca[this.A]|=this.ea;this.Ab.ca[this.B]|= -this.V;this.Bd.vf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).lc(a,b)},Kb:function(a,b){return Fc(this.F,b,!1).pf(a,b)},fb:function(a,b){return Fc(this.F,b,!1).Kd(a,b)},be:function(a,b,c){Fc(this.F,c,!0).vc(a,b,c)},Gd:function(a,b,c){Fc(this.F,c,!0).wf(a,b,c)},se:function(a,b,c){Fc(this.F,c,!0).vf(a,b,c)},Ba:function(a){return this.Xa[a]},Y:function(a){return this.Xa[a]},Ia:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.lc=this.Y;return this.Xa[a]},Vb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},tb:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.pf=this.pa;return a&1?this.Xa[a]|this.Xa[a+1]<<8:this.ce[a>>1]},Na:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>>2]},bb:function(a){this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=32;this.Kd=this.ga;return a&3?this.Xa[a]|this.Xa[a+1]<<8|this.Xa[a+2]<<16|this.Xa[a+3]<<24:this.ca[a>> -2]},Sb:function(a,b){this.Xa[a]=b;this.Va=!0},ra:function(a,b){this.Xa[a]=b;this.Va=!0},oc:function(a,b){this.Xa[a]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.vc=this.ra;this.Bd.Va=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Va=!0},za:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.Va=!0},Ed:function(a,b){a&1?(this.Xa[a]=b,this.Xa[a+1]=b>>8):this.ce[a>>1]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.wf=this.za;this.Bd.Va=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Va=!0},wa:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.Va=!0},hd:function(a,b){a&3?(this.Xa[a]=b,this.Xa[a+1]=b>>8,this.Xa[a+2]=b>>16,this.Xa[a+3]=b>>24):this.ca[a>>2]=b;this.zb.ca[this.A]|=32;this.Ab.ca[this.B]|=96;this.vf=this.wa;this.Bd.Va=!0}};function Mb(a,b,c){a.ha=b;a.Re=a.Se=0;c&&(c.F&&(a.F=c.F),(a.Re=c.Re)&&zc(a,Ac,!1),(a.Se=c.Se)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Se&&(a.vc=a.N?a.da:a.uf,a.wf=a.N?a.W:a.pi,a.vf=a.N?a.U:a.ua):0===--a.Re&&(a.lc=a.pe,a.pf=a.cg,a.Kd=a.ii)}function Bc(a,b,c){c&&a.Se||(a.vc=!a.N&&b[3]||a.da,a.wf=!a.N&&b[4]||a.W,a.vf=!a.N&&b[5]||a.U);if(c||void 0===c)a.uf=b[3]||a.da,a.pi=b[4]||a.W,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Re||(a.lc=b[0]||a.ia,a.pf=b[1]||a.ka,a.Kd=b[2]||a.fa);if(c||void 0===c)a.pe=b[0]||a.ia,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.qb,B.prototype.Za,B.prototype.dc,B.prototype.td,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.pb,B.prototype.Pa,B.prototype.Yb,B.prototype.sd,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Ib,B.prototype.eb,B.prototype.Uc,B.prototype.Fd,B.prototype.jd],Hc=[B.prototype.Ka,B.prototype.Kb,B.prototype.fb,B.prototype.be,B.prototype.Gd,B.prototype.se]; -if(vb)var cc=[B.prototype.Ba,B.prototype.Vb,B.prototype.Na,B.prototype.Sb,B.prototype.qd,B.prototype.Vc],bc=[B.prototype.Y,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.za,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.tb,B.prototype.bb,B.prototype.oc,B.prototype.Ed,B.prototype.hd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.X={};this.X.Hd=c;this.X.Ud=d;this.X.tg=Math.round(this.X.Hd/1E4)/100;this.X.De=this.X.tg*this.X.Ud;this.la.Jb=!1;this.la.eh=!1;this.la.Li=a.autoStart;this.la.Pi=!1;this.la.We=!1;this.X.If=this.X.gf=0;this.X.Jf=a.csStart;this.X.ff=a.csInterval;this.X.hf=a.csStop;this.hd=[];this.ri=this.Ie.bind(this);sb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.da=a;this.ea=b;this.ha=d;for(b=0;b=a.X.gf&&(a.X.gf+=a.X.ff,c=!0);0<=a.X.hf&&a.X.hf<=Wc(a)&&(a.X.ff=a.X.hf=-1,Qc(a),a.Xb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.X.If))}}m.pd=function(){this.da&&this.da.Xd&&this.da.Xd.pd()}; -function Xc(a,b){for(var c=0;c>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Qd=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Qd++),h++;c.A=e;c.za=c.A.Qd*c.ea.Ob/691200;d=0;c.A.Bi=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.W>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.Y,0,0,c.Y.width,c.Y.height,c.qb,c.Ib,c.Za,c.eb);c.Ja=!1}} -m.Tc=function(a){if(this.hd.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);this.hd[0].Tc();a&&window&&window.scrollTo(b,c)}}; -m.Rb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.da)if(a=d.da,a.la.ec)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.X.tg&&(c=Math.round(c/a.X.Ud));return c}function Oc(a){a.X.me=0;a.dc=a.Kb=a.eb=a.A=0;Qc(a);Zc(a,1)} -function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.X.me/a.X.De?b=1:d=!0;a.X.Ud=b;b=a.X.tg*a.X.Ud;if(a.X.De!=b){a.X.De=b;b=a.X.De.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.Tc()}ad(a,a.Kb);a.Kb=0;a.X.ef=pa();a.X.Ee=0;bd(a);return d} -m.Ie=function(a){if(pb(this,!0)){if(!this.la.Jb){Zc(this);this.da&&this.da.start(this.X.ef,Wc(this));this.la.Jb=!0;this.la.eh=!0;this.N&&cd(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.pd(!0);a&&this.Tc(!0)}this.X.sh>=this.X.Hd&&bd(this,!0);this.X.Mf=0;this.X.ug=pa();this.X.Ee&&(a=this.X.ug-this.X.Ee,a>this.X.Yi&&(this.X.ef+=a,this.X.ef>this.X.ug&&(this.X.ef=this.X.ug)));try{do{var c=this.la.We?1:this.X.km;if(this.N){dd(this.N);var d=this.N;a=c;var e=d.L[0];if(e.ye){var f=(Wc(d.F,d.ra)- -e.xd)/d.tb|0,g=ed(d,0)-f;6==e.mode&&(g-=f);var h=g*d.tb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.Ba-Wc(k.F,k.ra);0l&&(a=l)}c=a}try{this.tf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.eb-this.A;this.Kb+=n;this.X.Mf+=n;ad(this,0,!0);Vc(this,n);this.X.Lf-=n;0>=this.X.Lf&&(this.X.Lf+=this.X.$i,Xc(this));this.X.Kf-=n;0>=this.X.Kf&&(this.X.Kf+=this.X.Zi,this.pd());this.X.jf-=n;if(0>=this.X.jf){this.X.jf+=this.X.rh;break}}while(this.la.Jb)}catch(q){this.Xb(); -Tc(this);this.da&&this.da.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.ri;this.X.Ee=pa();e=this.X.Yi;this.X.Mf&&(e=Math.round(e*this.X.Mf/this.X.rh));e-=this.X.Ee-this.X.ug;if(f=this.X.Ee-this.X.ef)this.X.me=Math.round(this.Kb/(10*f))/100,864E5<=f&&(this.dc=0,this.N&&dd(this.N,!0),Zc(this));if(0>e||this.X.methis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Lc+(a<<2);var c=b.na(a);b.ba&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Lc+a|0;if(7<=(b.Pd-c|0))return this.C=!0,a=id(this,c,a),-1!==a&&(a+=this.Wf),a;C.call(b,13,a|2);return-1};m.Ei=function(a){return this.Aa+a|0};m.Gi=function(a){return this.Aa+a|0};m.Di=function(a,b){return(a>>>0)+b<=this.ac?this.Aa+a|0:this.ng()};m.Jk=function(a,b){return(a>>>0)+b>this.ac?this.Aa+a|0:this.ng()};m.ng=function(){C.call(this.F,13,0);return-1};m.Fi=function(a,b){return(a>>>0)+b<=this.ac?this.Aa+a|0:this.og()}; -m.Kk=function(a,b){return(a>>>0)+b>this.ac?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};function jd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.ac=(e>>>0)+1;a.xb=c;a.type=c&7936;a.ext=c>>16&192;a.Zb=(b&4?a.F.Cc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&gd(a,!0)}function kd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.ac=(d>>>0)+1;a.xb=e;a.type=e&7936;a.ext=0;a.Zb=b;4>a.id&&gd(a,!0)} -function id(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.ac=(a.A.Ta>>>0)+1,a.xb=a.A.xb,a.type=a.A.type,a.ext=a.A.ext,a.Zb=a.A.Zb,a.A.Z=-1,gd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.af=!1;if(p&&1==c&&a.B.length){var A=a.B[a.Wf-1];if(A&&!A())return-1}var F=c&3,v=(g&24576)>>13,A=-1,E,H;n||b>=e.Ec&& -b=a.Mb&&(F>a.Mb&&(A=D(e),ld(e,D(e),!0),G(e,A),a.af=!0),A=0);else{if(256==h||2304==h)return md(a,c,p)?a.Aa:-1;if(1024==h)A=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ui=k+e.na(k+100+2)|0,a.Fk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.xb=g,a.type=h,a.ext=l,a.Zb=b,gd(a,!0,!0,!1));return k} -function md(a,b,c){var d=a.F,e=a.Mb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.ib(d.Sa.Zb+4,d.Sa.xb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.ib(d.Sa.Zb+4,d.Sa.xb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.xb&512;256==d.Sa.type||768==d.Sa.type?(d.ib(g+14,K(d)),d.ib(g+16,yd(d)),d.ib(g+18,d.G),d.ib(g+20,d.I),d.ib(g+22,d.M),d.ib(g+24,d.H),d.ib(g+26,I(d)),d.ib(g+28,d.P),d.ib(g+30,d.K),d.ib(g+32,d.J),d.ib(g+ -34,d.Wa.Z),d.ib(g+36,d.va.Z),d.ib(g+38,d.ta.Z),d.ib(g+40,d.wb.Z),d.Cc.load(d.na(h+42)),zd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Wa.load(d.na(h+34)),d.wb.load(d.na(h+40)),Ad(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Mb>>0)+1)}; -function gd(a,b,c,d){void 0===c&&(c=!!(a.F.Ya&1));a.cd=!1;if(c)if(a.load=a.sg,a.Xi=a.fm,a.qc=a.Di,a.rc=a.Fi,void 0===d&&(d=!!(a.F.ba&131072)),d)a.load=a.L,a.qc=a.ea,a.rc=a.qa,a.Mb=a.Gc=3,a.aa=a.Nc=2,a.R=a.Ca=65535,a.Ta=65535,a.ac=a.Ta+1,a.Nc=a.aa,a.Zb=-1,a.af=!1;else{if(!(a.Z&-4))a.qc=a.ng,a.rc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.qc=a.ng);if(a.type&2048||!(a.type&512))a.rc=a.og;1024==(a.type&3072)&&(a.qc==a.Di&&(a.qc=a.Jk),a.rc==a.Fi&&(a.rc=a.Kk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Zb&& -(c=a.Zb+5,d=a.F.Qa(c),d&1||a.F.tc(c,d|1))}b&&(a.Mb=a.Z&3,a.Gc=(a.xb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.aa=2,a.R=65535):(a.aa=4,a.R=-1),a.Nc=a.aa,a.Ca=a.R)}else a.load=a.lh,a.Xi=a.gm,a.qc=a.Ei,a.rc=a.Gi,a.Mb=a.Gc=0,a.Zb=-1,a.af=!1} -function Cd(a){this.ja=a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.ag=61442;this.oc=1792;this.Yf=28672;this.Ed=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.W=Dd;this.gg=Ed;this.hg=Fd;this.Ng=Gd;if(80186<=this.ja&&(this.W=Dd.slice(),this.gg=Ed.slice(),this.hg=Fd.slice(),this.ra=31,this.W[15]=Hd,this.W[96]=Id,this.W[97]=Jd,this.W[98]=Kd,this.W[99]=Hd,this.W[100]=Hd,this.W[101]= -Hd,this.W[102]=Hd,this.W[103]=Hd,this.W[104]=Ld,this.W[105]=Md,this.W[106]=Nd,this.W[107]=Od,this.W[108]=Pd,this.W[109]=Qd,this.W[110]=Rd,this.W[111]=Sd,this.W[192]=Wd,this.W[193]=Xd,this.W[200]=Yd,this.W[201]=Zd,this.W[241]=ee,this.gg[7]=fe,this.hg[7]=fe,80286<=this.ja)){this.ag=2;this.oc|=28672;this.Ed=0;this.W[15]=ge;this.Yb=he.slice();for(a=0;a=this.Uc&&(this.Yb[166]=pe,this.Yb[167]=qe)}}this.ie=[];this.je=[];this.le=0;Oc(this);this.la.Sd=this.la.Ni=!1;this.Pg=0;this.kd=this.sa=[];this.La=this.Ob=this.Fa=this.Fd=this.jd=this.Gb=this.tb=0;re(this)}db(Cd,Lc);function se(a,b,c,d){Gc((d?a.kd:a.sa)[b>>>a.La],c);d&&Vb(a)} -function te(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Mb(a.ke,a.ha);for(b=0;ba.ze&&(a.bg[a.ze++]=d);a.sa[b]=a.ke}a.Gd=[]}function Vb(a){a.Ya&-2147483648&&te(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Md+e&a.Gb)>>>a.La],g=f.Kd(e);if(!(g&1))return d||ue.call(a,b,!1,c),a.qd;if(!(g&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.qd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Kd(h);if(!(k&1))return d||ue.call(a,b,!1,c),a.qd;if(!(k&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.qd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.Ab=g;b.B=h>>2;vb&&ac&&c.ca&&!c.controller&&!c.Re&&!c.Se?(b.Xa=c.Xa,b.ce=c.ce,b.ca=c.ca,Yb(b,Kc)):(b.ea=c?yc(32):0,b.V=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ve(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.qd=null)}m=Cd.prototype;m.reset=function(){this.la.Jb&&this.Xb();re(this);Oc(this);this.la.ud=!1}; -function we(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function xe(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function re(a){a.G=0;a.H=0;a.I=0;a.M=0;a.fb=0;a.P=0;a.K=0;a.J=0;a.bb=!1;a.ia=a.wa=0;a.Y=0;a.Og=0;a.L=0;a.Ya=65520;a.Lc=0;a.Pd=1023;a.ba=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.pb=-1;a.Sb=a.qb=-1;a.oe=a.U=-1;a.va=new fd(a,1,"CS");a.wb=new fd(a,2,"DS");a.Wa=new fd(a,2,"ES");a.ta=new fd(a,3,"SS");G(a,0);ld(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Ya=16;a.ji=0;a.qe=0;a.Md=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Pb=new fd(a,2,"FS");a.Qb=new fd(a,2,"GS");ve(a)}a.of=new fd(a,0,"NULL");a.ka=a.wb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.bc=a.of;a.ua=0;if(80286>a.ja)Ad(a,0,65535);else{a.Ec=0;a.zd=65535;a.Cc=new fd(a,5,"LDT",!0);a.Sa=new fd(a,4,"TSS",!0);a.Ea=new fd(a,6,"VER",!0);Ad(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.nf=(b>>>0)+(a.va.Ta>>>0)+1}zd(a,0);nd(a)} -function ye(a){2==a.Nc?(a.fc=a.na,a.Na=ze,a.Za=Ae,a.Ib=Be,2==a.aa?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Fe,a.fa=Ge,a.za=Je)):(a.fc=a.oa,a.Na=Ke,a.Za=Le,a.Ib=Me,2==a.aa?(a.V=Ne,a.fa=Oe,a.za=Pe):(a.V=Qe,a.fa=Re,a.za=af))}function td(a,b){a.aa!=b&&(a.Ha|=1024,a.aa=b,a.R=2==b?65535:-1,bf(a))}function bf(a){2==a.aa?(a.Ia=32768,a.ub=a.na,a.uc=a.ib,2==a.Nc?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Ne,a.fa=Oe,a.za=Pe)):(a.Ia=-2147483648,a.ub=a.oa,a.uc=a.mb,2==a.Nc?(a.V=Fe,a.fa=Ge,a.za=Je):(a.V=Qe,a.fa=Re,a.za=af))} -function cf(a){a.Nc=a.va.Nc;a.Ca=a.va.Ca;ye(a);a.aa=a.va.aa;a.R=a.va.R;bf(a);a.Ha&=-3073}m.Ri=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.wb.Z+this.ta.Z+this.Wa.Z+yd(this)|0};function df(a,b,c){void 0===a.ie[b]&&(a.ie[b]=[]);a.ie[b].push(c)}function ef(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function ff(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])} -function gf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Od(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function nd(a,b,c){void 0===b&&(b=!!(a.Ya&1));void 0===c&&(c=!!(a.ba&131072));a.Ng=b&&!c?hf:Gd;gd(a.va,!1,b,c);gd(a.wb,!1,b,c);gd(a.ta,!1,b,c);gd(a.Wa,!1,b,c);80386<=a.ja&&(gd(a.Pb,!1,b,c),gd(a.Qb,!1,b,c));cf(a)} -m.save=function(){var a=new jf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.wb.save(),e=this.ta.save(),f=this.Wa.save(),g;null!=this.Ec?(g=[this.Ya,this.Ec,this.zd,this.Lc,this.Pd,this.Cc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ji),g.push(this.qe),g.push(this.Md),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,yd(this)];80386<=this.ja&&(b.push(this.Pb.save()),b.push(this.Qb.save()));N(a,1,b);N(a,2,[this.ka.nc, -this.Ka.nc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.dc,this.X.Ud]);b=this.ea;c=!!(this.Ya&-2147483648);d=0;e=[];(f=!b.L&&b.wg==b.Gb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Mb;cf(a)}function Ad(a,b,c,d){var e=a.va;e.Wf=b;e.C=d;b=e.load(c);return-1!==b?(mf(a,b+(a.va.Wf&a.va.R)),a.va.af):null} -function nf(a,b){var c=(a.Ga>>>0)+b;c>a.nf&&(8088>=a.ja||a.va.Ta==a.va.Ca?c=a.va.Aa+(c-a.nf&a.R):C.call(a,13,0));return c|0}function of(a){a.Ga=a.oe}function I(a){return a.fb&~a.ta.Ca|a.ga-a.ta.Aa}function G(a,b){a.fb=b;a.ga=a.ta.Aa+(b&a.ta.Ca)|0}function pf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&qf(a),g&2&&rf(a),g&4&&sf(a),g&8&&tf(a),g&16&&uf(a),g&32&&vf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function wf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?xf(a):yf(a);e?zf(a):Af(a);return b}function Bf(a,b,c,d){c&d?xf(a):yf(a);(b^c)&d?zf(a):Af(a)}function Cf(a){return qf(a)?1:0}function qf(a){a.resultType&1&&(a.ba&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ba|=1),a.resultType&=-2);return a.ba&1}function rf(a){a.resultType&2&&(a.ba&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ba|=4),a.resultType&=-3);return a.ba&4} -function sf(a){a.resultType&4&&(a.ba&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ba|=16),a.resultType&=-5);return a.ba&16}function tf(a){a.resultType&8&&(a.ba&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ba|=64),a.resultType&=-9);return a.ba&64}function uf(a){a.resultType&16&&(a.ba&=-129,a.Xc&a.resultType&-2147450752&&(a.ba|=128),a.resultType&=-17);return a.ba&128} -function vf(a){a.resultType&32&&(a.ba&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ba|=2048),a.resultType&=-33);return a.ba&2048}function yf(a){a.resultType&=-2;a.ba&=-2}function Df(a){a.resultType&=-5;a.ba&=-17}function Ef(a){a.resultType&=-9;a.ba&=-65}function Af(a){a.resultType&=-33;a.ba&=-2049}function xf(a){a.resultType&=-2;a.ba|=1}function Ff(a){a.resultType&=-5;a.ba|=16}function Gf(a){a.resultType&=-9;a.ba|=64}function zf(a){a.resultType&=-33;a.ba|=2048} -function yd(a){return a.ba&-2262|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)|vf(a)}function Hf(a,b){b=b|a.Ya&1|65520;a.Ya=a.Ya&-65536|b&65535;a.Ya&1&&nd(a,!0)}function zd(a,b,c){a.Ya&1||(b&=~a.Yf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ba&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ba&512);a.resultType=128;a.ba=a.ba&~(a.oc|2261)|b&(a.oc|2261)|a.ag;a.ba&256&&(a.ua|=2,a.S|=4)} -function If(a,b,c,d){var e=0;if(a.Ya&1&&(a.pa>a.Pa||a.ba&131072)&&a.Sa.ui)for(var f=a.Sa.ui+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Rb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Rb.call(this,a,b,c)}return d}; -function Jf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.tb)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.pe(f,b);if(2==c)return f>>this.La].lc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.tb)>>>this.La;this.A-=this.B.Dg;if(b>>this.La;if(b>>this.La].vc(a&this.Fa,b&255,a)}; -m.ib=function(a,b){var c=a&this.Fa,d=(a&this.tb)>>>this.La;this.A-=this.B.Dg;c>8&255,a+1))};m.mb=function(a,b){var c=a&this.Fa,d=(a&this.tb)>>>this.La;this.A-=this.B.Dg;if(c>>=8}}; -function Kf(a,b,c){a.bc=b;a.Ba=c&a.Ca;a.D=b.qc(a.Ba,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Kf(a,a.ka,b)}function Lf(a,b){return Kf(a,a.Ka,b)}function Mf(a,b,c){a.bc=b;a.Ba=c&a.Ca;a.D=b.qc(a.Ba,a.aa);return a.S&1?0:a.ub(a.D)}function R(a,b){a.bc=a.ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,2);return a.S&1?0:a.na(a.D)}function Nf(a,b){a.bc=a.Ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.bc=a.ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,4);return a.S&1?0:a.oa(a.D)} -function Of(a,b){a.bc=a.Ka;a.Ba=b&a.Ca;a.D=a.bc.qc(a.Ba,4);return a.S&1?0:a.oa(a.D)}function Pf(a,b){a.S&2||a.tc(a.bc.rc(a.Ba,1),b)}function Qf(a,b){a.S&2||a.ib(a.bc.rc(a.Ba,2),b)}function Rf(a,b){a.S&2||a.mb(a.bc.rc(a.Ba,4),b)}function ud(a,b,c){return a.ub(b.qc(c,a.aa))}m.xa=function(){var a=nf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Sf(a){var b=nf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=nf(a,a.Nc),c=a.fc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=nf(this,this.aa),b=this.ub(this.Ga);this.Ga=a;return b};m.T=function(){var a=nf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.ub(a.ga);a.ga=a.ga+a.aa|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ca):-1>c&&C.call(a,12,0));return b} -function vd(a,b,c,d){c=a.ga-c|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));switch(d){case 1:a.tc(c,b);break;case 2:a.ib(c,b);break;case 4:a.mb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.aa|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ca||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));a.uc(c,b);a.ga=c} -function Tf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ba&512){var f=Vf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Wf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Wf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Xf(this.ha,this.Ga,c)){this.Xb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;bg(this);cg(this,a[b++]);for(c=0;c=dg&&eg(a,13))}function bg(a){a.ma&=-129;a.ma&~a.mc&63&&(a.ma|=128);if(a.ma&128&&!(a.mc&128))return a=a.N,a.ja>=dg?fg(a,13):a.Fa&0||Wf.call(a.F,2),!0;a=a.N;a.ja>=dg&&eg(a,13);return!1}function gg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return bg(a)} -function $f(a){return a.ma|a.B<<11}function hg(a,b){return isFinite(b)?!0:!gg(a,Infinity===b?8:16)}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,hg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,hg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,hg(a,d)||(d=null));return d}function lg(a,b,c){var d=null;null==b||null==c||!c&&gg(a,2)||(d=b/c,hg(a,d)||(d=null));return d} -function mg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function ng(a,b,c){if(null==b)return null;var d=a.mc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(gg(a,1))return null;d=-c}else if(d<-c){if(gg(a,1))return null;d=-c}a.da[0]=d|0;2147483648d&&(a.da[1]=-1))}return d} -function og(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function zg(a){var b=a.B+0&7;return a.C&1<>16}function Eg(a){return a.F.oa(a.F.D)}function Fg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Gg(a){a.da[0]=a.F.oa(a.F.D);a.da[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Hg(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.oi=function(){this.F.mb(this.F.D,this.da[0])};m.pk=function(){this.F.mb(this.F.D,this.da[0]);this.F.mb(this.F.D+4,this.da[1])};m.rk=Yf.prototype.oi;m.qk=Yf.prototype.pk;function Ig(a){a.F.mb(a.F.D,a.ea[0]);a.F.mb(a.F.D+4,a.ea[1]);a.F.ib(a.F.D+8,a.ea[2])} -function Jg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.da[0]=f;a.da[1]=c|(d|e)<<20;return a.W[0]}function Cg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Kg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Lg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;bg(a);cg(a,d.ub(b+=d.aa));!(d.Ya&1)||d.ba&131072?(a.V=d.ub(b+=d.aa),c=d.ub(b+=d.aa),a.ia=c&2047,a.V|=(c&-4096)<<4,a.fa=-1,a.U=d.ub(b+=d.aa),a.U|=(d.ub(b+=d.aa)&-4096)<<4,a.ga=-1):(a.V=d.ub(b+=d.aa),c=d.ub(b+=d.aa),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.ub(b+=d.aa),a.ga=d.ub(b+=d.aa)&65535);return b+d.aa} -function Pg(a,b){var c=a.F;c.uc(b,a.mc);c.uc(b+=c.aa,$f(a));c.uc(b+=c.aa,ag(a));if(!(c.Ya&1)||c.ba&131072){var d=(a.fa<<4)+a.V;c.uc(b+=c.aa,d);c.uc(b+=c.aa,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.uc(b+=c.aa,d);c.uc(b+=c.aa,d>>4&-4096)}else c.uc(b+=c.aa,a.V),c.uc(b+=c.aa,a.fa|a.ia<<16),c.uc(b+=c.aa,a.U),c.uc(b+=c.aa,a.ga);return b+c.aa}var Qg=Math.log(10)/Math.LN2,Rg=Math.LOG2E,Sg=Math.PI,Tg=Math.log(2)/Math.LN10,Ug=Math.LN2,Vg=Math.pow(2,63);function Wg(){this.ma&=-32896;bg(this)} -function Xg(){mg(this,U(this,0),U(this,this.A))}function Yg(){mg(this,U(this,0),U(this,this.A))&&Mg(this)}function Zg(){Yg.call(this)}function $g(){V(this,0,lg(this,U(this,0),Fg(this)))}function ah(){this.C&=~(1<>20&2047)-1023),this.da[1]=(this.da[1]|1072693248)&-1073741825,Ng(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1, -U(this,1)*Math.log(U(this,0)+1)/Math.LN2)&&Mg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!gg(this,1))b=Math.sqrt(a),hg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,ng(this,U(this,0),Vg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Ng(this,a)},6:function(){var a=ng(this,Mg(this));null!=a&&(this.ea[0]= -Lg(a,8),this.ea[1]=Lg(a/1E8,8),this.ea[2]=Lg(a/1E16,2),0>a&&(this.ea[2]|=32768),Ig(this))},7:function(){null!=ng(this,U(this,0),Vg)&&(this.pk(),Mg(this))},48:function(){ah.call(this);Mg(this)},49:nh,50:ih,51:ih,52:lh}},ph=[Wg,bh,ch,dh,eh,fh,jh,gh,kh,lh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.cj;(bd)&&C.call(this,5);this.S|=2;return a}function yh(a,b){var c=0;if(b){Ef(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Gf(this);this.A-=11+3*c;return a}function zh(a,b){var c=0;if(b){Ef(this);for(var d=2==this.aa?15:31,e=1<>>=1;c++;d--}}else Gf(this);this.A-=11+3*c;return a} -function Ah(a,b){a&1<<(b&(2==this.aa?15:31))?xf(this):yf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Bh(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a^c}function Ch(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a&~c}function Dh(a,b){var c=1<<(b&(2==this.aa?15:31));a&c?xf(this):yf(this);this.A-=-1===this.D?6:8;return a|c} -function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=6;this.S|=2;return a}function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a^b} -function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a&~b}function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.aa<<3;if(b>=c||b<-c)a=Mf(this,this.bc,this.Ba+(b>>(2==this.aa?4:5))*this.aa);b=1<<(b&(2==this.aa?15:31));a&b?xf(this):yf(this);this.A-=8;return a|b} -function Ih(a,b){pf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.zh:this.B.Wb;this.S|=2;return a}function Jh(a,b){pf(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.zh:this.B.Wb;this.S|=2;return a} -function Kh(a){if(this.Vb){var b=this.Vb,c=this.Og,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=oh[c][f]){if(0>ph.indexOf(e)){var f=b.F,g=f.oe;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.V=g-f.va.Aa;-1!==f.D&&(b.ga=f.bc.Z,b.U=f.D-f.bc.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Lh(a){if(80186>this.ja)return Mh.call(this,a);C.call(this,13,0);return a}function fe(a){C.call(this,6);return a} -function Mh(a){ie.call(this);return a}function Nh(a,b){var c=Oh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Ph(a,b){var c;a=this.Ma();c=2==this.aa?Oh.call(this,a,b):Qh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Rh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Sh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Oh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(xf(this),zf(this)):(yf(this),Af(this));this.A-=-1===this.D?9:12;return c&65535}function Qh(a,b){Rh.call(this,a,b);this.wa!=this.ia>>31?(xf(this),zf(this)):(yf(this),Af(this));this.A-=-1===this.D?9:12;return this.ia}function Th(a,b){this.A-=14+(-1===this.D?0:2);Ef(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Gf(this),a=this.Ea.xb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Gf(this),this.Ea.Ta;Ef(this);return a}function $h(a,b){if(-1===this.D)return ie.call(this),a;ld(this,this.na(this.D+this.aa));this.A-=this.B.lf;return b} -function ai(a,b){this.A-=-1===this.C?-1===this.D?this.B.Mj:this.B.Lj:this.B.Jj;return b}function bi(a,b){switch(this.L>>3&7){case 4:this.Y=this.G;break;case 5:this.Y=this.I;break;case 6:this.Y=this.M;break;case 7:this.Y=this.H}return b}function ci(a,b){return b} -function di(a,b){var c=this.L>>3&7;switch(c){case 0:this.Y=this.G;break;case 2:this.Y=this.M;break;case 3:this.Y=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.Y=this.I;break;case 4:this.Y=I(this);break;case 5:this.Y=this.P;break;case 6:this.Y=this.K;break;case 7:this.Y=this.J}}return ai.call(this,0,b)} -function ei(a,b){switch(this.L>>3&7){case 0:b=this.Wa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.wb.Z;break;case 4:if(80386<=this.ja){b=this.Pb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Qb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&td(this,2);return ai.call(this,0,b)} -function Sh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a|b,128)}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a|b,this.Ia)&this.R} -function Ai(a,b){var c=a-b-Cf(this)|0;pf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255}function Bi(a,b){var c=a-b-Cf(this)|0;pf(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}function Ci(){return vf(this)?1:0}function Di(){return qf(this)?1:0}function Ei(){return qf(this)?0:1}function Fi(){return tf(this)?1:0}function Gi(){return tf(this)?0:1}function Hi(){return qf(this)||tf(this)?1:0} -function Ii(){return qf(this)||tf(this)?0:1}function Ji(){return uf(this)?1:0}function Ki(){return uf(this)?0:1}function Li(){return rf(this)?1:0}function Mi(){return rf(this)?0:1}function Ni(){return!uf(this)!=!vf(this)?1:0}function Oi(){return!uf(this)!=!vf(this)?0:1}function Pi(){return tf(this)||!uf(this)!=!vf(this)?1:0}function Qi(){return tf(this)||!uf(this)!=!vf(this)?0:1}function Ri(a,b){return Si.call(this,a,b,this.xa())}function Ti(a,b){return Ui.call(this,a,b,this.xa())} -function Vi(a,b){return Si.call(this,a,b,this.I&31)}function Wi(a,b){return Ui.call(this,a,b,this.I&31)}function Xi(a,b){return Yi.call(this,a,b,this.xa())}function Zi(a,b){return $i.call(this,a,b,this.xa())}function aj(a,b){return Yi.call(this,a,b,this.I&31)}function bj(a,b){return $i.call(this,a,b,this.I&31)}function cj(a,b){var c=a-b|0;pf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&255} -function dj(a,b){var c=a-b|0;pf(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c&this.R}function ej(a,b){wf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){wf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function gj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Pf(this,a),this.A-=this.B.bi;return b} -function jj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.uc(this.bc.rc(this.Ba,this.aa),a),this.A-=this.B.bi;return b} -function kj(a,b){var c=a^b;wf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return c}function lj(a,b){this.A-=-1===this.C?-1===this.D?this.B.zc:this.B.Wb:this.B.Mc;return wf(this,a^b,this.Ia)&this.R}function mj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function nj(a){var b=a-1|0;pf(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function oj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=mj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function pj(a){var b=a+1|0;pf(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function qj(a){this.Ya=a;nd(this);this.Ya&-2147483648?te(this):ve(this)}function Bd(a){this.Md=a;Vb(this)}function rj(a){this.S|=1;this.Za.call(this,a);this.A-=-1===this.D?4:5}function Si(a,b,c){if(c){16>>16-c)&65535;wf(this,a,32768,d&32768)}return a}function Ui(a,b,c){if(c){var d=a<>>32-c;wf(this,a,-2147483648,d&-2147483648)}return a} -function Yi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;wf(this,a,32768,d&1)}return a}function $i(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;wf(this,a,-2147483648,d&1)}return a}function sj(){this.A-=-1===this.D?2:this.B.Zj;return 1}function tj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.pb?(-1!=this.Sb&&(this.Sb!==this.va.Z&&(this.va.Mb=this.Sb&3,lf(this,this.Sb)),this.Sb=-1),this.oe!==this.Ga&&mf(this,this.oe),-1!=this.qb&&(this.qb!==this.ta.Z&&ld(this,this.qb),this.qb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.fb&~this.ta.Ca|this.U-this.ta.Aa),this.U=-1)):8!=this.pb?(b=0,a=8):(b=0,a=-1,re(this),e=d=!1)):mf(this,this.oe);var f=a,g=b,h=32,k=Jf(this,this.Ga);204!=k||this.Pd||(d=!1);this.ba&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);z(this,h|-2147483648)&&(d=!0);if(z(this,h)||d){var l=this.la.Jb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Xb())):(this.Oa(f),this.Xb())}if(d&&e)throw-1;if(e)throw this.pb=a,yj.call(this,a,b,c),this.oe=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function ue(a,b,c){this.qe=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function Aj(a){var b=a.xb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ae(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Lf(this,this.P+this.K);this.C=this.D;break;case 3:b=Lf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Lf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Lf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Lf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Lf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Lf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Lf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Be(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Lf(this,this.P+this.K);this.C=this.D;break;case 3:c=Lf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Lf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Lf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Lf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Lf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Lf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Lf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ce(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Id;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.gc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.hc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.hc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.gc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.gc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.hc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.hc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.gc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function De(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this, -a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ee(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.hb;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Fe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Id;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.gc;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.hc;break;case 66:c=Of(this,this.P+this.K+this.T());this.A-=this.B.hc;break;case 67:c=Of(this,this.P+this.J+this.T());this.A-=this.B.gc;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.hb;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.hb;break;case 70:c=Of(this,this.P+this.T());this.A-=this.B.hb;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.hb;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.gc;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.hc;break;case 130:c=Of(this,this.P+this.K+T(this));this.A-=this.B.hc;break;case 131:c=Of(this,this.P+this.J+T(this));this.A-=this.B.gc;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.hb;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.hb;break;case 134:c=Of(this,this.P+T(this));this.A-=this.B.hb;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.hb;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ge(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Of(this,this.P+this.K);this.C=this.D;break;case 3:b=Of(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Of(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Of(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Rf(this,a);this.A-=this.B.ed;break;case 1:case 2:Rf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,a);this.A-=this.B.Jc;break;case 6:Rf(this,a);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Rf(this, -a);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Rf(this,a);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,a);this.A-=this.B.hb;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Je(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Of(this,this.P+this.K);this.C=this.D;break;case 3:c=Of(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Of(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Of(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Rf(this,c);this.A-=this.B.ed;break;case 1:case 2:Rf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,c);this.A-=this.B.Jc;break;case 6:Rf(this,c);this.A-=this.B.Id;break;case 64:case 67:case 128:case 131:Rf(this,c);this.A-=this.B.gc;break;case 65:case 66:case 129:case 130:Rf(this,c);this.A-=this.B.hc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this, -c);this.A-=this.B.hb;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ke(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Cj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Cj.call(this,1)+this.T()); -break;case 69:c=Lf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Cj.call(this,2)+T(this));break;case 133:c=Lf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Le(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Cj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Lf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Lf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Pf(this,a)}} -function Me(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Cj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Lf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Lf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Pf(this,c)}} -function Ne(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Cj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Cj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Cj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Oe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Cj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Qf(this,a)}} -function Pe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Cj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Qf(this,c)}} -function Qe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Cj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Cj.call(this,1)+this.T()); -break;case 69:c=Of(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Cj.call(this,2)+T(this));break;case 133:c=Of(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Re(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Cj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Of(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Of(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Rf(this,a)}} -function af(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Cj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Cj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Of(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Cj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Of(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Rf(this,c)}} -function Cj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||sf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||sf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?xf(this):yf(this);b?Ff(this):Df(this);this.A-=this.B.Fe},function(){this.G=pj.call(this,this.G)},function(){this.I=pj.call(this,this.I)},function(){this.M=pj.call(this,this.M)},function(){this.H=pj.call(this,this.H)},function(){G(this,pj.call(this,I(this)))},function(){this.P= -pj.call(this,this.P)},function(){this.K=pj.call(this,this.K)},function(){this.J=pj.call(this,this.J)},function(){this.G=nj.call(this,this.G)},function(){this.I=nj.call(this,this.I)},function(){this.M=nj.call(this,this.M)},function(){this.H=nj.call(this,this.H)},function(){G(this,nj.call(this,I(this)))},function(){this.P=nj.call(this,this.P)},function(){this.K=nj.call(this,this.K)},function(){this.J=nj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Rc},function(){J(this,this.I& -this.R);this.A-=this.B.Rc},function(){J(this,this.M&this.R);this.A-=this.B.Rc},function(){J(this,this.H&this.R);this.A-=this.B.Rc},function(){J(this,I(this)-2&65535);this.A-=this.B.Rc},function(){J(this,this.P&this.R);this.A-=this.B.Rc},function(){J(this,this.K&this.R);this.A-=this.B.Rc},function(){J(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.Ac},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.Ac},function(){this.M=this.M&~this.R|D(this); -this.A-=this.B.Ac},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.Ac},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.Ac},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.Ac},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.Ac},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.Ac},Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,function(){this.za.call(this,ik,this.Ma);this.A-=-1===this.C?1:this.B.Cg},Tj,function(){this.za.call(this, -ik,this.T);this.A-=-1===this.C?1:this.B.Cg},function(){this.Za.call(this,ej)},function(){this.fa.call(this,fj)},function(){this.Na.call(this,ij)},function(){this.V.call(this,jj)},Vj,Wj,Xj,Yj,function(){this.S|=1;this.fa.call(this,ei)},function(){this.S|=1;this.ka=this.Ka=this.of;this.V.call(this,Vh)},function(){var a;this.V.call(this,di);switch(this.L>>3&7){case 0:a=this.G;this.G=this.Y;xd(this,a);break;case 1:a=this.I;this.I=this.Y;lf(this,a);break;case 2:a=this.M;this.M=this.Y;ld(this,a);break; -case 3:a=this.H;this.H=this.Y;wd(this,a);break;case 4:a=I(this);G(this,this.Y);80386<=this.ja?this.Pb.load(a):xd(this,a);break;case 5:a=this.P;this.P=this.Y;80386<=this.ja?this.Qb.load(a):lf(this,a);break;case 6:a=this.K;this.K=this.Y;ld(this,a);break;case 7:a=this.J,this.J=this.Y,wd(this,a)}},function(){this.S|=1;this.U=this.ga;this.Y=D(this);this.za.call(this,jk,wj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-= -3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R; -this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.aa?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.aa?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ej},function(){xj.call(this,this.Ma(),Sf(this));this.A-=this.B.hj},function(){this.A-=3},function(){var a=yd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.ba& -131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ba&-65536;zd(this,a);this.A-=this.B.Ac}},function(){var a=this.G>>8&255;a&1?xf(this):yf(this);a&4?(this.resultType&=-3,this.ba|=4):(this.resultType&=-3,this.ba&=-5);a&16?Ff(this):Df(this);a&64?Gf(this):Ef(this);a&128?(this.resultType&=-17,this.ba|=128):(this.resultType&=-17,this.ba&=-129);this.A-=this.B.ic},function(){this.G=this.G&-65281|(yd(this)&213)<<8;this.A-=this.B.ic},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.qc(b, -1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|ud(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.tc(this.ka.rc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.uc(this.ka.rc(a,this.aa),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ca,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.qc(this.K&c,1));this.tc(this.Wa.rc(this.J&c,1),e);e=this.ba&1024?-1:1;this.K= -this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=ud(this,this.ka,this.K&c);this.uc(this.Wa.rc(this.J&c,this.aa),e);e=this.ba&1024?-this.aa:this.aa;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca, -d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Kf(this,this.ka,this.K),f=Kf(this,this.Wa,this.J);this.C=this.D;Ih.call(this,e,f);e=this.ba&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Mf(this, -this.ka,this.K&c),f=Mf(this,this.Wa,this.J&c);this.C=this.D;Jh.call(this,e,f);e=this.ba&1024?-this.aa:this.aa;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){wf(this,this.G&this.xa(),128);this.A-=this.B.Fe},function(){wf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.Fe},function(){var a=1,b=0,c=this.Ca,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh)); -if(a--){var e=this.G;this.tc(this.Wa.rc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ba&1024?-1:1)&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.uc(this.Wa.rc(this.J&c,this.aa),e);this.J=this.J&~c|this.J+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I& -~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.qc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ba&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=ud(this,this.ka, -this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(of(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ca,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Kf(this,this.Wa,this.J);this.C=this.D;Ih.call(this,e,f);this.J=this.J&~c|this.J+(this.ba&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}}, -function(){var a=1,b=0,c=this.Ca,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Mf(this,this.Wa,this.J&c);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ba&1024?-this.aa:this.aa)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Wb;a&&tf(this)==(this.Ha&64)&&(of(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.ic},function(){this.I=this.I&-256|this.xa();this.A-=this.B.ic},function(){this.M= -this.M&-256|this.xa();this.A-=this.B.ic},function(){this.H=this.H&-256|this.xa();this.A-=this.B.ic},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.ic},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.ic},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.ic},function(){this.M=this.M& -~this.R|this.Ma();this.A-=this.B.ic},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.ic},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.ic},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.ic},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.ic},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.ic},ck,dk,ck,dk,function(){this.V.call(this,Wh)},function(){this.V.call(this,Uh)},function(){this.S|=1;this.Ib.call(this,kk,this.xa)},function(){this.S|=1;this.za.call(this, -kk,this.Ma)},ek,fk,ek,fk,function(){if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.yj;this.pb=-1;yj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.ie[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.zj; -this.pb=-1;yj.call(this,4,null,a)}else this.A-=this.B.Aj},function(){if(this.ba&131072&&3>this.Pa)C.call(this,13,0);else{this.qb=this.ta.Z;this.U=this.ga;this.A-=this.B.wj;if(this.Ya&1&&this.ba&16384){var a=this.na(this.Sa.Aa+0);md(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ba&131072)d=d&131071|this.ba&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);nd(this,!0,!0);ld(this,f);G(this,e);xd(this,g);wd(this,h);this.Pb.load(k);this.Qb.load(l)}null!= -Ad(this,b,c,!1)&&(zd(this,d,a),this.le&&ff(this,this.Ga))}this.qb=this.U=-1}},function(){this.Ib.call(this,Zj,sj)},function(){this.za.call(this,2==this.aa?ak:bk,sj)},function(){this.Ib.call(this,Zj,tj)},function(){this.za.call(this,2==this.aa?ak:bk,tj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;wf(this,this.G,128);this.A-=this.B.bj}else Bj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;pf(this,a,b,c, -191);this.A-=this.B.aj},function(){this.G=this.G&-256|(qf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Kf(this,this.ka,this.H+(this.G&255));this.A-=this.B.$j},function(){gk.call(this,216)},function(){gk.call(this,217)},function(){gk.call(this,218)},function(){gk.call(this,219)},function(){gk.call(this,220)},function(){gk.call(this,221)},function(){gk.call(this,222)},function(){gk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&!tf(this)?(O(this,K(this)+ -a),this.A-=this.B.Hj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b&&tf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ca;this.I=this.I&~this.Ca|b;b?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ca?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa();If(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255, -this.A-=this.B.Bh)},function(){var a=this.xa();If(this,a,this.aa,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.aa,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();If(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();If(this,a,this.aa,!1)&&(mc(this.ea,a,this.aa,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.fj},function(){var a=this.Ma();O(this,K(this)+a);this.A-= -this.B.Ch},function(){Ad(this,this.Ma(),Sf(this));this.A-=this.B.Cj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;If(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;If(this,a,this.aa,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.aa,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;If(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a= -this.M&65535;If(this,a,2,!1)&&(mc(this.ea,a,this.aa,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},hk,hk,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ba&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(of(this),this.ha.Xb()):this.ba&512||(this.ha&&of(this),this.Xb()))},function(){qf(this)?yf(this):xf(this);this.A-=2},function(){this.bb=!1;this.Ib.call(this,mk,vj);this.bb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.bb= -!1;this.za.call(this,nk,vj);this.bb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){yf(this);this.A-=2},function(){xf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ba&=-513,this.A-=this.B.dj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ba|=512,this.S|=4,this.A-=2)},function(){this.ba&=-1025;this.A-=2},function(){this.ba|=1024;this.A-=2},function(){this.Ib.call(this,Ed,vj)},function(){this.za.call(this,Fd,vj)}],Uj=[sh,fi,qh,Ai, -uh,cj,kj,Ih],ik=[th,gi,rh,Bi,vh,dj,lj,Jh],jk=[function(a,b){this.A-=-1===this.C?this.B.Ac:this.B.Sj;return b},Lh,Lh,Lh,Lh,Lh,Lh,Lh],kk=[function(a,b){this.A-=-1===this.C?this.B.Kj:this.B.Ij;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e= -Cf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Bf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,wf(this,a,128,c&1,a&128));return a},Mh,function(a,b){var c=b&this.ra;c&&(9>24>>c-1, -a=c>>1&255,wf(this,a,128,c&1));return a}],ak=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Cf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<< -16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Bf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,wf(this,a,32768,c&1,a&32768));return a},Mh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,wf(this,a,32768,c&1));return a}],bk=[function(a,b){var c=a,d=b&this.ra;d&&(c=a<>>32-d,Bf(this,c,a<>>d|e;Bf(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Cf(this),c=a<>>32-d>>>1,Bf(this,c,a<>>d|c<<32-d|a<<32-d<<1,Bf(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>> -c-1,a=c>>>1,wf(this,a,-2147483648,c&1,a&-2147483648));return a},Mh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,wf(this,a,-2147483648,c&1));return a}],mk=[function(a,b){b=this.xa();wf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Mh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;pf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ia=(this.G&255)*a&65535;this.ia&65280?(xf(this),zf(this)): -(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.Oj:this.B.Nj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(xf(this),zf(this)):(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a},function(a,b){if(!a)return Bj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Bj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.bb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a}],nk=[function(a,b){b=this.Ma();wf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Mh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;pf(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a, -b){if(2==this.aa){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Sh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(xf(this),zf(this)):(yf(this),Af(this));this.bb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a,b){var c;2==this.aa?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Rh.call(this,a,this.G),c=this.wa!=this.ia>>31);c?(xf(this),zf(this)):(yf(this),Af(this)); -this.bb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(2==this.aa){if(!a)return Bj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Bj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!oj.call(this,this.G,this.M,a))return Bj.call(this),a;this.ia|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.nj:this.B.mj;this.S|=2;return a},function(a,b){if(2==this.aa){if(!a)return Bj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/ -c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Bj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!oj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Bj.call(this),a;this.ia|=0;this.wa|=0}this.bb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],Ed=[function(a){var b=a+1|0;pf(this,a,1,b,190);this.A-=-1=== -this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;pf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Mh,Mh,Mh,Mh,Mh,Mh],Fd=[function(a){var b=a+1|0;pf(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;pf(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.jj:this.B.ij;this.S|=2;return a},function(a){if(-1===this.D)return Mh.call(this, -a);this.U=this.ga;xj.call(this,a,this.na(this.D+this.aa));this.A-=this.B.gj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Ej:this.B.Dj;this.S|=2;return a},function(a){if(-1===this.D)return Mh.call(this,a);Ad(this,a,this.na(this.D+this.aa));this.A-=this.B.Bj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Uj;this.S|=2;return a},Mh]; -function pe(){this.V.call(this,hj);this.A-=-1===this.D?6:13}function qe(){this.fa.call(this,gj);this.A-=-1===this.D?12:19}var he=Array(256);he[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.za.call(this,this.Ng,vj)};he[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.za.call(this,ok,vj)};he[2]=function(){!(this.Ya&1)||this.ba&131072?C.call(this,6):this.V.call(this,Th)};he[3]=function(){!(this.Ya&1)||this.ba&131072?C.call(this,6):this.V.call(this,Zh)}; -he[5]=function(){this.pa?C.call(this,13,0,0,!0):(Hf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),kd(this.Wa,2102,this.na(2084)),kd(this.va,2108,this.na(2082)),kd(this.ta,2114,this.na(2080)),kd(this.wb,2120,this.na(2078)),zd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Lc=this.na(2138)| -this.Qa(2140)<<16,this.Pd=this.Lc+this.na(2142),kd(this.Cc,2132,this.na(2076)),kd(this.Sa,2144,this.na(2070)),this.A-=195)};he[6]=function(){this.pa?C.call(this,13,0):(this.Ya&=-9,this.A-=2)};he[11]=Hd;he[166]=Hd;he[255]=Hd;var M=[];M[5]=Hd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Wa.qc(this.J&this.Ca,204);if(-1!==a){qj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;zd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Lc=this.oa(a+100);this.Pd=this.Lc+this.oa(a+104);jd(this.Cc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));jd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);jd(this.Qb,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));jd(this.Pb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));jd(this.wb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));jd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));jd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));jd(this.Wa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Vj;M[17]=Wj;M[18]=Xj;M[19]=Yj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Ya;break;case 2:a=this.qe;break;case 3:a=this.Md;break;default:ie.call(this);return}xe(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(xe(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=we(this,a&7);switch((a&56)>>3){case 0:qj.call(this,b);this.A-=10;break;case 2:this.qe=b;this.A-=4;break;case 3:Bd.call(this,b);this.A-=5;break;default:ie.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(a=we(this,a&7),a!=this.Ja[b]&&(gf(this,!1),this.Ja[b]=a,gf(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(xe(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(this.Ce[b]=we(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[129]=function(){var a=this.Ma();vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}; -M[130]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[131]=function(){var a=this.Ma();qf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[132]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[133]=function(){var a=this.Ma();tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[134]=function(){var a=this.Ma();qf(this)||tf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab}; -M[135]=function(){var a=this.Ma();qf(this)||tf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[136]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[137]=function(){var a=this.Ma();uf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[138]=function(){var a=this.Ma();rf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[139]=function(){var a=this.Ma();rf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)}; -M[140]=function(){var a=this.Ma();!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[141]=function(){var a=this.Ma();!uf(this)==!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[142]=function(){var a=this.Ma();tf(this)||!uf(this)!=!vf(this)?(O(this,K(this)+a),this.A-=this.B.$a):this.A-=this.B.ab};M[143]=function(){var a=this.Ma();tf(this)||!uf(this)!=!vf(this)?this.A-=this.B.ab:(O(this,K(this)+a),this.A-=this.B.$a)};M[144]=function(){rj.call(this,Ci)}; -M[145]=function(){rj.call(this,Ci)};M[146]=function(){rj.call(this,Di)};M[147]=function(){rj.call(this,Ei)};M[148]=function(){rj.call(this,Fi)};M[149]=function(){rj.call(this,Gi)};M[150]=function(){rj.call(this,Hi)};M[151]=function(){rj.call(this,Ii)};M[152]=function(){rj.call(this,Ji)};M[153]=function(){rj.call(this,Ki)};M[154]=function(){rj.call(this,Li)};M[155]=function(){rj.call(this,Mi)};M[156]=function(){rj.call(this,Ni)};M[157]=function(){rj.call(this,Oi)};M[158]=function(){rj.call(this,Pi)}; -M[159]=function(){rj.call(this,Qi)};M[160]=function(){vd(this,this.Pb.Z,this.aa,2);this.A-=this.B.Ge};M[161]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.Ac;this.U=-1};M[163]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.aa?Ri:Ti);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.aa?Vi:Wi);this.A-=-1===this.D?3:7};M[168]=function(){vd(this,this.Qb.Z,this.aa,2);this.A-=this.B.Ge}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Qb.load(a);this.A-=this.B.Ac;this.U=-1};M[171]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.aa?Xi:Zi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.aa?aj:bj);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.aa?Oh:Qh)};M[178]=function(){this.V.call(this,$h)};M[179]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.V.call(this,Xh)};M[181]=function(){this.V.call(this,Yh)}; -M[182]=function(){this.Na.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.fb=this.fb&~this.R|this.G>>8&255;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.Y}this.A-=-1=== -this.D?3:6};M[183]=function(){td(this,2);this.V.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.fb=this.fb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.za.call(this,pk,this.xa)};M[187]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.V.call(this,yh)};M[189]=function(){this.V.call(this,zh)}; -M[190]=function(){this.Na.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.fb=this.fb&~this.R|this.G<<16>>24&this.R;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&this.R; -this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.Y}this.A-=-1===this.D?3:6};M[191]=function(){td(this,2);this.V.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.fb=this.fb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var hf=[function(){this.A-=2+(-1===this.D?0:1);return this.Cc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Cc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.ib(this.Sa.Zb+4,this.Sa.xb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.xb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.xb&7168)))return Gf(this), -a;Ef(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.xb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Gf(this),a;Ef(this);return a},Mh,Mh],Gd=[fe,fe,fe,fe,fe,fe,Mh,Mh],ok=[function(a){if(-1===this.D)C.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.aa&&(a|=b<<16);this.mb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Pd-this.Lc;var b=this.Lc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.aa&&(a|=b<<16);this.mb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ba&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ba&131072?C.call(this,6):(this.Lc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Pd=this.Lc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Ya},Mh,function(a){this.ba& -131072?C.call(this,6):(Hf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Mh],pk=[Mh,Mh,Mh,Mh,Ah,Dh,Ch,Bh]; -function qk(a){Ua.call(this,"ChipSet",a,qk,32768);var b=a.model;b&&!rk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=b&&rk[b]||sk;this.V=0;if(b=a[tk])this.V=uk(b,vk|wk.Ck);else{this.pa=[360,360];(b=a.floppies)&&b.length&&(this.pa=b);if(b=this.pa.length)this.V|=xk.Qg,b--,this.V|=(b&3)<=dg&&(this.pb=this.Ja=2);this.ra=a.scaleTimers|| -!1;this.oc=a.rtcDate;this.Sb=!1;a.sound&&(this.Kb=this.Ka=null,window&&(this.Kb=window.AudioContext||window.webkitAudioContext),this.Kb&&(this.Ka=new this.Kb));this.reset(!0);sb(this)}db(qk);var Ak=5150,sk=5150.9,dg=5170,rk={5150:Ak,5160:5160,5170:dg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:sk,deskpro386:5180},tk="sw1",zk="sw2",Bk={};Bk[Ak]={0:"Bootable Floppy Drive",1:"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"};Bk[5160]={}; -Bk[5160][0]="Loop on Post";Bk[5160][1]=Bk[Ak][1];Bk[5160][2]=Bk[Ak][2];Bk[5160][4]=Bk[Ak][4];Bk[5160][6]=Bk[Ak][6];Bk[5160.101]={0:"Total RAM",4:"Coprocessor",5:"Serial Interface"};var Ck={};Ck[Ak]={0:"Expansion Memory Size",4:"Reserved"};Ck[5160.101]={0:"Floppy Type",1:"Fast Startup",2:"HDU",4:"Monitor Type",6:"Number of Floppy Drives"};var yk={none:0,tv:1,color:2,mono:3,ega:0,vga:0},xk={Qg:1,ONE:0,ao:64,Zn:128,En:192,xf:192,yf:6},vk=12,wk={$n:16,xn:32,Ck:48,xf:48,yf:4};m=qk.prototype; -m.Rb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Dk(this,b,this.V,Bk[this.ja]),!0;case zk:if((this.ja|0)==Ak||5160.101==this.ja)return this.qa[b]=c,Dk(this,b,this.ua,Ck[this.ja]),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;if(this.Vb=Eb(a,"FPU"))this.V|=2;this.B=Eb(a,"Keyboard");this.tb=c.X.Hd/1193181;hc(b,this,Ek);lc(b,this,Fk);this.jab;b++){var c=13>=b?Qk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}df(c,26,this.am.bind(this))}; -m.kc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;this.Y=this.V;this.ka=this.ua;Rk(this,tk,this.Y);Rk(this,zk,this.ka);Sk(this);this.N=Array(this.pb);for(b=0;b=dg){this.C=16;this.ga=0;this.fa=16;this.Pa=0;this.ia=160;512<=Wk(this)&&(this.ia|=16);3==Xk(this)&& -(this.ia|=64);5180==(this.ja|0)&&(this.ia|=12);this.Za=3;this.za=Array(8);this.wa=0;a&&(this.A=Array(64));Yk(this,this.oc);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);this.A[20]=this.Y&(wk.xf|2|xk.Qg|xk.xf);this.A[16]=Zk(this,0)<<4|Zk(this,1);$k(this)}}; -function Yk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.O("CMOS date invalid ("+b+"), using "+c)):b&&a.O("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Na=a.Ba=0;a.Yb=a.qb=null} -function Qk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new jf(this);N(a,0,[this.V,this.ua,this.Y,this.ka]);for(var b=[],c=0;c=dg&&(N(a,5,[this.C,this.ga,this.fa,this.Pa,this.ia,this.Za]),N(a,6,[this.za[7],this.za,this.wa,this.A,this.Na,this.Ba]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];this.V=b[0];this.ua=b[1];this.Y=b[2];this.ka=b[3];b=a[1];for(c=0;c>2)+1)*a.dc+32*((b?a.ua:a.ka)&15)} -function hl(a,b){var c=b?a.V:a.Y;return(a.ja|0)!=Ak||c&xk.Qg?((c&xk.xf)>>xk.yf)+1:0}function Zk(a,b){if(b>wk.yf} -function Dk(a,b,c,d){for(var e="",f=a.qa[b],g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");e+='
    '+g+"
    \n"}f.innerHTML=e;Rk(a,b,c,d)} -function Rk(a,b,c,d){if(b=a.qa[b]){b=nb(b,"pcjs-bitCell");for(var e=0;eg.Bb[0]&&(g.Bb[0]=255,g.Bb[1]--,0>g.Bb[1]&&(g.Bb[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.N[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Lb+"]",null,!0);a=g.Dc[c];a.Bb[g.Lb]=a.Fc[g.Lb]=e;g.Lb^=1}function nl(a,b,c,d){var e=a.N[b],f=e.$b|1;e.$b&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.N[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.$b=f.$b&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.N[b>>2].Dc[b&3];b.pg&&b.fh&&b.Eg?(c&&(b.done=c),b.Be||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Bb[1]<<8|b.Bb[0],b.type=b.mode&12,b.Qi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.kg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.pg,b.Eg,-1,function(f,g){0>f&&(b.Qi||(b.Qi=!0),f=255);b.Be||a.ea.tc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.pg,b.Eg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.pc&b||(d.pc|=b,d.kf=c||0,Dl(a))}function eg(a,b){var c=a.wc[b>>3],d=1<<(b&7);c.pc&d&&(c.pc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),$c(a.F,e))),0==b&&2==c&&cd(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.eb:a.bb} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.eb=d):a.bb=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.L[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Bb=[0,0];h.we=[0,0];h.vd=!1;h.Xe=!1;h.ye=!1;h.bf=!1;Hl(a,e);0==b&&0==c&&eg(a,0);0==b&&2==c&&255==a.wc[0].Ad&& -77==a.W&&(b=a.L[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ra))}}}function Jl(a,b){var c=a.L[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.md?256:65536);return d}function ed(a,b){var c=a.L[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ml(a,b){Pk(a,b);var c=a.L[b];c.we[0]=c.Bb[0];c.we[1]=c.Bb[1];c.Xe=!0;Hl(a,b)}function Hl(a,b){var c=a.L[b];c.Dd=32==c.eg?1:0;c.md=48==c.eg?2:1} -function Pk(a,b,c){var d=a.L[b];if(d.ye&&(2!=b||a.W&1)){var e=Wc(a.F,a.ra),f=(e-d.xd)/a.tb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=ed(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.ye=!1,b||fg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&fg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&fg(a,0)));d.Bb[0]=h&255;d.Bb[1]=h>>8&255;c&&(a.xd=0)}return d} -function dd(a,b){for(var c=0;c=dg){var c=a.F.X.Hd,d=Wc(a.F,a.ra);null==a.qb&&(a.Na=Wc(a.F,a.ra),a.Yb=1024,a.qb=Math.floor(a.F.X.Hd/a.Yb),al(a));d>=a.Ba&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,fg(a,8)),a.Ba=d+a.qb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,fg(a,8)));var e=d-a.Na,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,fg(a,8))}a.Na=d-e%c}}m=qk.prototype;m.Kl=function(a,b){var c=this.fb;this.Ia&16&&(this.W&128?c=this.Y:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.fb=b};m.Ll=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&cd(a,c)}m.Ml=function(a,b){var c=0,c=(this.ja|0)==Ak?this.W&4?c|this.ka&15:c|this.ka>>4&1:this.W&8?c|this.Y>>4:c|this.Y&15;this.W&1&&Pk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.Ib=b};m.Nl=function(a,b){var c=this.Ia;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ia=b};m.Xk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.Ea&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Wk=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Yk=function(a,b){var c=this.Ea;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Zk=function(a,b){var c=this.Pa;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.C&=-258;this.B&&Ql(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.C&8)switch(this.ga){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.fa&-17),this.B){a=this.B;c=b;var d=-1;z(a)&&y(a,"sendCmd("+t(c)+")");switch(a.da||c){case 255:d=250;Tl(a);break;case 243:a.da&&(c=0);Ul(a,250);a.da=c;break;case 237:a.da&&(c=0);Ul(a,250);a.da=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.ga=b;this.C&=-9}; -m.$k=function(a,b){var c=this.W&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.al=function(a,b){x(this,a,null,b,"8042_STATUS",this.C,16384);var c=this.C&255;this.C&256&&(this.C|=1,this.C&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ga=b;this.C|=8;a=0;240<=this.ga&&(a=this.ga^15,this.ga=240);switch(this.ga){case 32:Vl(this,this.fa);break;case 173:Rl(this,this.fa|16);break;case 174:Rl(this,this.fa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],z(a)&&y(a,"scan codes flushed"));Rl(this,this.fa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ia);break;case 208:Vl(this,this.Za);break;case 224:Vl(this,this.fa&16?0: -1);break;case 240:a&1&&re(this.F)}};function Rl(a,b){a.fa=b;a.C=a.C&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Pa=b,c?a.C|=1:(a.C&=-2,a.C|=256))}function Sl(a,b){a.Za=b;Rb(a.ea,!!(b&2));b&1||re(a.F)}function Wl(a,b){a.ja=c?Qk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&eg(this,8),d&64&&this.A[11]&64&&al(this));return d}; -m.Hm=function(a,b,c){var d=this.wa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&al(this)};m.gk=function(a,b,c){x(this,a,b,c,"NMI");this.Fa=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Vb&&Zf(this.Vb)}; -m.am=function(a){if(z(this,16)&&lk(this.ha,26,a)){var b=this.F.G>>8;ef(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(qf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function uk(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>>4,0,this.da,this.C,this.Nd),delete this.Nd);return!0};Zl.prototype.jc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Oa("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.se,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Nd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Oa("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].uf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;$k(a)}}else w("No RAM allocated")};m.save=function(){var a=new jf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.tc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.tc(0,a[0]&255);this.tc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.tc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Si=function(){return km};m.gh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,un:65,vn:66,wn:67,Bn:68,E:69,Cn:70,Fn:71,Gn:72,Hn:73,In:74,Jn:75,Kn:76,Ln:77,Mn:78,Nn:79,On:80,Q:81,Pn:82,Tn:83,Yn:84,bo:85,co:86,eo:87,ho:88,io:89,jo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ko:97,lo:98,no:99,d:100,e:101,oo:102,po:103,qo:104, -ro:105,so:106,k:107,to:108,uo:109,n:110,wo:111,p:112,q:113,r:114,xo:115,t:116,zo:117,Ao:118,Bo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Rb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.yc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.F&&e.F.Tc();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.F&&a.F.Tc();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.F&&e.F.Tc();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.fa){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ja=null;b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));b=om[c];a.pa=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.W!==c&&(a.W=a.Y=c)&&(a.V=!0);a.U!==b&&(a.U=b)&&!a.Y&&Xl(a,!0);a.U&&a.Y&&(Tl(a),a.Y=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.V=!0,Wl(a.N,b))}function Ql(a){var b=0;a.A.length&&a.V&&(b=a.A[0],a.N&&Wl(a.N,b));z(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Nl(a){var b=0;a.A.length&&(b=a.A[0]);z(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.yc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.yc&=~b,d&&(a.yc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Jb){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ke=b,d.yc=a.yc,Am(a,b,!0),e++),0b.Jd){if(!b.Ef){ym(a,b.Ke);return}b.Ef=!1;c=a.ra}else c=1==b.Jd++?500:100;b.sk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.yc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.yc&515)==c&&(d=b-32);else if(!!(a.yc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Fg=function(a){a||(this.yc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.ka||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.cc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.cc=Math.min(this.Cd>>2,32768));this.Hc=c[0];this.gd=c[1];this.qf=c[2];this.ma=c[3];this.Bc=c[4]&255;this.Ig=c[4]>>8&255;this.sb=c[5];this.nh=Wm;this.jg=Ym;if(5<=b){this.nh=Xm;this.jg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.nb,this.cc,this.Cd],Array(this.Cd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ve=b[0];this.Ld=b[1];this.Sc=b[2];this.Tg=$m;this.Lg=b[3];this.sf=b[4];this.dg=b[5];this.$d=b[6];this.He=b[7];this.Vg=an;this.ik=b[8];this.jk=b[9];this.Zd=b[10];this.Yd=b[11];this.Ug=bn;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.nb,this.cc,d]);this.nb=d[0];this.cc=d[1];d=this.Cd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.di&255};dn[17408]=function(a){return(this.controller.Fb=this.ca[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.ca[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.ca[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d&=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d|=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Wd|this.controller.ne;d^=this.controller.Fb;d=d&this.controller.Nb|this.controller.Fb&~this.controller.Nb;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Nb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.rb|this.ca[c]&~this.controller.rb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)}; -function en(a){var b=[];if(void 0!==a.kb){b[0]=a.Hc;b[1]=a.gd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Bc|a.Ig<<8;b[5]=a.sb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.ik;c[9]=a.jk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.cc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(A=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.nb&&(f-=b.nb);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Bc,b.sb,b.jg),5<=b.kb&&(fn(b," GRC",b.Zd,b.Yd,b.Ug),fn(b," SEQ",b.$d,b.He,b.Vg),fn(b," ATC",b.Ld,b.Sc,b.Tg),fn(b," ATCINDX", -b.Ld),b.ha.O(" ATCDATA: "+b.Ve),fn(b," FEAT",b.dg),fn(b," MISC",b.sf),fn(b," STATUS0",b.Lg)),fn(b," STATUS1",b.ma),1!=b.kb&&3!=b.kb||fn(b," MODEREG",b.gd),3==b.kb&&fn(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.nf?(this.pa.style.width=a,this.pa.style.width=a,this.pa.style.display="block",this.pa.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.Ue();a=!0}this.Tc()}return a}; -function Im(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.Ae=function(a){var b=!1;this.da&&(a?this.da.Ae&&(this.da.Ae(),this.V&&this.V.Vf(!0),b=!0):this.da.tk&&(this.da.tk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vk)}; -function pn(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){qn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){qn(a,b)},!0),c.addEventListener("touchend",function(b){qn(a,b,!1)},!1),a.je=b,a.dc=a.oc=a.gg=-1,a.Gd=!1,a.Xc=null,a.Fd=!1,a.tn=function(){a.Fd=!0;a.V.ge(rn,!0)})}m.Fg=function(a){this.B&&this.B.Fg(a)}; -function qn(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500f){a.V.ge(rn,!0);a.V.ge(rn,!1);return}}if(c||0>a.dc||0>a.oc)a.dc=d,a.oc=e;c=Math.round(d-a.dc);b=Math.round(e-a.oc);a.dc=d;a.oc=e;a.V.Hf(c,b,a.dc,a.oc)}}m.kc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=Xk(this.N));this.ja||(this.kb=3==b?1:3);this.wa=3;switch(this.kb){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.C=null;this.ra=this.qd=new Um(this,1);this.Y=this.Wc=new Um(this,3);5>this.kb?this.A=new Um:(this.A=new Um(this,this.kb,null,this.Cd),sn(this));tn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;un(this,this.wa);if(this.C.nb&&a){a=this.C.nb+this.Kb; -for(b=this.C.nb;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Yc(this,!0)}};function sn(a){a.A.sf&1?(a.ra=a.qd,a.Y=a.A):(a.ra=a.A,a.Y=a.Wc)}m.save=function(){var a=new jf(this);N(a,0,en(this.qd));N(a,1,en(this.Wc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.ra=this.qd=new Um(this,1,a[0]);this.Y=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.kb,a[3],this.Cd);this.A.Hc&&sn(this);tn(this);if(!vn(this))return!1;wn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.se,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Oa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Oa("Font ROM data error: "+g.message);return}(a.ia||a.ha)&&sb(a)}} -function xn(a,b){if(1==b)return a.Ba[0]=Om[0],a.Ba[1]=Om[7],a.Ba;if(2==b){var c=a.C.qf;if(a.C===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ba[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ba[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Sc[15]?c.Sc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function cm(a,b,c,d){a.Uc=b;a.Ib=c;a.Vb=d} -function tn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Vb?a.Vb:8,f=xn(a);null!=a.Ib[0]&&yn(a,3,a.Ib[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Vb?0:2048;e=a.Vb?a.Vb:9;null!=a.Ib[1]&&(yn(a,1,a.Ib[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Vb&&yn(a,a.kb,a.Ib[1],0,a.Vb,14,a.Uc,f)&&(c=!0))}return c}function yn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(zn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&zn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function zn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<W||!H?W:8,va=ia.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Aa= -0;Aa=W-2,Pc=P[Aa>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:ab;An(va,He,Vd,Ie);v&&An(va,He+1,Vd,Ie)}ia.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ti[F]=A;l.Sg[F]=ha;l=!0}}a.Na[b]=q;return l}function Bn(a){0a.bb&&(a.bb=0):a.bb=-1} -function wn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.sb[b])return;var c=a.C.sb[10],b=c&31,d=a.C.sb[11]&31,e=a.C.sb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)$n(a);else{c=a.C.sb[15]+((a.C.sb[14]&63)<<8);a.ka!=c&&($n(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ze!=d)a.hg=b,a.ze=d;a.Za=e+1;Bn(a)}}} -function $n(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&ao(a,c,d,b,a.fb),ao(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}} -function bo(a){var b,c=a.C;a.Ce=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Ce=!0));b|=e}return b} -function co(a,b){var c=a.C;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.cc,c.gh(),!0),!0):!1} -function vn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.kb)d=7;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768=e.sb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=bo(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!un(a,d,b))return!1;co(a,c);return!0} -function un(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.C||(7==b?a.ra:a.Y);if(b!=a.C||b.nb!=a.nb||b.cc!=a.cc){$n(a);if(a.nb){if(!Zb(a.ea,a.nb,a.cc))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.nb=b.nb;a.cc=b.cc;if(!Tb(a.ea,b.nb,b.cc,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.ie;a.tb=a.L;a.hd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.C!==a.A||3!=a.U||(7==a.A.sb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.hd|0;a.Kb=a.of;a.sd=0; -void 0!==b&&(a.Kb=(a.Kb<<1)+b|0,a.sd=a.Kb+b>>1);if(a.Na.length){a.Ja=a.ua/a.L|0;a.Ka=a.Ea/a.W|0;if(a.U){b=a.Na[a.U];if(!b)break a;c=a.Na[a.U<<1];a.ri&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc));a.Sb=a.Yb=0;b&&(a.Sb=a.L*b.Pc,a.Yb=a.W*b.Qc)}else a.Ja=a.Ka=1,a.Sb=a.L,a.Yb=a.W;a.qb=a.ia.createImageData(a.Sb,a.Yb);a.eb=document.createElement("canvas");a.eb.width=a.Sb;a.eb.height=a.Yb;a.fb=a.eb.getContext("2d");a.ke=a.le=0;a.td=a.ua;a.Ed=a.Ea;b=a.ua- -a.L*a.Ja;c=a.Ea-a.W*a.Ka;0>1,a.td-=b);0>1,a.Ed-=c);if(b||c)a.ia.fillStyle=a.pa.style.backgroundColor,a.ia.fillRect(0,0,a.ua,a.Ea)}}eo(a,!0);Yc(a)}return!0}function An(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function fo(a){a.Pa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function eo(a,b){b||(a.pb=!1);fo(a)} -function ao(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ia.fillStyle=h.Me[k],a.ia.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ia.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ze,e?(a.Za&&a.Za!==h.Qc&&(f=f*h.Qc/a.Za|0,g=g*h.Qc/a.Za|0),e.fillStyle=h.Me[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Za&&a.Za!==a.Ka&&(f=f*a.Ka/a.Za|0,g=g*a.Ka/a.Za|0),a.ia.fillStyle=h.Me[d],a.ia.fillRect(b,c+f,a.Ja,g)))} -function Yc(a,b){if(a.la.ec){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)fo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.cc;19<=a.Ia&&(h=c=655360,k=c+65536);if(go(a,d)&8||d.mf&&d.mf=a.Ia&&(l<<=1));c+l>k&&(l=k-c,0> -l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Pa=0;d=1048575;l=a.C.gd&32;5<=a.kb&&(l=a.C.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c>8|(p&255)<<8;var H=h,L=16;n>=d))>>(L-=d);An(a.qb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;Aa.L?a.tb-a.L-p>>3:0;c>=8;l>A&&(A=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);qa.L?a.tb-a.L-v>>3:0;cH&&(L=H)):(p<<=v,L-=v,a.Fa=!1):(a.Fa&&p===a.fa[f]?(d+=L,L=0):a.fa[f]=p,f++);if(L){dq&&(q=d);l=F&&(F=l+1)}if(d>=a.L){d=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return ho(this,this.ra,a,b)};m.an=function(a,b,c){var d=this.ra;d.Ig=d.Bc;d.Bc=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return io(this,this.ra,a,b)};m.$m=function(a,b,c){jo(this,this.ra,a,b,c)};m.Hl=function(a,b){return ko(this,this.ra,b)};m.bn=function(a,b,c){a=this.ra;x(this,a.port+4,b,c,"MODE");a.gd=b;vn(this,!1)}; -m.Il=function(a,b){return lo(this,this.ra,b)};m.fk=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.fl=function(a,b){var c=this.A.Ld;b&&!z(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Dk=function(a,b){var c=this.A.Sc[this.A.Ld&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Ld&31],c);return c}; -m.ek=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,eo(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&tn(this,!0)&&Yc(this,!0),d.Xf=(d.sb[12]<<8)+d.sb[13]|0,d.mf=0};m.Sl=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.od)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ha("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function mo(a){this.V=a.adapter;switch(this.V){case 1:this.L=956;this.C=7;break;case 2:this.L=888;this.C=7;break;case 3:this.L=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,mo,4194304);a=a.binding;"console"==a?this.B="":lb(this,a,no)}db(mo);var no="buffer";m=mo.prototype;m.Rb=function(a,b,c){switch(b){case no:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,oo,this.L);lc(b,this,po,this.L);sb(this)};m.kc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.jc=function(a){return a?this.save():!0};m.reset=function(){qo(this)};m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.da;c[b++]=this.$b;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return qo(this,a[0])}; -function qo(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.da=b[c++];a.$b=b[c++];a.Bf=b[c];return!0}m.ul=function(a,b){var c=this.da;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.$b;x(this,a,null,b,"STAT",c);return c};m.ql=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.da=b;this.$b|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.$b&=-65);ro(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;ro(this)};function ro(a){a.N&&a.C&&(a.Bf&16&&!(a.$b&64)?fg(a.N,a.C):eg(a.N,a.C))} -var oo={0:mo.prototype.ul,1:mo.prototype.Rl,2:mo.prototype.ql},po={0:mo.prototype.Nm,2:mo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.da;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.Y=this.Y&-256|b;else{this.wa=b;this.A&=-97;if(this.L)13==b?this.W=0:8==b?(this.L.value=this.L.value.slice(0,-1),0a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}} -m.ge=function(a,b){if(this.Hc&&this.F&&this.F.la.Jb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case rn:if(this.Y!=b){this.Y=b;Fo(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Fo(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Jb&&(a||b)&&(this.U=a,this.W=b,Fo(this,null,c,d))}; -function Fo(a,b,c,d){var e=64|(a.Y?32:0)|(a.fa?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);uo(a.N,[e,f,g]);a.U=a.W=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Yo(a.ya,f,e,c);for(e=d=0;c--;)d|=Wo(a,b++,1)<=e.fi&&a<=e.bk){d=a-=e.fi;var f,g;for(g in e.te){var h=e.te[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Cb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=cp(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ja(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.$e?"":d)+"&format=json"));return!!wa(f,null,!0,function(a,b,c){dp(g,a,b,c)})}; -function dp(a,b,c,d){var e=null;a.cf=!1;var f=0>d&&a.da&&!a.da.la.ec;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,ep(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.se,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Cb=h.length;a.vb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A= -l<<2,F=p.length;Fb;b++){if(128==Yo(a,e,c+0,1)){d.Zf=Yo(a,e,c+8,4);(e=Xo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Yo(a,e,19,2)||Yo(a,e,32,4),d.Ff=Yo(a,e,14,2),d.kh=d.Ff+Yo(a,e,22,2)*Yo(a,e,16,1),d.uh=Yo(a,e,17,2),d.xg=Yo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Ua-1))/d.Ua|0);d.im=(d.Gf-d.ih)/d.xg|0;d.zg=4084>=d.im?12:16;d.Tk=12==d.zg?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Wo(d,f,1),254>=k?(n=k,q=Wo(d,f+1),f+=3):(n=Wo(d,f+3,1),q=Wo(d,f+4),f+=6),d.yd[n]&&(d.yd[n].te[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Zo(e,To,c))&&$o(e,g+c);g=Zo(e,Uo,c);h=Zo(e,Ro,c);g&&h&&$o(e,g,g+h)}}}} -function hp(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.yo=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.xg,E=0;E>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Xo(a,b){var c=a.vb*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function bp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Uk=b;a.Vk=c;a.wd=a.Zc=0;a.Va=!1;return a} -function cp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c} -function jp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,A,F,!0);if(!E)break;fp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function kp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Cb+":"+a.vb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.cf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):ep(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Xo(this,a++);)op(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function op(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function pp(a){Ua.call(this,"FDC",a,pp,524288);this.dmaRead=this.xk;this.dmaWrite=this.yk;this.dmaFormat=this.Mk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(pp);aa={}; -var qp={3:{Rd:3,fe:0,name:aa.Xn},4:{Rd:2,fe:1,name:aa.Vn},5:{Rd:9,fe:7,name:aa.fo},6:{Rd:9,fe:7,name:aa.Qn},7:{Rd:2,fe:0,name:aa.Sn},8:{Rd:1,fe:2,name:aa.Wn},10:{Rd:2,fe:7,name:aa.Rn},13:{Rd:6,fe:7,name:aa.Dn},15:{Rd:3,fe:0,name:aa.Un}};m=pp.prototype; -m.Rb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&rp(d,a)},!0; -case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&sp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Xo(b,h++);)for(var l=0,n=k.length;lg.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Tb,g.jb,g.yb));h||(e=!1)}a.W=b[c++]||0;a.mc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.mk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Tb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.yb=b%e+1,a.Hb=c*d[3],a.Db=0,!0}return!1}; -function xp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;ga.Cb||f[1]>a.vb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.lk=c,a.Je=d,Bp(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.xe||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.xe&&(a.xe=!1,--this.fa||sb(this));rp(this,a.gb)}; -function wp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=qp[a].Rd){b=!1;this.L=0;a=Cp(this);var d,e,f,g,h=a&31;switch(h){case 3:Cp(this);Cp(this);Dp(this);break;case 4:c=Cp(this);this.gb=c&3;d=this.A[this.gb];Dp(this);Ep(this,(d.Db&-16777216)>>>24);break;case 5:case 6:c=Cp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Tb=Cp(this);e=Cp(this);f=d.yb=Cp(this);g=Cp(this);d.Hb=128<>2&1;this.gb=c&3;d= -this.A[this.gb];c=d.Tb;e=d.jb=b;f=d.yb=1;g=0;d.Db=0;d.ya&&(d.ob=d.ya.seek(d.Tb,d.jb,d.yb))?g=d.ob.length>>8:d.Db=72;Fp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Cp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Tb;e=d.jb=b;f=1;g=Cp(this);d.Hb=128<>2&1,c=Cp(this),d.Tb+=c-d.de,0>d.Tb&&(d.Tb=0),d.Tb>=d.Cb&&(d.Tb=d.Cb-1),d.de=c,d.Db=32,d.Tb||(d.Db|=268435456),Dp(this),b=!0}0>>8);Ep(a,(b.Db&16711680)>>>16);var k=0;if(e!=b.Tb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));Ep(a,e+k);Ep(a,f);Ep(a,g);Ep(a,h)}function Cp(a){var b=a.V[a.L];a.L++;return b}function Dp(a){a.L=a.C=0}function Ep(a,b){a.V[a.C++]=b} -m.xk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Db&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Tb,a.jb,a.yb);if(!a.ob){a.Db=1088;break}a.cb=0;Gp(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Hp(a,b):-1}; -m.Mk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Db)c=-1;else{a.ld[a.Te++]=c;if(a.Te==a.ld.length){a.Tb=a.ld[0];a.jb=a.ld[1];a.yb=a.ld[2];a.Hb=128<Hp(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function Hp(a,b){if(a.Db||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Tb,a.jb,a.yb);if(!a.ob){a.Db=8256;b=-1;break}a.cb=0;Gp(a)}while(1);return b} -function Gp(a){a.yb++;a.yb>=a.Of+1&&(a.yb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Tb++))}var up={1012:pp.prototype.xl,1013:pp.prototype.vl,1015:pp.prototype.wl},vp={1010:pp.prototype.Qm,1013:pp.prototype.Pm,1015:pp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.ya.restore(g)&&(A=!1),A&&void 0!==k.cb&&(k.ob=k.ya.seek(k.ae,k.jb,k.yb+ -k.lg)));A||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.gb&&(a.B=a.A[a.gb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Rp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Oe[2])?e=b.Oe[0]<<8|b.Oe[1]:c=b.type);null==c||d||(d=Kp[a.U][c][1],e=Kp[a.U][c][0]);d&&((c=Kp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Cb=e,b.vb=d,null==b.ya&&(b.ya=new Go(a,b,b.mode)))}} -m.mk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ae=Math.floor(b/g),b%=g,a.jb=Math.floor(b/f),a.yb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function Pp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Sp(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Ua?(a.ma=128,Up(a.B,function(b){0<=b?(Vp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.Bk=function(a,b){return Tp(this,a,b)|Tp(this,a,b)<<8}; -function Wp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Ua)if(0>Xp(a.B,c))a.ma=1,a.W=16;else if(1==a.B.cb||a.B.cb==a.B.Ua)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.cb+"]"),1=a.B.Ua&&(a.ma|=8))}m.wm=function(a,b,c){Wp(this,a,b&255,c);Wp(this,a,b>>8&255,c)};m.el=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.gl=function(a,b){var c=this.Y;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.Y=b};m.hl=function(a,b){var c=this.Ba;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ba=b};m.cl=function(a,b){var c=this.za;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.za=b};m.bl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.dl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.il=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&eg(this.N,14);Yp(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.W=1);this.ga=b}; -function Yp(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.za|(a.wa&3)<<8,g=a.Ba,h=a.Y||256;a.gb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ae=f,k.jb=e,k.yb=g,k.Hb=h*k.Ua,c=144<=c?c:c&240,k.ob=null,k.cb=0,k.errorCode=0,a.gb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Up(k,function(b){0<=b&&a.N?(Vp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.vb=e+1,k.lb=h,b=!0}b&&Vp(a)} -function Vp(a){!a.N||a.ga&2||fg(a.N,14,120)} -function Sp(a){a.L=0;var b=Zp(a),c=Zp(a),d=c&32,e=d>>5,f=c&31,g=Zp(a),h=Zp(a),k=g<<2&768|h,l=g&63,n=Zp(a),q=Zp(a),p=a.A[e];p&&(p.ae=k,p.jb=f,p.yb=l,p.Hb=n*p.Ua);switch(b){case 3:$p(a,p?p.errorCode:4);aq(a,c);aq(a,g);aq(a,h);aq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Zp(a));)p&&cb?Up(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Xp(a,b):-1}; -m.Nk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cbXp(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c}; -function bq(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function cq(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function dq(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Hb||(b.Pe=Array(b.Hb));b.cb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Up(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.ob&&(f=a.cb,d=a.ya.read(a.ob,a.cb),a.cb+=g,0<=d))return e=a.ob,b&&b(d,!1,e,f),d;if(b){if(a.ya)return a.ya.seek(a.ae,a.jb,a.yb+a.lg,!1,function(c,k){(a.ob=c)?(e=c,f=a.cb=0,eq(a),d=a.ya.read(a.ob,a.cb),a.cb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Xp(a,b){if(a.errorCode)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ya&&a.ya.seek(a.ae,a.jb,a.yb+a.lg,!0,function(b){a.ob=b});if(!a.ob){a.errorCode=20;b=-1;break}a.cb=0;eq(a)}while(1);return b}function eq(a){a.yb++;var b=1-a.lg;a.yb>=a.lb+b&&(a.yb=b,a.jb++,a.jb>=a.vb&&(a.jb=0,a.ae++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.wc[0].Ad&64));return a?!0:!1}; -var Mp={800:Ip.prototype.Xl,801:Ip.prototype.Yl,802:Ip.prototype.Wl},Lp={496:Ip.prototype.Bk,497:Ip.prototype.el,498:Ip.prototype.gl,499:Ip.prototype.hl,500:Ip.prototype.cl,501:Ip.prototype.bl,502:Ip.prototype.dl,503:Ip.prototype.il},Op={800:Ip.prototype.nn,801:Ip.prototype.qn,802:Ip.prototype.pn,803:Ip.prototype.on,807:Ip.prototype.gi,811:Ip.prototype.gi,815:Ip.prototype.gi},Np={496:Ip.prototype.wm,497:Ip.prototype.Bm,498:Ip.prototype.zm,499:Ip.prototype.Am,500:Ip.prototype.vm,501:Ip.prototype.um, -502:Ip.prototype.xm,503:Ip.prototype.tm,1014:Ip.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ca=b.wg;this.Sb=new fd(this.F,7,"DBG");this.Ia=xq;80186<=this.F.ja&&(this.Ia=xq.slice(),this.Ia[15]=vq,80286<=this.F.ja&&(this.Ia[15]=wq,80386<=this.F.ja&&(this.Ja=8)));Ok(this,64,function(a){Bq(d,d.F.kd,a[0])});Ok(this,4,function(a){if(a=a[0]){var b=Cq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Dq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Zb:null,d.Ba)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Eq[a.type];h&&(c=h[0],b=h[1])}!c||a.xb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ba)+" limit="+Fq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Ok(this,134217728,function(a){var b;(a=a[0])&&(b=Cq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=gq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Gq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Hq(d,a,8)+'"');b+=1+k}});Ok(this,128,function(a){Bq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Ok(this,8,function(a){a:{if(a=a[0]){var b=Cq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Dq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ba));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Iq:Jq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=Jf(d.F,n,2),2304==c&&(q|=Jf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=Jf(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.pb=0;this.bb=!1;df(this.F,48,this.bm.bind(this));df(this.F,65,this.cm.bind(this)); -this.ka=null;df(this.F,104,this.dm.bind(this));sb(this)};function Kq(a,b,c,d,e,f){b=Hq(a,b);var g=Dq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Lq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Mq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=gq(a,a.oa(b,4),a.na(b,2));b=gq(a,a.oa(b,4),a.na(b,2));b=Hq(a,b).toUpperCase();var k=Hq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Lq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Nq(a,b,c){c=Hq(a,c).toUpperCase();Oq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=gq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Mq(this,gq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Wa.Z;if(null==this.C)return 79==c&&ef(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Kq(this,gq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Oq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.bb?0:1));break;case 131:this.C&&(a=gq(this,b.M,e),this.pb++?(this.O("TRAPFAULT failed"),Pq(this,this.A,a,!0,!0),this.pb=0,this.Xb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Qq(a)),this.Od(this.A,a,!0),iq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Mq(this,gq(this,b.H,f),!g,!!this.C);break;case 338:Nq(this,d,gq(this,b.J,f))}this.bb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Wa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;ef(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=hd(b.va,this.Ik.bind(this)))&& -(b.J=a[0],xd(b,a[1]));break;case 72:Oq(this,null,e);break;case 80:32==c?Kq(this,gq(this,h,k),0,f,!0,!!this.ka):128>c?Kq(this,gq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Mq(this,gq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Ik=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Rb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",kq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.xb=f;a.type=g;a.ext=k;a.Zb=d;gd(a,!0,!0,!1)}}return a}m.fc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Dq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Zb||e.cd&&(b>>>0)+c>e.ac||!e.cd&&(b>>>0)+c<=e.ac?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.fc(a,!1,1);-1!==d&&(c=Jf(this.F,d,1,5==a.type)|0,b&&Sq(this,a,b));return c}; -m.ub=function(a,b){return a.Ub?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.fc(a,!1,2);-1!==d&&(c=Jf(this.F,d,2,5==a.type),b&&Sq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.fc(a,!1,4);-1!==d&&(c=Jf(this.F,d,4,5==a.type),b&&Sq(this,a,b));return c};m.tc=function(a,b,c){var d=this.fc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.tc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].uf(d&e.A,b&255,d)}c&&Sq(this,a,c);Tc(this.F,!0)}}; -m.ib=function(a,b,c){var d=this.fc(a,!0,2);-1!==d&&(5!=a.type?this.F.ib(d,b):fc(this.ea,d,b),c&&Sq(this,a,c),Tc(this.F,!0))};function gq(a,b,c,d,e,f,g){return Tq(a,{},b,c,d,e,f,g)}function Tq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Rq(a)?2:1);b.Ub=null!=g?g:a.F&&4==a.F.va.aa;b.sc=null!=h?h:a.F&&4==a.F.va.Nc;b.Td=!1;return b}function Uq(a){return[a.Ra,a.Z,a.Da,a.Td,a.Ub,a.sc,a.Qe,a.Sd]}function Vq(a){return{Ra:a[0],Z:a[1],Da:a[2],Td:a[3],Ub:a[4],sc:a[5],Qe:a[6],Sd:a[7]}} -function Wq(a,b,c){if(null!=b.Z&&(a=Dq(a,b.Z,b.type))){var d=b.Ra&a.Ca;if(!a.cd){if(d>>>0>=a.ac)return!1}else if(d>>>0f?null!=h?(g=Zq(a,b,void 0),f=null):(f=Zq(a,b,void 0),null==f&&(g=null)):(h=Zq(a,b.substring(0,f),void 0),g=Zq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=gq(a,g,h,f,c),d||Wq(a,e,!0)||(a.O("invalid offset: "+Qq(e)),e=null));return e}function $q(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ek=ar(a,b.kk=c[2]))}function Sq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Wq(a,b)||(b.Ra=0,b.Da=null))}function Gq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Qq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Gq(a.Ra,a.Z,a.sc)}function Hq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],6==c&&(d=d.Bd,h+=" -> "+wc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(sq,a.substr(b,2))));return c} -function dr(a,b){var c=0,d=er(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function er(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=yd(d);break; -case 16:c=d.Wa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.wb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Ya);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Ya;break;case 33:c=d.ji;break;case 34:c=d.qe;break;case 35:c=d.Md;break;case 20:c=d.Pb.Z;break;case 21:c=d.Qb.Z;break;case 56:c=K(d)}}}return c} -function fr(a,b){b=Yq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=cr(b,c+1),0<=e&&(b=b.substr(0,c)+dr(a,e)+b.substr(c+1+sq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Xq(a,e))?(d=e+' "'+Hq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Xq(a,e))?(Sq(a,d),d=e+ -' "'+Hq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=fq.prototype;m.message=function(a,b){b&&(a+=" at "+Qq(gq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.xc&-2147483648&&(this.Xb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.X.jf=0;c.eb-=c.A;c.A=0;Tc(c)}}; -function lk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>mq.indexOf(b),!d)){var g=lq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+fr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Gq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.xc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Gq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.pd();if(this.fb){var a=this.fb;this.fb=null;kq(this,a)}}; -function iq(a,b){var c;if(Uf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Od(e&f.Fa,a==this.ga);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Td=!0):(lr(this,a,a.length-1,"set"),iq(this)));return d}; -function Pq(a,b,c,d,e){for(var f=!1,g=mr(a,a.fc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=A&&(A=p<<4|g&7);(p=zq[f])&&(q=p[A]);q&&(n=pq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Aq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Ub&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Ub&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,A=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.sc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)A=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var W=p,H=b,P="",ab=g>>6,ha=g&7;if(3>ab){var ia=void 0,L=0==n.indexOf("FI");if(!ab&&(!H.sc&&6==ha||H.sc&&5==ha))ab=2;else{if(H.sc)if(4!= -ha)ha+=8;else{var P=v,ia=ab,Ga=H,Wa=P.Qa(Ga,1),Aa=Wa>>6,Sb=Wa>>3&7,Wa=Wa&7,va="";if(ia||5!=Wa)va=tq[Wa+8];4!=Sb&&(va&&(va+="+"),va+=tq[Sb+8],Aa&&(va+="*"+(1<>24,P+="-"+r(-ia,2)):P+="+"+r(ia,2)):2==ab&&(P&&(P+="+"),H.sc?(ia=v.oa(H,4),P+=r(ia)):(ia=v.na(H,2),P+=r(ia,4)));P="["+P+"]";if(1==W){v="";E&=15;4==E&&(E=H.Ub?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=qr(v,ha,E,H);v=P}else v=160==L?qr(a,g&7,E,b):qr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Ub?8:4);break;case 4:if(L.Ub){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -gq(v,v.ub(L,!0),v.na(L,2),null,L.type,L.Ub,L.sc);E=Qq(L);v=rr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.sc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.ub(b,!0),E=b.Ra+v&(b.Ub?-1:65535),v=r(E,b.Ub?8:4),E=rr(a,gq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":qr(a,(E&3840)>>8,E,b):112==L?v=qr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Qq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.sc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Ub))b+=16;return sq[b]} -function tr(a,b){var c;switch(b){case "V":c=vf(a.F);break;case "D":c=a.F.ba&1024;break;case "I":c=a.F.ba&512;break;case "T":c=a.F.ba&256;break;case "S":c=uf(a.F);break;case "Z":c=tf(a.F);break;case "A":c=sf(a.F);break;case "P":c=rf(a.F);break;case "C":c=qf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Fq(a){return r(a,a&-65536?8:4)}function ur(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+vr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=vr(a,a.F.Pb,b)+" "+vr(a,a.F.Qb,b)+"\n");c+=wr(a,"LD",a.F.Cc.Z,a.F.Cc.Aa,a.F.Cc.Aa+a.F.Cc.Ta)+" "+wr(a,"GD",null,a.F.Ec,a.F.zd)+" "+wr(a,"ID", -null,a.F.Lc,a.F.Pd)+" ";c=c+(d+" "+e)+ur(a,32);80386<=a.F.ja&&(c+=ur(a,34)+ur(a,35))}else 80386<=a.F.ja&&(c+=vr(a,a.F.Pb,b)+" "+vr(a,a.F.Qb,b)+" ");return c+=ur(a,23)+tr(a,"V")+tr(a,"D")+tr(a,"I")+tr(a,"T")+tr(a,"S")+tr(a,"Z")+tr(a,"A")+tr(a,"P")+tr(a,"C")}var yr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function zr(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Zq(a,b,c){var d;if(b){b=Yq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(A,p,a.qb);0>v&&A.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Nd:h,si:l})} -function Oq(a,b,c){for(var d=0;d>>0,f=a.fc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Qq(b)),n=!0):(a.tc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function hr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Vb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":wd(a.F,h);break;case "ES":xd(a.F,h);break;case "SS":ld(a.F,h);break;case "CS":lf(a.F,h);a.Y=gq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.Y=gq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":zd(a.F,h);break;case "C":h?xf(a.F):yf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ba|=4):(e=a.F,e.resultType&= --3,e.ba&=-5);break;case "A":h?Ff(a.F):Df(a.F);break;case "Z":h?Gf(a.F):Ef(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ba|=128):(e=a.F,e.resultType&=-17,e.ba&=-129);break;case "I":h?(e=a.F,e.ba|=512):(e=a.F,e.ba&=-513);break;case "D":h?(e=a.F,e.ba|=1024):(e=a.F,e.ba&=-1025);break;case "V":h?zf(a.F):Af(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Hf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Pb.load(h);break;case "GS":a.F.Qb.load(h);break;case "CR0":a.F.Ya=h;qj.call(a.F,h);break;case "CR2":a.F.qe=h;break;case "CR3":a.F.Md=h;Bd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Tc(a.F);a.O("updated registers:")}}a.O(xr(a,d));c&&(a.Y= -gq(a,K(a.F),a.F.va.Z),ir(a,Qq(a.Y)))}}function Ir(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(fr(a,c[2])):Zq(a,b,!0)}function Jr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=pr(a,b,g,f);b.Sd||d||d++;a.O(f);a.Y=b;e-=b.Da-k;c++}}} -function ar(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function or(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Qq(a.ua)),a.Y=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Ya&1&&(e=a.F.ba&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(tb(a)&&0n||"z">>20;Ca.vi=a.F.Md+Ca.ck;Ca.zb=ae.sa[(Ca.vi&ae.Gb)>>>ae.La];Ca.Vi=Ca.zb.Kd(Ca.ck);Ca.dk=(Se&4190208)>>>10;Ca.wi=(Ca.Vi&-4096)+Ca.dk;Ca.Ab=ae.sa[(Ca.wi&ae.Gb)>>>ae.La];Ca.Wi=Ca.Ab.Kd(Ca.dk);Ca.Gk=(Ca.Wi&-4096)+(Se&4095)}if($d=Ca){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Se),od=od+(" %%"+br($d.vi,$d.Vi)),od=od+(" %%"+br($d.wi,$d.Wi,!0)), -od=od+(" %%"+r($d.Gk));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ha){if("disk"==ia){P[0]="l";P[1]="json";Hr(a,P);break a}for(ab in uq)if(P[1]==ab){var Cn=a.Za[ab];Cn?(P.shift(),P.shift(),Cn(P)):a.O("no dump registered for "+ia);break a}ia||(ha=a.oc||"db")}else a.oc=ha;if("dh"==ha){var Dn=ia,En=Ga,Fn="",Gn=0,rb=a.Fa,rc=a.ia;if(rc.length){var Cb=+Dn||a.Kb,be=+En||10;isNaN(Cb)?Cb=be:Fn="more ";Cb>rc.length&&(a.O("note: only "+rc.length+" available"),Cb=rc.length); -rb-=Cb;0>rb&&(null==rc[rc.length-1].Z?(Cb=rb+Cb,rb=0):rb+=rc.length);var ii=[];"call"==En&&(be=1E5,ii=["CALL"]);for(void 0!==Dn&&a.O(Cb+" instructions earlier:");0=rc.length&&(rb=0);a.Kb=Cb;Gn++;be--}}Gn||(a.O("no "+Fn+"history available"),a.Kb=void 0)}else if("di"==ha){P.shift(); -var ji=P[0];if(ji){var Ue=Cq(a,ji);if(void 0===Ue||0>Ue||255>> -0,65536>4||1,li="dd"==ha?4:"dw"==ha?2:1,Ln=0;Lnoi;oi++){var sg=a.Qa(ce,1),rg=rg|sg<<(mi++<<3);mi==li&&(Ve+=r(rg,2*li),Ve+=1==li?7==oi?"-":" ":" ",rg=mi=0);ni+=32<=sg&&128>sg?String.fromCharCode(sg):"."}qd&&(qd+="\n");qd+=ia+" "+Ve+" "+ni}qd&&a.O(qd);a.tb=ce}}}}}break;case "e":if("else"==g[0])break;var tg=1,Mn=255,Nn=a.Qa,On=a.tc;"ew"==g[0]&&(tg=2,Mn=65535,Nn=a.na,On=a.ib);var Pn=tg<<1,Qn=g[1]; -if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Xq(a,Qn);if(ug)for(var vg=2;vgui;){for(var sc=null,ls=256;Rc.Ra>>>0>>0;){Ye.Ra=a.ub(Rc,!0);if(null==Rc.Da||!ls--)break;Ye.Z=Sn;if(sc=Jr(a,Ye))break;Ye.Z=a.ub(Rc);if(sc=Jr(a,Ye,!0)){Sn=a.ub(Rc,!0);0Tr){if(d.load(this.U)){this.N=new jf(this,Vr,"failsafe");this.N.load()&&(Zr(this,d),a=2,Nr(this.N));N(this.N,"timestamp",qa());Or(this.N);var e=this.A&&!this.L;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Pr(d)){var f=Qr(d,"code"),g=Qr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Nr(d),d.load()?(c=Pr(d),e=!0):c=!1))}e&&Yr(this,c?d:null)}else 2==a&&d.clear()}else Yr(this);delete this.U;delete this.W}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.ec=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ga||(this.O("PCjs v"+Vr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ga=!0);this.F&&($r(this,this.F,b,c,a),Uc(this.F));this.ia&&(Zr(this,b),b.clear());!c&&this.N&&(this.N.clear(),delete this.N);this.C=0}; -function Zr(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ra,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=Vr;f.url=c;f.user=d;f.type="bug";f.data=e;wa("http://www.pcjs.org/api/v1/report",f,!0)}} -function Lr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new jf(a,Vr),g=new jf(a,Vr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.3");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.jc&&(c&&a.F.Xb(),d=a.F.jc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.ec=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;kh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");wa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);qs(a,b,c)}})}else c(a,null)} -function rs(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--cs||Sa(!0));k=!1}var g,h,k=!0;cs++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.3/components.xsl");l=function(d,h){h?ds(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--cs||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--cs||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ds(b,a,d,!0,e,l):ps(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return rs(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function ss(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ja(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?wa(b,null,!0,function(a,b){ts(b,d)}):ts(null,d)}else w("Error ("+c+") requesting "+a)} -function ts(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:,stepping:'' - - - - - - - - - - - - - - - 5150 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - black - - - - - - - - - - - - - - false - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 20 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcjs/1.21.4/document.css b/versions/pcjs/1.21.4/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.4/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.4/document.xsl b/versions/pcjs/1.21.4/document.xsl deleted file mode 100644 index 972a7f0cc..000000000 --- a/versions/pcjs/1.21.4/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.4/machine.xsl b/versions/pcjs/1.21.4/machine.xsl deleted file mode 100644 index e1530a422..000000000 --- a/versions/pcjs/1.21.4/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.4/manifest.xsl b/versions/pcjs/1.21.4/manifest.xsl deleted file mode 100644 index 8f221775e..000000000 --- a/versions/pcjs/1.21.4/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.4/outline.xsl b/versions/pcjs/1.21.4/outline.xsl deleted file mode 100644 index 1ce2bd68b..000000000 --- a/versions/pcjs/1.21.4/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.4/pc-dbg.js b/versions/pcjs/1.21.4/pc-dbg.js deleted file mode 100644 index a4211aeb0..000000000 --- a/versions/pcjs/1.21.4/pc-dbg.js +++ /dev/null @@ -1,817 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.lh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Qb=function(a,b,c,d){return this.V&&this.V.Qb(a,b,c,d)||this.F&&this.F.Qb(a,b,c,d)||this.B&&this.B.Qb(a,b,c,d)||this.ha&&this.ha.Qb(a,b,c,d)?!0:this.parent.Qb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ja&&a.ka){e=a.ja.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ja,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ja,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Na=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Na,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Nb=1<>2;this.A=this.Nb-1;this.U=this.X/this.Nb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0a.Nb?a.Nb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Ne+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Ne){k=g.size-(b-h);k>c&&(k=c);g.Ne=b-g.Da+k;c-=k;b=h+a.Nb;continue}}return Tb(a,1,b,c)}g=a.sa[f];b=new B(b,k,a.Nb,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Nb;c-=k}return 0>=c?(Ub(a.F),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Wb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Si=function(){return null};function gc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||rc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Yb(this,e.fh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Yb(this,ac?bc:cc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,gh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.hi(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Na:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.hi)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ja,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ja,a.cg=b[1]||a.ka,a.hi=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var cc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Na,B.prototype.bc,B.prototype.rd,B.prototype.Vc],bc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.tg=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.tg*this.Y.Yd;this.la.Ib=!1;this.la.dh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Qb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.tg&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.tg*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Ib){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Ib=!0;this.la.dh=!0;this.N&&ad(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(),a&&this.V.yd(!0))}this.Y.rh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.ug=pa();this.Y.Ge&&(a=this.Y.ug-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.ug&&(this.Y.hf=this.Y.ug)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){bd(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f=(Wc(d.F, -d.ka)-e.xd)/d.gb|0,g=cd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&dd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.qh;break}}while(this.la.Ib)}catch(q){this.Wb(); -Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.qh));e-=this.Y.Ge-this.Y.ug;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&bd(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=hd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.ng()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.ng()};m.ng=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()}; -m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};function id(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&fd(a,!0)}function jd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&fd(a,!0)} -function hd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,fd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),kd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return ld(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,fd(a,!0,!0,!1));return k} -function ld(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,xd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),yd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),zd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function fd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.sg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.ng,a.oc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.ng);if(a.type&2048||!(a.type&512))a.oc=a.og;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.kh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Bd(a){this.ia=a.model||8088;var b=a.stepping;this.Uc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ia?xb:wb;this.X=Cd;this.bg=Dd;this.gg=Ed;this.hg=Fd;if(80186<=this.ia&&(this.X=Cd.slice(),this.bg=Dd.slice(),this.gg=Ed.slice(),this.ra=31,this.X[15]=Gd,this.X[96]=Hd,this.X[97]=Id,this.X[98]=Jd,this.X[99]=Gd,this.X[100]=Gd,this.X[101]= -Gd,this.X[102]=Gd,this.X[103]=Gd,this.X[104]=Kd,this.X[105]=Ld,this.X[106]=Md,this.X[107]=Nd,this.X[108]=Od,this.X[109]=Pd,this.X[110]=Qd,this.X[111]=Rd,this.X[192]=Sd,this.X[193]=Td,this.X[200]=Ud,this.X[201]=Yd,this.X[241]=Zd,this.bg[7]=$d,this.gg[7]=$d,80286<=this.ia)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=ae;this.tc=ge.slice();for(a=0;a=this.Uc&&(this.tc[166]=oe,this.tc[167]=pe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Og=0;this.ld=this.sa=[];this.La=this.Nb=this.Fa=this.Gd=this.jd=this.Gb=this.Db=0;qe(this)}db(Bd,Lc);function re(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function se(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&se(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Gb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||te.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Gb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||te.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&ac&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Yb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function ue(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Bd.prototype;m.reset=function(){this.la.Ib&&this.Wb();qe(this);Oc(this);this.la.ud=!1}; -function ve(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function we(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function qe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ja=a.wa=0;a.aa=0;a.Ng=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new ed(a,1,"CS");a.vb=new ed(a,2,"DS");a.Xa=new ed(a,2,"ES");a.ta=new ed(a,3,"SS");G(a,0);kd(a,0);if(80386<=a.ia){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ii=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Ob=new ed(a,2,"FS");a.Pb=new ed(a,2,"GS");ue(a)}a.qf=new ed(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ia)zd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new ed(a,5,"LDT",!0);a.Sa=new ed(a,4,"TSS",!0);a.Ea=new ed(a,6,"VER",!0);zd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}yd(a,0);md(a)} -function xe(a){2==a.Oc?(a.dc=a.na,a.Na=ye,a.$a=ze,a.Jb=Ae,2==a.ba?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Ee,a.fa=Fe,a.ya=Ge)):(a.dc=a.oa,a.Na=He,a.$a=Ke,a.Jb=Le,2==a.ba?(a.W=Me,a.fa=Ne,a.ya=Oe):(a.W=Pe,a.fa=Qe,a.ya=Re))}function nd(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Se(a))}function Se(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Me,a.fa=Ne,a.ya=Oe)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=Ee,a.fa=Fe,a.ya=Ge):(a.W=Pe,a.fa=Qe,a.ya=Re))} -function bf(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;xe(a);a.ba=a.va.ba;a.R=a.va.R;Se(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+xd(this)|0};function cf(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function md(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Fd;fd(a.va,!1,b,c);fd(a.vb,!1,b,c);fd(a.ta,!1,b,c);fd(a.Xa,!1,b,c);80386<=a.ia&&(fd(a.Ob,!1,b,c),fd(a.Pb,!1,b,c));bf(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ia&&(g.push(this.ii),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,xd(this)];80386<=this.ia&&(b.push(this.Ob.save()),b.push(this.Pb.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.wg==b.Gb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;bf(a)}function zd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ia||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function xd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&md(a,!0)}function yd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Qb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Og++;d=!0;break;default:d=this.parent.Qb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Dg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Dg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Dg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function od(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function pd(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ia>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ia>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ia||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Dg(a){return a.F.oa(a.F.D)}function Eg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Fg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Gg(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Hg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Ig(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Bg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Jg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Kg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ja=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Og(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ja<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Pg=Math.log(10)/Math.LN2,Qg=Math.LOG2E,Rg=Math.PI,Sg=Math.log(2)/Math.LN10,Tg=Math.LN2,Ug=Math.pow(2,63);function Vg(){this.ma&=-32896;ag(this)} -function Wg(){lg(this,U(this,0),U(this,this.A))}function Xg(){lg(this,U(this,0),U(this,this.A))&&Lg(this)}function Yg(){Xg.call(this)}function Zg(){W(this,0,kg(this,U(this,0),Eg(this)))}function $g(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Mg(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Lg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Ug))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Mg(this,a)},6:function(){var a=mg(this,Lg(this));null!=a&&(this.ea[0]= -Kg(a,8),this.ea[1]=Kg(a/1E8,8),this.ea[2]=Kg(a/1E16,2),0>a&&(this.ea[2]|=32768),Hg(this))},7:function(){null!=mg(this,U(this,0),Ug)&&(this.nk(),Lg(this))},48:function(){$g.call(this);Lg(this)},49:mh,50:hh,51:hh,52:kh}},oh=[Vg,ah,bh,ch,dh,eh,ih,fh,jh,kh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function yh(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function zh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ah(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Bh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Dh(a,b){if(-1===this.D)return zh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Hh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.yh:this.B.Vb;this.S|=2;return a}function Ih(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.yh:this.B.Vb;this.S|=2;return a} -function Jh(a){if(this.Tb){var b=this.Tb,c=this.Ng,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=nh[c][f]){if(0>oh.indexOf(e)){var f=b.F,g=f.re;8087==b.ia&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ja=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Kh(a){if(80186>this.ia)return Lh.call(this,a);C.call(this,13,0);return a}function $d(a){C.call(this,6);return a} -function Lh(a){he.call(this);return a}function Mh(a,b){var c=Nh.call(this,this.T(),b);80386>this.ia&&(this.A-=12);return c}function Oh(a,b){var c;a=this.Ma();c=2==this.ba?Nh.call(this,a,b):Ph.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function Qh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Rh.call(this,a,b);c&&(this.ja=~this.ja+1|0,this.wa=~this.wa+(this.ja?0:1)|0)} -function Nh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Ph(a,b){Qh.call(this,a,b);this.wa!=this.ja>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ja}function Sh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function Zh(a,b){if(-1===this.D)return he.call(this),a;kd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} -function $h(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ai(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function bi(a,b){return b} -function ci(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return $h.call(this,0,b)} -function di(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Ob.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Pb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return $h.call(this,0,b)} -function Rh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Ai(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Bi(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.$h:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.$h:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.bi}else this.C=this.D,Of(this,a),this.A-=this.B.ai;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.bi}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.ai;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ja=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;md(this);this.Za&-2147483648?se(this):ue(this)}function Ad(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Th:this.B.Sh)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&kd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,qe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Oa(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function te(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ze(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ae(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ce(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function De(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Fe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ge(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ke(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Le(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Me(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ne(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Oe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Pe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Qe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Re(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ia&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this,I(this)))},function(){this.P= -oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc},function(){J(this,this.I& -this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M=this.M&~this.R|D(this); -this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C?1:this.B.Cg},Sj,function(){this.ya.call(this, -hk,this.T);this.A-=-1===this.C?1:this.B.Cg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Na.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,di)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Uh)},function(){var a;this.W.call(this,ci);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;wd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break;case 2:a=this.M;this.M=this.aa;kd(this,a);break; -case 3:a=this.H;this.H=this.aa;vd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ia?this.Ob.load(a):wd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ia?this.Pb.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;kd(this,a);break;case 7:a=this.J,this.J=this.aa,vd(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R; -this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R| -a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=xd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Sc)}, -function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;yd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(xd(this)&213)<<8;this.A-=this.B.gc},function(){var a=this.G&-256,b; -b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Ih},function(){this.G=this.G&~this.R|od(this,this.ka,T(this));this.A-=this.B.Ih},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Jh},function(){var a=1,b=0,c=this.Ba,d=this.B.Kh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Mh,this.Ha&256||(this.A-=this.B.Lh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.qc(this.Xa.oc(this.J& -c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Kh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Mh,this.Ha&256||(this.A-=this.B.Lh));if(a--){var e=od(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}}, -function(){var a=1,b=0,c=this.Ba,d=this.B.vh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.xh,this.Ha&256||(this.A-=this.B.wh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.vh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.xh,this.Ha&256||(this.A-=this.B.wh)); -if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Vh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Xh,this.Ha& -256||(this.A-=this.B.Wh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Vh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Xh,this.Ha&256||(this.A-=this.B.Wh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba: -this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Ch;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Eh,this.Ha&256||(this.A-=this.B.Dh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Ch;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Eh,this.Ha&256||(this.A-=this.B.Dh));if(a--){var e= -od(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Ph;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Rh,this.Ha&256||(this.A-=this.B.Qh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this), -this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Ph;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Rh,this.Ha&256||(this.A-=this.B.Qh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I=this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M= -this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Vh)},function(){this.W.call(this,Th)},function(){this.S|=1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this, -jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj; -this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);ld(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);md(this,!0,!0);kd(this,f);G(this,e);wd(this,g);vd(this,h);this.Ob.load(k);this.Pb.load(l)}null!= -zd(this,b,c,!1)&&(yd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c, -191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+ -a),this.A-=this.B.Gj):this.A-=this.B.Fh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Gh):this.A-=this.B.Hh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Fh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Hh:(O(this,K(this)+a),this.A-=this.B.Gh)},function(){var a=this.xa();Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255, -this.A-=this.B.Ah)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Ah)},function(){var a=this.xa();Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Oh)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Oh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-= -this.B.Bh},function(){zd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Bh},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.zh)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.zh)},function(){var a=this.M&65535;Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Nh)},function(){var a= -this.M&65535;Hf(this,a,2,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Nh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this,lk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R)},function(){this.cb= -!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this,Dd,uj)},function(){this.ya.call(this,Ed,uj)}],Tj=[rh,ei,ph,gi, -th,bj,jj,Hh],hk=[sh,fi,qh,Ai,uh,cj,kj,Ih],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Kh,Kh,Kh,Kh,Kh,Kh,Kh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Lh,Lh,Lh,Lh,Lh,Lh,Lh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e= -Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Lh,function(a,b){var c=b&this.ra;c&&(9>24>>c-1, -a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<< -16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Lh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c=a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>> -c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Lh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.Zh:this.B.Yh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ja=(this.G&255)*a&65535;this.ja&65280?(wf(this),yf(this)): -(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ja=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ia&&-128==d)return Aj.call(this),a;this.ja=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.Zh:this.B.Yh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a, -b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ja=c&65535;this.wa=c>>16&65535}else Rh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ja=c&65535,this.wa=c>>16&65535,c=32767c):(Qh.call(this,a,this.G),c=this.wa!=this.ja>>31);c?(wf(this),yf(this)):(xf(this),zf(this)); -this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ja=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/ -c|0;if(d!=d<<16>>16||8086==this.ia&&-32768==d)return Aj.call(this),a;this.ja=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ja>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ja=-this.ja),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Dd=[function(a){var b=a+1|0;of(this,a,1,b,190);this.A-=-1=== -this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Lh,Lh,Lh,Lh,Lh,Lh],Ed=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this, -a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this,a);zd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ia&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a},Lh]; -function oe(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function pe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ge=Array(256);ge[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};ge[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ge[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Sh)};ge[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Yh)}; -ge[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),jd(this.Xa,2102,this.na(2084)),jd(this.va,2108,this.na(2082)),jd(this.ta,2114,this.na(2080)),jd(this.vb,2120,this.na(2078)),yd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),jd(this.Bc,2132,this.na(2076)),jd(this.Sa,2144,this.na(2070)),this.A-=195)};ge[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ge[11]=Gd;ge[166]=Gd;ge[255]=Gd;var M=[];M[5]=Gd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;yd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);id(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));id(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);id(this.Pb,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));id(this.Ob,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));id(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));id(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));id(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));id(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:he.call(this);return}we(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(we(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:Ad.call(this,b);this.A-=5;break;default:he.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(a=ve(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Ce[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,Bi)}; -M[145]=function(){qj.call(this,Bi)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){pd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){pd(this,this.Pb.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Nh:Ph)};M[178]=function(){this.W.call(this,Zh)};M[179]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)}; -M[182]=function(){this.Na.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,xh)};M[189]=function(){this.W.call(this,yh)}; -M[190]=function(){this.Na.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Lh,Lh],Fd=[$d,$d,$d,$d,$d,$d,Lh,Lh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Lh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Lh],ok=[Lh,Lh,Lh,Lh,zh,Ch,Bh,Ah]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ia=b&&qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ja=[360,360],(b=a.floppies)&&b.length&&(this.ja=b),uk(this,vk,this.ja.length),uk(this,wk,a.monitor||(this.ia=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Pg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Pg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Qb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ia|0)||5160.101==this.ia)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;hc(b,this,Ck);lc(b,this,Dk);this.iab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}cf(c,26,this.am.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ia|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;el(a,b,c,!0)}function fl(a,b,c){if(b=(a=Ak[a.ia|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ll(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function ml(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function nl(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function pl(a,b,c){b=a.L[b>>2].Dc[b&3];b.pg&&b.eh&&b.Eg?(c&&(b.done=c),b.Ee||yl(a,b,!0)):c&&c(!0)} -function yl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.kg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.eh.call(b.pg,b.Eg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){zl(b)||yl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.eh.call(b.pg,b.Eg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!zl(b););} -function zl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Cl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Cl(a))}function Cl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&ad(a))}function Jl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Na} -function Kl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Na=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ll(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Yg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Gl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Il(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function cd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ll(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Gl(a,b)}function Gl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Il(a,b),h=cd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function bd(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Ml(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Nl(this,b)};function Nl(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Ol(a.B,!(b&128),!!(b&64));c!=d&&ad(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ia|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Ml(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Nl(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Pl(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Ql(this,b);break;case 209:Rl(this,b);break;default:if(Ql(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Sl(a);break;case 243:a.W&&(c=0);Tl(a,250);a.W=c;break;case 237:a.W&&(c=0);Tl(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Ul(this,d)}}this.fa=b;this.N&=-9}; -m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Nl(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Ul(this,this.aa);break;case 173:Ql(this,this.aa|16);break;case 174:Ql(this,this.aa&-17);this.B&&Pl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Ql(this,this.aa|16);Ul(this,85);Rl(this,3);break;case 171:Ul(this,0);break;case 192:Ul(this,this.ga);break;case 208:Ul(this,this.Ka);break;case 224:Ul(this,this.aa&16?0: -1);break;case 240:a&1&&qe(this.F)}};function Ql(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Ol(a.B,!!(b&8),!(b&16))}function Ul(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Rl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||qe(a.F)}function Vl(a,b){a.ia=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function ad(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Il(a,2));if(20>c||2E4>>4,0,this.L,this.C,this.Rd),delete this.Rd);return!0};Yl.prototype.hc=function(){return!0}; -function Zl(a,b,c,d){if(d)a.Oa("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Oa("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;Xk(a)}}else w("No RAM allocated")};m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function em(a){this.N=a;this.C=gm;this.ha=hm;this.B=im;this.A=null}var fm=-2134900736,gm=65535,hm=2575,im=2,jm=[null,0],km=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=em.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Ri=function(){return jm};m.fh=function(){return km}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, -to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},om={};om[186]=X[";"];om[187]=X["="];om[188]=X[","];om[189]=X["-"];om[190]=X["."];om[191]=X["/"];om[192]=X["`"];om[219]=X["["];om[220]=X["\\"];om[221]=X["]"];om[222]=X["'"];om[173]=X["-"];var pm={};pm[X["1"]]=X["!"];pm[X["2"]]=X["@"];pm[X["3"]]=X["#"];pm[X["4"]]=X.$;pm[X["5"]]=X["%"];pm[X["6"]]=X["^"];pm[X["7"]]=X["&"];pm[X["8"]]=X["*"];pm[X["9"]]=X["("]; -pm[X["0"]]=X[")"];pm[186]=X[":"];pm[187]=X["+"];pm[188]=X["<"];pm[189]=X._;pm[190]=X[">"];pm[191]=X["?"];pm[192]=X["~"];pm[219]=X["{"];pm[220]=X["|"];pm[221]=X["}"];pm[222]=X['"'];pm[173]=X._;pm[61]=X["+"];pm[59]=X[":"]; -var qm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},rm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},sm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},tm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=lm.prototype; -m.Qb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return um(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||vm(e,a,!0);return b},c.onkeyup=function(a){return um(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();vm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==rm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();wm(a,c,!0);vm(a,c,!0)}}(this,g,rm[g]),!0;if(void 0!==sm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){vm(a,c)}}(this,b,sm[b]),b=function(a,b,c){return function(){xm(a,c)}}(this,b,sm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,ym(e,300))},!0}return!1};function zm(a,b,c){if(a.ga){for(var d in pm)if(b==pm[d]){b=+d;(d=om[d])&&(b=d);break}for(var e in sm)if((d=sm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=sm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function mm(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=nm.indexOf(a.ia),0>c&&(c=0));b=nm[c];a.ra=parseInt(b.substr(2),10)}function Sl(a){y(a,"keyboard reset",65792);a.A=[];Tl(a,170)}function Ol(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Wl(a,!0);a.X&&a.fa&&(Sl(a),a.fa=!1)}function Tl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Vl(a.N,b))}function Pl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Vl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Ml(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Wl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in tm)d="led-"+g,e=tm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function vm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){qm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,zm(a,b,!0),e++),0b.Ld){if(!b.Ef){xm(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Bm(a,b)}}(a),c)}} -function Dm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=pm[b])d=a}else if(a=om[b])d=a;return d}m.Fg=function(a){a||(this.xc&=-256)}; -function um(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Dm(a,g,!0);a.ah&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),wm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Vl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Vm:Wm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Ig=c[4]>>8&255;this.mb=c[5];this.mh=Vm;this.jg=Xm;if(5<=b){this.mh=Wm;this.jg=Ym;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Sg=Zm;this.Lg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Ug=$m;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Tg=an;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.ci&255};cn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};cn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};cn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.oh,c=this.controller.nh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -cn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};cn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function dn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Ig<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Lg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,en(b,"CRTC",b.Ac,b.mb,b.jg),5<=b.Ua&&(en(b," GRC",b.be,b.ae,b.Tg),en(b," SEQ",b.ce,b.Je,b.Ug),en(b," ATC",b.Od,b.Tc,b.Sg),en(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Xe),en(b," FEAT",b.dg),en(b," MISC",b.uf),en(b," STATUS0",b.Lg)),en(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||en(b," MODEREG",b.gd),3==b.Ua&&en(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.vg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.We();a=!0}this.V&&this.V.focus()}return a}; -function Hm(a,b){!b&&a.ga&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.ah=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.ah=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; -function pn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){rn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){rn(a,b)},!0),c.addEventListener("touchend",function(b){rn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.gg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(sn,!0)})}m.Fg=function(a){this.B&&this.B.Fg(a)}; -function rn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?vm(a.B,1040,!0):vm(a.B,1038,!0):1!=d&&(d?vm(a.B,1039,!0):vm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.gg;!0===c?(a.Id=500f){a.W.je(sn,!0);a.W.je(sn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ia||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case cm:b=7;break;case 5:var c=Km[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Tm(this,1);this.aa=this.Wc=new Tm(this,3);5>this.Ua?this.A=new Tm:(this.A=new Tm(this,this.Ua,null,this.Ed),tn(this));un(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;vn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}qn(this,!0)}};function tn(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,dn(this.rd));N(a,1,dn(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,dn(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Tm(this,1,a[0]);this.aa=this.Wc=new Tm(this,3,a[1]);this.A=new Tm(this,this.Ua,a[3],this.Ed);this.A.Hc&&tn(this);un(this);if(!wn(this))return!1;xn(this);return!0}; -function Im(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)bm(a,f,[6144,0]);else if(2048==f.length)bm(a,f,[0]);else{a.Oa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Oa("Font ROM data error: "+g.message);return}(a.ja||a.ha)&&rb(a)}} -function yn(a,b){if(1==b)return a.Ca[0]=Nm[0],a.Ca[1]=Nm[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Nm[c&15];c=c&32?Pm:Om;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Qm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function bm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function un(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=yn(a);null!=a.Jb[0]&&zn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(zn(a,1,a.Jb[1],d,e,14,a.Uc,Lm,Mm)&&(c=!0),a.Tb&&zn(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function zn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(An(a,b,c,d,e,f,g,h,k)&&(l=!0),a.pi&&An(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function An(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Rc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Bn(wa,Ie,Xd,Je);v&&Bn(wa,Ie+1,Xd,Je)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Rg[F]=ia;l=!0}}a.Na[b]=q;return l}function Cn(a){0a.cb&&(a.cb=0):a.cb=-1} -function xn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)ao(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(ao(a),a.ua=c);d=d-b+1;if(a.hg!=b||a.Ce!=d)a.hg=b,a.Ce=d;a.$a=e+1;Cn(a)}}} -function ao(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Na[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==cm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.ob,c.ac,c.fh(),!0),!0):!1} -function wn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!vn(a,d,b))return!1;eo(a,c);return!0} -function vn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){ao(a);if(a.ob){if(!Zb(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Fm[7][2];b=0;if(c=Fm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>fn(a.A,18)?43:50:a.U=a.Ua);a.Yf=a.L*a.X|0;a.Wf=a.Yf/ -a.jd|0;a.Ub=a.Wf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Na.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Na[a.U];if(!b)break a;c=a.Na[a.U<<1];a.tn&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),b&&(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.ja.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe=0;a.Dd= -a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.ja.fillStyle=a.ka.style.backgroundColor,a.ja.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);qn(a)}return!0}function Bn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Wf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.ja.fillStyle=h.Oe[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Rg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ja.drawImage(h.Rg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ja.fillStyle=h.Oe[d],a.ja.fillRect(b,c+f,a.Ja,g)))} -function qn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.Yf,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Na[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Bn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.uh=d,d=-d|0);d%b.ph>b.jm&&(c|=1);d%b.sh>b.lm&&(c|=9);b.di=d/b.sh|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Ig=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;wn(this,!1)}; -m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Sg[this.A.Od&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Sg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&un(this,!0)&&qn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; -m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+Ya.aspect;f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Qb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,po,this.V);lc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ja;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case sn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.ei&&a<=e.ak){d=a-=e.ei;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.jh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.th=Zo(a,e,17,2),d.xg=Zo(a,e,13,1));d.hh=d.jh+((32*d.th+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.hh)/d.xg|0;d.zg=4084>=d.im?12:16;d.Sk=12==d.zg?4086:65526;b=[];for(e=d.jh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.hh+(F-2)*p.xg,E=0;E>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)pp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function pp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function qp(a){Ua.call(this,"FDC",a,qp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.B=[];this.ga=!Ga("Mobi")&&window&&"FileReader"in window}db(qp);aa={}; -var rp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=qp.prototype; -m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&sp(d,a)},!0; -case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&tp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.za){for(var b=a.za,c="",h=0,k;k=Yo(b,h++);)for(var l=0,n=k.length;lg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Rb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Rb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; -function yp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gBp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Cp(this,c,d,b),f=b.info(),this.X|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));sp(this,a.hb)}; -function xp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=rp[a].Vd){b=!1;this.L=0;a=Dp(this);var d,e,f,g,h=a&31;switch(h){case 3:Dp(this);Dp(this);Ep(this);break;case 4:c=Dp(this);this.hb=c&3;d=this.A[this.hb];Ep(this);Fp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Dp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Rb=Dp(this);e=Dp(this);f=d.xb=Dp(this);g=Dp(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Rb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Rb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Gp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Dp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Rb;e=d.kb=b;f=1;g=Dp(this);d.Hb=128<>2&1,c=Dp(this),d.Rb+=c-d.ge,0>d.Rb&&(d.Rb=0),d.Rb>=d.Bb&&(d.Rb=d.Bb-1),d.ge=c,d.Cb=32,d.Rb||(d.Cb|=268435456),Ep(this),b=!0}0>>8);Fp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Rb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Fp(a,e+k);Fp(a,f);Fp(a,g);Fp(a,h)}function Dp(a){var b=a.W[a.L];a.L++;return b}function Ep(a){a.L=a.C=0}function Fp(a,b){a.W[a.C++]=b} -m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Hp(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Ip(a,b):-1}; -m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Rb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Hb=128<Ip(a,a.xi)){c=-1;break a}a.mg++}a.mg>=a.he&&(c=-1)}else c=-1;return c};function Ip(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Hp(a)}while(1);return b} -function Hp(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Rb++))}var vp={1009:qp.prototype.vl,1012:qp.prototype.xl,1013:qp.prototype.ul,1015:qp.prototype.wl},wp={1010:qp.prototype.Qm,1013:qp.prototype.Pm,1015:qp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.lg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Sp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Lp[a.U][c][1],e=Lp[a.U][c][0]);d&&((c=Lp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function Qp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Tp(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Vp(a.B,function(b){0<=b?(Wp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Up(this,a,b)|Up(this,a,b)<<8}; -function Xp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>Yp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Xp(this,a,b&255,c);Xp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);Zp(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function Zp(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Vp(k,function(b){0<=b&&a.N?(Wp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Wp(a)} -function Wp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Tp(a){a.L=0;var b=$p(a),c=$p(a),d=c&32,e=d>>5,f=c&31,g=$p(a),h=$p(a),k=g<<2&768|h,l=g&63,n=$p(a),q=$p(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Hb=n*p.Va);switch(b){case 3:aq(a,p?p.errorCode:4);bq(a,c);bq(a,g);bq(a,h);bq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=$p(a));)p&&cb?Vp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Yp(a,b):-1}; -m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebYp(a,a.xi)){c=-1;break a}a.mg++}a.mg>=a.he&&(c=-1)}else c=-1;return c}; -function cq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaRead",b);pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaWrite",b);pl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function eq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Hb||(b.Re=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,xl(a.N,3,a,"dmaWriteBuffer",b),pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Vp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.lg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,fq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Yp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.lg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;fq(a)}while(1);return b}function fq(a){a.xb++;var b=1-a.lg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Np={800:Jp.prototype.Xl,801:Jp.prototype.Yl,802:Jp.prototype.Wl},Mp={496:Jp.prototype.Ak,497:Jp.prototype.dl,498:Jp.prototype.fl,499:Jp.prototype.gl,500:Jp.prototype.bl,501:Jp.prototype.al,502:Jp.prototype.cl,503:Jp.prototype.hl},Pp={800:Jp.prototype.nn,801:Jp.prototype.qn,802:Jp.prototype.pn,803:Jp.prototype.on,807:Jp.prototype.fi,811:Jp.prototype.fi,815:Jp.prototype.fi},Op={496:Jp.prototype.wm,497:Jp.prototype.Bm,498:Jp.prototype.zm,499:Jp.prototype.Am,500:Jp.prototype.vm,501:Jp.prototype.um, -502:Jp.prototype.xm,503:Jp.prototype.tm,1014:Jp.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.wg;this.bc=new ed(this.F,7,"DBG");this.Ia=yq;80186<=this.F.ia&&(this.Ia=yq.slice(),this.Ia[15]=wq,80286<=this.F.ia&&(this.Ia[15]=xq,80386<=this.F.ia&&(this.Ja=8)));Mk(this,64,function(a){Cq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Dq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Eq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Fq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Gq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Dq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=hq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Hq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Iq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Cq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Dq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Eq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Jq:Kq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;cf(this.F,48,this.bm.bind(this));cf(this.F,65,this.cm.bind(this)); -this.ka=null;cf(this.F,104,this.dm.bind(this));rb(this)};function Lq(a,b,c,d,e,f){b=Iq(a,b);var g=Eq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Mq(a,b,c);e[b+h]=0;am(a,b,c,d,0,null,g,e)} -function Nq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=hq(a,a.oa(b,4),a.na(b,2));b=hq(a,a.oa(b,4),a.na(b,2));b=Iq(a,b).toUpperCase();var k=Iq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Mq(a,k,e);c[k+l]=g;am(a,k,e,f,g,null,h,c)}function Oq(a,b,c){c=Iq(a,c).toUpperCase();Pq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=hq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Nq(this,hq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Lq(this,hq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Pq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=hq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Qq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Rq(a)),this.Sd(this.A,a,!0),jq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Nq(this,hq(this,b.H,f),!g,!!this.C);break;case 338:Oq(this,d,hq(this,b.J,f))}this.cb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=gd(b.va,this.Hk.bind(this)))&& -(b.J=a[0],wd(b,a[1]));break;case 72:Pq(this,null,e);break;case 80:32==c?Lq(this,hq(this,h,k),0,f,!0,!!this.ka):128>c?Lq(this,hq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Nq(this,hq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Qb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",lq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Eq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Tq(this,a,b));return c}; -m.tb=function(a,b){return a.Sb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Tq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Tq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].wf(d&e.A,b&255,d)}c&&Tq(this,a,c);Qc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):fc(this.ea,d,b),c&&Tq(this,a,c),Qc(this.F,!0))};function hq(a,b,c,d,e,f,g){return Uq(a,{},b,c,d,e,f,g)}function Uq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Sq(a)?2:1);b.Sb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Vq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Sb,a.pc,a.Se,a.Wd]}function Wq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Sb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} -function Xq(a,b,c){if(null!=b.Z&&(a=Eq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=$q(a,b,void 0),f=null):(f=$q(a,b,void 0),null==f&&(g=null)):(h=$q(a,b.substring(0,f),void 0),g=$q(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=hq(a,g,h,f,c),d||Xq(a,e,!0)||(a.O("invalid offset: "+Rq(e)),e=null));return e}function ar(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=br(a,b.jk=c[2]))}function Tq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Xq(a,b)||(b.Ra=0,b.Da=null))}function Hq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Rq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Hq(a.Ra,a.Z,a.pc)}function Iq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=sc[c],6==c&&(d=d.Cd,h+=" -> "+sc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(tq,a.substr(b,2))));return c} -function er(a,b){var c=0,d=fr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function fr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ia)32==b&&(c=d.Za);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ii;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Ob.Z;break;case 21:c=d.Pb.Z;break;case 56:c=K(d)}}}return c} -function gr(a,b){b=Zq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=dr(b,c+1),0<=e&&(b=b.substr(0,c)+er(a,e)+b.substr(c+1+tq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(d=e+' "'+Iq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(Tq(a,d),d=e+ -' "'+Iq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=gq.prototype;m.message=function(a,b){b&&(a+=" at "+Rq(hq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Qc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>nq.indexOf(b),!d)){var g=mq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+gr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Hq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Hq(e,h):""))}m.gh=function(){this.O("Type ? for help with PCjs Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;lq(this,a)}}; -function jq(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(mr(this,a,a.length-1,"set"),jq(this)));return d}; -function Qq(a,b,c,d,e){for(var f=!1,g=nr(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Aq[f])&&(q=p[z]);q&&(n=qq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Bq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Sb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Sb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=uq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=uq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Sb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=rr(v,ia,E,H);v=P}else v=160==L?rr(a,g&7,E,b):rr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Sb?8:4);break;case 4:if(L.Sb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -hq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Sb,L.pc);E=Rq(L);v=sr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Sb?-1:65535),v=r(E,b.Sb?8:4),E=sr(a,hq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":rr(a,(E&3840)>>8,E,b):112==L?v=rr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Rq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.iaa.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Sb))b+=16;return tq[b]} -function ur(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Gq(a){return r(a,a&-65536?8:4)}function vr(a,b){8<=b&&15>=b&&4a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+wr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=wr(a,a.F.Ob,b)+" "+wr(a,a.F.Pb,b)+"\n");c+=xr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+xr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+xr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+vr(a,32);80386<=a.F.ia&&(c+=vr(a,34)+vr(a,35))}else 80386<=a.F.ia&&(c+=wr(a,a.F.Ob,b)+" "+wr(a,a.F.Pb,b)+" ");return c+=vr(a,23)+ur(a,"V")+ur(a,"D")+ur(a,"I")+ur(a,"T")+ur(a,"S")+ur(a,"Z")+ur(a,"A")+ur(a,"P")+ur(a,"C")}var zr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ar(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function $q(a,b,c){var d;if(b){b=Zq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} -function Pq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Rq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function ir(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.aa=hq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=hq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Ob.load(h);break;case "GS":a.F.Pb.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Qc(a.F);a.O("updated registers:")}}a.O(yr(a,d));c&&(a.aa= -hq(a,K(a.F),a.F.va.Z),jr(a,Rq(a.aa)))}}function Jr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(gr(a,c[2])):$q(a,b,!0)}function Kr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=qr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function br(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function pr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Rq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Te&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Te),qd=qd+(" %%"+cr(be.ui,be.Ui)),qd=qd+(" %%"+cr(be.vi,be.Vi,!0)), -qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Ir(a,P);break a}for(bb in vq)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+En||a.Ub,de=+Fn||10;isNaN(Db)?Db=de:Gn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); -tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ii=[];"call"==Fn&&(de=1E5,ii=["CALL"]);for(void 0!==En&&a.O(Db+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Db;Hn++;de--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var ji=P[0];if(ji){var Ve=Dq(a,ji);if(void 0===Ve||0>Ve||255>> -0,65536>4||1,li="dd"==ia?4:"dw"==ia?2:1,Mn=0;Mnoi;oi++){var sg=a.Qa(ee,1),rg=rg|sg<<(mi++<<3);mi==li&&(We+=r(rg,2*li),We+=1==li?7==oi?"-":" ":" ",rg=mi=0);ni+=32<=sg&&128>sg?String.fromCharCode(sg):"."}sd&&(sd+="\n");sd+=ja+" "+We+" "+ni}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var tg=1,Nn=255,On=a.Qa,Pn=a.qc;"ew"==g[0]&&(tg=2,Nn=65535,On=a.na,Pn=a.jb);var Qn=tg<<1,Rn=g[1]; -if(null==Rn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Yq(a,Rn);if(ug)for(var vg=2;vgui;){for(var uc=null,ms=256;Tc.Ra>>>0>>0;){Ze.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ms--)break;Ze.Z=Tn;if(uc=Kr(a,Ze))break;Ze.Z=a.tb(Tc);if(uc=Kr(a,Ze,!0)){Tn=a.tb(Tc,!0);0Ur){if(d.load(this.aa)){this.V=new hf(this,Wr,"failsafe");this.V.load()&&($r(this,d),a=2,Or(this.V));N(this.V,"timestamp",qa());Pr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Qr(d)){var f=Rr(d,"code"),g=Rr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Or(d),d.load()?(c=Qr(d),e=!0):c=!1))}e&&Zr(this,c?d:null)}else 2==a&&d.clear()}else Zr(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ka||(this.O("PCjs v"+Wr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ka=!0);this.F&&(as(this,this.F,b,c,a),Sc(this.F));this.pa&&($r(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function $r(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.wa,d=a.ke(),e=b.toString(),f={app:"PCjs"};f.ver=Wr;f.url=c;f.user=d;f.type="bug";f.data=e;va("http://www.pcjs.org/api/v1/report",f,!0)}} -function Mr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Wr),g=new hf(a,Wr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.4");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.Zg=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.Zg+=g.size,g.size&&(e.Qg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Nb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);rs(a,b,c)}})}else c(a,null)} -function ss(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--ds||Sa(!0));k=!1}var g,h,k=!0;ds++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.4/components.xsl");l=function(d,h){h?es(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--ds||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ds||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?es(b,a,d,!0,e,l):qs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ss(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function ts(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){us(b,d)}):us(null,d)}else w("Error ("+c+") requesting "+a)} -function us(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:,stepping:'' - - - - - - - - - - - - - - - 5150 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - black - - - - - - - - - - - - - - false - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 20 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcjs/1.21.5/document.css b/versions/pcjs/1.21.5/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.5/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.5/document.xsl b/versions/pcjs/1.21.5/document.xsl deleted file mode 100644 index 589e7511e..000000000 --- a/versions/pcjs/1.21.5/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.5/machine.xsl b/versions/pcjs/1.21.5/machine.xsl deleted file mode 100644 index a0adedb99..000000000 --- a/versions/pcjs/1.21.5/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.5/manifest.xsl b/versions/pcjs/1.21.5/manifest.xsl deleted file mode 100644 index 7c89e085c..000000000 --- a/versions/pcjs/1.21.5/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.5/outline.xsl b/versions/pcjs/1.21.5/outline.xsl deleted file mode 100644 index 70dbc7d5c..000000000 --- a/versions/pcjs/1.21.5/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.5/pc-dbg.js b/versions/pcjs/1.21.5/pc-dbg.js deleted file mode 100644 index e18fc6e00..000000000 --- a/versions/pcjs/1.21.5/pc-dbg.js +++ /dev/null @@ -1,818 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Qb=function(a,b,c,d){return this.V&&this.V.Qb(a,b,c,d)||this.F&&this.F.Qb(a,b,c,d)||this.B&&this.B.Qb(a,b,c,d)||this.ha&&this.ha.Qb(a,b,c,d)?!0:this.parent.Qb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ja&&a.ka){e=a.ja.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ja,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ja,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Nb=1<>2;this.A=this.Nb-1;this.U=this.X/this.Nb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0a.Nb?a.Nb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Ne+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Ne){k=g.size-(b-h);k>c&&(k=c);g.Ne=b-g.Da+k;c-=k;b=h+a.Nb;continue}}return Tb(a,1,b,c)}g=a.sa[f];b=new B(b,k,a.Nb,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Nb;c-=k}return 0>=c?(Ub(a.F),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Wb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Si=function(){return null};function gc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||rc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Yb(this,e.gh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Yb(this,ac?bc:cc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.ii)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ja,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ja,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var cc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],bc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.ug=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.ug*this.Y.Yd;this.la.Ib=!1;this.la.eh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Qb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Ib){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Ib=!0;this.la.eh=!0;this.N&&ad(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){bd(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f=(Wc(d.F, -d.ka)-e.xd)/d.gb|0,g=cd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&dd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh;break}}while(this.la.Ib)}catch(q){this.Wb(); -Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&bd(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=hd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; -m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};function id(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&fd(a,!0)}function jd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&fd(a,!0)} -function hd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,fd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),kd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return ld(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,fd(a,!0,!0,!1));return k} -function ld(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,xd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),yd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),zd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function fd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.tg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.og,a.oc=a.pg;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.og);if(a.type&2048||!(a.type&512))a.oc=a.pg;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.lh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Bd(a){this.ia=a.model||8088;var b=a.stepping;this.Uc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ia?xb:wb;this.X=Cd;this.bg=Dd;this.gg=Ed;this.hg=Fd;if(80186<=this.ia&&(this.X=Cd.slice(),this.bg=Dd.slice(),this.gg=Ed.slice(),this.ra=31,this.X[15]=Gd,this.X[96]=Hd,this.X[97]=Id,this.X[98]=Jd,this.X[99]=Gd,this.X[100]=Gd,this.X[101]= -Gd,this.X[102]=Gd,this.X[103]=Gd,this.X[104]=Kd,this.X[105]=Ld,this.X[106]=Md,this.X[107]=Nd,this.X[108]=Od,this.X[109]=Pd,this.X[110]=Qd,this.X[111]=Rd,this.X[192]=Sd,this.X[193]=Td,this.X[200]=Ud,this.X[201]=Yd,this.X[241]=Zd,this.bg[7]=$d,this.gg[7]=$d,80286<=this.ia)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=ae;this.tc=ge.slice();for(a=0;a=this.Uc&&(this.tc[166]=oe,this.tc[167]=pe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Pg=0;this.ld=this.sa=[];this.La=this.Nb=this.Fa=this.Gd=this.jd=this.Gb=this.Db=0;qe(this)}db(Bd,Lc);function re(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function se(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&se(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Gb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||te.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Gb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||te.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&ac&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Yb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function ue(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Bd.prototype;m.reset=function(){this.la.Ib&&this.Wb();qe(this);Oc(this);this.la.ud=!1}; -function ve(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function we(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function qe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ja=a.wa=0;a.aa=0;a.ig=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new ed(a,1,"CS");a.vb=new ed(a,2,"DS");a.Xa=new ed(a,2,"ES");a.ta=new ed(a,3,"SS");G(a,0);kd(a,0);if(80386<=a.ia){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ji=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Ob=new ed(a,2,"FS");a.Pb=new ed(a,2,"GS");ue(a)}a.qf=new ed(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ia)zd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new ed(a,5,"LDT",!0);a.Sa=new ed(a,4,"TSS",!0);a.Ea=new ed(a,6,"VER",!0);zd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}yd(a,0);md(a)} -function xe(a){2==a.Oc?(a.dc=a.na,a.Oa=ye,a.$a=ze,a.Jb=Ae,2==a.ba?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Ee,a.fa=Fe,a.ya=Ge)):(a.dc=a.oa,a.Oa=He,a.$a=Ke,a.Jb=Le,2==a.ba?(a.W=Me,a.fa=Ne,a.ya=Oe):(a.W=Pe,a.fa=Qe,a.ya=Re))}function nd(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Se(a))}function Se(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Me,a.fa=Ne,a.ya=Oe)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=Ee,a.fa=Fe,a.ya=Ge):(a.W=Pe,a.fa=Qe,a.ya=Re))} -function bf(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;xe(a);a.ba=a.va.ba;a.R=a.va.R;Se(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+xd(this)|0};function cf(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function md(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Fd;fd(a.va,!1,b,c);fd(a.vb,!1,b,c);fd(a.ta,!1,b,c);fd(a.Xa,!1,b,c);80386<=a.ia&&(fd(a.Ob,!1,b,c),fd(a.Pb,!1,b,c));bf(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ia&&(g.push(this.ji),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,xd(this)];80386<=this.ia&&(b.push(this.Ob.save()),b.push(this.Pb.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.xg==b.Gb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;bf(a)}function zd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ia||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function xd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&md(a,!0)}function yd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Qb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Qb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function od(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function pd(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ia>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ia>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ia||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Dg(a){return a.F.oa(a.F.D)}function Eg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Fg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Gg(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Hg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Ig(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Bg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Jg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Kg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ja=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Og(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ja<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Pg=Math.log(10)/Math.LN2,Qg=Math.LOG2E,Rg=Math.PI,Sg=Math.log(2)/Math.LN10,Tg=Math.LN2,Ug=Math.pow(2,63);function Vg(){this.ma&=-32896;ag(this)} -function Wg(){lg(this,U(this,0),U(this,this.A))}function Xg(){lg(this,U(this,0),U(this,this.A))&&Lg(this)}function Yg(){Xg.call(this)}function Zg(){W(this,0,kg(this,U(this,0),Eg(this)))}function $g(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Mg(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Lg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Ug))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Mg(this,a)},6:function(){var a=mg(this,Lg(this));null!=a&&(this.ea[0]= -Kg(a,8),this.ea[1]=Kg(a/1E8,8),this.ea[2]=Kg(a/1E16,2),0>a&&(this.ea[2]|=32768),Hg(this))},7:function(){null!=mg(this,U(this,0),Ug)&&(this.nk(),Lg(this))},48:function(){$g.call(this);Lg(this)},49:mh,50:hh,51:hh,52:kh}},oh=[Vg,ah,bh,ch,dh,eh,ih,fh,jh,kh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function yh(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function zh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ah(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Bh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Dh(a,b){if(-1===this.D)return zh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Hh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a}function Ih(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a} -function Jh(a){if(this.Tb){var b=this.Tb,c=this.ig,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=nh[c][f]){if(0>oh.indexOf(e)){var f=b.F,g=f.re;8087==b.ia&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ja=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Kh(a){if(80186>this.ia)return Lh.call(this,a);C.call(this,13,0);return a}function $d(a){C.call(this,6);return a} -function Lh(a){he.call(this);return a}function Mh(a,b){var c=Nh.call(this,this.T(),b);80386>this.ia&&(this.A-=12);return c}function Oh(a,b){var c;a=this.Ma();c=2==this.ba?Nh.call(this,a,b):Ph.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function Qh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Rh.call(this,a,b);c&&(this.ja=~this.ja+1|0,this.wa=~this.wa+(this.ja?0:1)|0)} -function Nh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Ph(a,b){Qh.call(this,a,b);this.wa!=this.ja>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ja}function Sh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function Zh(a,b){if(-1===this.D)return he.call(this),a;kd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} -function $h(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ai(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function bi(a,b){return b} -function ci(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return $h.call(this,0,b)} -function di(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Ob.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Pb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return $h.call(this,0,b)} -function Rh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function hi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Bi(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Of(this,a),this.A-=this.B.bi;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.bi;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ja=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;md(this);this.Za&-2147483648?se(this):ue(this)}function Ad(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&kd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,qe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function te(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ze(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ae(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ce(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function De(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Fe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ge(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ke(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Le(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Me(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ne(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Oe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Pe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Qe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Re(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ia&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this,I(this)))},function(){this.P= -oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc},function(){J(this,this.I& -this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M=this.M&~this.R|D(this); -this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C?1:this.B.Dg},Sj,function(){this.ya.call(this, -hk,this.T);this.A-=-1===this.C?1:this.B.Dg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,di)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Uh)},function(){var a;this.W.call(this,ci);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;wd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break;case 2:a=this.M;this.M=this.aa;kd(this,a);break; -case 3:a=this.H;this.H=this.aa;vd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ia?this.Ob.load(a):wd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ia?this.Pb.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;kd(this,a);break;case 7:a=this.J,this.J=this.aa,vd(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R; -this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R| -a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=xd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Sc)}, -function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;yd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(xd(this)&213)<<8;this.A-=this.B.gc},function(){var a=this.G&-256,b; -b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|od(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.qc(this.Xa.oc(this.J& -c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=od(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}}, -function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh)); -if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha& -256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba: -this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e= -od(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this), -this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I=this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M= -this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Vh)},function(){this.W.call(this,Th)},function(){this.S|=1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this, -jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj; -this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);ld(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);md(this,!0,!0);kd(this,f);G(this,e);wd(this,g);vd(this,h);this.Ob.load(k);this.Pb.load(l)}null!= -zd(this,b,c,!1)&&(yd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c, -191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+ -a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa();Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255, -this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-= -this.B.Ch},function(){zd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a= -this.M&65535;Hf(this,a,2,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this,lk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R)},function(){this.cb= -!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this,Dd,uj)},function(){this.ya.call(this,Ed,uj)}],Tj=[rh,ei,ph,gi, -th,bj,jj,Hh],hk=[sh,fi,qh,hi,uh,cj,kj,Ih],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Kh,Kh,Kh,Kh,Kh,Kh,Kh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Lh,Lh,Lh,Lh,Lh,Lh,Lh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e= -Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Lh,function(a,b){var c=b&this.ra;c&&(9>24>>c-1, -a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<< -16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Lh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c=a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>> -c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Lh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ja=(this.G&255)*a&65535;this.ja&65280?(wf(this),yf(this)): -(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ja=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ia&&-128==d)return Aj.call(this),a;this.ja=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a, -b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ja=c&65535;this.wa=c>>16&65535}else Rh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ja=c&65535,this.wa=c>>16&65535,c=32767c):(Qh.call(this,a,this.G),c=this.wa!=this.ja>>31);c?(wf(this),yf(this)):(xf(this),zf(this)); -this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ja=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/ -c|0;if(d!=d<<16>>16||8086==this.ia&&-32768==d)return Aj.call(this),a;this.ja=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ja>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ja=-this.ja),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Dd=[function(a){var b=a+1|0;of(this,a,1,b,190);this.A-=-1=== -this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Lh,Lh,Lh,Lh,Lh,Lh],Ed=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this, -a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this,a);zd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ia&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a},Lh]; -function oe(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function pe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ge=Array(256);ge[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};ge[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ge[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Sh)};ge[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Yh)}; -ge[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),jd(this.Xa,2102,this.na(2084)),jd(this.va,2108,this.na(2082)),jd(this.ta,2114,this.na(2080)),jd(this.vb,2120,this.na(2078)),yd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),jd(this.Bc,2132,this.na(2076)),jd(this.Sa,2144,this.na(2070)),this.A-=195)};ge[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ge[11]=Gd;ge[166]=Gd;ge[255]=Gd;var M=[];M[5]=Gd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;yd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);id(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));id(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);id(this.Pb,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));id(this.Ob,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));id(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));id(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));id(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));id(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:he.call(this);return}we(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(we(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:Ad.call(this,b);this.A-=5;break;default:he.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(a=ve(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Ce[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,Bi)}; -M[145]=function(){qj.call(this,Bi)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){pd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){pd(this,this.Pb.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Nh:Ph)};M[178]=function(){this.W.call(this,Zh)};M[179]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)}; -M[182]=function(){this.Oa.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,xh)};M[189]=function(){this.W.call(this,yh)}; -M[190]=function(){this.Oa.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Lh,Lh],Fd=[$d,$d,$d,$d,$d,$d,Lh,Lh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Lh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Lh],ok=[Lh,Lh,Lh,Lh,zh,Ch,Bh,Ah]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ia=b&&qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ja=[360,360],(b=a.floppies)&&b.length&&(this.ja=b),uk(this,vk,this.ja.length),uk(this,wk,a.monitor||(this.ia=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Qg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Qg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Qb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ia|0)||5160.101==this.ia)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;hc(b,this,Ck);lc(b,this,Dk);this.iab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}cf(c,26,this.am.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ia|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;el(a,b,c,!0)}function fl(a,b,c){if(b=(a=Ak[a.ia|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ll(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function ml(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function nl(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function pl(a,b,c){b=a.L[b>>2].Dc[b&3];b.qg&&b.fh&&b.Fg?(c&&(b.done=c),b.Ee||yl(a,b,!0)):c&&c(!0)} -function yl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.qg,b.Fg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){zl(b)||yl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.qg,b.Fg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!zl(b););} -function zl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Cl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Cl(a))}function Cl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&ad(a))}function Jl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Kl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ll(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Gl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Il(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function cd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ll(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Gl(a,b)}function Gl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Il(a,b),h=cd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function bd(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Ml(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Nl(this,b)};function Nl(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Ol(a.B,!(b&128),!!(b&64));c!=d&&ad(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ia|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Ml(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Nl(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Pl(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Ql(this,b);break;case 209:Rl(this,b);break;default:if(Ql(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Sl(a);break;case 243:a.W&&(c=0);Tl(a,250);a.W=c;break;case 237:a.W&&(c=0);Tl(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Ul(this,d)}}this.fa=b;this.N&=-9}; -m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Nl(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Ul(this,this.aa);break;case 173:Ql(this,this.aa|16);break;case 174:Ql(this,this.aa&-17);this.B&&Pl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Ql(this,this.aa|16);Ul(this,85);Rl(this,3);break;case 171:Ul(this,0);break;case 192:Ul(this,this.ga);break;case 208:Ul(this,this.Ka);break;case 224:Ul(this,this.aa&16?0: -1);break;case 240:a&1&&qe(this.F)}};function Ql(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Ol(a.B,!!(b&8),!(b&16))}function Ul(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Rl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||qe(a.F)}function Vl(a,b){a.ia=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function ad(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Il(a,2));if(20>c||2E4>>4,0,this.L,this.C,this.Rd),delete this.Rd);return!0};Yl.prototype.hc=function(){return!0}; -function Zl(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;Xk(a)}}else w("No RAM allocated")};m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function em(a){this.N=a;this.C=gm;this.ha=hm;this.B=im;this.A=null}var fm=-2134900736,gm=65535,hm=2575,im=2,jm=[null,0],km=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=em.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Ri=function(){return jm};m.gh=function(){return km}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, -to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},om={};om[186]=X[";"];om[187]=X["="];om[188]=X[","];om[189]=X["-"];om[190]=X["."];om[191]=X["/"];om[192]=X["`"];om[219]=X["["];om[220]=X["\\"];om[221]=X["]"];om[222]=X["'"];om[173]=X["-"];var pm={};pm[X["1"]]=X["!"];pm[X["2"]]=X["@"];pm[X["3"]]=X["#"];pm[X["4"]]=X.$;pm[X["5"]]=X["%"];pm[X["6"]]=X["^"];pm[X["7"]]=X["&"];pm[X["8"]]=X["*"];pm[X["9"]]=X["("]; -pm[X["0"]]=X[")"];pm[186]=X[":"];pm[187]=X["+"];pm[188]=X["<"];pm[189]=X._;pm[190]=X[">"];pm[191]=X["?"];pm[192]=X["~"];pm[219]=X["{"];pm[220]=X["|"];pm[221]=X["}"];pm[222]=X['"'];pm[173]=X._;pm[61]=X["+"];pm[59]=X[":"]; -var qm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},rm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},sm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},tm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=lm.prototype; -m.Qb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return um(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||vm(e,a,!0);return b},c.onkeyup=function(a){return um(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();vm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==rm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();wm(a,c,!0);vm(a,c,!0)}}(this,g,rm[g]),!0;if(void 0!==sm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){vm(a,c)}}(this,b,sm[b]),b=function(a,b,c){return function(){xm(a,c)}}(this,b,sm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,ym(e,300))},!0}return!1};function zm(a,b,c){if(a.ga){for(var d in pm)if(b==pm[d]){b=+d;(d=om[d])&&(b=d);break}for(var e in sm)if((d=sm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=sm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function mm(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=nm.indexOf(a.ia),0>c&&(c=0));b=nm[c];a.ra=parseInt(b.substr(2),10)}function Sl(a){y(a,"keyboard reset",65792);a.A=[];Tl(a,170)}function Ol(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Wl(a,!0);a.X&&a.fa&&(Sl(a),a.fa=!1)}function Tl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Vl(a.N,b))}function Pl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Vl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Ml(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Wl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in tm)d="led-"+g,e=tm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function vm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){qm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,zm(a,b,!0),e++),0b.Ld){if(!b.Ef){xm(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Bm(a,b)}}(a),c)}} -function Dm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=pm[b])d=a}else if(a=om[b])d=a;return d}m.Gg=function(a){a||(this.xc&=-256)}; -function um(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Dm(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),wm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Vl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Vm:Wm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.mb=c[5];this.nh=Vm;this.kg=Xm;if(5<=b){this.nh=Wm;this.kg=Ym;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Tg=Zm;this.Mg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Vg=$m;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Ug=an;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.di&255};cn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};cn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};cn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -cn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};cn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function dn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Jg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Mg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,en(b,"CRTC",b.Ac,b.mb,b.kg),5<=b.Ua&&(en(b," GRC",b.be,b.ae,b.Ug),en(b," SEQ",b.ce,b.Je,b.Vg),en(b," ATC",b.Od,b.Tc,b.Tg),en(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Xe),en(b," FEAT",b.dg),en(b," MISC",b.uf),en(b," STATUS0",b.Mg)),en(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||en(b," MODEREG",b.gd),3==b.Ua&&en(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.wg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.We();a=!0}this.V&&this.V.focus()}return a}; -function Hm(a,b){!b&&a.ga&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; -function pn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){rn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){rn(a,b)},!0),c.addEventListener("touchend",function(b){rn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.hg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(sn,!0)})}m.Gg=function(a){this.B&&this.B.Gg(a)}; -function rn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?vm(a.B,1040,!0):vm(a.B,1038,!0):1!=d&&(d?vm(a.B,1039,!0):vm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.hg;!0===c?(a.Id=500f){a.W.je(sn,!0);a.W.je(sn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ia||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case cm:b=7;break;case 5:var c=Km[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Tm(this,1);this.aa=this.Wc=new Tm(this,3);5>this.Ua?this.A=new Tm:(this.A=new Tm(this,this.Ua,null,this.Ed),tn(this));un(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;vn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}qn(this,!0)}};function tn(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,dn(this.rd));N(a,1,dn(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,dn(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Tm(this,1,a[0]);this.aa=this.Wc=new Tm(this,3,a[1]);this.A=new Tm(this,this.Ua,a[3],this.Ed);this.A.Hc&&tn(this);un(this);if(!wn(this))return!1;xn(this);return!0}; -function Im(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)bm(a,f,[6144,0]);else if(2048==f.length)bm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ja||a.ha)&&rb(a)}} -function yn(a,b){if(1==b)return a.Ca[0]=Nm[0],a.Ca[1]=Nm[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Nm[c&15];c=c&32?Pm:Om;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Qm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function bm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function un(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=yn(a);null!=a.Jb[0]&&zn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(zn(a,1,a.Jb[1],d,e,14,a.Uc,Lm,Mm)&&(c=!0),a.Tb&&zn(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function zn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(An(a,b,c,d,e,f,g,h,k)&&(l=!0),a.tn&&An(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function An(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Rc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Bn(wa,Ie,Xd,Je);v&&Bn(wa,Ie+1,Xd,Je)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Sg[F]=ia;l=!0}}a.Oa[b]=q;return l}function Cn(a){0a.cb&&(a.cb=0):a.cb=-1} -function xn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Dn(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(Dn(a),a.ua=c);d=d-b+1;if(a.ig!=b||a.Ce!=d)a.ig=b,a.Ce=d;a.$a=e+1;Cn(a)}}} -function Dn(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==cm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ea.Og(c.ob,c.ac,c.gh(),!0),!0):!1} -function wn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!vn(a,d,b))return!1;eo(a,c);return!0} -function vn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Pg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){Dn(a);if(a.ob){if(!Zb(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Fm[7][2];b=0;if(c=Fm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>fn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.X|0;a.Yf=a.ag/ -a.jd|0;a.Ub=a.Yf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.ja.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.ja.fillStyle=a.ka.style.backgroundColor,a.ja.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);qn(a)}return!0}function Bn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.ja.fillStyle=h.Oe[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ja.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.ig,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ja.fillStyle=h.Oe[d],a.ja.fillRect(b,c+f,a.Ja,g)))} -function qn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Pg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Bn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Jg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;wn(this,!1)}; -m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Od&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&un(this,!0)&&qn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; -m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+Ya.aspect;f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Qb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,po,this.V);lc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ja;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case sn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.rg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.rg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.kh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.uh=Zo(a,e,17,2),d.yg=Zo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.ih)/d.yg|0;d.Ag=4084>=d.im?12:16;d.Sk=12==d.Ag?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.yg,E=0;E>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.B=[];this.ga=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; -m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0; -case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a=d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ga){c.parentNode.removeChild(c); -break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);this.ga&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Rb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Rb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Rb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Rb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Rb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Rb;e=d.kb=b;f=1;g=Ep(this);d.Hb=128<>2&1,c=Ep(this),d.Rb+=c-d.ge,0>d.Rb&&(d.Rb=0),d.Rb>=d.Bb&&(d.Rb=d.Bb-1),d.ge=c,d.Cb=32,d.Rb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Rb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b} -m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Ip(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Rb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Hb=128<Jp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c};function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Ip(a)}while(1);return b} -function Ip(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Rb++))}var wp={1009:rp.prototype.vl,1012:rp.prototype.xl,1013:rp.prototype.ul,1015:rp.prototype.wl},xp={1010:rp.prototype.Qm,1013:rp.prototype.Pm,1015:rp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.mg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Wp(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);$p(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function $p(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Wp(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Hb=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?Wp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaRead",b);pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaWrite",b);pl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Hb||(b.Re=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,xl(a.N,3,a,"dmaWriteBuffer",b),pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Wp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.mg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.mg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.mg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Xl,801:Kp.prototype.Yl,802:Kp.prototype.Wl},Np={496:Kp.prototype.Ak,497:Kp.prototype.dl,498:Kp.prototype.fl,499:Kp.prototype.gl,500:Kp.prototype.bl,501:Kp.prototype.al,502:Kp.prototype.cl,503:Kp.prototype.hl},Qp={800:Kp.prototype.nn,801:Kp.prototype.qn,802:Kp.prototype.pn,803:Kp.prototype.on,807:Kp.prototype.gi,811:Kp.prototype.gi,815:Kp.prototype.gi},Pp={496:Kp.prototype.wm,497:Kp.prototype.Bm,498:Kp.prototype.zm,499:Kp.prototype.Am,500:Kp.prototype.vm,501:Kp.prototype.um, -502:Kp.prototype.xm,503:Kp.prototype.tm,1014:Kp.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.xg;this.bc=new ed(this.F,7,"DBG");this.Ia=zq;80186<=this.F.ia&&(this.Ia=zq.slice(),this.Ia[15]=xq,80286<=this.F.ia&&(this.Ia[15]=yq,80386<=this.F.ia&&(this.Ja=8)));Mk(this,64,function(a){Dq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;cf(this.F,48,this.bm.bind(this));cf(this.F,65,this.cm.bind(this)); -this.ka=null;cf(this.F,104,this.dm.bind(this));rb(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;am(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;am(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Sd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=gd(b.va,this.Hk.bind(this)))&& -(b.J=a[0],wd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Qb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Sb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].wf(d&e.A,b&255,d)}c&&Uq(this,a,c);Qc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):fc(this.ea,d,b),c&&Uq(this,a,c),Qc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Tq(a)?2:1);b.Sb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Sb,a.pc,a.Se,a.Wd]}function Xq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Sb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=cr(a,b.jk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Da=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Iq(a.Ra,a.Z,a.pc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=sc[c],6==c&&(d=d.Cd,h+=" -> "+sc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(uq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ia)32==b&&(c=d.Za);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ji;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Ob.Z;break;case 21:c=d.Pb.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Qc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Sb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Sb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Sb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Sb?8:4);break;case 4:if(L.Sb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Sb,L.pc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Sb?-1:65535),v=r(E,b.Sb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.iaa.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Sb))b+=16;return uq[b]} -function vr(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=xr(a,a.F.Ob,b)+" "+xr(a,a.F.Pb,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ia&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ia&&(c+=xr(a,a.F.Ob,b)+" "+xr(a,a.F.Pb,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Ob.load(h);break;case "GS":a.F.Pb.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Qc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Te&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Te),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)), -qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var En=a.$a[bb];En?(P.shift(),P.shift(),En(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Fn=ja,Gn=Ha,Hn="",In=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+Fn||a.Ub,de=+Gn||10;isNaN(Db)?Db=de:Hn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); -tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ji=[];"call"==Gn&&(de=1E5,ji=["CALL"]);for(void 0!==Fn&&a.O(Db+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Db;In++;de--}}In||(a.O("no "+Hn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var ki=P[0];if(ki){var Ve=Eq(a,ki);if(void 0===Ve||0>Ve||255>> -0,65536>4||1,mi="dd"==ia?4:"dw"==ia?2:1,Nn=0;Nnpi;pi++){var sg=a.Qa(ee,1),rg=rg|sg<<(ni++<<3);ni==mi&&(We+=r(rg,2*mi),We+=1==mi?7==pi?"-":" ":" ",rg=ni=0);oi+=32<=sg&&128>sg?String.fromCharCode(sg):"."}sd&&(sd+="\n");sd+=ja+" "+We+" "+oi}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var tg=1,On=255,Pn=a.Qa,Qn=a.qc;"ew"==g[0]&&(tg=2,On=65535,Pn=a.na,Qn=a.jb);var Rn=tg<<1,Sn=g[1]; -if(null==Sn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Zq(a,Sn);if(ug)for(var vg=2;vgvi;){for(var uc=null,ns=256;Tc.Ra>>>0>>0;){Ze.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ns--)break;Ze.Z=Un;if(uc=Lr(a,Ze))break;Ze.Z=a.tb(Tc);if(uc=Lr(a,Ze,!0)){Un=a.tb(Tc,!0);0Vr){if(d.load(this.aa)){this.V=new hf(this,Xr,"failsafe");this.V.load()&&(as(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Pr(d),d.load()?(c=Rr(d),e=!0):c=!1))}e&&$r(this,c?d:null)}else 2==a&&d.clear()}else $r(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ka||(this.O("PCjs v"+Xr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ka=!0);this.F&&(bs(this,this.F,b,c,a),Sc(this.F));this.pa&&(as(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function as(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.wa,d=a.ke(),e=b.toString(),f={app:"PCjs"};f.ver=Xr;f.url=c;f.user=d;f.type="bug";f.data=e;va("http://www.pcjs.org/api/v1/report",f,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Xr),g=new hf(a,Xr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.5");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Nb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ss(a,b,c)}})}else c(a,null)} -function ts(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--es||Sa(!0));k=!1}var g,h,k=!0;es++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.5/components.xsl");l=function(d,h){h?fs(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--es||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--es||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?fs(b,a,d,!0,e,l):rs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ts(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function us(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} -function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' -
    - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:,stepping:'' - - - - - - - - - - - - - - - 5150 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - black - - - - - - - - - - - - - - false - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 20 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcjs/1.21.6/document.css b/versions/pcjs/1.21.6/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.6/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.6/document.xsl b/versions/pcjs/1.21.6/document.xsl deleted file mode 100644 index c08df9ee8..000000000 --- a/versions/pcjs/1.21.6/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.6/machine.xsl b/versions/pcjs/1.21.6/machine.xsl deleted file mode 100644 index 17864faea..000000000 --- a/versions/pcjs/1.21.6/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.6/manifest.xsl b/versions/pcjs/1.21.6/manifest.xsl deleted file mode 100644 index f9e56a8be..000000000 --- a/versions/pcjs/1.21.6/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.6/outline.xsl b/versions/pcjs/1.21.6/outline.xsl deleted file mode 100644 index e5ed13580..000000000 --- a/versions/pcjs/1.21.6/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.6/pc-dbg.js b/versions/pcjs/1.21.6/pc-dbg.js deleted file mode 100644 index e0d6e5934..000000000 --- a/versions/pcjs/1.21.6/pc-dbg.js +++ /dev/null @@ -1,818 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Qb=function(a,b,c,d){return this.V&&this.V.Qb(a,b,c,d)||this.F&&this.F.Qb(a,b,c,d)||this.B&&this.B.Qb(a,b,c,d)||this.ha&&this.ha.Qb(a,b,c,d)?!0:this.parent.Qb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ja&&a.ka){e=a.ja.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ja,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ja,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Nb=1<>2;this.A=this.Nb-1;this.U=this.X/this.Nb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0a.Nb?a.Nb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Ne+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Ne){k=g.size-(b-h);k>c&&(k=c);g.Ne=b-g.Da+k;c-=k;b=h+a.Nb;continue}}return Tb(a,1,b,c)}g=a.sa[f];b=new B(b,k,a.Nb,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Nb;c-=k}return 0>=c?(Ub(a.F),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Wb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Si=function(){return null};function gc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||rc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Yb(this,e.gh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Yb(this,ac?bc:cc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.ii)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ja,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ja,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var cc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],bc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.ug=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.ug*this.Y.Yd;this.la.Ib=!1;this.la.eh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Qb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Ib){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Ib=!0;this.la.eh=!0;this.N&&ad(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){bd(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f=(Wc(d.F, -d.ka)-e.xd)/d.gb|0,g=cd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&dd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh;break}}while(this.la.Ib)}catch(q){this.Wb(); -Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&bd(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=hd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; -m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};function id(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&fd(a,!0)}function jd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&fd(a,!0)} -function hd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,fd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),kd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return ld(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,fd(a,!0,!0,!1));return k} -function ld(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,xd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),yd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),zd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function fd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.tg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.og,a.oc=a.pg;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.og);if(a.type&2048||!(a.type&512))a.oc=a.pg;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.lh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Bd(a){this.ia=a.model||8088;var b=a.stepping;this.Uc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ia?xb:wb;this.X=Cd;this.bg=Dd;this.gg=Ed;this.hg=Fd;if(80186<=this.ia&&(this.X=Cd.slice(),this.bg=Dd.slice(),this.gg=Ed.slice(),this.ra=31,this.X[15]=Gd,this.X[96]=Hd,this.X[97]=Id,this.X[98]=Jd,this.X[99]=Gd,this.X[100]=Gd,this.X[101]= -Gd,this.X[102]=Gd,this.X[103]=Gd,this.X[104]=Kd,this.X[105]=Ld,this.X[106]=Md,this.X[107]=Nd,this.X[108]=Od,this.X[109]=Pd,this.X[110]=Qd,this.X[111]=Rd,this.X[192]=Sd,this.X[193]=Td,this.X[200]=Ud,this.X[201]=Yd,this.X[241]=Zd,this.bg[7]=$d,this.gg[7]=$d,80286<=this.ia)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=ae;this.tc=ge.slice();for(a=0;a=this.Uc&&(this.tc[166]=oe,this.tc[167]=pe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Pg=0;this.ld=this.sa=[];this.La=this.Nb=this.Fa=this.Gd=this.jd=this.Gb=this.Db=0;qe(this)}db(Bd,Lc);function re(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function se(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&se(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Gb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||te.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Gb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||te.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&ac&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Yb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function ue(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Bd.prototype;m.reset=function(){this.la.Ib&&this.Wb();qe(this);Oc(this);this.la.ud=!1}; -function ve(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function we(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function qe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ja=a.wa=0;a.aa=0;a.ig=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new ed(a,1,"CS");a.vb=new ed(a,2,"DS");a.Xa=new ed(a,2,"ES");a.ta=new ed(a,3,"SS");G(a,0);kd(a,0);if(80386<=a.ia){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ji=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Ob=new ed(a,2,"FS");a.Pb=new ed(a,2,"GS");ue(a)}a.qf=new ed(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ia)zd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new ed(a,5,"LDT",!0);a.Sa=new ed(a,4,"TSS",!0);a.Ea=new ed(a,6,"VER",!0);zd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}yd(a,0);md(a)} -function xe(a){2==a.Oc?(a.dc=a.na,a.Oa=ye,a.$a=ze,a.Jb=Ae,2==a.ba?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Ee,a.fa=Fe,a.ya=Ge)):(a.dc=a.oa,a.Oa=He,a.$a=Ke,a.Jb=Le,2==a.ba?(a.W=Me,a.fa=Ne,a.ya=Oe):(a.W=Pe,a.fa=Qe,a.ya=Re))}function nd(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Se(a))}function Se(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Me,a.fa=Ne,a.ya=Oe)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=Ee,a.fa=Fe,a.ya=Ge):(a.W=Pe,a.fa=Qe,a.ya=Re))} -function bf(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;xe(a);a.ba=a.va.ba;a.R=a.va.R;Se(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+xd(this)|0};function cf(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function md(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Fd;fd(a.va,!1,b,c);fd(a.vb,!1,b,c);fd(a.ta,!1,b,c);fd(a.Xa,!1,b,c);80386<=a.ia&&(fd(a.Ob,!1,b,c),fd(a.Pb,!1,b,c));bf(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ia&&(g.push(this.ji),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,xd(this)];80386<=this.ia&&(b.push(this.Ob.save()),b.push(this.Pb.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.xg==b.Gb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;bf(a)}function zd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ia||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function xd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&md(a,!0)}function yd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Qb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Qb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function od(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function pd(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ia>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ia>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ia||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Dg(a){return a.F.oa(a.F.D)}function Eg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Fg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Gg(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Hg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Ig(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Bg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Jg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Kg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ja=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Og(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ja<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Pg=Math.log(10)/Math.LN2,Qg=Math.LOG2E,Rg=Math.PI,Sg=Math.log(2)/Math.LN10,Tg=Math.LN2,Ug=Math.pow(2,63);function Vg(){this.ma&=-32896;ag(this)} -function Wg(){lg(this,U(this,0),U(this,this.A))}function Xg(){lg(this,U(this,0),U(this,this.A))&&Lg(this)}function Yg(){Xg.call(this)}function Zg(){W(this,0,kg(this,U(this,0),Eg(this)))}function $g(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Mg(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Lg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Ug))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Mg(this,a)},6:function(){var a=mg(this,Lg(this));null!=a&&(this.ea[0]= -Kg(a,8),this.ea[1]=Kg(a/1E8,8),this.ea[2]=Kg(a/1E16,2),0>a&&(this.ea[2]|=32768),Hg(this))},7:function(){null!=mg(this,U(this,0),Ug)&&(this.nk(),Lg(this))},48:function(){$g.call(this);Lg(this)},49:mh,50:hh,51:hh,52:kh}},oh=[Vg,ah,bh,ch,dh,eh,ih,fh,jh,kh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function yh(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function zh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ah(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Bh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Dh(a,b){if(-1===this.D)return zh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Hh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a}function Ih(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a} -function Jh(a){if(this.Tb){var b=this.Tb,c=this.ig,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=nh[c][f]){if(0>oh.indexOf(e)){var f=b.F,g=f.re;8087==b.ia&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ja=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Kh(a){if(80186>this.ia)return Lh.call(this,a);C.call(this,13,0);return a}function $d(a){C.call(this,6);return a} -function Lh(a){he.call(this);return a}function Mh(a,b){var c=Nh.call(this,this.T(),b);80386>this.ia&&(this.A-=12);return c}function Oh(a,b){var c;a=this.Ma();c=2==this.ba?Nh.call(this,a,b):Ph.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function Qh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Rh.call(this,a,b);c&&(this.ja=~this.ja+1|0,this.wa=~this.wa+(this.ja?0:1)|0)} -function Nh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Ph(a,b){Qh.call(this,a,b);this.wa!=this.ja>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ja}function Sh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function Zh(a,b){if(-1===this.D)return he.call(this),a;kd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} -function $h(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ai(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function bi(a,b){return b} -function ci(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return $h.call(this,0,b)} -function di(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Ob.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Pb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return $h.call(this,0,b)} -function Rh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function hi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Bi(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Of(this,a),this.A-=this.B.bi;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.bi;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ja=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;md(this);this.Za&-2147483648?se(this):ue(this)}function Ad(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&kd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,qe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function te(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ze(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ae(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ce(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function De(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Fe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ge(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ke(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Le(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Me(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ne(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Oe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Pe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Qe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Re(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ia&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this,I(this)))},function(){this.P= -oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc},function(){J(this,this.I& -this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M=this.M&~this.R|D(this); -this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C?1:this.B.Dg},Sj,function(){this.ya.call(this, -hk,this.T);this.A-=-1===this.C?1:this.B.Dg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,di)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Uh)},function(){var a;this.W.call(this,ci);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;wd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break;case 2:a=this.M;this.M=this.aa;kd(this,a);break; -case 3:a=this.H;this.H=this.aa;vd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ia?this.Ob.load(a):wd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ia?this.Pb.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;kd(this,a);break;case 7:a=this.J,this.J=this.aa,vd(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R; -this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R| -a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=xd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Sc)}, -function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;yd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(xd(this)&213)<<8;this.A-=this.B.gc},function(){var a=this.G&-256,b; -b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|od(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.qc(this.Xa.oc(this.J& -c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=od(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}}, -function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh)); -if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha& -256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba: -this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e= -od(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this), -this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I=this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M= -this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Vh)},function(){this.W.call(this,Th)},function(){this.S|=1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this, -jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj; -this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);ld(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);md(this,!0,!0);kd(this,f);G(this,e);wd(this,g);vd(this,h);this.Ob.load(k);this.Pb.load(l)}null!= -zd(this,b,c,!1)&&(yd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c, -191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+ -a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa();Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255, -this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-= -this.B.Ch},function(){zd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a= -this.M&65535;Hf(this,a,2,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this,lk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R)},function(){this.cb= -!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this,Dd,uj)},function(){this.ya.call(this,Ed,uj)}],Tj=[rh,ei,ph,gi, -th,bj,jj,Hh],hk=[sh,fi,qh,hi,uh,cj,kj,Ih],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Kh,Kh,Kh,Kh,Kh,Kh,Kh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Lh,Lh,Lh,Lh,Lh,Lh,Lh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e= -Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Lh,function(a,b){var c=b&this.ra;c&&(9>24>>c-1, -a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<< -16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Lh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c=a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>> -c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Lh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ja=(this.G&255)*a&65535;this.ja&65280?(wf(this),yf(this)): -(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ja=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ia&&-128==d)return Aj.call(this),a;this.ja=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a, -b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ja=c&65535;this.wa=c>>16&65535}else Rh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ja=c&65535,this.wa=c>>16&65535,c=32767c):(Qh.call(this,a,this.G),c=this.wa!=this.ja>>31);c?(wf(this),yf(this)):(xf(this),zf(this)); -this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ja=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/ -c|0;if(d!=d<<16>>16||8086==this.ia&&-32768==d)return Aj.call(this),a;this.ja=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ja>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ja=-this.ja),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Dd=[function(a){var b=a+1|0;of(this,a,1,b,190);this.A-=-1=== -this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Lh,Lh,Lh,Lh,Lh,Lh],Ed=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this, -a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this,a);zd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ia&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a},Lh]; -function oe(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function pe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ge=Array(256);ge[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};ge[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ge[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Sh)};ge[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Yh)}; -ge[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),jd(this.Xa,2102,this.na(2084)),jd(this.va,2108,this.na(2082)),jd(this.ta,2114,this.na(2080)),jd(this.vb,2120,this.na(2078)),yd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),jd(this.Bc,2132,this.na(2076)),jd(this.Sa,2144,this.na(2070)),this.A-=195)};ge[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ge[11]=Gd;ge[166]=Gd;ge[255]=Gd;var M=[];M[5]=Gd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;yd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);id(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));id(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);id(this.Pb,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));id(this.Ob,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));id(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));id(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));id(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));id(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:he.call(this);return}we(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(we(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:Ad.call(this,b);this.A-=5;break;default:he.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(a=ve(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Ce[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,Bi)}; -M[145]=function(){qj.call(this,Bi)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){pd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){pd(this,this.Pb.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Nh:Ph)};M[178]=function(){this.W.call(this,Zh)};M[179]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)}; -M[182]=function(){this.Oa.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,xh)};M[189]=function(){this.W.call(this,yh)}; -M[190]=function(){this.Oa.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Lh,Lh],Fd=[$d,$d,$d,$d,$d,$d,Lh,Lh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Lh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Lh],ok=[Lh,Lh,Lh,Lh,zh,Ch,Bh,Ah]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ia=b&&qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ja=[360,360],(b=a.floppies)&&b.length&&(this.ja=b),uk(this,vk,this.ja.length),uk(this,wk,a.monitor||(this.ia=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Qg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Qg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Qb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ia|0)||5160.101==this.ia)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;hc(b,this,Ck);lc(b,this,Dk);this.iab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}cf(c,26,this.am.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ia|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;el(a,b,c,!0)}function fl(a,b,c){if(b=(a=Ak[a.ia|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ll(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function ml(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function nl(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function pl(a,b,c){b=a.L[b>>2].Dc[b&3];b.qg&&b.fh&&b.Fg?(c&&(b.done=c),b.Ee||yl(a,b,!0)):c&&c(!0)} -function yl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.qg,b.Fg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){zl(b)||yl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.qg,b.Fg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!zl(b););} -function zl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Cl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Cl(a))}function Cl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&ad(a))}function Jl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Kl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ll(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Gl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Il(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function cd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ll(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Gl(a,b)}function Gl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Il(a,b),h=cd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function bd(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Ml(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Nl(this,b)};function Nl(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Ol(a.B,!(b&128),!!(b&64));c!=d&&ad(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ia|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Ml(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Nl(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Pl(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Ql(this,b);break;case 209:Rl(this,b);break;default:if(Ql(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Sl(a);break;case 243:a.W&&(c=0);Tl(a,250);a.W=c;break;case 237:a.W&&(c=0);Tl(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Ul(this,d)}}this.fa=b;this.N&=-9}; -m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Nl(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Ul(this,this.aa);break;case 173:Ql(this,this.aa|16);break;case 174:Ql(this,this.aa&-17);this.B&&Pl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Ql(this,this.aa|16);Ul(this,85);Rl(this,3);break;case 171:Ul(this,0);break;case 192:Ul(this,this.ga);break;case 208:Ul(this,this.Ka);break;case 224:Ul(this,this.aa&16?0: -1);break;case 240:a&1&&qe(this.F)}};function Ql(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Ol(a.B,!!(b&8),!(b&16))}function Ul(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Rl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||qe(a.F)}function Vl(a,b){a.ia=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function ad(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Il(a,2));if(20>c||2E4>>4,0,this.L,this.C,this.Rd),delete this.Rd);return!0};Yl.prototype.hc=function(){return!0}; -function Zl(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;Xk(a)}}else w("No RAM allocated")};m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function em(a){this.N=a;this.C=gm;this.ha=hm;this.B=im;this.A=null}var fm=-2134900736,gm=65535,hm=2575,im=2,jm=[null,0],km=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=em.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Ri=function(){return jm};m.gh=function(){return km}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, -to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},om={};om[186]=X[";"];om[187]=X["="];om[188]=X[","];om[189]=X["-"];om[190]=X["."];om[191]=X["/"];om[192]=X["`"];om[219]=X["["];om[220]=X["\\"];om[221]=X["]"];om[222]=X["'"];om[173]=X["-"];var pm={};pm[X["1"]]=X["!"];pm[X["2"]]=X["@"];pm[X["3"]]=X["#"];pm[X["4"]]=X.$;pm[X["5"]]=X["%"];pm[X["6"]]=X["^"];pm[X["7"]]=X["&"];pm[X["8"]]=X["*"];pm[X["9"]]=X["("]; -pm[X["0"]]=X[")"];pm[186]=X[":"];pm[187]=X["+"];pm[188]=X["<"];pm[189]=X._;pm[190]=X[">"];pm[191]=X["?"];pm[192]=X["~"];pm[219]=X["{"];pm[220]=X["|"];pm[221]=X["}"];pm[222]=X['"'];pm[173]=X._;pm[61]=X["+"];pm[59]=X[":"]; -var qm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},rm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},sm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},tm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=lm.prototype; -m.Qb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return um(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||vm(e,a,!0);return b},c.onkeyup=function(a){return um(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();vm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==rm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();wm(a,c,!0);vm(a,c,!0)}}(this,g,rm[g]),!0;if(void 0!==sm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){vm(a,c)}}(this,b,sm[b]),b=function(a,b,c){return function(){xm(a,c)}}(this,b,sm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,ym(e,300))},!0}return!1};function zm(a,b,c){if(a.ga){for(var d in pm)if(b==pm[d]){b=+d;(d=om[d])&&(b=d);break}for(var e in sm)if((d=sm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=sm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function mm(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=nm.indexOf(a.ia),0>c&&(c=0));b=nm[c];a.ra=parseInt(b.substr(2),10)}function Sl(a){y(a,"keyboard reset",65792);a.A=[];Tl(a,170)}function Ol(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Wl(a,!0);a.X&&a.fa&&(Sl(a),a.fa=!1)}function Tl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Vl(a.N,b))}function Pl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Vl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Ml(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Wl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in tm)d="led-"+g,e=tm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function vm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){qm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,zm(a,b,!0),e++),0b.Ld){if(!b.Ef){xm(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Bm(a,b)}}(a),c)}} -function Dm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=pm[b])d=a}else if(a=om[b])d=a;return d}m.Gg=function(a){a||(this.xc&=-256)}; -function um(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Dm(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),wm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Vl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Vm:Wm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.mb=c[5];this.nh=Vm;this.kg=Xm;if(5<=b){this.nh=Wm;this.kg=Ym;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Tg=Zm;this.Mg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Vg=$m;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Ug=an;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.di&255};cn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};cn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};cn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -cn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -cn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};cn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function dn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Jg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Mg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,en(b,"CRTC",b.Ac,b.mb,b.kg),5<=b.Ua&&(en(b," GRC",b.be,b.ae,b.Ug),en(b," SEQ",b.ce,b.Je,b.Vg),en(b," ATC",b.Od,b.Tc,b.Tg),en(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Xe),en(b," FEAT",b.dg),en(b," MISC",b.uf),en(b," STATUS0",b.Mg)),en(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||en(b," MODEREG",b.gd),3==b.Ua&&en(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.wg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.We();a=!0}this.V&&this.V.focus()}return a}; -function Hm(a,b){!b&&a.ga&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; -function pn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){rn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){rn(a,b)},!0),c.addEventListener("touchend",function(b){rn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.hg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(sn,!0)})}m.Gg=function(a){this.B&&this.B.Gg(a)}; -function rn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?vm(a.B,1040,!0):vm(a.B,1038,!0):1!=d&&(d?vm(a.B,1039,!0):vm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.hg;!0===c?(a.Id=500f){a.W.je(sn,!0);a.W.je(sn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ia||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case cm:b=7;break;case 5:var c=Km[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Tm(this,1);this.aa=this.Wc=new Tm(this,3);5>this.Ua?this.A=new Tm:(this.A=new Tm(this,this.Ua,null,this.Ed),tn(this));un(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;vn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}qn(this,!0)}};function tn(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,dn(this.rd));N(a,1,dn(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,dn(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Tm(this,1,a[0]);this.aa=this.Wc=new Tm(this,3,a[1]);this.A=new Tm(this,this.Ua,a[3],this.Ed);this.A.Hc&&tn(this);un(this);if(!wn(this))return!1;xn(this);return!0}; -function Im(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)bm(a,f,[6144,0]);else if(2048==f.length)bm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ja||a.ha)&&rb(a)}} -function yn(a,b){if(1==b)return a.Ca[0]=Nm[0],a.Ca[1]=Nm[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Nm[c&15];c=c&32?Pm:Om;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Qm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function bm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function un(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=yn(a);null!=a.Jb[0]&&zn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(zn(a,1,a.Jb[1],d,e,14,a.Uc,Lm,Mm)&&(c=!0),a.Tb&&zn(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function zn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(An(a,b,c,d,e,f,g,h,k)&&(l=!0),a.tn&&An(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function An(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Rc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Bn(wa,Ie,Xd,Je);v&&Bn(wa,Ie+1,Xd,Je)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Sg[F]=ia;l=!0}}a.Oa[b]=q;return l}function Cn(a){0a.cb&&(a.cb=0):a.cb=-1} -function xn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Dn(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(Dn(a),a.ua=c);d=d-b+1;if(a.ig!=b||a.Ce!=d)a.ig=b,a.Ce=d;a.$a=e+1;Cn(a)}}} -function Dn(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==cm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ea.Og(c.ob,c.ac,c.gh(),!0),!0):!1} -function wn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!vn(a,d,b))return!1;eo(a,c);return!0} -function vn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Pg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){Dn(a);if(a.ob){if(!Zb(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Fm[7][2];b=0;if(c=Fm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>fn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.X|0;a.Yf=a.ag/ -a.jd|0;a.Ub=a.Yf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.ja.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.ja.fillStyle=a.ka.style.backgroundColor,a.ja.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);qn(a)}return!0}function Bn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.ja.fillStyle=h.Oe[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ja.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.ig,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ja.fillStyle=h.Oe[d],a.ja.fillRect(b,c+f,a.Ja,g)))} -function qn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Pg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Bn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Jg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;wn(this,!1)}; -m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Od&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&un(this,!0)&&qn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; -m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+Ya.aspect;f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Qb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,po,this.V);lc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ja;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case sn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.rg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.rg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.kh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.uh=Zo(a,e,17,2),d.yg=Zo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.ih)/d.yg|0;d.Ag=4084>=d.im?12:16;d.Sk=12==d.Ag?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.yg,E=0;E>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.B=[];this.ga=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; -m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0; -case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a=d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ga){c.parentNode.removeChild(c); -break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);this.ga&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Rb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Rb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Rb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Rb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Rb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Rb;e=d.kb=b;f=1;g=Ep(this);d.Hb=128<>2&1,c=Ep(this),d.Rb+=c-d.ge,0>d.Rb&&(d.Rb=0),d.Rb>=d.Bb&&(d.Rb=d.Bb-1),d.ge=c,d.Cb=32,d.Rb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Rb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b} -m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Ip(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Rb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Hb=128<Jp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c};function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Ip(a)}while(1);return b} -function Ip(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Rb++))}var wp={1009:rp.prototype.vl,1012:rp.prototype.xl,1013:rp.prototype.ul,1015:rp.prototype.wl},xp={1010:rp.prototype.Qm,1013:rp.prototype.Pm,1015:rp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.mg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Wp(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);$p(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function $p(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Wp(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Hb=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?Wp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaRead",b);pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaWrite",b);pl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Hb||(b.Re=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,xl(a.N,3,a,"dmaWriteBuffer",b),pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Wp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.mg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.mg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.mg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Xl,801:Kp.prototype.Yl,802:Kp.prototype.Wl},Np={496:Kp.prototype.Ak,497:Kp.prototype.dl,498:Kp.prototype.fl,499:Kp.prototype.gl,500:Kp.prototype.bl,501:Kp.prototype.al,502:Kp.prototype.cl,503:Kp.prototype.hl},Qp={800:Kp.prototype.nn,801:Kp.prototype.qn,802:Kp.prototype.pn,803:Kp.prototype.on,807:Kp.prototype.gi,811:Kp.prototype.gi,815:Kp.prototype.gi},Pp={496:Kp.prototype.wm,497:Kp.prototype.Bm,498:Kp.prototype.zm,499:Kp.prototype.Am,500:Kp.prototype.vm,501:Kp.prototype.um, -502:Kp.prototype.xm,503:Kp.prototype.tm,1014:Kp.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.xg;this.bc=new ed(this.F,7,"DBG");this.Ia=zq;80186<=this.F.ia&&(this.Ia=zq.slice(),this.Ia[15]=xq,80286<=this.F.ia&&(this.Ia[15]=yq,80386<=this.F.ia&&(this.Ja=8)));Mk(this,64,function(a){Dq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;cf(this.F,48,this.bm.bind(this));cf(this.F,65,this.cm.bind(this)); -this.ka=null;cf(this.F,104,this.dm.bind(this));rb(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;am(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;am(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Sd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=gd(b.va,this.Hk.bind(this)))&& -(b.J=a[0],wd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Qb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Sb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].wf(d&e.A,b&255,d)}c&&Uq(this,a,c);Qc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):fc(this.ea,d,b),c&&Uq(this,a,c),Qc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Tq(a)?2:1);b.Sb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Sb,a.pc,a.Se,a.Wd]}function Xq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Sb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=cr(a,b.jk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Da=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Iq(a.Ra,a.Z,a.pc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=sc[c],6==c&&(d=d.Cd,h+=" -> "+sc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(uq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ia)32==b&&(c=d.Za);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ji;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Ob.Z;break;case 21:c=d.Pb.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Qc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Sb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Sb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Sb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Sb?8:4);break;case 4:if(L.Sb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Sb,L.pc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Sb?-1:65535),v=r(E,b.Sb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.iaa.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Sb))b+=16;return uq[b]} -function vr(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=xr(a,a.F.Ob,b)+" "+xr(a,a.F.Pb,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ia&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ia&&(c+=xr(a,a.F.Ob,b)+" "+xr(a,a.F.Pb,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Ob.load(h);break;case "GS":a.F.Pb.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Qc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Te&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Te),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)), -qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var En=a.$a[bb];En?(P.shift(),P.shift(),En(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Fn=ja,Gn=Ha,Hn="",In=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+Fn||a.Ub,de=+Gn||10;isNaN(Db)?Db=de:Hn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); -tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ji=[];"call"==Gn&&(de=1E5,ji=["CALL"]);for(void 0!==Fn&&a.O(Db+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Db;In++;de--}}In||(a.O("no "+Hn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var ki=P[0];if(ki){var Ve=Eq(a,ki);if(void 0===Ve||0>Ve||255>> -0,65536>4||1,mi="dd"==ia?4:"dw"==ia?2:1,Nn=0;Nnpi;pi++){var sg=a.Qa(ee,1),rg=rg|sg<<(ni++<<3);ni==mi&&(We+=r(rg,2*mi),We+=1==mi?7==pi?"-":" ":" ",rg=ni=0);oi+=32<=sg&&128>sg?String.fromCharCode(sg):"."}sd&&(sd+="\n");sd+=ja+" "+We+" "+oi}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var tg=1,On=255,Pn=a.Qa,Qn=a.qc;"ew"==g[0]&&(tg=2,On=65535,Pn=a.na,Qn=a.jb);var Rn=tg<<1,Sn=g[1]; -if(null==Sn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Zq(a,Sn);if(ug)for(var vg=2;vgvi;){for(var uc=null,ns=256;Tc.Ra>>>0>>0;){Ze.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ns--)break;Ze.Z=Un;if(uc=Lr(a,Ze))break;Ze.Z=a.tb(Tc);if(uc=Lr(a,Ze,!0)){Un=a.tb(Tc,!0);0Vr){if(d.load(this.aa)){this.V=new hf(this,Xr,"failsafe");this.V.load()&&(as(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Pr(d),d.load()?(c=Rr(d),e=!0):c=!1))}e&&$r(this,c?d:null)}else 2==a&&d.clear()}else $r(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ka||(this.O("PCjs v"+Xr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ka=!0);this.F&&(bs(this,this.F,b,c,a),Sc(this.F));this.pa&&(as(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function as(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.wa,d=a.ke(),e=b.toString(),f={app:"PCjs"};f.ver=Xr;f.url=c;f.user=d;f.type="bug";f.data=e;va("http://www.pcjs.org/api/v1/report",f,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Xr),g=new hf(a,Xr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.6");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Nb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, -"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ss(a,b,c)}})}else c(a,null)} -function ts(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--es||Sa(!0));k=!1}var g,h,k=!0;es++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.6/components.xsl");l=function(d,h){h?fs(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--es||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--es||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?fs(b,a,d,!0,e,l):rs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ts(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function us(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} -function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotation:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcjs/1.21.7/document.css b/versions/pcjs/1.21.7/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.21.7/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.21.7/document.xsl b/versions/pcjs/1.21.7/document.xsl deleted file mode 100644 index 36ed52615..000000000 --- a/versions/pcjs/1.21.7/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.21.7/machine.xsl b/versions/pcjs/1.21.7/machine.xsl deleted file mode 100644 index 7122e932d..000000000 --- a/versions/pcjs/1.21.7/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.7/manifest.xsl b/versions/pcjs/1.21.7/manifest.xsl deleted file mode 100644 index 28388d94f..000000000 --- a/versions/pcjs/1.21.7/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.21.7/outline.xsl b/versions/pcjs/1.21.7/outline.xsl deleted file mode 100644 index 45801160a..000000000 --- a/versions/pcjs/1.21.7/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.21.7/pc-dbg.js b/versions/pcjs/1.21.7/pc-dbg.js deleted file mode 100644 index 48539ee30..000000000 --- a/versions/pcjs/1.21.7/pc-dbg.js +++ /dev/null @@ -1,817 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ja&&a.ka){e=a.ja.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ja,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ja,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.X/this.Sb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0c&&(k=c);if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Ne+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Ne){k=g.size-(b-h);k>c&&(k=c);g.Ne=b-g.Da+k;b=h+a.Sb;c-=k;f++;continue}}return Tb(a,1,b,c)}b=new B(b,k,a.Sb,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Sb;c-=k}return 0>=c?(Ub(a.F),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Wb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Si=function(){return null};function gc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; -function B(a,b,c,d,e,f){this.id=qc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||rc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Yb(this,e.gh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Yb(this,ac?bc:cc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.ii)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ja,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ja,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var cc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],bc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.ug=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.ug*this.Y.Yd;this.la.Ib=!1;this.la.eh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Ib){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Ib=!0;this.la.eh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(!0),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){ad(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= -(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=bd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&cd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh; -break}}while(this.la.Ib)}catch(q){this.Wb();Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ad(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=gd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; -m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};function hd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ed(a,!0)}function id(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ed(a,!0)} -function gd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ed(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),jd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return kd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,ed(a,!0,!0,!1));return k} -function kd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,wd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),xd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),yd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ed(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.tg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.og,a.oc=a.pg;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.og);if(a.type&2048||!(a.type&512))a.oc=a.pg;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.lh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Ad(a){this.ia=a.model||8088;var b=a.stepping;this.Uc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ia?xb:wb;this.X=Bd;this.bg=Cd;this.gg=Dd;this.hg=Ed;if(80186<=this.ia&&(this.X=Bd.slice(),this.bg=Cd.slice(),this.gg=Dd.slice(),this.ra=31,this.X[15]=Fd,this.X[96]=Gd,this.X[97]=Hd,this.X[98]=Id,this.X[99]=Fd,this.X[100]=Fd,this.X[101]= -Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Ud,this.X[241]=Yd,this.bg[7]=Zd,this.gg[7]=Zd,80286<=this.ia)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=ae.slice();for(a=0;a=this.Uc&&(this.tc[166]=ne,this.tc[167]=oe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Pg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Gd=this.jd=this.Gb=this.Db=0;pe(this)}db(Ad,Lc);function qe(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function re(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&re(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Gb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||se.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Gb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||se.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&ac&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Yb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function te(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Ad.prototype;m.reset=function(){this.la.Ib&&this.Wb();pe(this);Oc(this);this.la.ud=!1}; -function ue(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ve(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function pe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ja=a.wa=0;a.aa=0;a.ig=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new dd(a,1,"CS");a.vb=new dd(a,2,"DS");a.Xa=new dd(a,2,"ES");a.ta=new dd(a,3,"SS");G(a,0);jd(a,0);if(80386<=a.ia){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ji=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new dd(a,2,"FS");a.Ob=new dd(a,2,"GS");te(a)}a.qf=new dd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ia)yd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new dd(a,5,"LDT",!0);a.Sa=new dd(a,4,"TSS",!0);a.Ea=new dd(a,6,"VER",!0);yd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}xd(a,0);ld(a)} -function we(a){2==a.Oc?(a.dc=a.na,a.Oa=xe,a.$a=ye,a.Jb=ze,2==a.ba?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=De,a.fa=Ee,a.ya=Fe)):(a.dc=a.oa,a.Oa=Ge,a.$a=He,a.Jb=Ie,2==a.ba?(a.W=Le,a.fa=Me,a.ya=Ne):(a.W=Oe,a.fa=Pe,a.ya=Qe))}function md(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Re(a))}function Re(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=Le,a.fa=Me,a.ya=Ne)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=De,a.fa=Ee,a.ya=Fe):(a.W=Oe,a.fa=Pe,a.ya=Qe))} -function Se(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;we(a);a.ba=a.va.ba;a.R=a.va.R;Re(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+wd(this)|0};function Te(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function ld(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Ed;ed(a.va,!1,b,c);ed(a.vb,!1,b,c);ed(a.ta,!1,b,c);ed(a.Xa,!1,b,c);80386<=a.ia&&(ed(a.Nb,!1,b,c),ed(a.Ob,!1,b,c));Se(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ia&&(g.push(this.ji),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,wd(this)];80386<=this.ia&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.xg==b.Gb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;Se(a)}function yd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ia||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function wd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&ld(a,!0)}function xd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function nd(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function od(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ia>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ia>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ia||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Fg(a){return a.F.oa(a.F.D)}function Gg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Hg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Ig(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Jg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Kg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Dg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Lg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Mg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ja=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Qg(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ja<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Rg=Math.log(10)/Math.LN2,Sg=Math.LOG2E,Tg=Math.PI,Ug=Math.log(2)/Math.LN10,Vg=Math.LN2,Wg=Math.pow(2,63);function Xg(){this.ma&=-32896;ag(this)} -function Yg(){lg(this,U(this,0),U(this,this.A))}function Zg(){lg(this,U(this,0),U(this,this.A))&&Ng(this)}function $g(){Zg.call(this)}function ah(){W(this,0,kg(this,U(this,0),Gg(this)))}function bh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Og(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Ng(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Wg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Og(this,a)},6:function(){var a=mg(this,Ng(this));null!=a&&(this.ea[0]= -Mg(a,8),this.ea[1]=Mg(a/1E8,8),this.ea[2]=Mg(a/1E16,2),0>a&&(this.ea[2]|=32768),Jg(this))},7:function(){null!=mg(this,U(this,0),Wg)&&(this.nk(),Ng(this))},48:function(){bh.call(this);Ng(this)},49:oh,50:jh,51:jh,52:mh}},qh=[Xg,ch,dh,eh,fh,gh,kh,hh,lh,mh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function zh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function Ah(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function Bh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Dh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Jh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a}function Kh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a} -function Lh(a){if(this.Tb){var b=this.Tb,c=this.ig,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=ph[c][f]){if(0>qh.indexOf(e)){var f=b.F,g=f.re;8087==b.ia&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ja=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Mh(a){if(80186>this.ia)return Nh.call(this,a);C.call(this,13,0);return a}function Zd(a){C.call(this,6);return a} -function Nh(a){ge.call(this);return a}function Oh(a,b){var c=Ph.call(this,this.T(),b);80386>this.ia&&(this.A-=12);return c}function Qh(a,b){var c;a=this.Ma();c=2==this.ba?Ph.call(this,a,b):Rh.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function Sh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Th.call(this,a,b);c&&(this.ja=~this.ja+1|0,this.wa=~this.wa+(this.ja?0:1)|0)} -function Ph(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Rh(a,b){Sh.call(this,a,b);this.wa!=this.ja>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ja}function Uh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function ai(a,b){if(-1===this.D)return ge.call(this),a;jd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} -function bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ci(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function di(a,b){return b} -function ei(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return bi.call(this,0,b)} -function fi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&md(this,2);return bi.call(this,0,b)} -function Th(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function hi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function ii(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function ji(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ki(){return uf(this)?1:0}function li(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Of(this,a),this.A-=this.B.bi;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.bi;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ja=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;ld(this);this.Za&-2147483648?re(this):te(this)}function zd(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&jd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,pe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function se(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ye(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function ze(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ae(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ia&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this, -I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C? -1:this.B.Dg},Sj,function(){this.ya.call(this,hk,this.T);this.A-=-1===this.C?1:this.B.Dg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,fi)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Wh)},function(){var a;this.W.call(this,ei);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;vd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break; -case 2:a=this.M;this.M=this.aa;jd(this,a);break;case 3:a=this.H;this.H=this.aa;pd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ia?this.Nb.load(a):vd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ia?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;jd(this,a);break;case 7:a=this.J,this.J=this.aa,pd(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=wd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;xd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(wd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|nd(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.nc(this.K& -c,1));this.qc(this.Xa.oc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=nd(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh, -this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&& -(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh, -this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=nd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Xh)},function(){this.W.call(this,Vh)},function(){this.S|= -1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this,jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj;this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);kd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);ld(this,!0,!0);jd(this, -f);G(this,e);vd(this,g);pd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=yd(this,b,c,!1)&&(xd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa(); -Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Ch},function(){yd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,1,!1)&& -(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -lk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R)},function(){this.cb=!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Cd,uj)},function(){this.ya.call(this,Dd,uj)}],Tj=[th,gi,rh,ii,vh,bj,jj,Jh],hk=[uh,hi,sh,ji,wh,cj,kj,Kh],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Nh,Nh,Nh,Nh,Nh,Nh,Nh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Nh, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Nh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Nh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ja= -(this.G&255)*a&65535;this.ja&65280?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ja=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ia&&-128==d)return Aj.call(this),a;this.ja=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia| -63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ja=c&65535;this.wa=c>>16&65535}else Th.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ja=c&65535,this.wa=c>>16&65535,c=32767c):(Sh.call(this, -a,this.G),c=this.wa!=this.ja>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ja=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ia&&-32768==d)return Aj.call(this),a;this.ja=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ja>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ja=-this.ja),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Cd=[function(a){var b= -a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Nh,Nh,Nh,Nh,Nh,Nh],Dd=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|= -2;return a},function(a){if(-1===this.D)return Nh.call(this,a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Nh.call(this,a);yd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ia&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a}, -Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ae=Array(256);ae[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};ae[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ae[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};ae[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)}; -ae[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};ae[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ae[11]=Fd;ae[166]=Fd;ae[255]=Fd;var M=[];M[5]=Fd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;xd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);hd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));hd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);hd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));hd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));hd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));hd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));hd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));hd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:ge.call(this);return}ve(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(ve(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ue(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:zd.call(this,b);this.A-=5;break;default:ge.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(a=ue(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(ve(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(this.Ce[b]=ue(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,ki)}; -M[145]=function(){qj.call(this,ki)};M[146]=function(){qj.call(this,li)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){od(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){od(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Ih);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Ph:Rh)};M[178]=function(){this.W.call(this,ai)};M[179]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Yh)};M[181]=function(){this.W.call(this,Zh)}; -M[182]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,zh)};M[189]=function(){this.W.call(this,Ah)}; -M[190]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Nh,Nh],Ed=[Zd,Zd,Zd,Zd,Zd,Zd,Nh,Nh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Nh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Nh],ok=[Nh,Nh,Nh,Nh,Bh,Eh,Dh,Ch]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ia=qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ja=[360,360],(b=a.floppies)&&b.length&&(this.ja=b),uk(this,vk,this.ja.length),uk(this,wk,a.monitor||(this.ia=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Qg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Qg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Pb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ia|0)||5160.101==this.ia)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;hc(b,this,Ck);lc(b,this,Dk);this.iab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}Te(c,26,this.am.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ia|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;fl(a,b,c,!0)}function gl(a,b,c){if(b=(a=Ak[a.ia|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function nl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.L[b>>2].Dc[b&3];b.qg&&b.fh&&b.Fg?(c&&(b.done=c),b.Ee||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.qg,b.Fg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.qg,b.Fg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Dl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&Zk(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Hl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Jl(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function bd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ml(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Hl(a,b)}function Hl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=bd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function ad(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&Zk(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ia|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ql(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Tl(a);break;case 243:a.W&&(c=0);Ul(a,250);a.W=c;break;case 237:a.W&&(c=0);Ul(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.fa=b;this.N&=-9}; -m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Vl(this,this.aa);break;case 173:Rl(this,this.aa|16);break;case 174:Rl(this,this.aa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Rl(this,this.aa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ga);break;case 208:Vl(this,this.Ka);break;case 224:Vl(this,this.aa&16?0: -1);break;case 240:a&1&&pe(this.F)}};function Rl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Sl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||pe(a.F)}function Wl(a,b){a.ia=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function Zk(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Jl(a,2));if(20>c||2E4>>4,0,this.L,this.C,this.Rd),delete this.Rd);return!0};Zl.prototype.hc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ -1]=c>>8;Xk(a)}}else w("No RAM allocated")};m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Ri=function(){return km};m.gh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, -to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=om.indexOf(a.ia),0>c&&(c=0));b=om[c];a.ra=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Xl(a,!0);a.X&&a.fa&&(Tl(a),a.fa=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.U=!0,Wl(a.N,b))}function Ql(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Wl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Nl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,Am(a,b,!0),e++),0b.Ld){if(!b.Ef){ym(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Gg=function(a){a||(this.xc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.mb=c[5];this.nh=Wm;this.kg=Ym;if(5<=b){this.nh=Xm;this.kg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Tg=$m;this.Mg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Vg=an;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Ug=bn;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.di&255};dn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function en(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Jg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Mg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Ac,b.mb,b.kg),5<=b.Ua&&(fn(b," GRC",b.be,b.ae,b.Ug),fn(b," SEQ",b.ce,b.Je,b.Vg),fn(b," ATC",b.Od,b.Tc,b.Tg),fn(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Xe),fn(b," FEAT",b.dg),fn(b," MISC",b.uf),fn(b," STATUS0",b.Mg)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.wg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.We();a=!0}this.V&&this.V.focus()}return a}; -function Im(a,b){!b&&a.ga&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; -function qn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){sn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){sn(a,b)},!0),c.addEventListener("touchend",function(b){sn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.hg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(tn,!0)})}m.Gg=function(a){this.B&&this.B.Gg(a)}; -function sn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.hg;!0===c?(a.Id=500f){a.W.je(tn,!0);a.W.je(tn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ia||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Um(this,1);this.aa=this.Wc=new Um(this,3);5>this.Ua?this.A=new Um:(this.A=new Um(this,this.Ua,null,this.Ed),un(this));vn(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;wn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}rn(this,!0)}};function un(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,en(this.rd));N(a,1,en(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Um(this,1,a[0]);this.aa=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.Ua,a[3],this.Ed);this.A.Hc&&un(this);vn(this);if(!xn(this))return!1;yn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ja||a.ha)&&rb(a)}} -function zn(a,b){if(1==b)return a.Ca[0]=Om[0],a.Ca[1]=Om[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function cm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function vn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=zn(a);null!=a.Jb[0]&&An(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(An(a,1,a.Jb[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Tb&&An(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function An(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(Bn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.tn&&Bn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function Bn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Rc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Je,Xd,Ke);v&&Cn(wa,Je+1,Xd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Sg[F]=ia;l=!0}}a.Oa[b]=q;return l}function Dn(a){0a.cb&&(a.cb=0):a.cb=-1} -function yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)En(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(En(a),a.ua=c);d=d-b+1;if(a.ig!=b||a.Ce!=d)a.ig=b,a.Ce=d;a.$a=e+1;Dn(a)}}} -function En(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ea.Og(c.ob,c.ac,c.gh(),!0),!0):!1} -function xn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!wn(a,d,b))return!1;eo(a,c);return!0} -function wn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Pg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){En(a);if(a.ob){if(!Zb(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>gn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.X|0;a.Yf=a.ag/ -a.jd|0;a.Ub=a.Yf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.ja.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.ja.fillStyle=a.ka.style.backgroundColor,a.ja.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);rn(a)}return!0}function Cn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.ja.fillStyle=h.Oe[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ja.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.ig,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ja.fillStyle=h.Oe[d],a.ja.fillRect(b,c+f,a.Ja,g)))} -function rn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Pg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Cn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Jg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;xn(this,!1)}; -m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Od&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&vn(this,!0)&&rn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; -m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ya.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Pb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,po,this.V);lc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ja;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case tn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.rg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.rg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.kh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.uh=Zo(a,e,17,2),d.yg=Zo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.ih)/d.yg|0;d.Ag=4084>=d.im?12:16;d.Sk=12==d.Ag?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.yg,E=0;E>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ja=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);yp(this,"None","",!0);this.ja&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Ep(this);d.Hb=128<>2&1,c=Ep(this),d.Qb+=c-d.ge,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ge=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b} -m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Ip(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Hb=128<Jp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c};function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Ip(a)}while(1);return b} -function Ip(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Qb++))}var wp={1009:rp.prototype.vl,1012:rp.prototype.xl,1013:rp.prototype.ul,1015:rp.prototype.wl},xp={1010:rp.prototype.Qm,1013:rp.prototype.Pm,1015:rp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.mg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Wp(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);$p(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function $p(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Wp(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Hb=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?Wp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Hb||(b.Re=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Wp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.mg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.mg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.mg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Xl,801:Kp.prototype.Yl,802:Kp.prototype.Wl},Np={496:Kp.prototype.Ak,497:Kp.prototype.dl,498:Kp.prototype.fl,499:Kp.prototype.gl,500:Kp.prototype.bl,501:Kp.prototype.al,502:Kp.prototype.cl,503:Kp.prototype.hl},Qp={800:Kp.prototype.nn,801:Kp.prototype.qn,802:Kp.prototype.pn,803:Kp.prototype.on,807:Kp.prototype.gi,811:Kp.prototype.gi,815:Kp.prototype.gi},Pp={496:Kp.prototype.wm,497:Kp.prototype.Bm,498:Kp.prototype.zm,499:Kp.prototype.Am,500:Kp.prototype.vm,501:Kp.prototype.um, -502:Kp.prototype.xm,503:Kp.prototype.tm,1014:Kp.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.xg;this.bc=new dd(this.F,7,"DBG");this.Ia=zq;80186<=this.F.ia&&(this.Ia=zq.slice(),this.Ia[15]=xq,80286<=this.F.ia&&(this.Ia[15]=yq,80386<=this.F.ia&&(this.Ja=8)));Mk(this,64,function(a){Dq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;Te(this.F,48,this.bm.bind(this));Te(this.F,65,this.cm.bind(this)); -this.ka=null;Te(this.F,104,this.dm.bind(this));rb(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Sd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=fd(b.va,this.Hk.bind(this)))&& -(b.J=a[0],vd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ed(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].wf(d&e.A,b&255,d)}c&&Uq(this,a,c);Qc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):fc(this.ea,d,b),c&&Uq(this,a,c),Qc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Tq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Rb,a.pc,a.Se,a.Wd]}function Xq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Rb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=cr(a,b.jk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Da=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Iq(a.Ra,a.Z,a.pc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=sc[c],6==c&&(d=d.Cd,h+=" -> "+sc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(uq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=wd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ia)32==b&&(c=d.Za);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ji;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Qc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.pc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.iaa.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return uq[b]} -function vr(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ia&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ia&&(c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":pd(a.F,h);break;case "ES":vd(a.F,h);break;case "SS":jd(a.F,h);break;case "CS":kf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":xd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;zd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Qc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Ue&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Ue),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)), -qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var Fn=a.$a[bb];Fn?(P.shift(),P.shift(),Fn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Gn=ja,Hn=Ha,In="",Jn=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+Gn||a.Ub,de=+Hn||10;isNaN(Db)?Db=de:In="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); -tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ni=[];"call"==Hn&&(de=1E5,ni=["CALL"]);for(void 0!==Gn&&a.O(Db+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Db;Jn++;de--}}Jn||(a.O("no "+In+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var oi=P[0];if(oi){var We=Eq(a,oi);if(void 0===We||0>We||255>> -0,65536>4||1;is--&&0vg?String.fromCharCode(vg):".";tg--}sd&&(sd+="\n");sd+=ja+" "+Ye+(0==Xe?" "+ri:"")}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var wg=1,On=255,Pn=a.Qa,Qn=a.qc;"ew"==g[0]&&(wg=2,On=65535,Pn=a.na, -Qn=a.jb);var Rn=wg<<1,Sn=g[1];if(null==Sn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var xg=Zq(a,Sn);if(xg)for(var yg=2;ygxi;){for(var uc=null,ns=256;Tc.Ra>>>0>>0;){af.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ns--)break;af.Z=Un;if(uc=Lr(a,af))break;af.Z=a.tb(Tc);if(uc=Lr(a,af,!0)){Un=a.tb(Tc,!0);0Vr){if(d.load(this.aa)){this.V=new hf(this,Xr,"failsafe");this.V.load()&&(as(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= -g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Pr(d),d.load()?(c=Rr(d),e=!0):c=!1))}e&&$r(this,c?d:null)}else 2==a&&d.clear()}else $r(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ka||(this.O("PCjs v"+Xr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ka=!0);this.F&&(bs(this,this.F,b,c,a),Sc(this.F));this.pa&&(as(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function as(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.wa,d=a.ke(),e=b.toString(),f={app:"PCjs"};f.ver=Xr;f.url=c;f.user=d;f.type="bug";f.data=e;va("http://www.pcjs.org/api/v1/report",f,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Xr),g=new hf(a,Xr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.7");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Sb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcjs$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ss(a,b,c)}})}else c(a,null)} -function ts(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--es||Sa(!0));k=!1}var g,h,k=!0;es++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.7/components.xsl");l=function(d,h){h?fs(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--es||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--es||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?fs(b,a,d,!0,e,l):rs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ts(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function us(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} -function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcjs/1.22.0/document.css b/versions/pcjs/1.22.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.22.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.22.0/document.xsl b/versions/pcjs/1.22.0/document.xsl deleted file mode 100644 index f77d29774..000000000 --- a/versions/pcjs/1.22.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.22.0/machine.xsl b/versions/pcjs/1.22.0/machine.xsl deleted file mode 100644 index 615c56c7e..000000000 --- a/versions/pcjs/1.22.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.22.0/manifest.xsl b/versions/pcjs/1.22.0/manifest.xsl deleted file mode 100644 index db880ff36..000000000 --- a/versions/pcjs/1.22.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.22.0/outline.xsl b/versions/pcjs/1.22.0/outline.xsl deleted file mode 100644 index 5ba92e3a8..000000000 --- a/versions/pcjs/1.22.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.22.0/pc-dbg.js b/versions/pcjs/1.22.0/pc-dbg.js deleted file mode 100644 index 148419d6d..000000000 --- a/versions/pcjs/1.22.0/pc-dbg.js +++ /dev/null @@ -1,818 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.X/this.Sb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Da)return k.Ne+=k.Da-f,k.Da=f,!0;if(f>=k.Da+k.Ne){n=k.size-(f-l);n>g&&(n=g);k.Ne=f-k.Da+n;f=l+a.Sb;g-=n;h++;continue}}return Tb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Mb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Ub(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Wb[d]+" at "+r(b)),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Xb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Yb(a,1048576,1048576),Xb(a,1048576,1048576,Yb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function fc(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function gc(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c>>=8};m.Si=function(){return null};function hc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function ic(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function jc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&oc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&oc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var pc;if(vb){var qc=new ArrayBuffer(2);(new DataView(qc)).setUint16(0,256,!0);pc=256===(new Uint16Array(qc))[0]}else pc=!1;var bc=pc; -function B(a,b,c,d,e,f){this.id=rc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||sc;this.N=d==ac;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Zb(this,e.gh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Zb(this,bc?cc:dc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.ii)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ia,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ia,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Zb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],ec=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var dc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],cc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.ug=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.ug*this.Y.Yd;this.la.Fb=!1;this.la.eh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Fb){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Fb=!0;this.la.eh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(!0),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){ad(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= -(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=bd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&cd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh; -break}}while(this.la.Fb)}catch(q){this.Wb();Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ad(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=gd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; -m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};function hd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ed(a,!0)}function id(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ed(a,!0)} -function gd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ed(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),jd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return kd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,ed(a,!0,!0,!1));return k} -function kd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,wd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),xd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),yd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ed(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.tg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.og,a.oc=a.pg;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.og);if(a.type&2048||!(a.type&512))a.oc=a.pg;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.lh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Ad(a){this.ja=a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.X=Bd;this.bg=Cd;this.gg=Dd;this.hg=Ed;if(80186<=this.ja&&(this.X=Bd.slice(),this.bg=Cd.slice(),this.gg=Dd.slice(),this.ra=31,this.X[15]=Fd,this.X[96]=Gd,this.X[97]=Hd,this.X[98]=Id,this.X[99]=Fd,this.X[100]=Fd,this.X[101]= -Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Ud,this.X[241]=Yd,this.bg[7]=Zd,this.gg[7]=Zd,80286<=this.ja)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=ae.slice();for(a=0;a=this.Uc&&(this.tc[166]=ne,this.tc[167]=oe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Pg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Gd=this.jd=this.Hb=this.Db=0;pe(this)}db(Ad,Lc);function qe(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function re(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&re(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Hb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||se.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||se.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&bc&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Zb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Zb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function te(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Ad.prototype;m.reset=function(){this.la.Fb&&this.Wb();pe(this);Oc(this);this.la.ud=!1}; -function ue(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ve(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function pe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.ig=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new dd(a,1,"CS");a.vb=new dd(a,2,"DS");a.Xa=new dd(a,2,"ES");a.ta=new dd(a,3,"SS");G(a,0);jd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ji=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new dd(a,2,"FS");a.Ob=new dd(a,2,"GS");te(a)}a.qf=new dd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ja)yd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new dd(a,5,"LDT",!0);a.Sa=new dd(a,4,"TSS",!0);a.Ea=new dd(a,6,"VER",!0);yd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}xd(a,0);ld(a)} -function we(a){2==a.Oc?(a.dc=a.na,a.Oa=xe,a.$a=ye,a.Jb=ze,2==a.ba?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=De,a.fa=Ee,a.ya=Fe)):(a.dc=a.oa,a.Oa=Ge,a.$a=He,a.Jb=Ie,2==a.ba?(a.W=Je,a.fa=Ke,a.ya=Ne):(a.W=Oe,a.fa=Pe,a.ya=Qe))}function md(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Re(a))}function Re(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=Je,a.fa=Ke,a.ya=Ne)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=De,a.fa=Ee,a.ya=Fe):(a.W=Oe,a.fa=Pe,a.ya=Qe))} -function Se(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;we(a);a.ba=a.va.ba;a.R=a.va.R;Re(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+wd(this)|0};function Te(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function Ue(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function Ve(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function ld(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Ed;ed(a.va,!1,b,c);ed(a.vb,!1,b,c);ed(a.ta,!1,b,c);ed(a.Xa,!1,b,c);80386<=a.ja&&(ed(a.Nb,!1,b,c),ed(a.Ob,!1,b,c));Se(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ji),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,wd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.xg==b.Hb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;Se(a)}function yd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function wd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&ld(a,!0)}function xd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function nd(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function od(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ja>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ja>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Fg(a){return a.F.oa(a.F.D)}function Gg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Hg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Ig(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Jg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Kg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function rg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Lg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Mg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Qg(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Rg=Math.log(10)/Math.LN2,Sg=Math.LOG2E,Tg=Math.PI,Ug=Math.log(2)/Math.LN10,Vg=Math.LN2,Wg=Math.pow(2,63);function Xg(){this.ma&=-32896;ag(this)} -function Yg(){lg(this,U(this,0),U(this,this.A))}function Zg(){lg(this,U(this,0),U(this,this.A))&&Ng(this)}function $g(){Zg.call(this)}function ah(){W(this,0,kg(this,U(this,0),Gg(this)))}function bh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Og(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Ng(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Wg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Og(this,a)},6:function(){var a=mg(this,Ng(this));null!=a&&(this.ea[0]= -Mg(a,8),this.ea[1]=Mg(a/1E8,8),this.ea[2]=Mg(a/1E16,2),0>a&&(this.ea[2]|=32768),Jg(this))},7:function(){null!=mg(this,U(this,0),Wg)&&(this.nk(),Ng(this))},48:function(){bh.call(this);Ng(this)},49:oh,50:jh,51:jh,52:mh}},qh=[Xg,ch,dh,eh,fh,gh,kh,hh,lh,mh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function zh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function Ah(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function Bh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Dh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Jh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a}function Kh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a} -function Lh(a){if(this.Tb){var b=this.Tb,c=this.ig,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=ph[c][f]){if(0>qh.indexOf(e)){var f=b.F,g=f.re;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Mh(a){if(80186>this.ja)return Nh.call(this,a);C.call(this,13,0);return a}function Zd(a){C.call(this,6);return a} -function Nh(a){ge.call(this);return a}function Oh(a,b){var c=Ph.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Qh(a,b){var c;a=this.Ma();c=2==this.ba?Ph.call(this,a,b):Rh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Sh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Th.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Ph(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Rh(a,b){Sh.call(this,a,b);this.wa!=this.ia>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ia}function Uh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function ai(a,b){if(-1===this.D)return ge.call(this),a;jd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} -function bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ci(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function di(a,b){return b} -function ei(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return bi.call(this,0,b)} -function fi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&md(this,2);return bi.call(this,0,b)} -function Th(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function hi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function ii(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function ji(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ki(){return uf(this)?1:0}function li(){return pf(this)?1:0}function mi(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Of(this,a),this.A-=this.B.bi;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.bi;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;ld(this);this.Za&-2147483648?re(this):te(this)}function zd(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&jd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,pe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function se(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ye(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function ze(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ae(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Je(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ke(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this, -I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C? -1:this.B.Dg},Sj,function(){this.ya.call(this,hk,this.T);this.A-=-1===this.C?1:this.B.Dg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,fi)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Wh)},function(){var a;this.W.call(this,ei);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;vd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break; -case 2:a=this.M;this.M=this.aa;jd(this,a);break;case 3:a=this.H;this.H=this.aa;pd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):vd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;jd(this,a);break;case 7:a=this.J,this.J=this.aa,pd(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=wd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;xd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(wd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|nd(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.nc(this.K& -c,1));this.qc(this.Xa.oc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=nd(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh, -this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&& -(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh, -this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=nd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Xh)},function(){this.W.call(this,Vh)},function(){this.S|= -1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this,jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj;this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);kd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);ld(this,!0,!0);jd(this, -f);G(this,e);vd(this,g);pd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=yd(this,b,c,!1)&&(xd(this,d,a),this.ne&&Ve(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa(); -Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-2)&255,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,1,!1)&&(nc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Ch},function(){yd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,1,!1)&& -(nc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -lk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Cd,uj)},function(){this.ya.call(this,Dd,uj)}],Tj=[th,gi,rh,ii,vh,bj,jj,Jh],hk=[uh,hi,sh,ji,wh,cj,kj,Kh],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Nh,Nh,Nh,Nh,Nh,Nh,Nh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Nh, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Nh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Nh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Aj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia| -63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Th.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Sh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Aj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Cd=[function(a){var b= -a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Nh,Nh,Nh,Nh,Nh,Nh],Dd=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|= -2;return a},function(a){if(-1===this.D)return Nh.call(this,a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Nh.call(this,a);yd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a}, -Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ae=Array(256);ae[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};ae[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ae[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};ae[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)}; -ae[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};ae[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ae[11]=Fd;ae[166]=Fd;ae[255]=Fd;var M=[];M[5]=Fd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;xd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);hd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));hd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);hd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));hd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));hd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));hd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));hd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));hd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:ge.call(this);return}ve(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(ve(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ue(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:zd.call(this,b);this.A-=5;break;default:ge.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(a=ue(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(ve(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(this.Ce[b]=ue(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,ki)}; -M[145]=function(){qj.call(this,ki)};M[146]=function(){qj.call(this,li)};M[147]=function(){qj.call(this,mi)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){od(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){od(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Ih);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Ph:Rh)};M[178]=function(){this.W.call(this,ai)};M[179]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Yh)};M[181]=function(){this.W.call(this,Zh)}; -M[182]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,zh)};M[189]=function(){this.W.call(this,Ah)}; -M[190]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Nh,Nh],Ed=[Zd,Zd,Zd,Zd,Zd,Zd,Nh,Nh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Nh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Nh],ok=[Nh,Nh,Nh,Nh,Bh,Eh,Dh,Ch]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),uk(this,vk,this.ia.length),uk(this,wk,a.monitor||(this.ja=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Qg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Qg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Pb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;ic(b,this,Ck);mc(b,this,Dk);this.jab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}Te(c,26,this.am.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ja|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;fl(a,b,c,!0)}function gl(a,b,c){if(b=(a=Ak[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function nl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.L[b>>2].Dc[b&3];b.qg&&b.fh&&b.Fg?(c&&(b.done=c),b.Ee||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.qg,b.Fg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.qg,b.Fg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Dl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&Zk(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Hl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Jl(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function bd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ml(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Hl(a,b)}function Hl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=bd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function ad(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&Zk(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ja|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ql(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Tl(a);break;case 243:a.W&&(c=0);Ul(a,250);a.W=c;break;case 237:a.W&&(c=0);Ul(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.fa=b;this.N&=-9}; -m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Vl(this,this.aa);break;case 173:Rl(this,this.aa|16);break;case 174:Rl(this,this.aa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Rl(this,this.aa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ga);break;case 208:Vl(this,this.Ka);break;case 224:Vl(this,this.aa&16?0: -1);break;case 240:a&1&&pe(this.F)}};function Rl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Sl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||pe(a.F)}function Wl(a,b){a.ja=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;Ue(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function Zk(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Jl(a,2));if(20>c||2E4>>4,0,this.L,this.C,this.Rd),delete this.Rd);return!0};Zl.prototype.hc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Xk(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Xb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Yb(c,917504,131072));var d=Yb(c,16646144,131072);Xb(c,917504,131072,d,b&2?1:ac)}this.C=this.C&-256|b}};m.Ri=function(){return km};m.gh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, -to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ja=null;b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));b=om[c];a.ra=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Xl(a,!0);a.X&&a.fa&&(Tl(a),a.fa=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.U=!0,Wl(a.N,b))}function Ql(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Wl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Nl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,Am(a,b,!0),e++),0b.Ld){if(!b.Ef){ym(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Gg=function(a){a||(this.xc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.mb=c[5];this.nh=Wm;this.kg=Ym;if(5<=b){this.nh=Xm;this.kg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Tg=$m;this.Mg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Vg=an;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Ug=bn;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.di&255};dn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function en(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Jg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Mg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Ac,b.mb,b.kg),5<=b.Ua&&(fn(b," GRC",b.be,b.ae,b.Ug),fn(b," SEQ",b.ce,b.Je,b.Vg),fn(b," ATC",b.Od,b.Tc,b.Tg),fn(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Xe),fn(b," FEAT",b.dg),fn(b," MISC",b.uf),fn(b," STATUS0",b.Mg)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.wg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.We();a=!0}this.V&&this.V.focus()}return a}; -function Im(a,b){!b&&a.ia&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; -function qn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){sn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){sn(a,b)},!0),c.addEventListener("touchend",function(b){sn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.hg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(tn,!0)})}m.Gg=function(a){this.B&&this.B.Gg(a)}; -function sn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.hg;!0===c?(a.Id=500f){a.W.je(tn,!0);a.W.je(tn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Um(this,1);this.aa=this.Wc=new Um(this,3);5>this.Ua?this.A=new Um:(this.A=new Um(this,this.Ua,null,this.Ed),un(this));vn(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;wn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);gc(this.ea,b,c|d<<8)}rn(this,!0)}};function un(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,en(this.rd));N(a,1,en(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Um(this,1,a[0]);this.aa=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.Ua,a[3],this.Ed);this.A.Hc&&un(this);vn(this);if(!xn(this))return!1;yn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.fa||a.ha)&&rb(a)}} -function zn(a,b){if(1==b)return a.Ca[0]=Om[0],a.Ca[1]=Om[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function cm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function vn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=zn(a);null!=a.Jb[0]&&An(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(An(a,1,a.Jb[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Tb&&An(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function An(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(Bn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.tn&&Bn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function Bn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Rc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Le,Xd,Me);v&&Cn(wa,Le+1,Xd,Me)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Sg[F]=ia;l=!0}}a.Oa[b]=q;return l}function Dn(a){0a.cb&&(a.cb=0):a.cb=-1} -function yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)En(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(En(a),a.ua=c);d=d-b+1;if(a.ig!=b||a.Ce!=d)a.ig=b,a.Ce=d;a.$a=e+1;Dn(a)}}} -function En(a){if(0<=a.ua){if(void 0!==a.ga){var b=a.ga[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&Fn(a,c,d,b,a.gb),Fn(a,c,d,b));a.ga[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ea.Og(c.ob,c.ac,c.gh(),!0),!0):!1} -function xn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!wn(a,d,b))return!1;eo(a,c);return!0} -function wn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Pg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){En(a);if(a.ob){if(!$b(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>gn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.X|0;a.Yf=a.ag/ -a.jd|0;a.Ub=a.Yf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.fa.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.fa.fillStyle=a.ka.style.backgroundColor,a.fa.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);rn(a)}return!0}function Cn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.ga||a.ga.length!=b)a.ga=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function Fn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.fa.fillStyle=h.Oe[k],a.fa.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.fa.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.ig,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.fa.fillStyle=h.Oe[d],a.fa.fillRect(b,c+f,a.Ja,g)))} -function rn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.ga)return;var e=!1;!(b||++a.Pg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Cn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.ga[d]?(h+=L,L=0):a.ga[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Jg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;xn(this,!1)}; -m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Od&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&vn(this,!0)&&rn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; -m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ya.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Pb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");ic(b,this,po,this.V);mc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case tn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.rg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.rg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.kh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.uh=Zo(a,e,17,2),d.yg=Zo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.ih)/d.yg|0;d.Ag=4084>=d.im?12:16;d.Sk=12==d.Ag?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.yg,E=0;E>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ia=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);ic(b,this,wp);mc(b,this,xp);yp(this,"None","",!0);this.ia&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Ib=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Ep(this);d.Ib=128<>2&1,c=Ep(this),d.Qb+=c-d.ge,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ge=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b} -m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Ip(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<Jp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c};function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Ip(a)}while(1);return b} -function Ip(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Qb++))}var wp={1009:rp.prototype.vl,1012:rp.prototype.xl,1013:rp.prototype.ul,1015:rp.prototype.wl},xp={1010:rp.prototype.Qm,1013:rp.prototype.Pm,1015:rp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.mg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Wp(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);$p(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function $p(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Wp(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?Wp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Ib||(b.Re=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Wp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.mg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.mg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.mg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Xl,801:Kp.prototype.Yl,802:Kp.prototype.Wl},Np={496:Kp.prototype.Ak,497:Kp.prototype.dl,498:Kp.prototype.fl,499:Kp.prototype.gl,500:Kp.prototype.bl,501:Kp.prototype.al,502:Kp.prototype.cl,503:Kp.prototype.hl},Qp={800:Kp.prototype.nn,801:Kp.prototype.qn,802:Kp.prototype.pn,803:Kp.prototype.on,807:Kp.prototype.gi,811:Kp.prototype.gi,815:Kp.prototype.gi},Pp={496:Kp.prototype.wm,497:Kp.prototype.Bm,498:Kp.prototype.zm,499:Kp.prototype.Am,500:Kp.prototype.vm,501:Kp.prototype.um, -502:Kp.prototype.xm,503:Kp.prototype.tm,1014:Kp.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.xg;this.bc=new dd(this.F,7,"DBG");this.Ia=zq;80186<=this.F.ja&&(this.Ia=zq.slice(),this.Ia[15]=xq,80286<=this.F.ja&&(this.Ia[15]=yq,80386<=this.F.ja&&(this.Ja=8)));Mk(this,64,function(a){Dq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;Te(this.F,48,this.bm.bind(this));Te(this.F,65,this.cm.bind(this)); -this.ka=null;Te(this.F,104,this.dm.bind(this));rb(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&Ue(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Sd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;Ue(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=fd(b.va,this.Hk.bind(this)))&& -(b.J=a[0],vd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ed(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Hb)>>>e.La].wf(d&e.A,b&255,d)}c&&Uq(this,a,c);Qc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):gc(this.ea,d,b),c&&Uq(this,a,c),Qc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Tq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Rb,a.pc,a.Se,a.Wd]}function Xq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Rb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=cr(a,b.jk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Da=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Iq(a.Ra,a.Z,a.pc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Wb[c],6==c&&(d=d.Cd,h+=" -> "+Wb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(uq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=wd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ji;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Qc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Tf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.pc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return uq[b]} -function vr(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ja&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ja&&(c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":pd(a.F,h);break;case "ES":vd(a.F,h);break;case "SS":jd(a.F,h);break;case "CS":kf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":xd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;zd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Qc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Hb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(We&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Hb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(We&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(We),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)), -qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var Gn=a.$a[bb];Gn?(P.shift(),P.shift(),Gn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Hn=ja,In=Ha,Jn="",Kn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Db=+Hn||a.Ub,de=+In||10;isNaN(Db)?Db=de:Jn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); -tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var oi=[];"call"==In&&(de=1E5,oi=["CALL"]);for(void 0!==Hn&&a.O(Db+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Db;Kn++;de--}}Kn||(a.O("no "+Jn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var pi=P[0];if(pi){var Ye=Eq(a,pi);if(void 0===Ye||0>Ye||255>> -0,65536>4||1;js--&&0xg?String.fromCharCode(xg):".";vg--}sd&&(sd+="\n");sd+=ja+" "+$e+(0==Ze?" "+si:"")}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var yg=1,Pn=255,Qn=a.Qa,Rn=a.qc;"ew"==g[0]&&(yg=2,Pn=65535,Qn=a.na, -Rn=a.jb);var Sn=yg<<1,Tn=g[1];if(null==Tn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var zg=Zq(a,Tn);if(zg)for(var Ag=2;Agyi;){for(var uc=null,os=256;Tc.Ra>>>0>>0;){cf.Ra=a.tb(Tc,!0);if(null==Tc.Da||!os--)break;cf.Z=Vn;if(uc=Lr(a,cf))break;cf.Z=a.tb(Tc);if(uc=Lr(a,cf,!0)){Vn=a.tb(Tc,!0);0Vr){if(d.load(this.aa)){this.V=new hf(this,Yr,"failsafe");this.V.load()&&(ds(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous "+Xr+" machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"==f&& -"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Pr(d),d.load()?(c=Rr(d),e=!0):c=!1))}e&&cs(this,c?d:null)}else 2==a&&d.clear()}else cs(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(es(this,this.F,b,c,a),Sc(this.F));this.ka&&(ds(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function ds(a,b){if(za("There may be a problem with your "+Xr+" machine.\n\nTo help us diagnose it, click OK to send this "+Xr+" machine state to http://www.pcjs.org.")){var c=a.ua,d=a.ke(),e=b.toString(),f=Yr,g={};g.app=Xr;g.ver=f;g.url=c;g.user=d;g.type="bug";g.data=e;va("http://www.pcjs.org/api/v1/report",g,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Yr),g=new hf(a,Yr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.22.0");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Sb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcjs$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);vs(a,b,c)}})}else c(a,null)} -function ws(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--ss||Sa(!0));k=!1}var g,h,k=!0;ss++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.22.0/components.xsl");l=function(d,h){h?ts(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--ss||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ss||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ts(b,a,d,!0,e,l):us(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ws(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function xs(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){ys(b,d)}):ys(null,d)}else w("Error ("+c+") requesting "+a)} -function ys(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - /devices/pc/machine/5150/mda/64kb/machine.xml - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcjs/1.22.1/document.css b/versions/pcjs/1.22.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcjs/1.22.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcjs/1.22.1/document.xsl b/versions/pcjs/1.22.1/document.xsl deleted file mode 100644 index b2cad5e6a..000000000 --- a/versions/pcjs/1.22.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcjs/1.22.1/machine.xsl b/versions/pcjs/1.22.1/machine.xsl deleted file mode 100644 index 982dd3b56..000000000 --- a/versions/pcjs/1.22.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.22.1/manifest.xsl b/versions/pcjs/1.22.1/manifest.xsl deleted file mode 100644 index c8606b7ff..000000000 --- a/versions/pcjs/1.22.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcjs/1.22.1/outline.xsl b/versions/pcjs/1.22.1/outline.xsl deleted file mode 100644 index fc6bbc450..000000000 --- a/versions/pcjs/1.22.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcjs/1.22.1/pc-dbg.js b/versions/pcjs/1.22.1/pc-dbg.js deleted file mode 100644 index a4564278d..000000000 --- a/versions/pcjs/1.22.1/pc-dbg.js +++ /dev/null @@ -1,818 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.X/this.Sb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Da)return k.Ne+=k.Da-f,k.Da=f,!0;if(f>=k.Da+k.Ne){n=k.size-(f-l);n>g&&(n=g);k.Ne=f-k.Da+n;f=l+a.Sb;g-=n;h++;continue}}return Tb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Mb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Ub(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Wb[d]+" at "+r(b)),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Xb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Yb(a,1048576,1048576),Xb(a,1048576,1048576,Yb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function fc(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function gc(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c>>=8};m.Si=function(){return null};function hc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function ic(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function jc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&oc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&oc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var pc;if(vb){var qc=new ArrayBuffer(2);(new DataView(qc)).setUint16(0,256,!0);pc=256===(new Uint16Array(qc))[0]}else pc=!1;var bc=pc; -function B(a,b,c,d,e,f){this.id=rc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||sc;this.N=d==ac;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Zb(this,e.gh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Zb(this,bc?cc:dc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.ii)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ia,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ia,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Zb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],ec=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var dc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],cc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.ug=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.ug*this.Y.Yd;this.la.Fb=!1;this.la.eh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Fb){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Fb=!0;this.la.eh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(!0),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){ad(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= -(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=bd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&cd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh; -break}}while(this.la.Fb)}catch(q){this.Wb();Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ad(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=gd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; -m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};function hd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ed(a,!0)}function id(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ed(a,!0)} -function gd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ed(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),jd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return kd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,ed(a,!0,!0,!1));return k} -function kd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,wd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),xd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),yd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ed(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.tg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.og,a.oc=a.pg;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.og);if(a.type&2048||!(a.type&512))a.oc=a.pg;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.lh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Ad(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.X=Bd;this.bg=Cd;this.gg=Dd;this.hg=Ed;if(80186<=this.ja&&(this.X=Bd.slice(),this.bg=Cd.slice(),this.gg=Dd.slice(),this.ra=31,this.X[15]=Fd,this.X[96]=Gd,this.X[97]=Hd,this.X[98]=Id,this.X[99]=Fd,this.X[100]=Fd,this.X[101]= -Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Ud,this.X[241]=Yd,this.bg[7]=Zd,this.gg[7]=Zd,80286<=this.ja)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=ae.slice();for(a=0;a=this.Uc&&(this.tc[166]=ne,this.tc[167]=oe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Pg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Gd=this.jd=this.Hb=this.Db=0;pe(this)}db(Ad,Lc);function qe(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function re(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&re(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Hb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||se.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||se.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&bc&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Zb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Zb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function te(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Ad.prototype;m.reset=function(){this.la.Fb&&this.Wb();pe(this);Oc(this);this.la.ud=!1}; -function ue(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ve(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function pe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.ig=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new dd(a,1,"CS");a.vb=new dd(a,2,"DS");a.Xa=new dd(a,2,"ES");a.ta=new dd(a,3,"SS");G(a,0);jd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ji=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new dd(a,2,"FS");a.Ob=new dd(a,2,"GS");te(a)}a.qf=new dd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ja)yd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new dd(a,5,"LDT",!0);a.Sa=new dd(a,4,"TSS",!0);a.Ea=new dd(a,6,"VER",!0);yd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}xd(a,0);ld(a)} -function we(a){2==a.Oc?(a.dc=a.na,a.Oa=xe,a.$a=ye,a.Jb=ze,2==a.ba?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=De,a.fa=Ee,a.ya=Fe)):(a.dc=a.oa,a.Oa=Ge,a.$a=He,a.Jb=Ie,2==a.ba?(a.W=Je,a.fa=Ke,a.ya=Ne):(a.W=Oe,a.fa=Pe,a.ya=Qe))}function md(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Re(a))}function Re(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=Je,a.fa=Ke,a.ya=Ne)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=De,a.fa=Ee,a.ya=Fe):(a.W=Oe,a.fa=Pe,a.ya=Qe))} -function Se(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;we(a);a.ba=a.va.ba;a.R=a.va.R;Re(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+wd(this)|0};function Te(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function Ue(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function Ve(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function ld(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Ed;ed(a.va,!1,b,c);ed(a.vb,!1,b,c);ed(a.ta,!1,b,c);ed(a.Xa,!1,b,c);80386<=a.ja&&(ed(a.Nb,!1,b,c),ed(a.Ob,!1,b,c));Se(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ji),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,wd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.xg==b.Hb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;Se(a)}function yd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function wd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&ld(a,!0)}function xd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function nd(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function od(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ja>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ja>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Fg(a){return a.F.oa(a.F.D)}function Gg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Hg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Ig(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Jg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Kg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function rg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Lg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Mg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Qg(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Rg=Math.log(10)/Math.LN2,Sg=Math.LOG2E,Tg=Math.PI,Ug=Math.log(2)/Math.LN10,Vg=Math.LN2,Wg=Math.pow(2,63);function Xg(){this.ma&=-32896;ag(this)} -function Yg(){lg(this,U(this,0),U(this,this.A))}function Zg(){lg(this,U(this,0),U(this,this.A))&&Ng(this)}function $g(){Zg.call(this)}function ah(){W(this,0,kg(this,U(this,0),Gg(this)))}function bh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Og(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Ng(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Wg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Og(this,a)},6:function(){var a=mg(this,Ng(this));null!=a&&(this.ea[0]= -Mg(a,8),this.ea[1]=Mg(a/1E8,8),this.ea[2]=Mg(a/1E16,2),0>a&&(this.ea[2]|=32768),Jg(this))},7:function(){null!=mg(this,U(this,0),Wg)&&(this.nk(),Ng(this))},48:function(){bh.call(this);Ng(this)},49:oh,50:jh,51:jh,52:mh}},qh=[Xg,ch,dh,eh,fh,gh,kh,hh,lh,mh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function zh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function Ah(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function Bh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Dh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Jh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a}function Kh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a} -function Lh(a){if(this.Tb){var b=this.Tb,c=this.ig,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=ph[c][f]){if(0>qh.indexOf(e)){var f=b.F,g=f.re;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Mh(a){if(80186>this.ja)return Nh.call(this,a);C.call(this,13,0);return a}function Zd(a){C.call(this,6);return a} -function Nh(a){ge.call(this);return a}function Oh(a,b){var c=Ph.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Qh(a,b){var c;a=this.Ma();c=2==this.ba?Ph.call(this,a,b):Rh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Sh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Th.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Ph(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Rh(a,b){Sh.call(this,a,b);this.wa!=this.ia>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ia}function Uh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function ai(a,b){if(-1===this.D)return ge.call(this),a;jd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} -function bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ci(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function di(a,b){return b} -function ei(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return bi.call(this,0,b)} -function fi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&md(this,2);return bi.call(this,0,b)} -function Th(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function hi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function ii(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function ji(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ki(){return uf(this)?1:0}function li(){return pf(this)?1:0}function mi(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Of(this,a),this.A-=this.B.bi;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.bi;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;ld(this);this.Za&-2147483648?re(this):te(this)}function zd(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&jd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,pe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function se(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ye(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function ze(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ae(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Je(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ke(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this, -I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C? -1:this.B.Dg},Sj,function(){this.ya.call(this,hk,this.T);this.A-=-1===this.C?1:this.B.Dg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,fi)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Wh)},function(){var a;this.W.call(this,ei);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;vd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break; -case 2:a=this.M;this.M=this.aa;jd(this,a);break;case 3:a=this.H;this.H=this.aa;pd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):vd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;jd(this,a);break;case 7:a=this.J,this.J=this.aa,pd(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=wd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;xd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(wd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|nd(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.nc(this.K& -c,1));this.qc(this.Xa.oc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=nd(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh, -this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&& -(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh, -this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=nd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Xh)},function(){this.W.call(this,Vh)},function(){this.S|= -1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this,jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj;this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);kd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);ld(this,!0,!0);jd(this, -f);G(this,e);vd(this,g);pd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=yd(this,b,c,!1)&&(xd(this,d,a),this.ne&&Ve(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa(); -Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-2)&255,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,1,!1)&&(nc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Ch},function(){yd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,1,!1)&& -(nc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -lk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Cd,uj)},function(){this.ya.call(this,Dd,uj)}],Tj=[th,gi,rh,ii,vh,bj,jj,Jh],hk=[uh,hi,sh,ji,wh,cj,kj,Kh],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Nh,Nh,Nh,Nh,Nh,Nh,Nh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Nh, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Nh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Nh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Aj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia| -63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Th.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Sh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Aj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Cd=[function(a){var b= -a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Nh,Nh,Nh,Nh,Nh,Nh],Dd=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|= -2;return a},function(a){if(-1===this.D)return Nh.call(this,a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Nh.call(this,a);yd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a}, -Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ae=Array(256);ae[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};ae[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ae[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};ae[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)}; -ae[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};ae[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ae[11]=Fd;ae[166]=Fd;ae[255]=Fd;var M=[];M[5]=Fd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;xd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);hd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));hd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);hd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));hd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));hd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));hd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));hd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));hd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:ge.call(this);return}ve(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(ve(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ue(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:zd.call(this,b);this.A-=5;break;default:ge.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(a=ue(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(ve(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(this.Ce[b]=ue(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,ki)}; -M[145]=function(){qj.call(this,ki)};M[146]=function(){qj.call(this,li)};M[147]=function(){qj.call(this,mi)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){od(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){od(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Ih);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Ph:Rh)};M[178]=function(){this.W.call(this,ai)};M[179]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Yh)};M[181]=function(){this.W.call(this,Zh)}; -M[182]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,zh)};M[189]=function(){this.W.call(this,Ah)}; -M[190]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Nh,Nh],Ed=[Zd,Zd,Zd,Zd,Zd,Zd,Nh,Nh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Nh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Nh],ok=[Nh,Nh,Nh,Nh,Bh,Eh,Dh,Ch]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),uk(this,vk,this.ia.length),uk(this,wk,a.monitor||(this.ja=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Qg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Qg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Pb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;ic(b,this,Ck);mc(b,this,Dk);this.jab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}Te(c,26,this.am.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ja|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;fl(a,b,c,!0)}function gl(a,b,c){if(b=(a=Ak[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function nl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.L[b>>2].Dc[b&3];b.qg&&b.fh&&b.Fg?(c&&(b.done=c),b.Ee||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.qg,b.Fg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.qg,b.Fg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Dl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&Zk(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Hl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Jl(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function bd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ml(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Hl(a,b)}function Hl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=bd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function ad(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&Zk(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ja|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ql(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Tl(a);break;case 243:a.W&&(c=0);Ul(a,250);a.W=c;break;case 237:a.W&&(c=0);Ul(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.fa=b;this.N&=-9}; -m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Vl(this,this.aa);break;case 173:Rl(this,this.aa|16);break;case 174:Rl(this,this.aa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Rl(this,this.aa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ga);break;case 208:Vl(this,this.Ka);break;case 224:Vl(this,this.aa&16?0: -1);break;case 240:a&1&&pe(this.F)}};function Rl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Sl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||pe(a.F)}function Wl(a,b){a.ja=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;Ue(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function Zk(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Jl(a,2));if(20>c||2E4>>4,0,this.L,this.C,this.Rd),delete this.Rd);return!0};Zl.prototype.hc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Xk(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Xb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Yb(c,917504,131072));var d=Yb(c,16646144,131072);Xb(c,917504,131072,d,b&2?1:ac)}this.C=this.C&-256|b}};m.Ri=function(){return km};m.gh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, -to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ja=null;b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));b=om[c];a.ra=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Xl(a,!0);a.X&&a.fa&&(Tl(a),a.fa=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.U=!0,Wl(a.N,b))}function Ql(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Wl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} -function Nl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,Am(a,b,!0),e++),0b.Ld){if(!b.Ef){ym(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Gg=function(a){a||(this.xc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.mb=c[5];this.nh=Wm;this.kg=Ym;if(5<=b){this.nh=Xm;this.kg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Tg=$m;this.Mg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Vg=an;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Ug=bn;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.di&255};dn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function en(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Jg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Mg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Ac,b.mb,b.kg),5<=b.Ua&&(fn(b," GRC",b.be,b.ae,b.Ug),fn(b," SEQ",b.ce,b.Je,b.Vg),fn(b," ATC",b.Od,b.Tc,b.Tg),fn(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Xe),fn(b," FEAT",b.dg),fn(b," MISC",b.uf),fn(b," STATUS0",b.Mg)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.wg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.We();a=!0}this.V&&this.V.focus()}return a}; -function Im(a,b){!b&&a.ia&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; -function qn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){sn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){sn(a,b)},!0),c.addEventListener("touchend",function(b){sn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.hg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(tn,!0)})}m.Gg=function(a){this.B&&this.B.Gg(a)}; -function sn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.hg;!0===c?(a.Id=500f){a.W.je(tn,!0);a.W.je(tn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Um(this,1);this.aa=this.Wc=new Um(this,3);5>this.Ua?this.A=new Um:(this.A=new Um(this,this.Ua,null,this.Ed),un(this));vn(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;wn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);gc(this.ea,b,c|d<<8)}rn(this,!0)}};function un(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,en(this.rd));N(a,1,en(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Um(this,1,a[0]);this.aa=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.Ua,a[3],this.Ed);this.A.Hc&&un(this);vn(this);if(!xn(this))return!1;yn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.fa||a.ha)&&rb(a)}} -function zn(a,b){if(1==b)return a.Ca[0]=Om[0],a.Ca[1]=Om[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function cm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function vn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=zn(a);null!=a.Jb[0]&&An(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(An(a,1,a.Jb[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Tb&&An(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function An(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(Bn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.tn&&Bn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function Bn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Rc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Le,Xd,Me);v&&Cn(wa,Le+1,Xd,Me)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Sg[F]=ia;l=!0}}a.Oa[b]=q;return l}function Dn(a){0a.cb&&(a.cb=0):a.cb=-1} -function yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)En(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(En(a),a.ua=c);d=d-b+1;if(a.ig!=b||a.Ce!=d)a.ig=b,a.Ce=d;a.$a=e+1;Dn(a)}}} -function En(a){if(0<=a.ua){if(void 0!==a.ga){var b=a.ga[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&Fn(a,c,d,b,a.gb),Fn(a,c,d,b));a.ga[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ea.Og(c.ob,c.ac,c.gh(),!0),!0):!1} -function xn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!wn(a,d,b))return!1;eo(a,c);return!0} -function wn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Pg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){En(a);if(a.ob){if(!$b(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>gn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.X|0;a.Yf=a.ag/ -a.jd|0;a.Ub=a.Yf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.fa.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.fa.fillStyle=a.ka.style.backgroundColor,a.fa.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);rn(a)}return!0}function Cn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.ga||a.ga.length!=b)a.ga=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function Fn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.fa.fillStyle=h.Oe[k],a.fa.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.fa.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.ig,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.fa.fillStyle=h.Oe[d],a.fa.fillRect(b,c+f,a.Ja,g)))} -function rn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.ga)return;var e=!1;!(b||++a.Pg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Cn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.ga[d]?(h+=L,L=0):a.ga[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Jg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;xn(this,!1)}; -m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Od&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&vn(this,!0)&&rn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; -m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ya.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Pb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");ic(b,this,po,this.V);mc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case tn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.rg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.rg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.kh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.uh=Zo(a,e,17,2),d.yg=Zo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.ih)/d.yg|0;d.Ag=4084>=d.im?12:16;d.Sk=12==d.Ag?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.yg,E=0;E>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ia=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);ic(b,this,wp);mc(b,this,xp);yp(this,"None","",!0);this.ia&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Ib=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Ep(this);d.Ib=128<>2&1,c=Ep(this),d.Qb+=c-d.ge,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ge=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b} -m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Ip(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<Jp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c};function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Ip(a)}while(1);return b} -function Ip(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Qb++))}var wp={1009:rp.prototype.vl,1012:rp.prototype.xl,1013:rp.prototype.ul,1015:rp.prototype.wl},xp={1010:rp.prototype.Qm,1013:rp.prototype.Pm,1015:rp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.mg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Wp(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);$p(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function $p(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Wp(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?Wp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Ib||(b.Re=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Wp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.mg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.mg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.mg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Xl,801:Kp.prototype.Yl,802:Kp.prototype.Wl},Np={496:Kp.prototype.Ak,497:Kp.prototype.dl,498:Kp.prototype.fl,499:Kp.prototype.gl,500:Kp.prototype.bl,501:Kp.prototype.al,502:Kp.prototype.cl,503:Kp.prototype.hl},Qp={800:Kp.prototype.nn,801:Kp.prototype.qn,802:Kp.prototype.pn,803:Kp.prototype.on,807:Kp.prototype.gi,811:Kp.prototype.gi,815:Kp.prototype.gi},Pp={496:Kp.prototype.wm,497:Kp.prototype.Bm,498:Kp.prototype.zm,499:Kp.prototype.Am,500:Kp.prototype.vm,501:Kp.prototype.um, -502:Kp.prototype.xm,503:Kp.prototype.tm,1014:Kp.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.xg;this.bc=new dd(this.F,7,"DBG");this.Ia=zq;80186<=this.F.ja&&(this.Ia=zq.slice(),this.Ia[15]=xq,80286<=this.F.ja&&(this.Ia[15]=yq,80386<=this.F.ja&&(this.Ja=8)));Mk(this,64,function(a){Dq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;Te(this.F,48,this.bm.bind(this));Te(this.F,65,this.cm.bind(this)); -this.ka=null;Te(this.F,104,this.dm.bind(this));rb(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&Ue(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Sd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;Ue(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=fd(b.va,this.Hk.bind(this)))&& -(b.J=a[0],vd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ed(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Hb)>>>e.La].wf(d&e.A,b&255,d)}c&&Uq(this,a,c);Qc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):gc(this.ea,d,b),c&&Uq(this,a,c),Qc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Tq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Rb,a.pc,a.Se,a.Wd]}function Xq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Rb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=cr(a,b.jk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Da=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Iq(a.Ra,a.Z,a.pc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Wb[c],6==c&&(d=d.Cd,h+=" -> "+Wb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(uq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=wd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ji;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Qc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Tf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.pc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return uq[b]} -function vr(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ja&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ja&&(c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":pd(a.F,h);break;case "ES":vd(a.F,h);break;case "SS":jd(a.F,h);break;case "CS":kf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":xd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;zd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Qc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Hb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(We&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Hb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(We&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(We),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)), -qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var Gn=a.$a[bb];Gn?(P.shift(),P.shift(),Gn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Hn=ja,In=Ha,Jn="",Kn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Db=+Hn||a.Ub,de=+In||10;isNaN(Db)?Db=de:Jn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); -tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var oi=[];"call"==In&&(de=1E5,oi=["CALL"]);for(void 0!==Hn&&a.O(Db+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Db;Kn++;de--}}Kn||(a.O("no "+Jn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var pi=P[0];if(pi){var Ye=Eq(a,pi);if(void 0===Ye||0>Ye||255>> -0,65536>4||1;js--&&0xg?String.fromCharCode(xg):".";vg--}sd&&(sd+="\n");sd+=ja+" "+$e+(0==Ze?" "+si:"")}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var yg=1,Pn=255,Qn=a.Qa,Rn=a.qc;"ew"==g[0]&&(yg=2,Pn=65535,Qn=a.na, -Rn=a.jb);var Sn=yg<<1,Tn=g[1];if(null==Tn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var zg=Zq(a,Tn);if(zg)for(var Ag=2;Agyi;){for(var uc=null,os=256;Tc.Ra>>>0>>0;){cf.Ra=a.tb(Tc,!0);if(null==Tc.Da||!os--)break;cf.Z=Vn;if(uc=Lr(a,cf))break;cf.Z=a.tb(Tc);if(uc=Lr(a,cf,!0)){Vn=a.tb(Tc,!0);0Vr){if(d.load(this.aa)){this.V=new hf(this,Yr,"failsafe");this.V.load()&&(ds(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous "+Xr+" machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"==f&& -"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Pr(d),d.load()?(c=Rr(d),e=!0):c=!1))}e&&cs(this,c?d:null)}else 2==a&&d.clear()}else cs(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(es(this,this.F,b,c,a),Sc(this.F));this.ka&&(ds(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function ds(a,b){if(za("There may be a problem with your "+Xr+" machine.\n\nTo help us diagnose it, click OK to send this "+Xr+" machine state to http://www.pcjs.org.")){var c=a.ua,d=a.ke(),e=b.toString(),f=Yr,g={};g.app=Xr;g.ver=f;g.url=c;g.user=d;g.type="bug";g.data=e;va("http://www.pcjs.org/api/v1/report",g,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Yr),g=new hf(a,Yr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.22.1");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Sb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcjs$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);vs(a,b,c)}})}else c(a,null)} -function ws(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--ss||Sa(!0));k=!1}var g,h,k=!0;ss++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.22.1/components.xsl");l=function(d,h){h?ts(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--ss||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ss||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ts(b,a,d,!0,e,l):us(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ws(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; -function xs(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){ys(b,d)}):ys(null,d)}else w("Error ("+c+") requesting "+a)} -function ys(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.23.0/document.css b/versions/pcx86/1.23.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.23.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.23.0/machine.xsl b/versions/pcx86/1.23.0/machine.xsl deleted file mode 100644 index 5782fd3d6..000000000 --- a/versions/pcx86/1.23.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.23.0/manifest.xsl b/versions/pcx86/1.23.0/manifest.xsl deleted file mode 100644 index 53a7fc433..000000000 --- a/versions/pcx86/1.23.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.23.0/outline.xsl b/versions/pcx86/1.23.0/outline.xsl deleted file mode 100644 index aff92acce..000000000 --- a/versions/pcx86/1.23.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.23.0/pcx86-dbg.js b/versions/pcx86/1.23.0/pcx86-dbg.js deleted file mode 100644 index 41c2d2d71..000000000 --- a/versions/pcx86/1.23.0/pcx86-dbg.js +++ /dev/null @@ -1,818 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.X/this.Sb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Da)return k.Ne+=k.Da-f,k.Da=f,!0;if(f>=k.Da+k.Ne){n=k.size-(f-l);n>g&&(n=g);k.Ne=f-k.Da+n;f=l+a.Sb;g-=n;h++;continue}}return Tb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Mb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Ub(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Wb[d]+" at "+r(b)),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Xb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Yb(a,1048576,1048576),Xb(a,1048576,1048576,Yb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function fc(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function gc(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c>>=8};m.Si=function(){return null};function hc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function ic(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function jc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&oc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&oc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var pc;if(vb){var qc=new ArrayBuffer(2);(new DataView(qc)).setUint16(0,256,!0);pc=256===(new Uint16Array(qc))[0]}else pc=!1;var bc=pc; -function B(a,b,c,d,e,f){this.id=rc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||wc;this.N=d==ac;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Zb(this,e.gh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Zb(this,bc?cc:dc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.ii)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ia,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ia,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} -function Zb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],ec=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var dc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],cc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.ug=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.ug*this.Y.Yd;this.la.Fb=!1;this.la.eh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Fb){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Fb=!0;this.la.eh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(!0),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){ad(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= -(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=bd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&cd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh; -break}}while(this.la.Fb)}catch(q){this.Wb();Rc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ad(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=gd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; -m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};function hd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ed(a,!0)}function id(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ed(a,!0)} -function gd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ed(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),jd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return kd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,ed(a,!0,!0,!1));return k} -function kd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,wd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),xd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),yd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ed(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.tg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.og,a.oc=a.pg;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.og);if(a.type&2048||!(a.type&512))a.oc=a.pg;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.lh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Ad(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.X=Bd;this.bg=Cd;this.gg=Dd;this.hg=Ed;if(80186<=this.ja&&(this.X=Bd.slice(),this.bg=Cd.slice(),this.gg=Dd.slice(),this.ra=31,this.X[15]=Fd,this.X[96]=Gd,this.X[97]=Hd,this.X[98]=Id,this.X[99]=Fd,this.X[100]=Fd,this.X[101]= -Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Xd,this.X[241]=Yd,this.bg[7]=Zd,this.gg[7]=Zd,80286<=this.ja)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=fe.slice();for(a=0;a=this.Uc&&(this.tc[166]=ne,this.tc[167]=oe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Pg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Gd=this.jd=this.Hb=this.Db=0;pe(this)}db(Ad,Lc);function qe(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function re(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&re(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Hb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||se.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||se.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&bc&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Zb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Zb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function te(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Ad.prototype;m.reset=function(){this.la.Fb&&this.Wb();pe(this);Oc(this);this.la.ud=!1}; -function ue(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ve(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function pe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.ig=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new dd(a,1,"CS");a.vb=new dd(a,2,"DS");a.Xa=new dd(a,2,"ES");a.ta=new dd(a,3,"SS");G(a,0);jd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ji=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new dd(a,2,"FS");a.Ob=new dd(a,2,"GS");te(a)}a.qf=new dd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ja)yd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new dd(a,5,"LDT",!0);a.Sa=new dd(a,4,"TSS",!0);a.Ea=new dd(a,6,"VER",!0);yd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}xd(a,0);ld(a)} -function we(a){2==a.Oc?(a.dc=a.na,a.Oa=xe,a.$a=ye,a.Jb=ze,2==a.ba?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=De,a.fa=Ee,a.ya=Fe)):(a.dc=a.oa,a.Oa=Ge,a.$a=He,a.Jb=Ie,2==a.ba?(a.W=Le,a.fa=Me,a.ya=Ne):(a.W=Oe,a.fa=Pe,a.ya=Qe))}function md(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Re(a))}function Re(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=Le,a.fa=Me,a.ya=Ne)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=De,a.fa=Ee,a.ya=Fe):(a.W=Oe,a.fa=Pe,a.ya=Qe))} -function Se(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;we(a);a.ba=a.va.ba;a.R=a.va.R;Re(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+wd(this)|0};function Te(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function ld(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Ed;ed(a.va,!1,b,c);ed(a.vb,!1,b,c);ed(a.ta,!1,b,c);ed(a.Xa,!1,b,c);80386<=a.ja&&(ed(a.Nb,!1,b,c),ed(a.Ob,!1,b,c));Se(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ji),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,wd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.lc, -this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.xg==b.Hb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;Se(a)}function yd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function wd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&ld(a,!0)}function xd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function nd(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function od(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ja>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ja>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Fg(a){return a.F.oa(a.F.D)}function Gg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Hg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Ig(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Jg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Kg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Dg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Lg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Mg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Qg(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Rg=Math.log(10)/Math.LN2,Sg=Math.LOG2E,Tg=Math.PI,Ug=Math.log(2)/Math.LN10,Vg=Math.LN2,Wg=Math.pow(2,63);function Xg(){this.ma&=-32896;ag(this)} -function Yg(){lg(this,U(this,0),U(this,this.A))}function Zg(){lg(this,U(this,0),U(this,this.A))&&Ng(this)}function $g(){Zg.call(this)}function ah(){W(this,0,kg(this,U(this,0),Gg(this)))}function bh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Og(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Ng(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Wg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Og(this,a)},6:function(){var a=mg(this,Ng(this));null!=a&&(this.ea[0]= -Mg(a,8),this.ea[1]=Mg(a/1E8,8),this.ea[2]=Mg(a/1E16,2),0>a&&(this.ea[2]|=32768),Jg(this))},7:function(){null!=mg(this,U(this,0),Wg)&&(this.nk(),Ng(this))},48:function(){bh.call(this);Ng(this)},49:oh,50:jh,51:jh,52:mh}},qh=[Xg,ch,dh,eh,fh,gh,kh,hh,lh,mh];Qa(function(){for(var a=nb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function zh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function Ah(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function Bh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Dh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Jh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a}function Kh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a} -function Lh(a){if(this.Tb){var b=this.Tb,c=this.ig,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=ph[c][f]){if(0>qh.indexOf(e)){var f=b.F,g=f.re;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Mh(a){if(80186>this.ja)return Nh.call(this,a);C.call(this,13,0);return a}function Zd(a){C.call(this,6);return a} -function Nh(a){ge.call(this);return a}function Oh(a,b){var c=Ph.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Qh(a,b){var c;a=this.Ma();c=2==this.ba?Ph.call(this,a,b):Rh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Sh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Th.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Ph(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Rh(a,b){Sh.call(this,a,b);this.wa!=this.ia>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ia}function Uh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function ai(a,b){if(-1===this.D)return ge.call(this),a;jd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} -function bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ci(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function di(a,b){return b} -function ei(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return bi.call(this,0,b)} -function fi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&md(this,2);return bi.call(this,0,b)} -function Th(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function hi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function ii(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function ji(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ki(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Of(this,a),this.A-=this.B.bi;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.bi;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;ld(this);this.Za&-2147483648?re(this):te(this)}function zd(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&jd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,pe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function se(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ye(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function ze(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ae(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this, -I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C? -1:this.B.Dg},Sj,function(){this.ya.call(this,hk,this.T);this.A-=-1===this.C?1:this.B.Dg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,fi)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Wh)},function(){var a;this.W.call(this,ei);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;vd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break; -case 2:a=this.M;this.M=this.aa;jd(this,a);break;case 3:a=this.H;this.H=this.aa;ud(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):vd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;jd(this,a);break;case 7:a=this.J,this.J=this.aa,ud(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=wd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;xd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(wd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|nd(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.nc(this.K& -c,1));this.qc(this.Xa.oc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=nd(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh, -this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&& -(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh, -this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=nd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Xh)},function(){this.W.call(this,Vh)},function(){this.S|= -1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this,jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj;this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);kd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);ld(this,!0,!0);jd(this, -f);G(this,e);vd(this,g);ud(this,h);this.Nb.load(k);this.Ob.load(l)}null!=yd(this,b,c,!1)&&(xd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa(); -Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-2)&255,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,1,!1)&&(nc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Ch},function(){yd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,1,!1)&& -(nc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -lk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Cd,uj)},function(){this.ya.call(this,Dd,uj)}],Tj=[th,gi,rh,ii,vh,bj,jj,Jh],hk=[uh,hi,sh,ji,wh,cj,kj,Kh],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Nh,Nh,Nh,Nh,Nh,Nh,Nh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Nh, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Nh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Nh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Aj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia| -63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Th.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Sh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Aj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Cd=[function(a){var b= -a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Nh,Nh,Nh,Nh,Nh,Nh],Dd=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|= -2;return a},function(a){if(-1===this.D)return Nh.call(this,a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Nh.call(this,a);yd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a}, -Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var fe=Array(256);fe[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};fe[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};fe[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};fe[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)}; -fe[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};fe[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};fe[11]=Fd;fe[166]=Fd;fe[255]=Fd;var M=[];M[5]=Fd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;xd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);hd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));hd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);hd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));hd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));hd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));hd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));hd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));hd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:ge.call(this);return}ve(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(ve(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ue(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:zd.call(this,b);this.A-=5;break;default:ge.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(a=ue(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(ve(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(this.Ce[b]=ue(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,ki)}; -M[145]=function(){qj.call(this,ki)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){od(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){od(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Ih);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Ph:Rh)};M[178]=function(){this.W.call(this,ai)};M[179]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Yh)};M[181]=function(){this.W.call(this,Zh)}; -M[182]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,zh)};M[189]=function(){this.W.call(this,Ah)}; -M[190]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Nh,Nh],Ed=[Zd,Zd,Zd,Zd,Zd,Zd,Nh,Nh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Nh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Nh],ok=[Nh,Nh,Nh,Nh,Bh,Eh,Dh,Ch]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),uk(this,vk,this.ia.length),uk(this,wk,a.monitor||(this.ja=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Qg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Qg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Pb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;ic(b,this,Ck);mc(b,this,Dk);this.jab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}Te(c,26,this.am.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ja|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;fl(a,b,c,!0)}function gl(a,b,c){if(b=(a=Ak[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function nl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.L[b>>2].Dc[b&3];b.qg&&b.fh&&b.Fg?(c&&(b.done=c),b.Ee||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.qg,b.Fg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.qg,b.Fg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Dl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&Zk(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Hl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Jl(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function bd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ml(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Hl(a,b)}function Hl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=bd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function ad(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&Zk(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ja|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ql(this.B);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Tl(a);break;case 243:a.W&&(c=0);Ul(a,250);a.W=c;break;case 237:a.W&&(c=0);Ul(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.fa=b;this.N&=-9}; -m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Vl(this,this.aa);break;case 173:Rl(this,this.aa|16);break;case 174:Rl(this,this.aa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Rl(this,this.aa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ga);break;case 208:Vl(this,this.Ka);break;case 224:Vl(this,this.aa&16?0: -1);break;case 240:a&1&&pe(this.F)}};function Rl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Sl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||pe(a.F)}function Wl(a,b){a.ja=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function Zk(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Jl(a,2));if(20>c||2E4>>4,0,this.V,this.C,this.Rd),delete this.Rd);return!0};Zl.prototype.hc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Xk(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Xb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Yb(c,917504,131072));var d=Yb(c,16646144,131072);Xb(c,917504,131072,d,b&2?1:ac)}this.C=this.C&-256|b}};m.Ri=function(){return km};m.gh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcx86","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, -to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));if(b=om[c])a.ra=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Xl(a,!0);a.X&&a.fa&&(Tl(a),a.fa=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.U=!0,Wl(a.N,b))} -function Ql(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Wl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Nl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,Am(a,b,!0),e++),0b.Ld){if(!b.Ef){ym(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Gg=function(a){a||(this.xc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.mb=c[5];this.nh=Wm;this.kg=Ym;if(5<=b){this.nh=Xm;this.kg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Tg=$m;this.Mg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Vg=an;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Ug=bn;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.di&255};dn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function en(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Jg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Mg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Ac,b.mb,b.kg),5<=b.Ua&&(fn(b," GRC",b.be,b.ae,b.Ug),fn(b," SEQ",b.ce,b.Je,b.Vg),fn(b," ATC",b.Od,b.Tc,b.Tg),fn(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Xe),fn(b," FEAT",b.dg),fn(b," MISC",b.uf),fn(b," STATUS0",b.Mg)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.wg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.We();a=!0}this.V&&this.V.focus()}return a}; -function Im(a,b){!b&&a.ia&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; -function qn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){sn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){sn(a,b)},!0),c.addEventListener("touchend",function(b){sn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.hg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(tn,!0)})}m.Gg=function(a){this.B&&this.B.Gg(a)}; -function sn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.hg;!0===c?(a.Id=500f){a.W.je(tn,!0);a.W.je(tn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Um(this,1);this.aa=this.Wc=new Um(this,3);5>this.Ua?this.A=new Um:(this.A=new Um(this,this.Ua,null,this.Ed),un(this));vn(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;wn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);gc(this.ea,b,c|d<<8)}rn(this,!0)}};function un(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,en(this.rd));N(a,1,en(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Um(this,1,a[0]);this.aa=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.Ua,a[3],this.Ed);this.A.Hc&&un(this);vn(this);if(!xn(this))return!1;yn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.fa||a.ha)&&rb(a)}} -function zn(a,b){if(1==b)return a.Ca[0]=Om[0],a.Ca[1]=Om[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function cm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function vn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=zn(a);null!=a.Jb[0]&&An(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(An(a,1,a.Jb[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Tb&&An(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function An(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(Bn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.tn&&Bn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function Bn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Qc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Je,Wd,Ke);v&&Cn(wa,Je+1,Wd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Sg[F]=ia;l=!0}}a.Oa[b]=q;return l}function Dn(a){0a.cb&&(a.cb=0):a.cb=-1} -function yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)ao(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(ao(a),a.ua=c);d=d-b+1;if(a.ig!=b||a.Ce!=d)a.ig=b,a.Ce=d;a.$a=e+1;Dn(a)}}} -function ao(a){if(0<=a.ua){if(void 0!==a.ga){var b=a.ga[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.ga[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ea.Og(c.ob,c.ac,c.gh(),!0),!0):!1} -function xn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!wn(a,d,b))return!1;eo(a,c);return!0} -function wn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Pg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){ao(a);if(a.ob){if(!$b(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>gn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.X|0;a.Yf=a.ag/ -a.jd|0;a.Ub=a.Yf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.fa.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.fa.fillStyle=a.ka.style.backgroundColor,a.fa.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);rn(a)}return!0}function Cn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.ga||a.ga.length!=b)a.ga=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.fa.fillStyle=h.Oe[k],a.fa.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.fa.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.ig,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.fa.fillStyle=h.Oe[d],a.fa.fillRect(b,c+f,a.Ja,g)))} -function rn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.ga)return;var e=!1;!(b||++a.Pg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Cn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.ga[d]?(h+=L,L=0):a.ga[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Jg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;xn(this,!1)}; -m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Od&31],c);return c}; -m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&vn(this,!0)&&rn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; -m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ya.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Pb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");ic(b,this,po,this.V);mc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case tn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.rg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.rg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.kh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.uh=Zo(a,e,17,2),d.yg=Zo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.ih)/d.yg|0;d.Ag=4084>=d.im?12:16;d.Sk=12==d.Ag?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.yg,E=0;E>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ia=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);ic(b,this,wp);mc(b,this,xp);yp(this,"None","",!0);this.ia&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Ib=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Ep(this);d.Ib=128<>2&1,c=Ep(this),d.Qb+=c-d.ge,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ge=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b} -m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Ip(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<Jp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c};function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Ip(a)}while(1);return b} -function Ip(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Qb++))}var wp={1009:rp.prototype.vl,1012:rp.prototype.xl,1013:rp.prototype.ul,1015:rp.prototype.wl},xp={1010:rp.prototype.Qm,1013:rp.prototype.Pm,1015:rp.prototype.Om};Qa(function(){for(var a=nb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.mg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Wp(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);$p(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function $p(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Wp(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?Wp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Ib||(b.Re=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -function Wp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.mg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.mg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.mg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Xl,801:Kp.prototype.Yl,802:Kp.prototype.Wl},Np={496:Kp.prototype.Ak,497:Kp.prototype.dl,498:Kp.prototype.fl,499:Kp.prototype.gl,500:Kp.prototype.bl,501:Kp.prototype.al,502:Kp.prototype.cl,503:Kp.prototype.hl},Qp={800:Kp.prototype.nn,801:Kp.prototype.qn,802:Kp.prototype.pn,803:Kp.prototype.on,807:Kp.prototype.gi,811:Kp.prototype.gi,815:Kp.prototype.gi},Pp={496:Kp.prototype.wm,497:Kp.prototype.Bm,498:Kp.prototype.zm,499:Kp.prototype.Am,500:Kp.prototype.vm,501:Kp.prototype.um, -502:Kp.prototype.xm,503:Kp.prototype.tm,1014:Kp.prototype.ym};Qa(function(){for(var a=nb(document,"pcx86","hdc"),b=0;b>2;this.Ba=b.xg;this.bc=new dd(this.F,7,"DBG");this.Ia=zq;80186<=this.F.ja&&(this.Ia=zq.slice(),this.Ia[15]=xq,80286<=this.F.ja&&(this.Ia[15]=yq,80386<=this.F.ja&&(this.Ja=8)));Mk(this,64,function(a){Dq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;Te(this.F,48,this.bm.bind(this));Te(this.F,65,this.cm.bind(this)); -this.ka=null;Te(this.F,104,this.dm.bind(this));rb(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Sd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=fd(b.va,this.Hk.bind(this)))&& -(b.J=a[0],vd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ed(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Hb)>>>e.La].wf(d&e.A,b&255,d)}c&&Uq(this,a,c);Rc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):gc(this.ea,d,b),c&&Uq(this,a,c),Rc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Tq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Rb,a.pc,a.Se,a.Wd]}function Xq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Rb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=cr(a,b.jk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Da=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Iq(a.Ra,a.Z,a.pc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Wb[c],6==c&&(d=d.Cd,h+=" -> "+Wb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(uq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=wd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ji;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Rc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Tf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.pc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return uq[b]} -function vr(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ja&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ja&&(c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ -c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":ud(a.F,h);break;case "ES":vd(a.F,h);break;case "SS":jd(a.F,h);break;case "CS":kf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":xd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;zd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Rc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.ui=a.F.Pd+Da.bk;Da.yb=be.sa[(Da.ui&be.Hb)>>>be.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Ue&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=be.sa[(Da.vi&be.Hb)>>>be.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Ue&4095)}if(ae=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+dr(ae.ui,ae.Ui)),pd=pd+(" %%"+dr(ae.vi,ae.Vi,!0)), -pd=pd+(" %%"+r(ae.Fk));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var En=a.$a[bb];En?(P.shift(),P.shift(),En(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Fn=ja,Gn=Ha,Hn="",In=0,tb=a.Fa,sc=a.ia;if(sc.length){var Db=+Fn||a.Ub,ce=+Gn||10;isNaN(Db)?Db=ce:Hn="more ";Db>sc.length&&(a.O("note: only "+sc.length+" available"),Db=sc.length); -tb-=Db;0>tb&&(null==sc[sc.length-1].Z?(Db=tb+Db,tb=0):tb+=sc.length);var mi=[];"call"==Gn&&(ce=1E5,mi=["CALL"]);for(void 0!==Fn&&a.O(Db+" instructions earlier:");0=sc.length&&(tb=0);a.Ub=Db;In++;ce--}}In||(a.O("no "+Hn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var ni=P[0];if(ni){var We=Eq(a,ni);if(void 0===We||0>We||255>> -0,65536>4||1;is--&&0vg?String.fromCharCode(vg):".";tg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+qi:"")}rd&&a.O(rd);a.Db=de}}}}}break;case "e":if("else"==g[0])break;var wg=1,Nn=255,On=a.Qa,Pn=a.qc;"ew"==g[0]&&(wg=2,Nn=65535,On=a.na, -Pn=a.jb);var Qn=wg<<1,Rn=g[1];if(null==Rn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var xg=Zq(a,Rn);if(xg)for(var yg=2;ygwi;){for(var tc=null,ns=256;Sc.Ra>>>0>>0;){af.Ra=a.tb(Sc,!0);if(null==Sc.Da||!ns--)break;af.Z=Tn;if(tc=Lr(a,af))break;af.Z=a.tb(Sc);if(tc=Lr(a,af,!0)){Tn=a.tb(Sc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bVr){if(d.load(this.aa)){this.V=new hf(this,"1.23.0","failsafe");this.V.load()&&($r(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Pr(d),d.load()?(c=Rr(d),e=!0):c=!1))}e&&Zr(this,c?d:null)}else 2==a&&d.clear()}else Zr(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(as(this,this.F,b,c,a),Uc(this.F));this.ka&&($r(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function $r(a,b){if(za("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ke(),d=b.toString(),e={app:"PCx86",ver:"1.23.0"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;va("http://www.pcjs.org/api/v1/report",e,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,"1.23.0"),g=new hf(a,"1.23.0","validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.23.0");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Sb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcx86-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);rs(a,b,c)}})}else c(a,null)} -function ss(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--ds||Sa(!0));k=!1}var g,h,k=!0;ds++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcx86/1.23.0/components.xsl");l=function(d,h){h?es(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--ds||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ds||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?es(b,a,d,!0,e,l):fs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}function ts(a,b,c,d){Sa(!1);return ss(a,b,c,d)}window.embedPC=ts;window.embedPCx86=ts;window.enableEvents=Sa;window.sendEvent=Ta; -function us(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} -function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.23.2/document.css b/versions/pcx86/1.23.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.23.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.23.2/document.xsl b/versions/pcx86/1.23.2/document.xsl deleted file mode 100644 index 01a9d3b5f..000000000 --- a/versions/pcx86/1.23.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.23.2/machine.xsl b/versions/pcx86/1.23.2/machine.xsl deleted file mode 100644 index 7466129ac..000000000 --- a/versions/pcx86/1.23.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.23.2/manifest.xsl b/versions/pcx86/1.23.2/manifest.xsl deleted file mode 100644 index c7760eaaf..000000000 --- a/versions/pcx86/1.23.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.23.2/outline.xsl b/versions/pcx86/1.23.2/outline.xsl deleted file mode 100644 index c7861ffa5..000000000 --- a/versions/pcx86/1.23.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.23.2/pcx86-dbg.js b/versions/pcx86/1.23.2/pcx86-dbg.js deleted file mode 100644 index be85908a9..000000000 --- a/versions/pcx86/1.23.2/pcx86-dbg.js +++ /dev/null @@ -1,817 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.nh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.If=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Bf[a.A.Bi++]={Rk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.X/this.Sb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Da)return k.Oe+=k.Da-f,k.Da=f,!0;if(f>=k.Da+k.Oe){n=k.size-(f-l);n>g&&(n=g);k.Oe=f-k.Da+n;f=l+a.Sb;g-=n;h++;continue}}return Tb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Mb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Ub(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Wb[d]+" at "+r(b)),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Xb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Yb(a,1048576,1048576),Xb(a,1048576,1048576,Yb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ea].pc(0,a+1)<<8};function fc(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].dg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function gc(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].pi(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ea].xf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c>>=8};m.Ti=function(){return null};function hc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function ic(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function jc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&oc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&oc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var pc;if(vb){var qc=new ArrayBuffer(2);(new DataView(qc)).setUint16(0,256,!0);pc=256===(new Uint16Array(qc))[0]}else pc=!1;var bc=pc; -function B(a,b,c,d,e,f){this.id=rc+=2;this.da=null;this.C=0;this.Da=a;this.Oe=b;this.size=c||0;this.type=d||wc;this.N=d==ac;this.controller=null;this.F=f;Mb(this);this.Wa=this.Oi=!1;if(c)if(e)this.controller=e,a=e.Si(a),this.da=a[0],this.C=a[1],Zb(this,e.hh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Zb(this,bc?cc:dc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,ih:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.dg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ji(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.pi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.zf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.yf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).pc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).zf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Ue=a.Ve=0;c&&(c.F&&(a.F=c.F),(a.Ue=c.Ue)&&zc(a,Ac,!1),(a.Ve=c.Ve)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ve&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.X:a.pi,a.yf=a.N?a.U:a.ua):0===--a.Ue&&(a.pc=a.se,a.sf=a.dg,a.Nd=a.ji)}function Bc(a,b,c){c&&a.Ve||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.X,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.pi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Ue||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ia,a.dg=b[1]||a.ka,a.ji=b[2]||a.fa} -function Zb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],ec=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; -if(vb)var dc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],cc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.vg=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.vg*this.Y.Yd;this.la.Fb=!1;this.la.fh=!1;this.la.Li=a.autoStart;this.la.Pi=!1;this.la.Ze=!1;this.Y.Jf=this.Y.lf=0;this.Y.Kf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.ri=this.Le.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=Wc(a)&&(a.Y.kf=a.Y.mf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.Jf))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.vg&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.vg*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.jf=pa();a.Y.Ge=0;$c(a);return d} -m.Le=function(a){if(pb(this,!0)){if(!this.la.Fb){Xc(this);this.V&&this.V.start(this.Y.jf,Wc(this));this.la.Fb=!0;this.la.fh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(!0),a&&this.V.yd(!0))}this.Y.th>=this.Y.Jd&&$c(this,!0);this.Y.Nf=0;this.Y.wg=pa();this.Y.Ge&&(a=this.Y.wg-this.Y.Ge,a>this.Y.Yi&&(this.Y.jf+=a,this.Y.jf>this.Y.wg&&(this.Y.jf=this.Y.wg)));try{do{var c=this.la.Ze?1:this.Y.lm;if(this.N){ad(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= -(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=bd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.wf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Nf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Mf-=n;0>=this.Y.Mf&&(this.Y.Mf+=this.Y.$i,this.V&&cd(this.V));this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&this.V.qd());this.Y.nf-=n;if(0>=this.Y.nf){this.Y.nf+=this.Y.sh; -break}}while(this.la.Fb)}catch(q){this.Wb();Rc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.ri;this.Y.Ge=pa();e=this.Y.Yi;this.Y.Nf&&(e=Math.round(e*this.Y.Nf/this.Y.sh));e-=this.Y.Ge-this.Y.wg;if(f=this.Y.Ge-this.Y.jf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ad(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.hm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.gm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=gd(this,c,a),-1!==a&&(a+=this.Yf),a;C.call(b,13,a|2);return-1};m.Ei=function(a){return this.Aa+a|0};m.Gi=function(a){return this.Aa+a|0};m.Di=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()};m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};m.Fi=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.qg()}; -m.Kk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.qg()};m.qg=function(){C.call(this.F,13,0);return-1};function hd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ed(a,!0)}function id(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ed(a,!0)} -function gd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ed(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.df=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Yf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),jd(e,D(e),!0),G(e,z),a.df=!0),z=0);else{if(256==h||2304==h)return kd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ui=k+e.na(k+100+2)|0,a.Fk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,ed(a,!0,!0,!1));return k} -function kd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,wd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),xd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),yd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ed(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.ug,a.Xi=a.gm,a.mc=a.Di,a.nc=a.Fi,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.mc=a.ea,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.pg,a.nc=a.qg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.pg);if(a.type&2048||!(a.type&512))a.nc=a.qg;1024==(a.type&3072)&&(a.mc==a.Di&&(a.mc=a.Jk),a.nc==a.Fi&&(a.nc=a.Kk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.mh,a.Xi=a.hm,a.mc=a.Ei,a.nc=a.Gi,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Ad(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Zf=61442;this.Cc=1792;this.Xf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.X=Bd;this.cg=Cd;this.hg=Dd;this.ig=Ed;if(80186<=this.ja&&(this.X=Bd.slice(),this.cg=Cd.slice(),this.hg=Dd.slice(),this.ra=31,this.X[15]=Fd,this.X[96]=Gd,this.X[97]=Hd,this.X[98]=Id,this.X[99]=Fd,this.X[100]=Fd,this.X[101]= -Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Xd,this.X[241]=Yd,this.cg[7]=Zd,this.hg[7]=Zd,80286<=this.ja)){this.Zf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=fe.slice();for(a=0;a=this.Uc&&(this.tc[166]=ne,this.tc[167]=oe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Ni=!1;this.Qg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Gd=this.jd=this.Hb=this.Db=0;pe(this)}db(Ad,Lc);function qe(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function re(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.bg[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&re(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Hb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||se.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||se.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&bc&&c.da&&!c.controller&&!c.Ue&&!c.Ve?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Zb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Zb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function te(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Ad.prototype;m.reset=function(){this.la.Fb&&this.Wb();pe(this);Oc(this);this.la.ud=!1}; -function ue(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ve(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function pe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.jg=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new dd(a,1,"CS");a.vb=new dd(a,2,"DS");a.Xa=new dd(a,2,"ES");a.ta=new dd(a,3,"SS");G(a,0);jd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ki=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new dd(a,2,"FS");a.Ob=new dd(a,2,"GS");te(a)}a.rf=new dd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)yd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new dd(a,5,"LDT",!0);a.Sa=new dd(a,4,"TSS",!0);a.Ea=new dd(a,6,"VER",!0);yd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.hf=(b>>>0)+(a.va.Ta>>>0)+1}xd(a,0);ld(a)} -function we(a){2==a.Oc?(a.dc=a.na,a.Oa=xe,a.$a=ye,a.Jb=ze,2==a.ba?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=De,a.fa=Ee,a.ya=Fe)):(a.dc=a.oa,a.Oa=Ge,a.$a=He,a.Jb=Ie,2==a.ba?(a.W=Le,a.fa=Me,a.ya=Ne):(a.W=Oe,a.fa=Pe,a.ya=Qe))}function md(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Re(a))}function Re(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=Le,a.fa=Me,a.ya=Ne)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=De,a.fa=Ee,a.ya=Fe):(a.W=Oe,a.fa=Pe,a.ya=Qe))} -function Se(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;we(a);a.ba=a.va.ba;a.R=a.va.R;Re(a);a.Ha&=-3073}m.Ri=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+wd(this)|0};function Te(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function ld(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.ig=b&&!c?gf:Ed;ed(a.va,!1,b,c);ed(a.vb,!1,b,c);ed(a.ta,!1,b,c);ed(a.Xa,!1,b,c);80386<=a.ja&&(ed(a.Nb,!1,b,c),ed(a.Ob,!1,b,c));Se(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ki),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,wd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.kc, -this.Ka.kc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.yg==b.Hb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;Se(a)}function yd(a,b,c,d){var e=a.va;e.Yf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Yf&a.va.R)),a.va.df):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.hf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.hf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function wd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&ld(a,!0)}function xd(a,b,c){a.Za&1||(b&=~a.Xf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Zf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ui)for(var f=a.Sa.ui+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Qg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].pc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Fg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Fg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Fg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function nd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Mg-a.ga|0;0>c&&0<=(a.Mg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function od(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ja>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.jc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Fg(a){return a.F.oa(a.F.D)}function Gg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Hg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Ig(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.oi=function(){this.F.nb(this.F.D,this.L[0])};m.pk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.rk=Xf.prototype.oi;m.qk=Xf.prototype.pk;function Jg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Kg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Dg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Lg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Mg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Qg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Rg=Math.log(10)/Math.LN2,Sg=Math.LOG2E,Tg=Math.PI,Ug=Math.log(2)/Math.LN10,Vg=Math.LN2,Wg=Math.pow(2,63);function Xg(){this.ma&=-32896;ag(this)} -function Yg(){lg(this,U(this,0),U(this,this.A))}function Zg(){lg(this,U(this,0),U(this,this.A))&&Ng(this)}function $g(){Zg.call(this)}function ah(){W(this,0,kg(this,U(this,0),Gg(this)))}function bh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Og(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Ng(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Wg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Og(this,a)},6:function(){var a=mg(this,Ng(this));null!=a&&(this.ea[0]= -Mg(a,8),this.ea[1]=Mg(a/1E8,8),this.ea[2]=Mg(a/1E16,2),0>a&&(this.ea[2]|=32768),Jg(this))},7:function(){null!=mg(this,U(this,0),Wg)&&(this.pk(),Ng(this))},48:function(){bh.call(this);Ng(this)},49:oh,50:jh,51:jh,52:mh}},qh=[Xg,ch,dh,eh,fh,gh,kh,hh,lh,mh];Qa(function(){for(var a=nb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.cj;(bd)&&C.call(this,5);this.S|=2;return a}function zh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function Ah(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function Bh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Dh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Jh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Vb;this.S|=2;return a}function Kh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Vb;this.S|=2;return a} -function Lh(a){if(this.Tb){var b=this.Tb,c=this.jg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=ph[c][f]){if(0>qh.indexOf(e)){var f=b.F,g=f.re;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Mh(a){if(80186>this.ja)return Nh.call(this,a);C.call(this,13,0);return a}function Zd(a){C.call(this,6);return a} -function Nh(a){ge.call(this);return a}function Oh(a,b){var c=Ph.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Qh(a,b){var c;a=this.Ma();c=2==this.ba?Ph.call(this,a,b):Rh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Sh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Th.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Ph(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Rh(a,b){Sh.call(this,a,b);this.wa!=this.ia>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ia}function Uh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function ai(a,b){if(-1===this.D)return ge.call(this),a;jd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.Mj:this.B.Lj:this.B.Jj;return b}function ci(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function di(a,b){return b} -function ei(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return bi.call(this,0,b)} -function fi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&md(this,2);return bi.call(this,0,b)} -function Th(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function hi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function ii(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function ji(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Bi(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Uf:this.B.Uf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Uf:this.B.Uf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.di}else this.C=this.D,Of(this,a),this.A-=this.B.ci;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.di}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ci;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;ld(this);this.Za&-2147483648?re(this):te(this)}function zd(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Zj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Vh:this.B.Uh)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&jd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,pe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function se(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ye(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function ze(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ae(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this, -I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C? -1:this.B.Eg},Sj,function(){this.ya.call(this,hk,this.T);this.A-=-1===this.C?1:this.B.Eg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,fi)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.W.call(this,Wh)},function(){var a;this.W.call(this,ei);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;vd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break; -case 2:a=this.M;this.M=this.aa;jd(this,a);break;case 3:a=this.H;this.H=this.aa;ud(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):vd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;jd(this,a);break;case 7:a=this.J,this.J=this.aa,ud(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ej},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.hj},function(){this.A-=3},function(){var a=wd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;xd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(wd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Kh},function(){this.G=this.G&~this.R|nd(this,this.ka,T(this));this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Lh},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ha&256||(this.A-=this.B.Nh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ha&256||(this.A-=this.B.Nh));if(a--){var e=nd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.xh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.zh,this.Ha&256||(this.A-=this.B.yh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.xh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.zh, -this.Ha&256||(this.A-=this.B.yh));if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Xh;this.Ha&192&& -(a=this.I&c,b=1,d=this.B.Zh,this.Ha&256||(this.A-=this.B.Yh));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Xh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Zh,this.Ha&256||(this.A-=this.B.Yh));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Eh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Gh,this.Ha&256||(this.A-=this.B.Fh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Eh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Gh, -this.Ha&256||(this.A-=this.B.Fh));if(a--){var e=nd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Rh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ha&256||(this.A-=this.B.Sh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Rh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ha&256||(this.A-=this.B.Sh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Xh)},function(){this.W.call(this,Vh)},function(){this.S|= -1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this,jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.yj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.zj;this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.Aj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.wj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);kd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);ld(this,!0,!0);jd(this, -f);G(this,e);vd(this,g);ud(this,h);this.Nb.load(k);this.Ob.load(l)}null!=yd(this,b,c,!1)&&(xd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.bj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.aj},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.$j},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Hj):this.A-=this.B.Hh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Ih):this.A-=this.B.Jh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Hh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Jh:(O(this,K(this)+a),this.A-=this.B.Ih)},function(){var a=this.xa(); -Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-2)&255,this.A-=this.B.Ch)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Ch)},function(){var a=this.xa();Hf(this,a,1,!1)&&(nc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Qh)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Qh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.fj},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Dh},function(){yd(this,this.Ma(),Rf(this));this.A-=this.B.Cj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Dh},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,1,!1)&& -(nc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Ph)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Ph)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -lk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.dj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Cd,uj)},function(){this.ya.call(this,Dd,uj)}],Tj=[th,gi,rh,ii,vh,bj,jj,Jh],hk=[uh,hi,sh,ji,wh,cj,kj,Kh],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Sj;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],jk=[function(a,b){this.A-=-1===this.C?this.B.Kj:this.B.Ij;return b},Nh,Nh,Nh,Nh,Nh,Nh,Nh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Nh, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Nh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Nh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Oj:this.B.Nj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Aj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia| -63,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Th.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Sh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.nj:this.B.mj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Aj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],Cd=[function(a){var b= -a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},Nh,Nh,Nh,Nh,Nh,Nh],Dd=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.jj:this.B.ij;this.S|= -2;return a},function(a){if(-1===this.D)return Nh.call(this,a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.gj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Ej:this.B.Dj;this.S|=2;return a},function(a){if(-1===this.D)return Nh.call(this,a);yd(this,a,this.na(this.D+this.ba));this.A-=this.B.Bj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Uj;this.S|=2;return a}, -Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var fe=Array(256);fe[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.ig,uj)};fe[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};fe[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};fe[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)}; -fe[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};fe[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};fe[11]=Fd;fe[166]=Fd;fe[255]=Fd;var M=[];M[5]=Fd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;xd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);hd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));hd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);hd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));hd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));hd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));hd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));hd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));hd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:ge.call(this);return}ve(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(ve(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ue(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:zd.call(this,b);this.A-=5;break;default:ge.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(a=ue(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(ve(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(this.Ce[b]=ue(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,Bi)}; -M[145]=function(){qj.call(this,Bi)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){od(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){od(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Ih);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Ph:Rh)};M[178]=function(){this.W.call(this,ai)};M[179]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Yh)};M[181]=function(){this.W.call(this,Zh)}; -M[182]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,zh)};M[189]=function(){this.W.call(this,Ah)}; -M[190]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Nh,Nh],Ed=[Zd,Zd,Zd,Zd,Zd,Zd,Nh,Nh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Nh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Nh],ok=[Nh,Nh,Nh,Nh,Bh,Eh,Dh,Ch]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),uk(this,vk,this.ia.length),uk(this,wk,a.monitor||(this.ja=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Ck:1,ONE:0,eo:64,bo:128,Gn:192,Lc:192,Rg:6},zk={co:16,zn:32,On:48,Lc:48,Rg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Pb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;ic(b,this,Ck);mc(b,this,Dk);this.jab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}Te(c,26,this.bm.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ja|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;fl(a,b,c,!0)}function gl(a,b,c){if(b=(a=Ak[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function nl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.L[b>>2].Dc[b&3];b.rg&&b.gh&&b.Gg?(c&&(b.done=c),b.Ee||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Qi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.mg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.gh.call(b.rg,b.Gg,-1,function(f,g){0>f&&(b.Qi||(b.Qi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.gh.call(b.rg,b.Gg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.of=c||0,Dl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&Zk(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.W[e];h.fg=d;h.mode=g;h.$g=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.$e=!1;h.Be=!1;h.ef=!1;Hl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Jl(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function bd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ml(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.$e=!0;Hl(a,b)}function Hl(a,b){var c=a.W[b];c.Fd=32==c.fg?1:0;c.nd=48==c.fg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=bd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function ad(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Ll=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.en=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ml=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.fn=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&Zk(a,c)}m.Nl=function(a,b){var c=0,c=5150==(this.ja|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.gn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Ol=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.hn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Xk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.qm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Wk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Yk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Zk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ql(this.B);return c}; -m.sm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Tl(a);break;case 243:a.W&&(c=0);Ul(a,250);a.W=c;break;case 237:a.W&&(c=0);Ul(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.fa=b;this.N&=-9}; -m.$k=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.tm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.al=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Vl(this,this.aa);break;case 173:Rl(this,this.aa|16);break;case 174:Rl(this,this.aa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Rl(this,this.aa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ga);break;case 208:Vl(this,this.Ka);break;case 224:Vl(this,this.aa&16?0: -1);break;case 240:a&1&&pe(this.F)}};function Rl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Sl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||pe(a.F)}function Wl(a,b){a.ja=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Im=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.gk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Tm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.bm=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function Zk(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Jl(a,2));if(20>c||2E4>>4,0,this.V,this.C,this.Rd),delete this.Rd);return!0};Zl.prototype.hc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Xk(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Xb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Yb(c,917504,131072));var d=Yb(c,16646144,131072);Xb(c,917504,131072,d,b&2?1:ac)}this.C=this.C&-256|b}};m.Si=function(){return km};m.hh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcx86","ram"),b=0;b":62,"?":63,"@":64,wn:65,xn:66,yn:67,Dn:68,E:69,En:70,Hn:71,In:72,Jn:73,Kn:74,Ln:75,Mn:76,Nn:77,Pn:78,Qn:79,Rn:80,Q:81,Sn:82,Wn:83,ao:84,fo:85,ho:86,io:87,ko:88,lo:89,mo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,no:97,oo:98,qo:99,d:100,e:101,ro:102,so:103,to:104, -uo:105,vo:106,k:107,wo:108,xo:109,n:110,zo:111,p:112,q:113,r:114,Ao:115,t:116,Co:117,Do:118,Eo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));if(b=om[c])a.ra=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Xl(a,!0);a.X&&a.fa&&(Tl(a),a.fa=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.U=!0,Wl(a.N,b))} -function Ql(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Wl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Nl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ne=b,d.xc=a.xc,Am(a,b,!0),e++),0b.Ld){if(!b.Ff){ym(a,b.Ne);return}b.Ff=!1;c=a.ua}else c=1==b.Ld++?500:100;b.sk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Hg=function(a){a||(this.xc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.dh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Kg=c[4]>>8&255;this.mb=c[5];this.oh=Wm;this.lg=Ym;if(5<=b){this.oh=Xm;this.lg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ye=b[0];this.Od=b[1];this.Tc=b[2];this.Ug=$m;this.Ng=b[3];this.vf=b[4];this.eg=b[5];this.ce=b[6];this.Ke=b[7];this.Wg=an;this.ik=b[8];this.jk=b[9];this.be=b[10];this.ae=b[11];this.Vg=bn;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.ei&255};dn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.qh,c=this.controller.ph&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Vf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function en(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Kg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ye;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Ng;c[4]=a.vf;c[5]=a.eg;c[6]=a.ce;c[7]=a.Ke;c[8]=a.ik;c[9]=a.jk;c[10]=a.be;c[11]=a.ae;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Ac,b.mb,b.lg),5<=b.Ua&&(fn(b," GRC",b.be,b.ae,b.Vg),fn(b," SEQ",b.ce,b.Ke,b.Wg),fn(b," ATC",b.Od,b.Tc,b.Ug),fn(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Ye),fn(b," FEAT",b.eg),fn(b," MISC",b.vf),fn(b," STATUS0",b.Ng)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.xg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Xe();a=!0}this.V&&this.V.focus()}return a}; -function Im(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.dh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Wf(!0),b=!0):this.V.tk&&(this.V.tk(),this.W&&this.W.Wf(!1),b=!0),this.V&&this.V.focus());return b};m.Wf=function(a){this.W&&(this.W.Wf(a),this.B&&(this.B.dh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vk)}; -function qn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){sn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){sn(a,b)},!0),c.addEventListener("touchend",function(b){sn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.ig=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.vn=function(){a.Hd=!0;a.W.je(tn,!0)})}m.Hg=function(a){this.B&&this.B.Hg(a)}; -function sn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.ig;!0===c?(a.Id=500f){a.W.je(tn,!0);a.W.je(tn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.If(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Um(this,1);this.aa=this.Wc=new Um(this,3);5>this.Ua?this.A=new Um:(this.A=new Um(this,this.Ua,null,this.Ed),un(this));vn(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;wn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);gc(this.ea,b,c|d<<8)}rn(this,!0)}};function un(a){a.A.vf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,en(this.rd));N(a,1,en(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Um(this,1,a[0]);this.aa=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.Ua,a[3],this.Ed);this.A.Hc&&un(this);vn(this);if(!xn(this))return!1;yn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.fa||a.ha)&&rb(a)}} -function zn(a,b){if(1==b)return a.Ca[0]=Om[0],a.Ca[1]=Om[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function cm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function vn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=zn(a);null!=a.Jb[0]&&An(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(An(a,1,a.Jb[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Tb&&An(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function An(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(Bn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.un&&Bn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function Bn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Qc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Je,Wd,Ke);v&&Cn(wa,Je+1,Wd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.ti[F]=z;l.Tg[F]=ia;l=!0}}a.Oa[b]=q;return l}function $n(a){0a.cb&&(a.cb=0):a.cb=-1} -function yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)ao(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(ao(a),a.ua=c);d=d-b+1;if(a.jg!=b||a.Ce!=d)a.jg=b,a.Ce=d;a.$a=e+1;$n(a)}}} -function ao(a){if(0<=a.ua){if(void 0!==a.ga){var b=a.ga[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.ga[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.hf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Ke[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.xg?(c.Pg(b),a.ea.Pg(c.ob,c.ac,c.hh(),!0),!0):!1} -function xn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!wn(a,d,b))return!1;eo(a,c);return!0} -function wn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Qg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){ao(a);if(a.ob){if(!$b(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>gn(a.A,18)?43:50:a.U=a.Ua);a.bg=a.L*a.X|0;a.Zf=a.bg/ -a.jd|0;a.Ub=a.Zf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Xf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Xf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.fa.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.fa.fillStyle=a.ka.style.backgroundColor,a.fa.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);rn(a)}return!0}function Cn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Zf;if(void 0===a.ga||a.ga.length!=b)a.ga=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.fa.fillStyle=h.Pe[k],a.fa.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Tg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.fa.drawImage(h.Tg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.jg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.fa.fillStyle=h.Pe[d],a.fa.fillRect(b,c+f,a.Ja,g)))} -function rn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.ga)return;var e=!1;!(b||++a.Qg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.bg,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.qf&&d.qf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Cn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.ga[d]?(h+=L,L=0):a.ga[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.wh=d,d=-d|0);d%b.rh>b.km&&(c|=1);d%b.uh>b.mm&&(c|=9);b.fi=d/b.uh|0;return c}m.Hl=function(a,b){return io(this,this.pa,a,b)};m.bn=function(a,b,c){var d=this.pa;d.Kg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Gl=function(a,b){return jo(this,this.pa,a,b)};m.an=function(a,b,c){ko(this,this.pa,a,b,c)};m.Il=function(a,b){return lo(this,this.pa,b)};m.cn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;xn(this,!1)}; -m.Jl=function(a,b){return mo(this,this.pa,b)};m.fk=function(a,b,c){this.A.eg=this.A.eg&-4|b&3;x(this,a,b,c,"FEAT")};m.fl=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Dk=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Ug[this.A.Od&31],c);return c}; -m.ek=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Ye){d.Ye=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Ug[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Ye=!0,b&32&&!e&&vn(this,!0)&&rn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.qf=0}; -m.Tl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.vf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ya.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Pb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");ic(b,this,po,this.V);mc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Cf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Cf=b[c];return!0}m.ul=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Sl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.ql=function(a,b){var c=this.Cf;x(this,a,null,b,"CTRL",c);return c}; -m.Om=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Jm=function(a,b,c){x(this,a,b,c,"CTRL");this.Cf=b;so(this)};function so(a){a.N&&a.C&&(a.Cf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.ul,1:no.prototype.Sl,2:no.prototype.ql},qo={0:no.prototype.Om,2:no.prototype.Jm};Qa(function(){for(var a=nb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Cl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Dl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.Fl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.El=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Kl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.mn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.If(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case tn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.If=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.gi&&a<=e.bk){d=a-=e.gi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.gg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.sg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.sg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.$f=Zo(a,e,c+8,4);(e=Yo(a,d.$f))&&(f=!0);break}c+=16}if(!f)return}d.Hf||(d.Hf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Gf=Zo(a,e,14,2),d.lh=d.Gf+Zo(a,e,22,2)*Zo(a,e,16,1),d.vh=Zo(a,e,17,2),d.zg=Zo(a,e,13,1));d.jh=d.lh+((32*d.vh+(d.Va-1))/d.Va|0);d.jm=(d.Hf-d.jh)/d.zg|0;d.Bg=4084>=d.jm?12:16;d.Tk=12==d.Bg?4086:65526;b=[];for(e=d.lh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Bo=d+"\\";for(var k=0;kF)break;for(var v=p.jh+(F-2)*p.zg,E=0;E>3,1),d?e=16==b.Bg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Uk=b;a.Vk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.gf();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.xk;this.dmaWrite=this.yk;this.dmaFormat=this.Mk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ia=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Vd:3,ie:0,name:aa.$n},4:{Vd:2,ie:1,name:aa.Yn},5:{Vd:9,ie:7,name:aa.jo},6:{Vd:9,ie:7,name:aa.Tn},7:{Vd:2,ie:0,name:aa.Vn},8:{Vd:1,ie:2,name:aa.Zn},10:{Vd:2,ie:7,name:aa.Un},13:{Vd:6,ie:7,name:aa.Fn},15:{Vd:3,ie:0,name:aa.Xn}};m=rp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Og.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);ic(b,this,wp);mc(b,this,xp);yp(this,"None","",!0);this.ia&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.eh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.jc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.mk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.lk=c,a.Me=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.Ag=f[0],a.Of=f[1],a.Pf=f[2],this.V&&this.V.yd()):a.af=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Qm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Ib=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Ep(this);d.Ib=128<>2&1,c=Ep(this),d.Qb+=c-d.ge,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ge=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b}m.xk=function(a,b,c){void 0===b||0>b?this.Je(a,c):c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Ip(a,b):-1}; -m.Mk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.We++]=c;if(a.We==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<Ip(a,a.yi)){c=-1;break a}a.og++}a.og>=a.he&&(c=-1)}else c=-1;return c};m.Je=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Jp(a)}while(1)}b(c,!1,d,e)}; -function Ip(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Jp(a)}while(1);return b}function Jp(a){a.xb++;a.xb>=a.Pf+1&&(a.xb=1,a.kb++,a.kb>=a.Of&&(a.kb=0,a.Qb++))}var wp={1009:rp.prototype.wl,1012:rp.prototype.yl,1013:rp.prototype.vl,1015:rp.prototype.xl},xp={1010:rp.prototype.Rm,1013:rp.prototype.Qm,1015:rp.prototype.Pm}; -Qa(function(){for(var a=nb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ -k.ng)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Re[2])?e=b.Re[0]<<8|b.Re[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.mk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.on=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Zl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Je(a.B,function(b){0<=b?(Wp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Bk=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Xp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>Yp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.xm=function(a,b,c){Xp(this,a,b&255,c);Xp(this,a,b>>8&255,c)};m.el=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Cm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.gl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.Am=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.hl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.cl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.wm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.bl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.dl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.ym=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.il=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.um=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);Zp(this)};m.zm=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function Zp(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Je(k,function(b){0<=b&&a.N?(Wp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Wp(a)} -function Wp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=$p(a),c=$p(a),d=c&32,e=d>>5,f=c&31,g=$p(a),h=$p(a),k=g<<2&768|h,l=g&63,n=$p(a),q=$p(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:aq(a,p?p.errorCode:4);bq(a,c);bq(a,g);bq(a,h);bq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=$p(a));)p&&cb?this.Je(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Yp(a,b):-1}; -m.Nk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebYp(a,a.yi)){c=-1;break a}a.og++}a.og>=a.he&&(c=-1)}else c=-1;return c}; -function cq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function eq(a,b,c){b.errorCode=4;b.Se&&b.Se.length==b.Ib||(b.Se=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -m.Je=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.ng,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,fq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function Yp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.ng,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;fq(a)}while(1);return b}function fq(a){a.xb++;var b=1-a.ng;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.$l=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Yl,801:Kp.prototype.Zl,802:Kp.prototype.Xl},Np={496:Kp.prototype.Bk,497:Kp.prototype.el,498:Kp.prototype.gl,499:Kp.prototype.hl,500:Kp.prototype.cl,501:Kp.prototype.bl,502:Kp.prototype.dl,503:Kp.prototype.il},Qp={800:Kp.prototype.on,801:Kp.prototype.rn,802:Kp.prototype.qn,803:Kp.prototype.pn,807:Kp.prototype.hi,811:Kp.prototype.hi,815:Kp.prototype.hi},Pp={496:Kp.prototype.xm,497:Kp.prototype.Cm,498:Kp.prototype.Am,499:Kp.prototype.Bm,500:Kp.prototype.wm,501:Kp.prototype.vm, -502:Kp.prototype.ym,503:Kp.prototype.um,1014:Kp.prototype.zm};Qa(function(){for(var a=nb(document,"pcx86","hdc"),b=0;b>2;this.Ba=b.yg;this.bc=new dd(this.F,7,"DBG");this.Ia=yq;80186<=this.F.ja&&(this.Ia=yq.slice(),this.Ia[15]=wq,80286<=this.F.ja&&(this.Ia[15]=xq,80386<=this.F.ja&&(this.Ja=8)));Mk(this,64,function(a){Cq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Dq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Eq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Fq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Gq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Dq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=hq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Hq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Iq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Cq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Dq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Eq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Jq:Kq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;Te(this.F,48,this.cm.bind(this));Te(this.F,65,this.dm.bind(this)); -this.ka=null;Te(this.F,104,this.em.bind(this));rb(this)};function Lq(a,b,c,d,e,f){b=Iq(a,b);var g=Eq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Mq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Nq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=hq(a,a.oa(b,4),a.na(b,2));b=hq(a,a.oa(b,4),a.na(b,2));b=Iq(a,b).toUpperCase();var k=Iq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Mq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Oq(a,b,c){c=Iq(a,c).toUpperCase();Pq(a,c,b)} -m.cm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=hq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Nq(this,hq(this,a.H,b),!c,!!this.C)}}return!0}; -m.dm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Lq(this,hq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Pq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=hq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Qq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Rq(a)),this.Sd(this.A,a,!0),jq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Nq(this,hq(this,b.H,f),!g,!!this.C);break;case 338:Oq(this,d,hq(this,b.J,f))}this.cb=!1;return!this.C}; -m.em=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=fd(b.va,this.Ik.bind(this)))&& -(b.J=a[0],vd(b,a[1]));break;case 72:Pq(this,null,e);break;case 80:32==c?Lq(this,hq(this,h,k),0,f,!0,!!this.ka):128>c?Lq(this,hq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Nq(this,hq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Ik=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",lq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ed(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Eq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Tq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Tq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Tq(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.dc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ea;f.sa[(e&f.Hb)>>>f.La].xf(e&f.A,b&255,e)}c&&Tq(this,a,c);d||Rc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):gc(this.ea,d,b),c&&Tq(this,a,c),Rc(this.F,!0))};function hq(a,b,c,d,e,f,g){return Uq(a,{},b,c,d,e,f,g)}function Uq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Sq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.oc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Vq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Rb,a.oc,a.Te,a.Wd]}function Wq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Rb:a[4],oc:a[5],Te:a[6],Wd:a[7]}} -function Xq(a,b,c){if(null!=b.Z&&(a=Eq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=$q(a,b,void 0),f=null):(f=$q(a,b,void 0),null==f&&(g=null)):(h=$q(a,b.substring(0,f),void 0),g=$q(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=hq(a,g,h,f,c),d||Xq(a,e,!0)||(a.O("invalid offset: "+Rq(e)),e=null));return e}function ar(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ek=br(a,b.kk=c[2]))}function Tq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Xq(a,b)||(b.Ra=0,b.Da=null))}function Hq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Rq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Hq(a.Ra,a.Z,a.oc)}function Iq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Wb[c],6==c&&(d=d.Cd,h+=" -> "+Wb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(tq,a.substr(b,2))));return c} -function er(a,b){var c=0,d=fr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function fr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=wd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ki;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function gr(a,b){b=Zq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=dr(b,c+1),0<=e&&(b=b.substr(0,c)+er(a,e)+b.substr(c+1+tq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(d=e+' "'+Iq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(Tq(a,d),d=e+ -' "'+Iq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=gq.prototype;m.message=function(a,b){b&&(a+=" at "+Rq(hq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.nf=0;c.fb-=c.A;c.A=0;Rc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>nq.indexOf(b),!d)){var g=mq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+gr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Hq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Hq(e,h):""))}m.ih=function(){this.O("Type ? for help with PCx86 Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;lq(this,a)}}; -function jq(a,b){var c;if(Tf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(mr(this,a,a.length-1,"set"),jq(this)));return d}; -function Qq(a,b,c,d,e){for(var f=!1,g=nr(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Aq[f])&&(q=p[z]);q&&(n=qq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Bq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.oc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.oc&&6==ia||H.oc&&5==ia))bb=2;else{if(H.oc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=uq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=uq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.oc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=rr(v,ia,E,H);v=P}else v=160==L?rr(a,g&7,E,b):rr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -hq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.oc);E=Rq(L);v=sr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.oc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=sr(a,hq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":rr(a,(E&3840)>>8,E,b):112==L?v=rr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Rq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.oc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return tq[b]} -function ur(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Gq(a){return r(a,a&-65536?8:4)}function vr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+wr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=wr(a,a.F.Nb,b)+" "+wr(a,a.F.Ob,b)+"\n");c+=xr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+xr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+xr(a,"ID", -null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+vr(a,32);80386<=a.F.ja&&(c+=vr(a,34)+vr(a,35))}else 80386<=a.F.ja&&(c+=wr(a,a.F.Nb,b)+" "+wr(a,a.F.Ob,b)+" ");return c+=vr(a,23)+ur(a,"V")+ur(a,"D")+ur(a,"I")+ur(a,"T")+ur(a,"S")+ur(a,"Z")+ur(a,"A")+ur(a,"P")+ur(a,"C")}var zr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ar(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function $q(a,b,c){var d;if(b){b=Zq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({gg:b,nm:c,Z:d,Ra:e,Da:f,fm:g,Rd:h,si:l})} -function Pq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.fm;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Rq(b)),n=!0):(a.qc(b,c,1,!0),l++)})})(a,g);Rc(a.F, -!0);a.O(l+" bytes read at "+c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function ir(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":ud(a.F,h);break;case "ES":vd(a.F,h);break;case "SS":jd(a.F,h);break;case "CS":kf(a.F,h);a.aa=hq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=hq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":xd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;zd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Rc(a.F);a.O("updated registers:")}}a.O(yr(a,d));c&&(a.aa= -hq(a,K(a.F),a.F.va.Z),jr(a,Rq(a.aa)))}}function Jr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(gr(a,c[2])):$q(a,b,!0)}function Kr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=qr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function br(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function pr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Rq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.vi=a.F.Pd+Da.ck;Da.yb=be.sa[(Da.vi&be.Hb)>>>be.La];Da.Vi=Da.yb.Nd(Da.ck);Da.dk=(Ue&4190208)>>>10;Da.wi=(Da.Vi&-4096)+Da.dk;Da.zb=be.sa[(Da.wi&be.Hb)>>>be.La];Da.Wi=Da.zb.Nd(Da.dk);Da.Gk=(Da.Wi&-4096)+(Ue&4095)}if(ae=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+cr(ae.vi,ae.Vi)),pd=pd+(" %%"+cr(ae.wi,ae.Wi,!0)), -pd=pd+(" %%"+r(ae.Gk));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Ir(a,P);break a}for(bb in vq)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,sc=a.ia;if(sc.length){var Db=+En||a.Ub,ce=+Fn||10;isNaN(Db)?Db=ce:Gn="more ";Db>sc.length&&(a.O("note: only "+sc.length+" available"),Db=sc.length); -tb-=Db;0>tb&&(null==sc[sc.length-1].Z?(Db=tb+Db,tb=0):tb+=sc.length);var li=[];"call"==Fn&&(ce=1E5,li=["CALL"]);for(void 0!==En&&a.O(Db+" instructions earlier:");0=sc.length&&(tb=0);a.Ub=Db;Hn++;ce--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var mi=P[0];if(mi){var We=Dq(a,mi);if(void 0===We||0>We||255>> -0,65536>4||1;hs--&&0ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=de}}}}}break;case "e":if("else"==g[0])break;var vg=1,Mn=255,Nn=a.Qa,On=a.qc;"ew"==g[0]&&(vg=2,Mn=65535,Nn=a.na, -On=a.jb);var Pn=vg<<1,Qn=g[1];if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var wg=Yq(a,Qn);if(wg)for(var xg=2;xgvi;){for(var tc=null,ms=256;Sc.Ra>>>0>>0;){af.Ra=a.tb(Sc,!0);if(null==Sc.Da||!ms--)break;af.Z=Sn;if(tc=Kr(a,af))break;af.Z=a.tb(Sc);if(tc=Kr(a,af,!0)){Sn=a.tb(Sc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bUr){if(d.load(this.aa)){this.V=new hf(this,"1.23.2","failsafe");this.V.load()&&(Zr(this,d),a=2,Or(this.V));N(this.V,"timestamp",qa());Pr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Qr(d)){var f=Rr(d,"code"),g=Rr(d,"data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Or(d),d.load()?(c=Qr(d),e=!0):c=!1))}e&&Yr(this,c?d:null)}else 2==a&&d.clear()}else Yr(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&($r(this,this.F,b,c,a),Uc(this.F));this.ka&&(Zr(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function Zr(a,b){if(za("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ke(),d=b.toString(),e={app:"PCx86",ver:"1.23.2"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;va("http://www.pcjs.org/api/v1/report",e,!0)}} -function Mr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,"1.23.2"),g=new hf(a,"1.23.2","validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.23.2");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.ah=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.ah+=g.size,g.size&&(e.Sg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Sb/691200;d=0;c.A.Bi=0;c.A.Bf||(c.A.Bf=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcx86-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);qs(a,b,c)}})}else c(a,null)} -function rs(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--cs||Sa(!0));k=!1}var g,h,k=!0;cs++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcx86/1.23.2/components.xsl");l=function(d,h){h?ds(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--cs||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--cs||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ds(b,a,d,!0,e,l):es(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}function ss(a,b,c,d){Sa(!1);return rs(a,b,c,d)}window.embedPC=ss;window.embedPCx86=ss;window.enableEvents=Sa;window.sendEvent=Ta; -function ts(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){us(b,d)}):us(null,d)}else w("Error ("+c+") requesting "+a)} -function us(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.23.3/document.css b/versions/pcx86/1.23.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.23.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.23.3/document.xsl b/versions/pcx86/1.23.3/document.xsl deleted file mode 100644 index b16b46e45..000000000 --- a/versions/pcx86/1.23.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.23.3/machine.xsl b/versions/pcx86/1.23.3/machine.xsl deleted file mode 100644 index a74220a77..000000000 --- a/versions/pcx86/1.23.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.23.3/manifest.xsl b/versions/pcx86/1.23.3/manifest.xsl deleted file mode 100644 index 70950560d..000000000 --- a/versions/pcx86/1.23.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.23.3/outline.xsl b/versions/pcx86/1.23.3/outline.xsl deleted file mode 100644 index cc5d1751b..000000000 --- a/versions/pcx86/1.23.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.23.3/pcx86-dbg.js b/versions/pcx86/1.23.3/pcx86-dbg.js deleted file mode 100644 index 333b7caa0..000000000 --- a/versions/pcx86/1.23.3/pcx86-dbg.js +++ /dev/null @@ -1,817 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.nh|g<>a.shift} -function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; -m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.If=function(a){Gb(this,a)}; -function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Bf[a.A.Bi++]={Rk:b,Vd:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} -function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.X/this.Sb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Da)return k.Oe+=k.Da-f,k.Da=f,!0;if(f>=k.Da+k.Oe){n=k.size-(f-l);n>g&&(n=g);k.Oe=f-k.Da+n;f=l+a.Sb;g-=n;h++;continue}}return Tb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Mb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Ub(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Wb[d]+" at "+r(b)),!0):Tb(a,2,b,c)} -function Rb(a,b){if(32==a.N)b?a.V&&(Xb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Yb(a,1048576,1048576),Xb(a,1048576,1048576,Yb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ea].pc(0,a+1)<<8};function fc(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].dg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function gc(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].pi(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ea].xf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c>>=8};m.Ti=function(){return null};function hc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function ic(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function jc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&oc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&oc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var pc;if(vb){var qc=new ArrayBuffer(2);(new DataView(qc)).setUint16(0,256,!0);pc=256===(new Uint16Array(qc))[0]}else pc=!1;var bc=pc; -function B(a,b,c,d,e,f){this.id=rc+=2;this.da=null;this.C=0;this.Da=a;this.Oe=b;this.size=c||0;this.type=d||wc;this.N=d==ac;this.controller=null;this.F=f;Mb(this);this.Wa=this.Oi=!1;if(c)if(e)this.controller=e,a=e.Si(a),this.da=a[0],this.C=a[1],Zb(this,e.hh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Zb(this,bc?cc:dc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,ih:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},Rd:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.dg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ji(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.pi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.zf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= -this.W;this.Cd.yf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).pc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},Uc:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).zf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Ue=a.Ve=0;c&&(c.F&&(a.F=c.F),(a.Ue=c.Ue)&&zc(a,Ac,!1),(a.Ve=c.Ve)&&Bc(a,Ac,!1))} -function Gc(a,b){b?0===--a.Ve&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.X:a.pi,a.yf=a.N?a.U:a.ua):0===--a.Ue&&(a.pc=a.se,a.sf=a.dg,a.Nd=a.ji)}function Bc(a,b,c){c&&a.Ve||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.X,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.pi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Ue||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ia,a.dg=b[1]||a.ka,a.ji=b[2]||a.fa} -function Zb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],ec=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.Rd,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Cc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.Uc,B.prototype.Id,B.prototype.kd]; -if(vb)var dc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],cc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.uc,B.prototype.Gd,B.prototype.jd]; -function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Zd=d;this.Y.vg=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.vg*this.Y.Zd;this.la.Fb=!1;this.la.fh=!1;this.la.Li=a.autoStart;this.la.Pi=!1;this.la.Ze=!1;this.Y.Jf=this.Y.lf=0;this.Y.Kf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.ri=this.Le.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; -m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=Wc(a)&&(a.Y.kf=a.Y.mf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.Jf))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.vg&&(c=Math.round(c/a.Y.Zd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} -function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Zd=b;b=a.Y.vg*a.Y.Zd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.jf=pa();a.Y.Ge=0;$c(a);return d} -m.Le=function(a){if(pb(this,!0)){if(!this.la.Fb){Xc(this);this.V&&this.V.start(this.Y.jf,Wc(this));this.la.Fb=!0;this.la.fh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(!0),a&&this.V.yd(!0))}this.Y.th>=this.Y.Jd&&$c(this,!0);this.Y.Nf=0;this.Y.wg=pa();this.Y.Ge&&(a=this.Y.wg-this.Y.Ge,a>this.Y.Yi&&(this.Y.jf+=a,this.Y.jf>this.Y.wg&&(this.Y.jf=this.Y.wg)));try{do{var c=this.la.Ze?1:this.Y.lm;if(this.N){ad(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= -(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=bd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.wf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Nf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Mf-=n;0>=this.Y.Mf&&(this.Y.Mf+=this.Y.$i,this.V&&cd(this.V));this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&this.V.qd());this.Y.nf-=n;if(0>=this.Y.nf){this.Y.nf+=this.Y.sh; -break}}while(this.la.Fb)}catch(q){this.Wb();Rc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.ri;this.Y.Ge=pa();e=this.Y.Yi;this.Y.Nf&&(e=Math.round(e*this.Y.Nf/this.Y.sh));e-=this.Y.Ge-this.Y.wg;if(f=this.Y.Ge-this.Y.jf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&ad(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.hm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.gm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Ud-c|0))return this.C=!0,a=gd(this,c,a),-1!==a&&(a+=this.Yf),a;C.call(b,13,a|2);return-1};m.Ei=function(a){return this.Aa+a|0};m.Gi=function(a){return this.Aa+a|0};m.Di=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()};m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};m.Fi=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.qg()}; -m.Kk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.qg()};m.qg=function(){C.call(this.F,13,0);return-1};function hd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ed(a,!0)}function id(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ed(a,!0)} -function gd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ed(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.df=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Yf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),jd(e,D(e),!0),G(e,z),a.df=!0),z=0);else{if(256==h||2304==h)return kd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ui=k+e.na(k+100+2)|0,a.Fk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,ed(a,!0,!0,!1));return k} -function kd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,wd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),xd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),yd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ed(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.ug,a.Xi=a.gm,a.mc=a.Di,a.nc=a.Fi,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.mc=a.ea,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.pg,a.nc=a.qg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.pg);if(a.type&2048||!(a.type&512))a.nc=a.qg;1024==(a.type&3072)&&(a.mc==a.Di&&(a.mc=a.Jk),a.nc==a.Fi&&(a.nc=a.Kk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.mh,a.Xi=a.hm,a.mc=a.Ei,a.nc=a.Gi,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Ad(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Zf=61442;this.Cc=1792;this.Xf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.X=Bd;this.cg=Cd;this.hg=Dd;this.ig=Ed;if(80186<=this.ja&&(this.X=Bd.slice(),this.cg=Cd.slice(),this.hg=Dd.slice(),this.ra=31,this.X[15]=Fd,this.X[96]=Gd,this.X[97]=Hd,this.X[98]=Id,this.X[99]=Fd,this.X[100]=Fd,this.X[101]= -Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Xd,this.X[241]=Yd,this.cg[7]=Zd,this.hg[7]=Zd,80286<=this.ja)){this.Zf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=fe.slice();for(a=0;a=this.Uc&&(this.tc[166]=ne,this.tc[167]=oe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Xd=this.la.Ni=!1;this.Qg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Gd=this.jd=this.Hb=this.Db=0;pe(this)}db(Ad,Lc);function qe(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} -function re(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.bg[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&re(a)} -function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Hb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||se.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||se.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&bc&&c.da&&!c.controller&&!c.Ue&&!c.Ve?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Zb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Zb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function te(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Ad.prototype;m.reset=function(){this.la.Fb&&this.Wb();pe(this);Oc(this);this.la.ud=!1}; -function ue(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ve(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function pe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.jg=0;a.L=0;a.Za=65520;a.Mc=0;a.Ud=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new dd(a,1,"CS");a.vb=new dd(a,2,"DS");a.Xa=new dd(a,2,"ES");a.ta=new dd(a,3,"SS");G(a,0);jd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ki=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new dd(a,2,"FS");a.Ob=new dd(a,2,"GS");te(a)}a.rf=new dd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)yd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new dd(a,5,"LDT",!0);a.Sa=new dd(a,4,"TSS",!0);a.Ea=new dd(a,6,"VER",!0);yd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.hf=(b>>>0)+(a.va.Ta>>>0)+1}xd(a,0);ld(a)} -function we(a){2==a.Oc?(a.dc=a.na,a.Oa=xe,a.$a=ye,a.Jb=ze,2==a.ba?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=De,a.fa=Ee,a.ya=Fe)):(a.dc=a.oa,a.Oa=Ge,a.$a=He,a.Jb=Ie,2==a.ba?(a.W=Le,a.fa=Me,a.ya=Ne):(a.W=Oe,a.fa=Pe,a.ya=Qe))}function md(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Re(a))}function Re(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Ae,a.fa=Be,a.ya=Ce):(a.W=Le,a.fa=Me,a.ya=Ne)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=De,a.fa=Ee,a.ya=Fe):(a.W=Oe,a.fa=Pe,a.ya=Qe))} -function Se(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;we(a);a.ba=a.va.ba;a.R=a.va.R;Re(a);a.Ha&=-3073}m.Ri=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+wd(this)|0};function Te(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} -function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Td(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function ld(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.ig=b&&!c?gf:Ed;ed(a.va,!1,b,c);ed(a.vb,!1,b,c);ed(a.ta,!1,b,c);ed(a.Xa,!1,b,c);80386<=a.ja&&(ed(a.Nb,!1,b,c),ed(a.Ob,!1,b,c));Se(a)} -m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Ud,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ki),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,wd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.kc, -this.Ka.kc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Zd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.yg==b.Hb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;Se(a)}function yd(a,b,c,d){var e=a.va;e.Yf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Yf&a.va.R)),a.va.df):null} -function mf(a,b){var c=(a.Ga>>>0)+b;c>a.hf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.hf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} -function wd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&ld(a,!0)}function xd(a,b,c){a.Za&1||(b&=~a.Xf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Zf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ui)for(var f=a.Sa.ui+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Qg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].pc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Fg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Fg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Fg;if(c>>=8}}; -function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function nd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} -m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Mg-a.ga|0;0>c&&0<=(a.Mg^a.ga)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function od(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} -function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ja>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ag(a)} -function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} -function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.jc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Fg(a){return a.F.oa(a.F.D)}function Gg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Hg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} -function Ig(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.oi=function(){this.F.nb(this.F.D,this.L[0])};m.pk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.rk=Xf.prototype.oi;m.qk=Xf.prototype.pk;function Jg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} -function Kg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Dg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Lg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Mg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} -function Qg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Rg=Math.log(10)/Math.LN2,Sg=Math.LOG2E,Tg=Math.PI,Ug=Math.log(2)/Math.LN10,Vg=Math.LN2,Wg=Math.pow(2,63);function Xg(){this.ma&=-32896;ag(this)} -function Yg(){lg(this,U(this,0),U(this,this.A))}function Zg(){lg(this,U(this,0),U(this,this.A))&&Ng(this)}function $g(){Zg.call(this)}function ah(){W(this,0,kg(this,U(this,0),Gg(this)))}function bh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Og(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Ng(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Wg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Og(this,a)},6:function(){var a=mg(this,Ng(this));null!=a&&(this.ea[0]= -Mg(a,8),this.ea[1]=Mg(a/1E8,8),this.ea[2]=Mg(a/1E16,2),0>a&&(this.ea[2]|=32768),Jg(this))},7:function(){null!=mg(this,U(this,0),Wg)&&(this.pk(),Ng(this))},48:function(){bh.call(this);Ng(this)},49:oh,50:jh,51:jh,52:mh}},qh=[Xg,ch,dh,eh,fh,gh,kh,hh,lh,mh];Qa(function(){for(var a=nb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.cj;(bd)&&C.call(this,5);this.S|=2;return a}function zh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function Ah(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} -function Bh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Dh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} -function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} -function Jh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Vb;this.S|=2;return a}function Kh(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ah:this.B.Vb;this.S|=2;return a} -function Lh(a){if(this.Tb){var b=this.Tb,c=this.jg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=ph[c][f]){if(0>qh.indexOf(e)){var f=b.F,g=f.re;8087==b.ja&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Mh(a){if(80186>this.ja)return Nh.call(this,a);C.call(this,13,0);return a}function Zd(a){C.call(this,6);return a} -function Nh(a){ge.call(this);return a}function Oh(a,b){var c=Ph.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Qh(a,b){var c;a=this.Ma();c=2==this.ba?Ph.call(this,a,b):Rh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Sh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Th.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Ph(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Rh(a,b){Sh.call(this,a,b);this.wa!=this.ia>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ia}function Uh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function ai(a,b){if(-1===this.D)return ge.call(this),a;jd(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.Mj:this.B.Lj:this.B.Jj;return b}function ci(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function di(a,b){return b} -function ei(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return bi.call(this,0,b)} -function fi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&md(this,2);return bi.call(this,0,b)} -function Th(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function hi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} -function ii(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function ji(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Bi(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} -function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} -function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Uf:this.B.Uf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.bi:this.B.Uf:this.B.Uf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.di}else this.C=this.D,Of(this,a),this.A-=this.B.ci;return b} -function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.di}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ci;return b} -function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a^b,this.Ia)&this.R}function lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} -function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} -function pj(a){this.Za=a;ld(this);this.Za&-2147483648?re(this):te(this)}function zd(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} -function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Zj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Vh:this.B.Uh)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&jd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,pe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Ud||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} -function se(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function ye(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, -a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function ze(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ae(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, -a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); -break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} -function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} -function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this, -I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C? -1:this.B.Eg},Sj,function(){this.ya.call(this,hk,this.T);this.A-=-1===this.C?1:this.B.Eg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,fi)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.W.call(this,Wh)},function(){var a;this.W.call(this,ei);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;vd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break; -case 2:a=this.M;this.M=this.aa;jd(this,a);break;case 3:a=this.H;this.H=this.aa;ud(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):vd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;jd(this,a);break;case 7:a=this.J,this.J=this.aa,ud(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ej},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.hj},function(){this.A-=3},function(){var a=wd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;xd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(wd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Kh},function(){this.G=this.G&~this.R|nd(this,this.ka,T(this));this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Lh},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ha&256||(this.A-=this.B.Nh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ha&256||(this.A-=this.B.Nh));if(a--){var e=nd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.xh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.zh,this.Ha&256||(this.A-=this.B.yh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.xh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.zh, -this.Ha&256||(this.A-=this.B.yh));if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Xh;this.Ha&192&& -(a=this.I&c,b=1,d=this.B.Zh,this.Ha&256||(this.A-=this.B.Yh));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Xh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Zh,this.Ha&256||(this.A-=this.B.Yh));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Eh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Gh,this.Ha&256||(this.A-=this.B.Fh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Eh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Gh, -this.Ha&256||(this.A-=this.B.Fh));if(a--){var e=nd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Rh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ha&256||(this.A-=this.B.Sh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Jh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Rh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Th,this.Ha&256||(this.A-=this.B.Sh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Kh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Xh)},function(){this.W.call(this,Vh)},function(){this.S|= -1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this,jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.yj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.zj;this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.Aj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.wj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);kd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);ld(this,!0,!0);jd(this, -f);G(this,e);vd(this,g);ud(this,h);this.Nb.load(k);this.Ob.load(l)}null!=yd(this,b,c,!1)&&(xd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.bj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c,191);this.A-=this.B.aj},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.$j},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+a),this.A-=this.B.Hj):this.A-=this.B.Hh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Ih):this.A-=this.B.Jh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Gj):this.A-=this.B.Hh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Jh:(O(this,K(this)+a),this.A-=this.B.Ih)},function(){var a=this.xa(); -Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-2)&255,this.A-=this.B.Ch)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Ch)},function(){var a=this.xa();Hf(this,a,1,!1)&&(nc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Qh)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Qh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.fj},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Dh},function(){yd(this,this.Ma(),Rf(this));this.A-=this.B.Cj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Dh},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|jc(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|jc(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.M&65535;Hf(this,a,1,!1)&& -(nc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Ph)},function(){var a=this.M&65535;Hf(this,a,2,!1)&&(nc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Ph)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -lk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.dj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Cd,uj)},function(){this.ya.call(this,Dd,uj)}],Tj=[th,gi,rh,ii,vh,bj,jj,Jh],hk=[uh,hi,sh,ji,wh,cj,kj,Kh],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Sj;return b},Mh,Mh,Mh,Mh,Mh,Mh,Mh],jk=[function(a,b){this.A-=-1===this.C?this.B.Kj:this.B.Ij;return b},Nh,Nh,Nh,Nh,Nh,Nh,Nh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Nh, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Nh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Nh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Oj:this.B.Nj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Aj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.ai:this.B.$h;this.S|=2;return a},Nh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia| -63,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Th.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Sh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.nj:this.B.mj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Aj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],Cd=[function(a){var b= -a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},Nh,Nh,Nh,Nh,Nh,Nh],Dd=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.jj:this.B.ij;this.S|= -2;return a},function(a){if(-1===this.D)return Nh.call(this,a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.gj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Ej:this.B.Dj;this.S|=2;return a},function(a){if(-1===this.D)return Nh.call(this,a);yd(this,a,this.na(this.D+this.ba));this.A-=this.B.Bj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Uj;this.S|=2;return a}, -Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var fe=Array(256);fe[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.ig,uj)};fe[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};fe[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};fe[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)}; -fe[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Ud=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};fe[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};fe[11]=Fd;fe[166]=Fd;fe[255]=Fd;var M=[];M[5]=Fd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;xd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Ud=this.Mc+this.oa(a+104);hd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));hd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);hd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));hd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));hd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));hd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));hd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));hd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:ge.call(this);return}ve(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(ve(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ue(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:zd.call(this,b);this.A-=5;break;default:ge.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(a=ue(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(ve(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ge.call(this):(this.Ce[b]=ue(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,Bi)}; -M[145]=function(){qj.call(this,Bi)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; -M[159]=function(){qj.call(this,Pi)};M[160]=function(){od(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){od(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Ih);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Ph:Rh)};M[178]=function(){this.W.call(this,ai)};M[179]=function(){this.fa.call(this,Hh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.W.call(this,Yh)};M[181]=function(){this.W.call(this,Zh)}; -M[182]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.W.call(this,zh)};M[189]=function(){this.W.call(this,Ah)}; -M[190]=function(){this.Oa.call(this,ci);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){md(this,2);this.W.call(this,di);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), -a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Nh,Nh],Ed=[Zd,Zd,Zd,Zd,Zd,Zd,Nh,Nh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Ud-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ud=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Nh,function(a){this.ca& -131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Nh],ok=[Nh,Nh,Nh,Nh,Bh,Eh,Dh,Ch]; -function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),uk(this,vk,this.ia.length),uk(this,wk,a.monitor||(this.ja=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Ck:1,ONE:0,eo:64,bo:128,Gn:192,Lc:192,Rg:6},zk={co:16,zn:32,On:48,Lc:48,Rg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; -Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; -Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; -m.Pb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;ic(b,this,Ck);mc(b,this,Dk);this.jab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}Te(c,26,this.bm.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ja|0)&&(this.ga|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;fl(a,b,c,!0)}function gl(a,b,c){if(b=(a=Ak[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ml(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function nl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ol(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ql(a,b,c){b=a.L[b>>2].Dc[b&3];b.rg&&b.gh&&b.Gg?(c&&(b.done=c),b.Ee||zl(a,b,!0)):c&&c(!0)} -function zl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Qi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.mg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.gh.call(b.rg,b.Gg,-1,function(f,g){0>f&&(b.Qi||(b.Qi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){Al(b)||zl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.gh.call(b.rg,b.Gg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Al(b););} -function Al(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.of=c||0,Dl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Dl(a))}function Dl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&Zk(a))}function Kl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Ll(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ml(a,e+c);else{e=e+c;var h=a.W[e];h.fg=d;h.mode=g;h.$g=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.$e=!1;h.Be=!1;h.ef=!1;Hl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& -77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Jl(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function bd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ml(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.$e=!0;Hl(a,b)}function Hl(a,b){var c=a.W[b];c.Fd=32==c.fg?1:0;c.nd=48==c.fg?2:1} -function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Jl(a,b),h=bd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function ad(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Ll=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Nl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.en=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ml=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; -m.fn=function(a,b,c){x(this,a,b,c,"PPI_B");Ol(this,b)};function Ol(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Pl(a.B,!(b&128),!!(b&64));c!=d&&Zk(a,c)}m.Nl=function(a,b){var c=0,c=5150==(this.ja|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.gn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Ol=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.hn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Xk=function(a,b){var c=this.B?Nl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.qm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Wk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ol(this,b)};m.Yk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.Zk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ql(this.B);return c}; -m.sm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Rl(this,b);break;case 209:Sl(this,b);break;default:if(Rl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Tl(a);break;case 243:a.W&&(c=0);Ul(a,250);a.W=c;break;case 237:a.W&&(c=0);Ul(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Vl(this,d)}}this.fa=b;this.N&=-9}; -m.$k=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.tm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ol(this,b)};m.al=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Vl(this,this.aa);break;case 173:Rl(this,this.aa|16);break;case 174:Rl(this,this.aa&-17);this.B&&Ql(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Rl(this,this.aa|16);Vl(this,85);Sl(this,3);break;case 171:Vl(this,0);break;case 192:Vl(this,this.ga);break;case 208:Vl(this,this.Ka);break;case 224:Vl(this,this.aa&16?0: -1);break;case 240:a&1&&pe(this.F)}};function Rl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Pl(a.B,!!(b&8),!(b&16))}function Vl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Sl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||pe(a.F)}function Wl(a,b){a.ja=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; -m.Im=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.gk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Tm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; -m.bm=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; -function Zk(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Jl(a,2));if(20>c||2E4>>4,0,this.V,this.C,this.Sd),delete this.Sd);return!0};Zl.prototype.hc=function(){return!0}; -function $l(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Sd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Xk(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Xb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Yb(c,917504,131072));var d=Yb(c,16646144,131072);Xb(c,917504,131072,d,b&2?1:ac)}this.C=this.C&-256|b}};m.Si=function(){return km};m.hh=function(){return lm}; -Qa(function(){for(var a=nb(document,"pcx86","ram"),b=0;b":62,"?":63,"@":64,wn:65,xn:66,yn:67,Dn:68,E:69,En:70,Hn:71,In:72,Jn:73,Kn:74,Ln:75,Mn:76,Nn:77,Pn:78,Qn:79,Rn:80,Q:81,Sn:82,Wn:83,ao:84,fo:85,ho:86,io:87,ko:88,lo:89,mo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,no:97,oo:98,qo:99,d:100,e:101,ro:102,so:103,to:104, -uo:105,vo:106,k:107,wo:108,xo:109,n:110,zo:111,p:112,q:113,r:114,Ao:115,t:116,Co:117,Do:118,Eo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},pm={};pm[186]=X[";"];pm[187]=X["="];pm[188]=X[","];pm[189]=X["-"];pm[190]=X["."];pm[191]=X["/"];pm[192]=X["`"];pm[219]=X["["];pm[220]=X["\\"];pm[221]=X["]"];pm[222]=X["'"];pm[173]=X["-"];var qm={};qm[X["1"]]=X["!"];qm[X["2"]]=X["@"];qm[X["3"]]=X["#"];qm[X["4"]]=X.$;qm[X["5"]]=X["%"];qm[X["6"]]=X["^"];qm[X["7"]]=X["&"];qm[X["8"]]=X["*"];qm[X["9"]]=X["("]; -qm[X["0"]]=X[")"];qm[186]=X[":"];qm[187]=X["+"];qm[188]=X["<"];qm[189]=X._;qm[190]=X[">"];qm[191]=X["?"];qm[192]=X["~"];qm[219]=X["{"];qm[220]=X["|"];qm[221]=X["}"];qm[222]=X['"'];qm[173]=X._;qm[61]=X["+"];qm[59]=X[":"]; -var rm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},tm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},um={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.V&&e.V.yd();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; -function nm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));if(b=om[c])a.ra=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Xl(a,!0);a.X&&a.fa&&(Tl(a),a.fa=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.U=!0,Wl(a.N,b))} -function Ql(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Wl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Nl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in um)d="led-"+g,e=um[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function wm(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){rm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ne=b,d.xc=a.xc,Am(a,b,!0),e++),0b.Ld){if(!b.Ff){ym(a,b.Ne);return}b.Ff=!1;c=a.ua}else c=1==b.Ld++?500:100;b.sk=setTimeout(function(a){return function(){Cm(a,b)}}(a),c)}} -function Em(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=qm[b])d=a}else if(a=pm[b])d=a;return d}m.Hg=function(a){a||(this.xc&=-256)}; -function vm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Em(a,g,!0);a.dh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Wl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Wm:Xm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Kg=c[4]>>8&255;this.mb=c[5];this.oh=Wm;this.lg=Ym;if(5<=b){this.oh=Xm;this.lg=Zm;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ye=b[0];this.Od=b[1];this.Tc=b[2];this.Ug=$m;this.Ng=b[3];this.vf=b[4];this.eg=b[5];this.de=b[6];this.Ke=b[7];this.Wg=an;this.ik=b[8];this.jk=b[9];this.ce=b[10];this.be=b[11];this.Vg=bn;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.ei&255};dn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};dn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};dn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.qh,c=this.controller.ph&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -dn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.qe;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.qe;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.qe;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -dn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.qe;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};dn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Vf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function en(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Kg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ye;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Ng;c[4]=a.vf;c[5]=a.eg;c[6]=a.de;c[7]=a.Ke;c[8]=a.ik;c[9]=a.jk;c[10]=a.ce;c[11]=a.be;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Ac,b.mb,b.lg),5<=b.Ua&&(fn(b," GRC",b.ce,b.be,b.Vg),fn(b," SEQ",b.de,b.Ke,b.Wg),fn(b," ATC",b.Od,b.Tc,b.Ug),fn(b," ATCINDX", -b.Od),b.ha.O(" ATCDATA: "+b.Ye),fn(b," FEAT",b.eg),fn(b," MISC",b.vf),fn(b," STATUS0",b.Ng)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.xg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Xe();a=!0}this.V&&this.V.focus()}return a}; -function Im(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.dh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Wf(!0),b=!0):this.V.tk&&(this.V.tk(),this.W&&this.W.Wf(!1),b=!0),this.V&&this.V.focus());return b};m.Wf=function(a){this.W&&(this.W.Wf(a),this.B&&(this.B.dh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vk)}; -function qn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){sn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){sn(a,b)},!0),c.addEventListener("touchend",function(b){sn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.ig=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.vn=function(){a.Hd=!0;a.W.je(tn,!0)})}m.Hg=function(a){this.B&&this.B.Hg(a)}; -function sn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?wm(a.B,1040,!0):wm(a.B,1038,!0):1!=d&&(d?wm(a.B,1039,!0):wm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.ig;!0===c?(a.Id=500f){a.W.je(tn,!0);a.W.je(tn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.If(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case dm:b=7;break;case 5:var c=Lm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Um(this,1);this.aa=this.Wc=new Um(this,3);5>this.Ua?this.A=new Um:(this.A=new Um(this,this.Ua,null,this.Ed),un(this));vn(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;wn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);gc(this.ea,b,c|d<<8)}rn(this,!0)}};function un(a){a.A.vf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,en(this.rd));N(a,1,en(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,en(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Um(this,1,a[0]);this.aa=this.Wc=new Um(this,3,a[1]);this.A=new Um(this,this.Ua,a[3],this.Ed);this.A.Hc&&un(this);vn(this);if(!xn(this))return!1;yn(this);return!0}; -function Jm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)cm(a,f,[6144,0]);else if(2048==f.length)cm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.fa||a.ha)&&rb(a)}} -function zn(a,b){if(1==b)return a.Ca[0]=Om[0],a.Ca[1]=Om[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Om[c&15];c=c&32?Qm:Pm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Rm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function cm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function vn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=zn(a);null!=a.Jb[0]&&An(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(An(a,1,a.Jb[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Tb&&An(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function An(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(Bn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.un&&Bn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function Bn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=V-2,Qc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Je,Wd,Ke);v&&Cn(wa,Je+1,Wd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.ti[F]=z;l.Tg[F]=ia;l=!0}}a.Oa[b]=q;return l}function $n(a){0a.cb&&(a.cb=0):a.cb=-1} -function yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)ao(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(ao(a),a.ua=c);d=d-b+1;if(a.jg!=b||a.Ce!=d)a.jg=b,a.Ce=d;a.$a=e+1;$n(a)}}} -function ao(a){if(0<=a.ua){if(void 0!==a.ga){var b=a.ga[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.ga[a.ua]=b}}a.ua=-1}} -function co(a){var b,c=a.C;a.hf=!1;var d=c.be[5];if(null!=d){b=1024;var e=0,f=c.be[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Ke[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.xg?(c.Pg(b),a.ea.Pg(c.ob,c.ac,c.hh(),!0),!0):!1} -function xn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!wn(a,d,b))return!1;eo(a,c);return!0} -function wn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Qg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){ao(a);if(a.ob){if(!$b(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Gm[7][2];b=0;if(c=Gm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>gn(a.A,18)?43:50:a.U=a.Ua);a.bg=a.L*a.X|0;a.Zf=a.bg/ -a.jd|0;a.Ub=a.Zf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Xf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Xf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.fa.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= -0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.fa.fillStyle=a.ka.style.backgroundColor,a.fa.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);rn(a)}return!0}function Cn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Zf;if(void 0===a.ga||a.ga.length!=b)a.ga=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} -function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.fa.fillStyle=h.Pe[k],a.fa.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Tg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.fa.drawImage(h.Tg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.jg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.fa.fillStyle=h.Pe[d],a.fa.fillRect(b,c+f,a.Ja,g)))} -function rn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.ga)return;var e=!1;!(b||++a.Qg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.bg,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.qf&&d.qf=a.Ia&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Cn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.ga[d]?(h+=L,L=0):a.ga[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.wh=d,d=-d|0);d%b.rh>b.km&&(c|=1);d%b.uh>b.mm&&(c|=9);b.fi=d/b.uh|0;return c}m.Hl=function(a,b){return io(this,this.pa,a,b)};m.bn=function(a,b,c){var d=this.pa;d.Kg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Gl=function(a,b){return jo(this,this.pa,a,b)};m.an=function(a,b,c){ko(this,this.pa,a,b,c)};m.Il=function(a,b){return lo(this,this.pa,b)};m.cn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;xn(this,!1)}; -m.Jl=function(a,b){return mo(this,this.pa,b)};m.fk=function(a,b,c){this.A.eg=this.A.eg&-4|b&3;x(this,a,b,c,"FEAT")};m.fl=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Dk=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Ug[this.A.Od&31],c);return c}; -m.ek=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Ye){d.Ye=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Ug[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Ye=!0,b&32&&!e&&vn(this,!0)&&rn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.qf=0}; -m.Tl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.vf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ya.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); -function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Pb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");ic(b,this,po,this.V);mc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Cf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; -function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Cf=b[c];return!0}m.ul=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Sl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.ql=function(a,b){var c=this.Cf;x(this,a,null,b,"CTRL",c);return c}; -m.Om=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Jm=function(a,b,c){x(this,a,b,c,"CTRL");this.Cf=b;so(this)};function so(a){a.N&&a.C&&(a.Cf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} -var po={0:no.prototype.ul,1:no.prototype.Sl,2:no.prototype.ql},qo={0:no.prototype.Om,2:no.prototype.Jm};Qa(function(){for(var a=nb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Cl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; -m.Dl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.Fl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.El=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Kl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; -m.mn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.If(c,d,a.L,a.W)}} -m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case tn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.If=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; -function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.gi&&a<=e.bk){d=a-=e.gi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.gg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.sg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; -function ep(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.sg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.$f=Zo(a,e,c+8,4);(e=Yo(a,d.$f))&&(f=!0);break}c+=16}if(!f)return}d.Hf||(d.Hf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Gf=Zo(a,e,14,2),d.lh=d.Gf+Zo(a,e,22,2)*Zo(a,e,16,1),d.vh=Zo(a,e,17,2),d.zg=Zo(a,e,13,1));d.jh=d.lh+((32*d.vh+(d.Va-1))/d.Va|0);d.jm=(d.Hf-d.jh)/d.zg|0;d.Bg=4084>=d.jm?12:16;d.Tk=12==d.Bg?4086:65526;b=[];for(e=d.lh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} -function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Bo=d+"\\";for(var k=0;kF)break;for(var v=p.jh+(F-2)*p.zg,E=0;E>3,1),d?e=16==b.Bg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Uk=b;a.Vk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.gf();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} -function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.xk;this.dmaWrite=this.yk;this.dmaFormat=this.Mk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ia=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; -var sp={3:{Wd:3,ie:0,name:aa.$n},4:{Wd:2,ie:1,name:aa.Yn},5:{Wd:9,ie:7,name:aa.jo},6:{Wd:9,ie:7,name:aa.Tn},7:{Wd:2,ie:0,name:aa.Vn},8:{Wd:1,ie:2,name:aa.Zn},10:{Wd:2,ie:7,name:aa.Un},13:{Wd:6,ie:7,name:aa.Fn},15:{Wd:3,ie:0,name:aa.Xn}};m=rp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Og.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);ic(b,this,wp);mc(b,this,xp);yp(this,"None","",!0);this.ia&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.eh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.jc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.mk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1}; -function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.lk=c,a.Me=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.Ag=f[0],a.Of=f[1],a.Pf=f[2],this.V&&this.V.yd()):a.af=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; -function yp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Qm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Wd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Ib=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Ep(this);d.Ib=128<>2&1,c=Ep(this),d.Qb+=c-d.ge,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ge=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b}m.xk=function(a,b,c){void 0===b||0>b?this.Je(a,c):c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Ip(a,b):-1}; -m.Mk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.We++]=c;if(a.We==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<Ip(a,a.yi)){c=-1;break a}a.og++}a.og>=a.he&&(c=-1)}else c=-1;return c};m.Je=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Jp(a)}while(1)}b(c,!1,d,e)}; -function Ip(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Jp(a)}while(1);return b}function Jp(a){a.xb++;a.xb>=a.Pf+1&&(a.xb=1,a.kb++,a.kb>=a.Of&&(a.kb=0,a.Qb++))}var wp={1009:rp.prototype.wl,1012:rp.prototype.yl,1013:rp.prototype.vl,1015:rp.prototype.xl},xp={1010:rp.prototype.Rm,1013:rp.prototype.Qm,1015:rp.prototype.Pm}; -Qa(function(){for(var a=nb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.ee,k.kb,k.xb+ -k.ng)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Re[2])?e=b.Re[0]<<8|b.Re[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} -m.mk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ee=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1}; -function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.on=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Zl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Je(a.B,function(b){0<=b?(Wp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Bk=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; -function Xp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>Yp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.xm=function(a,b,c){Xp(this,a,b&255,c);Xp(this,a,b>>8&255,c)};m.el=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Cm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.gl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.Am=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.hl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.cl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.wm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.bl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.dl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.ym=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.il=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.um=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);Zp(this)};m.zm=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; -function Zp(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.ee=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Je(k,function(b){0<=b&&a.N?(Wp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Wp(a)} -function Wp(a){!a.N||a.ga&2||eg(a.N,14,120)} -function Up(a){a.L=0;var b=$p(a),c=$p(a),d=c&32,e=d>>5,f=c&31,g=$p(a),h=$p(a),k=g<<2&768|h,l=g&63,n=$p(a),q=$p(a),p=a.A[e];p&&(p.ee=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:aq(a,p?p.errorCode:4);bq(a,c);bq(a,g);bq(a,h);bq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=$p(a));)p&&cb?this.Je(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Yp(a,b):-1}; -m.Nk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebYp(a,a.yi)){c=-1;break a}a.og++}a.og>=a.he&&(c=-1)}else c=-1;return c}; -function cq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaRead",b);ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;yl(a.N,3,a,"dmaWrite",b);ql(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function eq(a,b,c){b.errorCode=4;b.Se&&b.Se.length==b.Ib||(b.Se=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,yl(a.N,3,a,"dmaWriteBuffer",b),ql(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -m.Je=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.ee,a.kb,a.xb+a.ng,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,fq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function Yp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.ee,a.kb,a.xb+a.ng,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;fq(a)}while(1);return b}function fq(a){a.xb++;var b=1-a.ng;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.ee++))}m.$l=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; -var Op={800:Kp.prototype.Yl,801:Kp.prototype.Zl,802:Kp.prototype.Xl},Np={496:Kp.prototype.Bk,497:Kp.prototype.el,498:Kp.prototype.gl,499:Kp.prototype.hl,500:Kp.prototype.cl,501:Kp.prototype.bl,502:Kp.prototype.dl,503:Kp.prototype.il},Qp={800:Kp.prototype.on,801:Kp.prototype.rn,802:Kp.prototype.qn,803:Kp.prototype.pn,807:Kp.prototype.hi,811:Kp.prototype.hi,815:Kp.prototype.hi},Pp={496:Kp.prototype.xm,497:Kp.prototype.Cm,498:Kp.prototype.Am,499:Kp.prototype.Bm,500:Kp.prototype.wm,501:Kp.prototype.vm, -502:Kp.prototype.ym,503:Kp.prototype.um,1014:Kp.prototype.zm};Qa(function(){for(var a=nb(document,"pcx86","hdc"),b=0;b>2;this.Ba=b.yg;this.bc=new dd(this.F,7,"DBG");this.Ia=yq;80186<=this.F.ja&&(this.Ia=yq.slice(),this.Ia[15]=wq,80286<=this.F.ja&&(this.Ia[15]=xq,80386<=this.F.ja&&(this.Ja=8)));Mk(this,64,function(a){Cq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Dq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Eq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Fq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Gq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Dq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=hq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Hq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Iq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Cq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Dq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Eq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Jq:Kq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;Te(this.F,48,this.cm.bind(this));Te(this.F,65,this.dm.bind(this)); -this.ka=null;Te(this.F,104,this.em.bind(this));rb(this)};function Lq(a,b,c,d,e,f){b=Iq(a,b);var g=Eq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Mq(a,b,c);e[b+h]=0;bm(a,b,c,d,0,null,g,e)} -function Nq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=hq(a,a.oa(b,4),a.na(b,2));b=hq(a,a.oa(b,4),a.na(b,2));b=Iq(a,b).toUpperCase();var k=Iq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Mq(a,k,e);c[k+l]=g;bm(a,k,e,f,g,null,h,c)}function Oq(a,b,c){c=Iq(a,c).toUpperCase();Pq(a,c,b)} -m.cm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=hq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Nq(this,hq(this,a.H,b),!c,!!this.C)}}return!0}; -m.dm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Lq(this,hq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Pq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=hq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Qq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Rq(a)),this.Td(this.A,a,!0),jq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Nq(this,hq(this,b.H,f),!g,!!this.C);break;case 338:Oq(this,d,hq(this,b.J,f))}this.cb=!1;return!this.C}; -m.em=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=fd(b.va,this.Ik.bind(this)))&& -(b.J=a[0],vd(b,a[1]));break;case 72:Pq(this,null,e);break;case 80:32==c?Lq(this,hq(this,h,k),0,f,!0,!!this.ka):128>c?Lq(this,hq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Nq(this,hq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Ik=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",lq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ed(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Eq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Tq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Tq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Tq(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.dc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ea;f.sa[(e&f.Hb)>>>f.La].xf(e&f.A,b&255,e)}c&&Tq(this,a,c);d||Rc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):gc(this.ea,d,b),c&&Tq(this,a,c),Rc(this.F,!0))};function hq(a,b,c,d,e,f,g){return Uq(a,{},b,c,d,e,f,g)}function Uq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Sq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.oc=null!=h?h:a.F&&4==a.F.va.Oc;b.Yd=!1;return b}function Vq(a){return[a.Ra,a.Z,a.Da,a.Yd,a.Rb,a.oc,a.Te,a.Xd]}function Wq(a){return{Ra:a[0],Z:a[1],Da:a[2],Yd:a[3],Rb:a[4],oc:a[5],Te:a[6],Xd:a[7]}} -function Xq(a,b,c){if(null!=b.Z&&(a=Eq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=$q(a,b,void 0),f=null):(f=$q(a,b,void 0),null==f&&(g=null)):(h=$q(a,b.substring(0,f),void 0),g=$q(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=hq(a,g,h,f,c),d||Xq(a,e,!0)||(a.O("invalid offset: "+Rq(e)),e=null));return e}function ar(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ek=br(a,b.kk=c[2]))}function Tq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Xq(a,b)||(b.Ra=0,b.Da=null))}function Hq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Rq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Hq(a.Ra,a.Z,a.oc)}function Iq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Wb[c],6==c&&(d=d.Cd,h+=" -> "+Wb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(tq,a.substr(b,2))));return c} -function er(a,b){var c=0,d=fr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function fr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=wd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ki;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function gr(a,b){b=Zq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=dr(b,c+1),0<=e&&(b=b.substr(0,c)+er(a,e)+b.substr(c+1+tq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(d=e+' "'+Iq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(Tq(a,d),d=e+ -' "'+Iq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=gq.prototype;m.message=function(a,b){b&&(a+=" at "+Rq(hq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.nf=0;c.fb-=c.A;c.A=0;Rc(c)}}; -function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>nq.indexOf(b),!d)){var g=mq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+gr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Hq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.Rd+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Hq(e,h):""))}m.ih=function(){this.O("Type ? for help with PCx86 Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;lq(this,a)}}; -function jq(a,b){var c;if(Tf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Td(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Yd=!0):(mr(this,a,a.length-1,"set"),jq(this)));return d}; -function Qq(a,b,c,d,e){for(var f=!1,g=nr(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Aq[f])&&(q=p[z]);q&&(n=qq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Bq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.oc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.oc&&6==ia||H.oc&&5==ia))bb=2;else{if(H.oc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=uq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=uq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.oc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=rr(v,ia,E,H);v=P}else v=160==L?rr(a,g&7,E,b):rr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -hq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.oc);E=Rq(L);v=sr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.oc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=sr(a,hq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":rr(a,(E&3840)>>8,E,b):112==L?v=rr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Rq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.oc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return tq[b]} -function ur(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Gq(a){return r(a,a&-65536?8:4)}function vr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+wr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=wr(a,a.F.Nb,b)+" "+wr(a,a.F.Ob,b)+"\n");c+=xr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+xr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+xr(a,"ID", -null,a.F.Mc,a.F.Ud)+" ";c=c+(d+" "+e)+vr(a,32);80386<=a.F.ja&&(c+=vr(a,34)+vr(a,35))}else 80386<=a.F.ja&&(c+=wr(a,a.F.Nb,b)+" "+wr(a,a.F.Ob,b)+" ");return c+=vr(a,23)+ur(a,"V")+ur(a,"D")+ur(a,"I")+ur(a,"T")+ur(a,"S")+ur(a,"Z")+ur(a,"A")+ur(a,"P")+ur(a,"C")}var zr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ar(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function $q(a,b,c){var d;if(b){b=Zq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({gg:b,nm:c,Z:d,Ra:e,Da:f,fm:g,Sd:h,si:l})} -function Pq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.fm;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Rq(b)),n=!0):(a.qc(b,c,1,!0),l++)})})(a,g);Rc(a.F, -!0);a.O(l+" bytes read at "+c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function ir(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":ud(a.F,h);break;case "ES":vd(a.F,h);break;case "SS":jd(a.F,h);break;case "CS":kf(a.F,h);a.aa=hq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=hq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":xd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;zd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Rc(a.F);a.O("updated registers:")}}a.O(yr(a,d));c&&(a.aa= -hq(a,K(a.F),a.F.va.Z),jr(a,Rq(a.aa)))}}function Jr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(gr(a,c[2])):$q(a,b,!0)}function Kr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=qr(a,b,g,f);b.Xd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} -function br(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function pr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Rq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>20;Da.vi=a.F.Pd+Da.ck;Da.yb=be.sa[(Da.vi&be.Hb)>>>be.La];Da.Vi=Da.yb.Nd(Da.ck);Da.dk=(Ue&4190208)>>>10;Da.wi=(Da.Vi&-4096)+Da.dk;Da.zb=be.sa[(Da.wi&be.Hb)>>>be.La];Da.Wi=Da.zb.Nd(Da.dk);Da.Gk=(Da.Wi&-4096)+(Ue&4095)}if(ae=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+cr(ae.vi,ae.Vi)),pd=pd+(" %%"+cr(ae.wi,ae.Wi,!0)), -pd=pd+(" %%"+r(ae.Gk));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Ir(a,P);break a}for(bb in vq)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,sc=a.ia;if(sc.length){var Db=+En||a.Ub,ce=+Fn||10;isNaN(Db)?Db=ce:Gn="more ";Db>sc.length&&(a.O("note: only "+sc.length+" available"),Db=sc.length); -tb-=Db;0>tb&&(null==sc[sc.length-1].Z?(Db=tb+Db,tb=0):tb+=sc.length);var li=[];"call"==Fn&&(ce=1E5,li=["CALL"]);for(void 0!==En&&a.O(Db+" instructions earlier:");0=sc.length&&(tb=0);a.Ub=Db;Hn++;ce--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var mi=P[0];if(mi){var We=Dq(a,mi);if(void 0===We||0>We||255>> -0,65536>4||1;hs--&&0ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=de}}}}}break;case "e":if("else"==g[0])break;var vg=1,Mn=255,Nn=a.Qa,On=a.qc;"ew"==g[0]&&(vg=2,Mn=65535,Nn=a.na, -On=a.jb);var Pn=vg<<1,Qn=g[1];if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var wg=Yq(a,Qn);if(wg)for(var xg=2;xgvi;){for(var tc=null,ms=256;Sc.Ra>>>0>>0;){af.Ra=a.tb(Sc,!0);if(null==Sc.Da||!ms--)break;af.Z=Sn;if(tc=Kr(a,af))break;af.Z=a.tb(Sc);if(tc=Kr(a,af,!0)){Sn=a.tb(Sc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bUr){if(d.load(this.aa)){this.V=new hf(this,"1.23.3","failsafe");this.V.load()&&(Zr(this,d),a=2,Or(this.V));N(this.V,"timestamp",qa());Pr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Qr(d)){var f=Rr(d,"code"),g=Rr(d,"data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Or(d),d.load()?(c=Qr(d),e=!0):c=!1))}e&&Yr(this,c?d:null)}else 2==a&&d.clear()}else Yr(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&($r(this,this.F,b,c,a),Uc(this.F));this.ka&&(Zr(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; -function Zr(a,b){if(za("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ke(),d=b.toString(),e={app:"PCx86",ver:"1.23.3"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;va("http://www.pcjs.org/api/v1/report",e,!0)}} -function Mr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,"1.23.3"),g=new hf(a,"1.23.3","validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.23.3");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.ah=0;for(e.Vd=0;h<=f;)g=d.sa[h],e.ah+=g.size,g.size&&(e.Sg.push(sa(Hb,h,0,0,g.type)),e.Vd++),h++;c.A=e;c.ya=c.A.Vd*c.ea.Sb/691200;d=0;c.A.Bi=0;c.A.Bf||(c.A.Bf=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Qa(function(){for(var a=nb(document,"pcx86-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);qs(a,b,c)}})}else c(a,null)} -function rs(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--cs||Sa(!0));k=!1}var g,h,k=!0;cs++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcx86/1.23.3/components.xsl");l=function(d,h){h?ds(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--cs||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--cs||Sa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ds(b,a,d,!0,e,l):es(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}function ss(a,b,c,d){Sa(!1);return rs(a,b,c,d)}window.embedPC=ss;window.embedPCx86=ss;window.enableEvents=Sa;window.sendEvent=Ta; -function ts(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){us(b,d)}):us(null,d)}else w("Error ("+c+") requesting "+a)} -function us(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.24.0/document.css b/versions/pcx86/1.24.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.24.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.24.0/document.xsl b/versions/pcx86/1.24.0/document.xsl deleted file mode 100644 index 951d85297..000000000 --- a/versions/pcx86/1.24.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.24.0/machine.xsl b/versions/pcx86/1.24.0/machine.xsl deleted file mode 100644 index 6cc307c84..000000000 --- a/versions/pcx86/1.24.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.24.0/manifest.xsl b/versions/pcx86/1.24.0/manifest.xsl deleted file mode 100644 index 99f4d5533..000000000 --- a/versions/pcx86/1.24.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.24.0/outline.xsl b/versions/pcx86/1.24.0/outline.xsl deleted file mode 100644 index f9e1c30dd..000000000 --- a/versions/pcx86/1.24.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.24.0/pcx86-dbg.js b/versions/pcx86/1.24.0/pcx86-dbg.js deleted file mode 100644 index 447696fb1..000000000 --- a/versions/pcx86/1.24.0/pcx86-dbg.js +++ /dev/null @@ -1,819 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var sa=[31,28,31,30,31,30,31,31,30,31,30,31]; -function ta(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.oh|g<>a.shift}function va(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.zd=this.id:(this.fe=this.id.substr(0,b),this.zd=this.id.substr(b+1));this[a]=c;this.la={bf:!1,bd:!1,dh:!1,cc:!1,ud:!1};this.ug=null;this.la.ud=!1;this.qa={};this.ha=null;this.wc=d||0;Ya.push(this)}var Za=void 0,$a={}; -if(window){Za||(Za=window.location.search.substr(1));for(var ab,cb=/\+/g,db=/([^&=]+)=?([^&]*)/g;ab=db.exec(Za);)$a[decodeURIComponent(ab[1].replace(cb," "))]=decodeURIComponent(ab[2].replace(cb," "))}function eb(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 fb(a,b){b||(b=Wa);a.prototype=eb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var gb=window.PCjs.Machines||(window.PCjs.Machines={}),Ya=window.PCjs.Components||(window.PCjs.Components=[])}else gb={},Ya=[];function hb(a,b,c){gb[a]&&b&&(gb[a][b]=c)}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Db(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Db(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=Bb.prototype; -m.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Gb(a,"Keyboard")};m.ic=function(a,b){b||Hb();return!0};m.hc=function(){return!0};m.ke=function(a,b){a.button||(this.ea=b?0:-1,Ib(this,a,b))};m.If=function(a){Ib(this,a)}; -function Ib(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Kb(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Lb(a,"Mouse over memory to dump");else for(Lb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].te(k&h.A,k);Lb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Lb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Mb(a,b,c,d){a.A.Bf[a.A.Ci++]={Tk:b,Vd:c,type:d};return ta(Jb,b,c,0,d)}function Kb(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")} -function Lb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Hb(){for(var a=!1,b=pb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Ob(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Oe+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Oe){n=k.size-(f-l);n>g&&(n=g);k.Oe=f-k.Ea+n;f=l+a.Sb;g-=n;h++;continue}}return Wb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Ob(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Xb(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Yb[d]+" at "+r(b)),!0):Wb(a,2,b,c)} -function Tb(a,b){if(32==a.N)b?a.X&&(Zb(a,1048576,1048576,a.X),a.X=null):a.X||(a.X=$b(a,1048576,1048576),Zb(a,1048576,1048576,$b(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function hc(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].dg(c,b):a.sa[d++].te(c,b)|a.sa[d&a.ga].te(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function ic(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].ri(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c>>=8};m.Ui=function(){return null};function jc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function kc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function lc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&qc(a.ha,b,k)}else a.ha&&(qb(a.ha,a,b,k,e),a.V&&qc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Wb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var rc;if(xb){var sc=new ArrayBuffer(2);(new DataView(sc)).setUint16(0,256,!0);rc=256===(new Uint16Array(sc))[0]}else rc=!1;var dc=rc; -function B(a,b,c,d,e,f){this.id=xc+=2;this.da=null;this.C=0;this.Ea=a;this.Oe=b;this.size=c||0;this.type=d||yc;this.N=d==cc;this.controller=null;this.F=f;Ob(this);this.Wa=this.Pi=!1;if(c)if(e)this.controller=e,a=e.Ti(a),this.da=a[0],this.C=a[1],ac(this,e.ih());else if(xb)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Ya=new Uint8Array(this.X,0,c),this.ge=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),ac(this,dc?ec:fc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,jh:function(a){this.Ea=a},save:function(){var a,b;if(this.controller)a=null;else if(xb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Wc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Ec(this.ha,this.Ea+a)||this.F&&Fc(this.F,b,1,!1);return this.te(a,b)},rb:function(a,b){this.ha&&null!=this.Ea&&Ec(this.ha,this.Ea+a,2)||this.F&&Fc(this.F,b,2,!1);return this.dg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Ea&&Ec(this.ha,this.Ea+a,4)||this.F&&Fc(this.F,b,4,!1);return this.ki(a,b)},bc:function(a,b,c){this.ha&&null!=this.Ea&&Gc(this.ha,this.Ea+a)||this.F&&Fc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Ea&&Gc(this.ha,this.Ea+a,2)||this.F&&Fc(this.F,c,2,!0);this.N?this.L(a,b,c):this.ri(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Gc(this.ha,this.Ea+a,4)||this.F&&Fc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.Od(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Dd.sc(a,b,c)},Id:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Dd.zf(a,b,c)},jd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|= -this.V;this.Dd.yf(a,b,c)},Ka:function(a,b){return Hc(this.F,b,!1).pc(a,b)},zd:function(a,b){return Hc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Hc(this.F,b,!1).Od(a,b)},Uc:function(a,b,c){Hc(this.F,c,!0).sc(a,b,c)},Jd:function(a,b,c){Hc(this.F,c,!0).zf(a,b,c)},kd:function(a,b,c){Hc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.ge[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.ge[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Od=this.fa;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},Ub:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Dd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.ge[a>>1]=b;this.Wa=!0},Hd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.ge[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Dd.Wa=!0},fe:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.wa;this.Dd.Wa=!0}};function Ob(a,b,c){a.ha=b;a.Ue=a.Ve=0;c&&(c.F&&(a.F=c.F),(a.Ue=c.Ue)&&Bc(a,Cc,!1),(a.Ve=c.Ve)&&Dc(a,Cc,!1))} -function Ic(a,b){b?0===--a.Ve&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.W:a.ri,a.yf=a.N?a.U:a.ua):0===--a.Ue&&(a.pc=a.te,a.sf=a.dg,a.Od=a.ki)}function Dc(a,b,c){c&&a.Ve||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.ri=b[4]||a.W,a.ua=b[5]||a.U}function Bc(a,b,c){c&&a.Ue||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Od=b[2]||a.ea);if(c||void 0===c)a.te=b[0]||a.ia,a.dg=b[1]||a.ka,a.ki=b[2]||a.ea} -function ac(a,b,c){b||(b=5==a.type?Jc:6==a.type?Kc:Lc);Bc(a,b,c);Dc(a,b,c)}var Lc=[],gc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.tc,B.prototype.Ed,B.prototype.Wc],Cc=[B.prototype.Da,B.prototype.rb,B.prototype.Pa,B.prototype.bc,B.prototype.td,B.prototype.Vc],Kc=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Cc,B.prototype.Id,B.prototype.jd],Jc=[B.prototype.Ka,B.prototype.zd,B.prototype.gb,B.prototype.Uc,B.prototype.Jd,B.prototype.kd]; -if(xb)var fc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.Ub,B.prototype.rd,B.prototype.fe],ec=[B.prototype.aa,B.prototype.pa,B.prototype.fa,B.prototype.ra,B.prototype.ya,B.prototype.wa],Mc=[B.prototype.Ga,B.prototype.Db,B.prototype.cb,B.prototype.uc,B.prototype.Hd,B.prototype.Xc]; -function Nc(a,b){Wa.call(this,"CPU",a,Nc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Kd=c;this.Y.Zd=d;this.Y.wg=Math.round(this.Y.Kd/1E4)/100;this.Y.Fe=this.Y.wg*this.Y.Zd;this.la.Fb=!1;this.la.gh=!1;this.la.Mi=a.autoStart;this.la.Qi=!1;this.la.Ze=!1;this.Y.Jf=this.Y.lf=0;this.Y.Kf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.si=this.Le.bind(this);ub(this)}fb(Nc);var Oc=["power","reset"];m=Nc.prototype; -m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=Yc(a)&&(a.Y.kf=a.Y.mf=-1,Rc(a),a.Wb(),c=!0);c&&a.O(Yc(a)+" cycles: checksum="+r(a.Y.Jf))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.cc)a=!0;else{var b=null,c,h=ib(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.wg&&(c=Math.round(c/a.Y.Zd));return c}function Qc(a){a.Y.qe=0;a.uc=a.Ub=a.fb=a.A=0;Rc(a);Zc(a,1)} -function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.qe/a.Y.Fe?b=1:d=!0;a.Y.Zd=b;b=a.Y.wg*a.Y.Zd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.yd()}ad(a,a.Ub);a.Ub=0;a.Y.jf=qa();a.Y.Ge=0;bd(a);return d} -m.Le=function(a){if(rb(this,!0)){if(!this.la.Fb){Zc(this);this.X&&this.X.start(this.Y.jf,Yc(this));this.la.Fb=!0;this.la.gh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.qd(!0),a&&this.X.yd(!0))}this.Y.uh>=this.Y.Kd&&bd(this,!0);this.Y.Nf=0;this.Y.xg=qa();this.Y.Ge&&(a=this.Y.xg-this.Y.Ge,a>this.Y.$i&&(this.Y.jf+=a,this.Y.jf>this.Y.xg&&(this.Y.jf=this.Y.xg)));try{do{var c=this.la.Ze?1:this.Y.nm;if(this.N){cd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.Be){var f= -(Yc(d.F,d.ka)-e.xd)/d.gb|0,g=dd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Yc(k.F,k.ka);0l&&(a=l)}c=a}try{this.wf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Nf+=n;ad(this,0,!0);Xc(this,n);this.Y.Mf-=n;0>=this.Y.Mf&&(this.Y.Mf+=this.Y.bj,this.X&&ed(this.X));this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.aj,this.X&&this.X.qd());this.Y.nf-=n;if(0>=this.Y.nf){this.Y.nf+=this.Y.th; -break}}while(this.la.Fb)}catch(q){this.Wb();Tc(this);this.X&&this.X.stop(qa(),Yc(this));rb(this,!1);wb(this,q.stack||q.message);return}c=setTimeout;d=this.si;this.Y.Ge=qa();e=this.Y.$i;this.Y.Nf&&(e=Math.round(e*this.Y.Nf/this.Y.th));e-=this.Y.Ge-this.Y.xg;if(f=this.Y.Ge-this.Y.jf)this.Y.qe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&cd(this.N,!0),Zc(this));if(0>e||this.Y.qethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.jm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.im=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Ud-c|0))return this.C=!0,a=id(this,c,a),-1!==a&&(a+=this.Yf),a;C.call(b,13,a|2);return-1};m.Fi=function(a){return this.Aa+a|0};m.Hi=function(a){return this.Aa+a|0};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.qg()};m.Lk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.qg()};m.qg=function(){C.call(this.F,13,0);return-1};m.Gi=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.rg()}; -m.Mk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.rg()};m.rg=function(){C.call(this.F,13,0);return-1};function jd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&gd(a,!0)}function kd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&gd(a,!0)} -function id(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,gd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.df=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Yf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),ld(e,D(e),!0),G(e,z),a.df=!0),z=0);else{if(256==h||2304==h)return md(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.vi=k+e.na(k+100+2)|0,a.Hk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,gd(a,!0,!0,!1));return k} -function md(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,yd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),zd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Ad(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function gd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.vg,a.Zi=a.im,a.mc=a.Ei,a.nc=a.Gi,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.qg,a.nc=a.rg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.qg);if(a.type&2048||!(a.type&512))a.nc=a.rg;1024==(a.type&3072)&&(a.mc==a.Ei&&(a.mc=a.Lk),a.nc==a.Gi&&(a.nc=a.Mk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.nh,a.Zi=a.jm,a.mc=a.Fi,a.nc=a.Hi,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Cd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Nc.call(this,a,b);this.Zf=61442;this.Cc=1792;this.Xf=28672;this.Ed=4;this.ra=255;this.B=80286<=this.ja?zb:yb;this.W=Dd;this.cg=Ed;this.ig=Fd;this.jg=Gd;if(80186<=this.ja&&(this.W=Dd.slice(),this.cg=Ed.slice(),this.ig=Fd.slice(),this.ra=31,this.W[15]=Hd,this.W[96]=Id,this.W[97]=Jd,this.W[98]=Kd,this.W[99]=Hd,this.W[100]=Hd,this.W[101]= -Hd,this.W[102]=Hd,this.W[103]=Hd,this.W[104]=Ld,this.W[105]=Md,this.W[106]=Nd,this.W[107]=Od,this.W[108]=Pd,this.W[109]=Qd,this.W[110]=Rd,this.W[111]=Sd,this.W[192]=Td,this.W[193]=Ud,this.W[200]=Yd,this.W[201]=Zd,this.W[241]=$d,this.cg[7]=ae,this.ig[7]=ae,80286<=this.ja)){this.Zf=2;this.Cc|=28672;this.Ed=0;this.W[15]=ge;this.tc=he.slice();for(a=0;a=this.Uc&&(this.tc[166]=pe,this.tc[167]=qe)}}this.Jd=[];this.me=[];this.oe=0;Qc(this);this.la.Xd=this.la.Oi=!1;this.Rg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Hd=this.jd=this.Hb=this.Db=0;re(this)}fb(Cd,Nc);function se(a,b,c,d){Ic((d?a.ld:a.sa)[b>>>a.La],c);d&&Xb(a)} -function te(a){var b;if(a.sa===a.ld){a.sa=Array(a.Hd);a.ne=new B(null,0,0,5,null,a);Ob(a.ne,a.ha);for(b=0;ba.pe&&(a.bg[a.pe++]=d);a.sa[b]=a.ne}a.Id=[]}function Xb(a){a.Za&-2147483648&&te(a)} -function Hc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Qd+e&a.Hb)>>>a.La],g=f.Od(e);if(!(g&1))return d||ue.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Od(h);if(!(k&1))return d||ue.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;xb&&dc&&c.da&&!c.controller&&!c.Ue&&!c.Ve?(b.Ya=c.Ya,b.ge=c.ge,b.da=c.da,ac(b,Mc)):(b.ga=c?Ac(32):0,b.V=c?Ac(96):0,ac(b,Kc));Ob(b,a.ha,k);a.sa[d]=b;a.Id.push(d);return b}function ve(a){a.sa!==a.ld&&(a.sa=a.ld,a.ne=null,a.Id=null,a.kd=null)}m=Cd.prototype;m.reset=function(){this.la.Fb&&this.Wb();re(this);Qc(this);this.la.ud=!1}; -function we(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function xe(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function re(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.kg=0;a.L=0;a.Za=65520;a.Mc=0;a.Ud=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.se=a.U=-1;a.va=new fd(a,1,"CS");a.vb=new fd(a,2,"DS");a.Xa=new fd(a,2,"ES");a.ta=new fd(a,3,"SS");G(a,0);ld(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.li=0;a.ue=0;a.Qd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new fd(a,2,"FS");a.Ob=new fd(a,2,"GS");ve(a)}a.rf=new fd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Ad(a,0,65535);else{a.Ec=0;a.Bd=65535;a.Bc=new fd(a,5,"LDT",!0);a.Sa=new fd(a,4,"TSS",!0);a.Da=new fd(a,6,"VER",!0);Ad(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.va.Ta>>>0)+1}zd(a,0);nd(a)} -function ye(a){2==a.Oc?(a.dc=a.na,a.Oa=ze,a.$a=Ae,a.Jb=Be,2==a.ba?(a.V=Ce,a.ea=De,a.ya=Ee):(a.V=Fe,a.ea=Ge,a.ya=He)):(a.dc=a.oa,a.Oa=Ie,a.$a=Le,a.Jb=Me,2==a.ba?(a.V=Ne,a.ea=Oe,a.ya=Pe):(a.V=Qe,a.ea=Re,a.ya=Se))}function od(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,Te(a))}function Te(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=Ce,a.ea=De,a.ya=Ee):(a.V=Ne,a.ea=Oe,a.ya=Pe)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=Fe,a.ea=Ge,a.ya=He):(a.V=Qe,a.ea=Re,a.ya=Se))} -function df(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;ye(a);a.ba=a.va.ba;a.R=a.va.R;Te(a);a.Ia&=-3073}m.Si=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+yd(this)|0};function ef(a,b,c){void 0===a.Jd[b]&&(a.Jd[b]=[]);a.Jd[b].push(c)}function ff(a,b,c){void 0!==c&&(null==a.me[b]&&a.oe++,a.me[b]=c)}function gf(a,b){var c=a.me[b];null!=c&&(c(--a.oe),delete a.me[b])} -function hf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Td(g&a.Fa,f,a):Ic(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Fc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function nd(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.jg=b&&!c?jf:Gd;gd(a.va,!1,b,c);gd(a.vb,!1,b,c);gd(a.ta,!1,b,c);gd(a.Xa,!1,b,c);80386<=a.ja&&(gd(a.Nb,!1,b,c),gd(a.Ob,!1,b,c));df(a)} -m.save=function(){var a=new kf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Bd,this.Mc,this.Ud,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.li),g.push(this.ue),g.push(this.Qd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,yd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.kc, -this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Zd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.zg==b.Hb)||Tb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;df(a)}function Ad(a,b,c,d){var e=a.va;e.Yf=b;e.C=d;b=e.load(c);return-1!==b?(nf(a,b+(a.va.Yf&a.va.R)),a.va.df):null} -function of(a,b){var c=(a.Ha>>>0)+b;c>a.hf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.hf&a.R):C.call(a,13,0));return c|0}function pf(a){a.Ha=a.se}function I(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function G(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function qf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&rf(a),g&2&&sf(a),g&4&&tf(a),g&8&&uf(a),g&16&&vf(a),g&32&&wf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function xf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?yf(a):zf(a);e?Af(a):Bf(a);return b}function Cf(a,b,c,d){c&d?yf(a):zf(a);(b^c)&d?Af(a):Bf(a)}function Df(a){return rf(a)?1:0}function rf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function sf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function tf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function uf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function vf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function wf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function zf(a){a.resultType&=-2;a.ca&=-2}function Ef(a){a.resultType&=-5;a.ca&=-17}function Ff(a){a.resultType&=-9;a.ca&=-65}function Bf(a){a.resultType&=-33;a.ca&=-2049}function yf(a){a.resultType&=-2;a.ca|=1}function Gf(a){a.resultType&=-5;a.ca|=16}function Hf(a){a.resultType&=-9;a.ca|=64}function Af(a){a.resultType&=-33;a.ca|=2048} -function yd(a){return a.ca&-2262|rf(a)|sf(a)|tf(a)|uf(a)|vf(a)|wf(a)}function If(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&nd(a,!0)}function zd(a,b,c){a.Za&1||(b&=~a.Xf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Zf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Jf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.vi)for(var f=a.Sa.vi+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Rg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function Kf(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Hc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.te(f,b);if(2==c)return f>>this.La].pc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(c>>=8}}; -function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Lf(a,a.ka,b)}function Mf(a,b){return Lf(a,a.Ka,b)}function Nf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Of(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Pf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Qf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Rf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Sf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function ud(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=of(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Tf(a){var b=of(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=of(a,a.Oc),c=a.dc(a.Ha);a.Ha=b;return c} -m.Ma=function(){var a=of(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};m.T=function(){var a=of(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function D(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Ng-a.fa|0;0>c&&0<=(a.Ng^a.fa)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function vd(a,b,c,d){c=a.fa-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function J(a,b){var c=a.fa-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));a.rc(c,b);a.fa=c} -function Uf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Wf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Xf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Xf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Yf(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;cg(this);dg(this,a[b++]);for(c=0;c=eg&&fg(a,13))}function cg(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=eg?gg(a,13):a.ya&0||Xf.call(a.F,2),!0;a=a.N;a.ja>=eg&&fg(a,13);return!1}function hg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return cg(a)} -function ag(a){return a.ma|a.B<<11}function ig(a,b){return isFinite(b)?!0:!hg(a,Infinity===b?8:16)}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,ig(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,ig(a,d)||(d=null));return d}function lg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,ig(a,d)||(d=null));return d}function mg(a,b,c){var d=null;null==b||null==c||!c&&hg(a,2)||(d=b/c,ig(a,d)||(d=null));return d} -function ng(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function og(a,b,c){if(null==b)return null;var d=a.jc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(hg(a,1))return null;d=-c}else if(d<-c){if(hg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function Bg(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Cg(a){var b=a.B+0&7;return a.C&1<>16}function Hg(a){return a.F.oa(a.F.D)}function Ig(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Jg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Kg(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}m.pi=function(){this.F.nb(this.F.D,this.L[0])};m.rk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.tk=Zf.prototype.pi;m.sk=Zf.prototype.rk;function Lg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])} -function Mg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.W[0]}function Fg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Ng(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Og(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;cg(a);dg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba} -function Sg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,ag(a));c.rc(b+=c.ba,bg(a));if(!(c.Za&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Tg=Math.log(10)/Math.LN2,Ug=Math.LOG2E,Vg=Math.PI,Wg=Math.log(2)/Math.LN10,Xg=Math.LN2,Yg=Math.pow(2,63);function Zg(){this.ma&=-32896;cg(this)} -function $g(){ng(this,U(this,0),U(this,this.A))}function ah(){ng(this,U(this,0),U(this,this.A))&&Pg(this)}function bh(){ah.call(this)}function ch(){V(this,0,mg(this,U(this,0),Ig(this)))}function dh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Qg(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Pg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!hg(this,1))b=Math.sqrt(a),ig(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,og(this,U(this,0),Yg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Qg(this,a)},6:function(){var a=og(this,Pg(this));null!=a&&(this.ga[0]= -Og(a,8),this.ga[1]=Og(a/1E8,8),this.ga[2]=Og(a/1E16,2),0>a&&(this.ga[2]|=32768),Lg(this))},7:function(){null!=og(this,U(this,0),Yg)&&(this.rk(),Pg(this))},48:function(){dh.call(this);Pg(this)},49:qh,50:lh,51:lh,52:oh}},sh=[Zg,eh,fh,gh,hh,ih,mh,jh,nh,oh];Sa(function(){for(var a=pb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.ej;(bd)&&C.call(this,5);this.S|=2;return a}function Bh(a,b){var c=0;if(b){Ff(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Hf(this);this.A-=11+3*c;return a}function Ch(a,b){var c=0;if(b){Ff(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Hf(this);this.A-=11+3*c;return a} -function Dh(a,b){a&1<<(b&(2==this.ba?15:31))?yf(this):zf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?yf(this):zf(this);this.A-=-1===this.D?6:8;return a^c}function Fh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?yf(this):zf(this);this.A-=-1===this.D?6:8;return a&~c}function Gh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?yf(this):zf(this);this.A-=-1===this.D?6:8;return a|c} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=6;this.S|=2;return a}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=8;return a^b} -function Jh(a,b){if(-1===this.D)return Fh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=8;return a&~b}function Kh(a,b){if(-1===this.D)return Gh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=8;return a|b} -function Lh(a,b){qf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a}function Mh(a,b){qf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a} -function Nh(a){if(this.Tb){var b=this.Tb,c=this.kg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=rh[c][f]){if(0>sh.indexOf(e)){var f=b.F,g=f.se;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.va.Z;b.V=g-f.va.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Oh(a){if(80186>this.ja)return Ph.call(this,a);C.call(this,13,0);return a}function ae(a){C.call(this,6);return a} -function Ph(a){ie.call(this);return a}function Qh(a,b){var c=Rh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Sh(a,b){var c;a=this.Ma();c=2==this.ba?Rh.call(this,a,b):Th.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Uh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Vh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Rh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(yf(this),Af(this)):(zf(this),Bf(this));this.A-=-1===this.D?9:12;return c&65535}function Th(a,b){Uh.call(this,a,b);this.wa!=this.ia>>31?(yf(this),Af(this)):(zf(this),Bf(this));this.A-=-1===this.D?9:12;return this.ia}function Wh(a,b){this.A-=14+(-1===this.D?0:2);Ff(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Hf(this),a=this.Da.wb&-256,2=this.pa)&&this.Da.Gc>=(b&3))return Hf(this),this.Da.Ta;Ff(this);return a}function ci(a,b){if(-1===this.D)return ie.call(this),a;ld(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function di(a,b){this.A-=-1===this.C?-1===this.D?this.B.Oj:this.B.Nj:this.B.Lj;return b}function ei(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function fi(a,b){return b} -function gi(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return di.call(this,0,b)} -function hi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&od(this,2);return di.call(this,0,b)} -function Vh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function ii(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return xf(this,a|b,128)}function ji(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return xf(this,a|b,this.Ga)&this.R} -function Bi(a,b){var c=a-b-Df(this)|0;qf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Ci(a,b){var c=a-b-Df(this)|0;qf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Di(){return wf(this)?1:0}function Ei(){return rf(this)?1:0}function Fi(){return rf(this)?0:1}function Gi(){return uf(this)?1:0}function Hi(){return uf(this)?0:1}function Ii(){return rf(this)||uf(this)?1:0} -function Ji(){return rf(this)||uf(this)?0:1}function Ki(){return vf(this)?1:0}function Li(){return vf(this)?0:1}function Mi(){return sf(this)?1:0}function Ni(){return sf(this)?0:1}function Oi(){return!vf(this)!=!wf(this)?1:0}function Pi(){return!vf(this)!=!wf(this)?0:1}function Qi(){return uf(this)||!vf(this)!=!wf(this)?1:0}function Ri(){return uf(this)||!vf(this)!=!wf(this)?0:1}function Si(a,b){return Ti.call(this,a,b,this.xa())}function Ui(a,b){return Vi.call(this,a,b,this.xa())} -function Wi(a,b){return Ti.call(this,a,b,this.I&31)}function Xi(a,b){return Vi.call(this,a,b,this.I&31)}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return aj.call(this,a,b,this.xa())}function bj(a,b){return Zi.call(this,a,b,this.I&31)}function cj(a,b){return aj.call(this,a,b,this.I&31)}function dj(a,b){var c=a-b|0;qf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function ej(a,b){var c=a-b|0;qf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function fj(a,b){xf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Uf:this.B.Uf;this.S|=2;return a}function gj(a,b){xf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Uf:this.B.Uf;this.S|=2;return a}function hj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function jj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ei}else this.C=this.D,Qf(this,a),this.A-=this.B.di;return b} -function kj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ei}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.di;return b} -function lj(a,b){var c=a^b;xf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function mj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return xf(this,a^b,this.Ga)&this.R}function nj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function oj(a){var b=a-1|0;qf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R} -function pj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=nj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function qj(a){var b=a+1|0;qf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R} -function rj(a){this.Za=a;nd(this);this.Za&-2147483648?te(this):ve(this)}function Bd(a){this.Qd=a;Xb(this)}function sj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ti(a,b,c){if(c){16>>16-c)&65535;xf(this,a,32768,d&32768)}return a}function Vi(a,b,c){if(c){var d=a<>>32-c;xf(this,a,-2147483648,d&-2147483648)}return a} -function Zi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;xf(this,a,32768,d&1)}return a}function aj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;xf(this,a,-2147483648,d&1)}return a}function tj(){this.A-=-1===this.D?2:this.B.ak;return 1}function uj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Wh:this.B.Vh)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,mf(this,this.bc)),this.bc=-1),this.se!==this.Ha&&nf(this,this.se),-1!=this.sb&&(this.sb!==this.ta.Z&&ld(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,re(this),e=d=!1)):nf(this,this.se);var f=a,g=b,h=32,k=Kf(this,this.Ha);204!=k||this.Ud||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,zj.call(this,a,b,c),this.se=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;} -function ue(a,b,c){this.ue=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function Bj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ae(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this, -a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Qf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Be(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ce(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Ld;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Of(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Of(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Of(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Of(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Of(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Of(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function De(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Of(this,this.P+this.K);this.C=this.D;break;case 3:b=Of(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Of(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Of(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Rf(this,a);this.A-=this.B.ed;break;case 1:case 2:Rf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this, -a);this.A-=this.B.Jc;break;case 6:Rf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Rf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Rf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ee(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Of(this,this.P+this.K);this.C=this.D;break;case 3:c=Of(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Of(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Of(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Rf(this,c);this.A-=this.B.ed;break;case 1:case 2:Rf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,c);this.A-=this.B.Jc;break;case 6:Rf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Rf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Rf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Fe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Pf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Pf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Ld;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Pf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Pf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Pf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Pf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Pf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Pf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ge(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Pf(this,this.P+this.K);this.C=this.D;break;case 3:b=Pf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Pf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Pf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Sf(this,a);this.A-=this.B.ed;break;case 1:case 2:Sf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Sf(this,a);this.A-=this.B.Jc;break;case 6:Sf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Sf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function He(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Pf(this,this.P+this.K);this.C=this.D;break;case 3:c=Pf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Pf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Pf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.ed;break;case 1:case 2:Sf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Jc;break;case 6:Sf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ie(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Dj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Dj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Dj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Le(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Dj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Qf(this,a)}} -function Me(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Dj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Qf(this,c)}} -function Ne(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Dj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Dj.call(this,1)+this.T()); -break;case 69:c=Of(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Dj.call(this,2)+T(this));break;case 133:c=Of(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Oe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Dj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Of(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Of(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Rf(this,a)}} -function Pe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Dj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Of(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Of(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Rf(this,c)}} -function Qe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Dj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Dj.call(this,1)+this.T()); -break;case 69:c=Pf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Dj.call(this,2)+T(this));break;case 133:c=Pf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Re(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Dj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Pf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Pf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Sf(this,a)}} -function Se(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Dj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Pf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Pf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Sf(this,c)}} -function Dj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||tf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||tf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?yf(this):zf(this);b?Gf(this):Ef(this);this.A-=this.B.He},function(){this.G=qj.call(this,this.G)},function(){this.I=qj.call(this,this.I)},function(){this.M=qj.call(this,this.M)},function(){this.H=qj.call(this,this.H)},function(){G(this,qj.call(this, -I(this)))},function(){this.P=qj.call(this,this.P)},function(){this.K=qj.call(this,this.K)},function(){this.J=qj.call(this,this.J)},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this,I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,function(){this.ya.call(this,jk,this.Ma);this.A-=-1===this.C? -1:this.B.Fg},Uj,function(){this.ya.call(this,jk,this.T);this.A-=-1===this.C?1:this.B.Fg},function(){this.$a.call(this,fj)},function(){this.ea.call(this,gj)},function(){this.Oa.call(this,jj)},function(){this.V.call(this,kj)},Wj,Xj,Yj,Zj,function(){this.S|=1;this.ea.call(this,hi)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.V.call(this,Yh)},function(){var a;this.V.call(this,gi);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;xd(this,a);break;case 1:a=this.I;this.I=this.aa;mf(this,a);break; -case 2:a=this.M;this.M=this.aa;ld(this,a);break;case 3:a=this.H;this.H=this.aa;wd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):xd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):mf(this,a);break;case 6:a=this.K;this.K=this.aa;ld(this,a);break;case 7:a=this.J,this.J=this.aa,wd(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=D(this);this.ya.call(this,kk,xj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.gj},function(){yj.call(this,this.Ma(),Tf(this));this.A-=this.B.jj},function(){this.A-=3},function(){var a=yd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;zd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?yf(this):zf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Gf(this):Ef(this);a&64?Hf(this):Ff(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(yd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Lh},function(){this.G=this.G&~this.R|ud(this,this.ka,T(this));this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Mh},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Mh},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=ud(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah,this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Lf(this,this.ka,this.K),f=Lf(this,this.Xa,this.J);this.C=this.D;Lh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah, -this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Nf(this,this.ka,this.K&c),f=Nf(this,this.Xa,this.J&c);this.C=this.D;Mh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){xf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){xf(this,this.G&this.Ma(),this.Ga);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&& -(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh, -this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=ud(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&255,f=Lf(this,this.Xa,this.J);this.C=this.D;Lh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&this.R,f=Nf(this,this.Xa,this.J&c);this.C=this.D;Mh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},dk,ek,dk,ek,function(){this.V.call(this,Zh)},function(){this.V.call(this,Xh)},function(){this.S|= -1;this.Jb.call(this,lk,this.xa)},function(){this.S|=1;this.ya.call(this,lk,this.Ma)},fk,gk,fk,gk,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.Aj;this.rb=-1;zj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Jd[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.Bj;this.rb=-1;zj.call(this,4,null,a)}else this.A-=this.B.Cj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.yj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);md(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);nd(this,!0,!0);ld(this, -f);G(this,e);xd(this,g);wd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=Ad(this,b,c,!1)&&(zd(this,d,a),this.oe&&gf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,ak,tj)},function(){this.ya.call(this,2==this.ba?bk:ck,tj)},function(){this.Jb.call(this,ak,uj)},function(){this.ya.call(this,2==this.ba?bk:ck,uj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;xf(this,this.G,128);this.A-=this.B.dj}else Cj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;qf(this,a,b,c,191);this.A-=this.B.cj},function(){this.G=this.G&-256|(rf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Lf(this,this.ka,this.H+(this.G&255));this.A-=this.B.bk},function(){hk.call(this,216)},function(){hk.call(this,217)},function(){hk.call(this,218)},function(){hk.call(this,219)},function(){hk.call(this,220)},function(){hk.call(this,221)},function(){hk.call(this,222)},function(){hk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!uf(this)?(O(this,K(this)+a),this.A-=this.B.Jj):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&uf(this)?(O(this,K(this)+a),this.A-=this.B.Jh):this.A-=this.B.Kh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Ij):this.A-=this.B.Ih},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Kh:(O(this,K(this)+a),this.A-=this.B.Jh)},function(){var a=this.xa(); -Jf(this,a,1,!0)&&(this.G=this.G&-256|lc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Dh)},function(){var a=this.xa();Jf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|lc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Dh)},function(){var a=this.xa();Jf(this,a,1,!1)&&(pc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.xa();Jf(this,a,this.ba,!1)&&(pc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.hj},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Eh},function(){Ad(this,this.Ma(),Tf(this));this.A-=this.B.Ej},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Eh},function(){var a=this.M&65535;Jf(this,a,1,!0)&&(this.G=this.G&-256|lc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Ch)},function(){var a=this.M&65535;Jf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|lc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Ch)},function(){var a=this.M&65535;Jf(this,a,1,!1)&& -(pc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Qh)},function(){var a=this.M&65535;Jf(this,a,2,!1)&&(pc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Qh)},ik,ik,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(pf(this),this.ha.Wb()):this.ca&512||(this.ha&&pf(this),this.Wb()))},function(){rf(this)?zf(this):yf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -nk,wj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,ok,wj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){zf(this);this.A-=2},function(){yf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.fj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Ed,wj)},function(){this.ya.call(this,Fd,wj)}],Vj=[vh,ii,th,Bi,xh,dj,lj,Lh],jk=[wh,ji,uh,Ci,yh,ej,mj,Mh],kk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Uj;return b},Oh,Oh,Oh,Oh,Oh,Oh,Oh],lk=[function(a,b){this.A-=-1===this.C?this.B.Mj:this.B.Kj;return b},Ph,Ph,Ph,Ph,Ph,Ph,Ph],ak=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Cf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Cf(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Df(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Cf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,xf(this,a,128,c&1,a&128));return a},Ph, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,xf(this,a,128,c&1));return a}],bk=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Cf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Cf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Df(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Cf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,xf(this,a,32768,c&1,a&32768));return a},Ph,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,xf(this,a,32768,c&1));return a}],ck=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Cf(this,c,a<>>d|e;Cf(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Df(this),c=a<>>32-d>>>1,Cf(this,c,a<>>d|c<<32-d|a<<32-d<<1,Cf(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,xf(this,a,-2147483648,c&1,a&-2147483648));return a},Ph,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,xf(this,a,-2147483648,c&1));return a}],nk=[function(a,b){b=this.xa();xf(this,a&b,128);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Ph,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^255},function(a){var b=-a|0;qf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(!a)return Cj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Cj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],ok=[function(a,b){b=this.Ma();xf(this,a&b,this.Ga);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Ph,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^this.R},function(a){var b=-a|0;qf(this,0,a,b,this.Ga| -63,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Vh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.Sj:this.B.Rj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Uh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.xj:this.B.wj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Cj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Cj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!pj.call(this,this.G,this.M,a))return Cj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Cj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Cj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!pj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Cj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a}],Ed=[function(a){var b= -a+1|0;qf(this,a,1,b,190);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},function(a){var b=a-1|0;qf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},Ph,Ph,Ph,Ph,Ph,Ph],Fd=[function(a){var b=a+1|0;qf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){var b=a-1|0;qf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.lj:this.B.kj;this.S|= -2;return a},function(a){if(-1===this.D)return Ph.call(this,a);this.U=this.fa;yj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.ij;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Gj:this.B.Fj;this.S|=2;return a},function(a){if(-1===this.D)return Ph.call(this,a);Ad(this,a,this.na(this.D+this.ba));this.A-=this.B.Dj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Wj;this.S|=2;return a}, -Ph];function pe(){this.V.call(this,ij);this.A-=-1===this.D?6:13}function qe(){this.ea.call(this,hj);this.A-=-1===this.D?12:19}var he=Array(256);he[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.jg,wj)};he[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,pk,wj)};he[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,Wh)};he[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,bi)}; -he[5]=function(){this.pa?C.call(this,13,0,0,!0):(If(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),kd(this.Xa,2102,this.na(2084)),kd(this.va,2108,this.na(2082)),kd(this.ta,2114,this.na(2080)),kd(this.vb,2120,this.na(2078)),zd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Bd=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Ud=this.Mc+this.na(2142),kd(this.Bc,2132,this.na(2076)),kd(this.Sa,2144,this.na(2070)),this.A-=195)};he[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};he[11]=Hd;he[166]=Hd;he[255]=Hd;var M=[];M[5]=Hd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){rj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;zd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Bd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Ud=this.Mc+this.oa(a+104);jd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));jd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);jd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));jd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));jd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));jd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));jd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));jd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Wj;M[17]=Xj;M[18]=Yj;M[19]=Zj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.ue;break;case 3:a=this.Qd;break;default:ie.call(this);return}xe(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(xe(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=we(this,a&7);switch((a&56)>>3){case 0:rj.call(this,b);this.A-=10;break;case 2:this.ue=b;this.A-=4;break;case 3:Bd.call(this,b);this.A-=5;break;default:ie.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(a=we(this,a&7),a!=this.Ja[b]&&(hf(this,!1),this.Ja[b]=a,hf(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(xe(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(this.Ce[b]=we(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();wf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();rf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();rf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();rf(this)||uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();rf(this)||uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!vf(this)!=!wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!vf(this)==!wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();uf(this)||!vf(this)!=!wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();uf(this)||!vf(this)!=!wf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){sj.call(this,Di)}; -M[145]=function(){sj.call(this,Di)};M[146]=function(){sj.call(this,Ei)};M[147]=function(){sj.call(this,Fi)};M[148]=function(){sj.call(this,Gi)};M[149]=function(){sj.call(this,Hi)};M[150]=function(){sj.call(this,Ii)};M[151]=function(){sj.call(this,Ji)};M[152]=function(){sj.call(this,Ki)};M[153]=function(){sj.call(this,Li)};M[154]=function(){sj.call(this,Mi)};M[155]=function(){sj.call(this,Ni)};M[156]=function(){sj.call(this,Oi)};M[157]=function(){sj.call(this,Pi)};M[158]=function(){sj.call(this,Qi)}; -M[159]=function(){sj.call(this,Ri)};M[160]=function(){vd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.fa;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.ea.call(this,Hh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.ea.call(this,2==this.ba?Si:Ui);this.A-=-1===this.D?3:7};M[165]=function(){this.ea.call(this,2==this.ba?Wi:Xi);this.A-=-1===this.D?3:7};M[168]=function(){vd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.fa;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.ea.call(this,Kh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.ea.call(this,2==this.ba?Yi:$i);this.A-=-1===this.D?3:7};M[173]=function(){this.ea.call(this,2==this.ba?bj:cj);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.ba?Rh:Th)};M[178]=function(){this.V.call(this,ci)};M[179]=function(){this.ea.call(this,Jh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.V.call(this,$h)};M[181]=function(){this.V.call(this,ai)}; -M[182]=function(){this.Oa.call(this,ei);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){od(this,2);this.V.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,qk,this.xa)};M[187]=function(){this.ea.call(this,Ih);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.V.call(this,Bh)};M[189]=function(){this.V.call(this,Ch)}; -M[190]=function(){this.Oa.call(this,ei);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){od(this,2);this.V.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var jf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Hf(this), -a;Ff(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Hf(this),a;Ff(this);return a},Ph,Ph],Gd=[ae,ae,ae,ae,ae,ae,Ph,Ph],pk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Bd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Ud-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Bd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ud=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Ph,function(a){this.ca& -131072?C.call(this,6):(If(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Ph],qk=[Ph,Ph,Ph,Ph,Dh,Gh,Fh,Eh]; -function rk(a){Wa.call(this,"ChipSet",a,rk,32768);var b=a.model;b&&!sk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=sk[b]||tk;this.C=[];b=uk(a[vk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),wk(this,xk,this.ia.length),wk(this,yk,a.monitor||(this.ja=eg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);ub(this)}fb(rk);var tk=5150.9,eg=5170,sk={5150:5150,5160:5160,5170:eg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:tk,deskpro386:5180},vk="sw1",zk="sw2",Ak={Ek:1,ONE:0,ho:64,eo:128,In:192,Lc:192,Sg:6},Bk={fo:16,Bn:32,Qn:48,Lc:48,Sg:4},xk=1,yk=4,Ck={5150:[{},{}]};Ck[5150][0][xk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Rd:"Number of Floppy Drives"};Ck[5150][0][3]={Lc:2,hd:{0:0,1:2},Rd:"Coprocessor"}; -Ck[5150][0][yk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Rd:"Monitor Type"};Ck[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Rd:"Base Memory (16Kb Increments)"};Ck[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Rd:"Expansion Memory (32Kb Increments)"};Ck[5160]=[{},{}];Ck[5160][0][xk]=Ck[5150][0][xk];Ck[5160][0][3]=Ck[5150][0][3];Ck[5160][0][yk]=Ck[5150][0][yk]; -Ck[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Rd:"Base Memory (64Kb Increments)"};Ck[5160][1][6]=Ck[5150][1][6];Ck[5160.101]=[{},{}];Ck[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Rd:"Base Memory (128Kb Increments)"};Ck[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Rd:"Coprocessor"};Ck[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Rd:"Floppy Type"};Ck[5160.101][1][xk]=Ck[5150][0][xk];Ck[5160.101][1][yk]=Ck[5150][0][yk];m=rk.prototype; -m.Pb=function(a,b,c){switch(b){case vk:return this.qa[b]=c,Dk(this,0,b),!0;case zk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Dk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Gb(a,"FPU");wk(this,3,this.Tb?1:0,!0);this.B=Gb(a,"Keyboard");this.gb=c.Y.Kd/1193181;kc(b,this,Ek);oc(b,this,Fk);this.jab;b++){var c=13>=b?Qk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}ef(c,26,this.dm.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Rk(this);this.L=Array(this.cb);for(b=0;b=eg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Vk(this)&&(this.fa|=16);3==+Wk(this,yk,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Xk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Wk(this,yk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new kf(this);N(a,0,[this.C]);for(var b=[],c=0;c=eg&&(N(a,5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Rk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;hl(a,b,c,!0)}function il(a,b,c){if(b=(a=Ck[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ol(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function pl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ql(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function sl(a,b,c){b=a.L[b>>2].Dc[b&3];b.sg&&b.hh&&b.Hg?(c&&(b.done=c),b.Ee||Bl(a,b,!0)):c&&c(!0)} -function Bl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Ri=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.ng<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.hh.call(b.sg,b.Hg,-1,function(f,g){0>f&&(b.Ri||(b.Ri=!0),f=255);b.Ee||a.ga.qc(c,f);(d=g)&&setTimeout(function(){Cl(b)||Bl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.hh.call(b.sg,b.Hg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Cl(b););} -function Cl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.of=c||0,Fl(a))}function fg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Fl(a))}function Fl(a,b){var c,d=-1;1>=1),$c(a.F,e))),0==b&&2==c&&al(a))}function Ml(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Nl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ol(a,e+c);else{e=e+c;var h=a.V[e];h.gg=d;h.mode=g;h.ah=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.$e=!1;h.Be=!1;h.ef=!1;Jl(a,e);0==b&&0==c&&fg(a,0);0==b&&2==c&&255==a.vc[0].Cd&& -77==a.W&&(b=a.V[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Yc(a.F,a.ka))}}}function Ll(a,b){var c=a.V[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function dd(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ol(a,b){Pk(a,b);var c=a.V[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.$e=!0;Jl(a,b)}function Jl(a,b){var c=a.V[b];c.Gd=32==c.gg?1:0;c.nd=48==c.gg?2:1} -function Pk(a,b,c){var d=a.V[b];if(d.Be&&(2!=b||a.W&1)){var e=Yc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Ll(a,b),h=dd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||gg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&gg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&gg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function cd(a,b){for(var c=0;c=eg){var c=a.F.Y.Kd,d=Yc(a.F,a.ka);null==a.fb&&(a.Ga=Yc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Kd/a.Jb),$k(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,gg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,gg(a,8)));var e=d-a.Ga,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=sa[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,gg(a,8))}a.Ga=d-e%c}}m=rk.prototype;m.Nl=function(a,b){var c=this.$a;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Pl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.gn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ol=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -m.hn=function(a,b,c){x(this,a,b,c,"PPI_B");Ql(this,b)};function Ql(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Rl(a.B,!(b&128),!!(b&64));c!=d&&al(a,c)}m.Pl=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Pk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.jn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Ql=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Zk=function(a,b){var c=this.B?Pl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.sm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Yk=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};m.rm=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ql(this,b)};m.$k=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.al=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Sl(this.B);return c}; -m.um=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Tl(this,b);break;case 209:Ul(this,b);break;default:if(Tl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.V||c){case 255:d=250;Vl(a);break;case 243:a.V&&(c=0);Wl(a,250);a.V=c;break;case 237:a.V&&(c=0);Wl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Xl(this,d)}}this.ea=b;this.N&=-9}; -m.bl=function(a,b){var c=this.W&-209|(Yc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.vm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ql(this,b)};m.cl=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.tm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Xl(this,this.aa);break;case 173:Tl(this,this.aa|16);break;case 174:Tl(this,this.aa&-17);this.B&&Sl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Tl(this,this.aa|16);Xl(this,85);Ul(this,3);break;case 171:Xl(this,0);break;case 192:Xl(this,this.fa);break;case 208:Xl(this,this.Ka);break;case 224:Xl(this,this.aa&16?0: -1);break;case 240:a&1&&re(this.F)}};function Tl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Rl(a.B,!!(b&8),!(b&16))}function Xl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Ul(a,b){a.Ka=b;Tb(a.ga,!!(b&2));b&1||re(a.F)}function Yl(a,b){a.ja=c?Qk(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&fg(this,8),d&64&&this.A[11]&64&&$k(this));return d}; -m.Km=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&$k(this)};m.ik=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Um=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Vm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&$f(this.Tb)}; -m.dm=function(a){if(A(this,16)&&mk(this.ha,26,a)){var b=this.F.G>>8;ff(this.F,a,function(a,d){return function(e){d=Yc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(rf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Yc(this.F)))}return!0}; -function al(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Ll(a,2));if(20>c||2E4>>4,0,this.X,this.C,this.Sd),delete this.Sd);return!0};am.prototype.hc=function(){return!0}; -function bm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{hb(a.fe,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Sd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Zk(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new kf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function hm(a){this.N=a;this.C=jm;this.ha=km;this.B=lm;this.A=null}var im=-2134900736,jm=65535,km=2575,lm=2,mm=[null,0],nm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=hm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ga;if(b&1)this.A&&(Zb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=$b(c,917504,131072));var d=$b(c,16646144,131072);Zb(c,917504,131072,d,b&2?1:cc)}this.C=this.C&-256|b}};m.Ti=function(){return mm};m.ih=function(){return nm}; -Sa(function(){for(var a=pb(document,"pcx86","ram"),b=0;b":62,"?":63,"@":64,yn:65,zn:66,An:67,Fn:68,E:69,Gn:70,Jn:71,Kn:72,Ln:73,Mn:74,Nn:75,On:76,Pn:77,Rn:78,Sn:79,Tn:80,Q:81,Un:82,Yn:83,co:84,io:85,jo:86,ko:87,mo:88,no:89,oo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,po:97,qo:98,so:99,d:100,e:101,to:102,uo:103,vo:104, -wo:105,xo:106,k:107,yo:108,zo:109,n:110,Bo:111,p:112,q:113,r:114,Co:115,t:116,Eo:117,Fo:118,Go:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},rm={};rm[186]=X[";"];rm[187]=X["="];rm[188]=X[","];rm[189]=X["-"];rm[190]=X["."];rm[191]=X["/"];rm[192]=X["`"];rm[219]=X["["];rm[220]=X["\\"];rm[221]=X["]"];rm[222]=X["'"];rm[173]=X["-"];var sm={};sm[X["1"]]=X["!"];sm[X["2"]]=X["@"];sm[X["3"]]=X["#"];sm[X["4"]]=X.$;sm[X["5"]]=X["%"];sm[X["6"]]=X["^"];sm[X["7"]]=X["&"];sm[X["8"]]=X["*"];sm[X["9"]]=X["("]; -sm[X["0"]]=X[")"];sm[186]=X[":"];sm[187]=X["+"];sm[188]=X["<"];sm[189]=X._;sm[190]=X[">"];sm[191]=X["?"];sm[192]=X["~"];sm[219]=X["{"];sm[220]=X["|"];sm[221]=X["}"];sm[222]=X['"'];sm[173]=X._;sm[61]=X["+"];sm[59]=X[":"]; -var tm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},um={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},vm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},wm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=om.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return xm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||ym(e,a,!0);return b},c.onkeyup=function(a){return xm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();ym(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();ym(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.X&&e.X.yd();ym(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==um[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.yd();zm(a,c,!0);ym(a,c,!0)}}(this,g,um[g]),!0;if(void 0!==vm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){ym(a,c)}}(this,b,vm[b]),b=function(a,b,c){return function(){Am(a,c)}}(this,b,vm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();d&&!e.L&&(e.L=d,Bm(e,300))},!0}return!1};function Cm(a,b,c){if(a.fa){for(var d in sm)if(b==sm[d]){b=+d;(d=rm[d])&&(b=d);break}for(var e in vm)if((d=vm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=vm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Gb(a,"ChipSet")}; -function pm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=qm.indexOf(a.ja),0>c&&(c=0));if(b=qm[c])a.ra=parseInt(b.substr(2),10)}function Vl(a){y(a,"keyboard reset",65792);a.A=[];Wl(a,170)}function Rl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&Zl(a,!0);a.W&&a.ea&&(Vl(a),a.ea=!1)}function Wl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Yl(a.N,b))} -function Sl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Yl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Pl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Zl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in wm)d="led-"+g,e=wm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function ym(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){tm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ne=b,d.xc=a.xc,Cm(a,b,!0),e++),0b.Md){if(!b.Ff){Am(a,b.Ne);return}b.Ff=!1;c=a.ua}else c=1==b.Md++?500:100;b.uk=setTimeout(function(a){return function(){Em(a,b)}}(a),c)}} -function Gm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=sm[b])d=a}else if(a=rm[b])d=a;return d}m.Ig=function(a){a||(this.xc&=-256)}; -function xm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Gm(a,g,!0);a.eh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),zm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Yl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=pb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Ym:Zm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Fd=d||e[4];65536<=this.Fd&&720896<=this.ob&&(this.ac=Math.min(this.Fd>>2,32768));this.Hc=c[0];this.gd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Lg=c[4]>>8&255;this.mb=c[5];this.ph=Ym;this.mg=$m;if(5<=b){this.ph=Zm;this.mg=an;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Fd],Array(this.Fd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ye=b[0];this.Pd=b[1];this.Tc=b[2];this.Vg=bn;this.Og=b[3];this.vf=b[4];this.fg=b[5];this.de=b[6];this.Ke=b[7];this.Xg=cn;this.kk=b[8];this.lk=b[9];this.ce=b[10];this.be=b[11];this.Wg=dn;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Fd>>2;if((this.sd=b[14])&&this.sd.length>this.controller.fi&255};fn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};fn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};fn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.rh,c=this.controller.qh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -fn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};fn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Vf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function gn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Lg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ye;c[1]=a.Pd;c[2]=a.Tc;c[3]=a.Og;c[4]=a.vf;c[5]=a.fg;c[6]=a.de;c[7]=a.Ke;c[8]=a.kk;c[9]=a.lk;c[10]=a.ce;c[11]=a.be;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Fd];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ga)),b=e.C,hn(b,"CRTC",b.Ac,b.mb,b.mg),5<=b.Ua&&(hn(b," GRC",b.ce,b.be,b.Wg),hn(b," SEQ",b.de,b.Ke,b.Xg),hn(b," ATC",b.Pd,b.Tc,b.Vg),hn(b," ATCINDX", -b.Pd),b.ha.O(" ATCDATA: "+b.Ye),hn(b," FEAT",b.fg),hn(b," MISC",b.vf),hn(b," STATUS0",b.Og)),hn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||hn(b," MODEREG",b.gd),3==b.Ua&&hn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.yg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Gb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Xe();a=!0}this.X&&this.X.focus()}return a}; -function Km(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.eh=b)}m.De=function(a){var b=!1;this.X&&(a?this.X.De&&(this.X.De(),this.V&&this.V.Wf(!0),b=!0):this.X.vk&&(this.X.vk(),this.V&&this.V.Wf(!1),b=!0),this.X&&this.X.focus());return b};m.Wf=function(a){this.V&&(this.V.Wf(a),this.B&&(this.B.eh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.xk)}; -function sn(a,b){var c=a.X;c&&!a.ne&&(c.addEventListener("touchstart",function(b){un(a,b,!0)},!1),c.addEventListener("touchmove",function(b){un(a,b)},!0),c.addEventListener("touchend",function(b){un(a,b,!1)},!1),a.ne=b,a.uc=a.Cc=a.jg=-1,a.Jd=!1,a.Xc=null,a.Id=!1,a.xn=function(){a.Id=!0;a.V.ke(vn,!0)})}m.Ig=function(a){this.B&&this.B.Ig(a)}; -function un(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ne)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?ym(a.B,1040,!0):ym(a.B,1038,!0):1!=d&&(d?ym(a.B,1039,!0):ym(a.B,1037,!0));else if(a.V){g=a.Jd;f=b.timeStamp-a.jg;!0===c?(a.Jd=500f){a.V.ke(vn,!0);a.V.ke(vn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.If(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Wk(this.N,yk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case fm:b=7;break;case 5:var c=Nm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Wm(this,1);this.aa=this.Wc=new Wm(this,3);5>this.Ua?this.A=new Wm:(this.A=new Wm(this,this.Ua,null,this.Fd),wn(this));xn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;yn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);ic(this.ga,b,c|d<<8)}tn(this,!0)}};function wn(a){a.A.vf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new kf(this);N(a,0,gn(this.rd));N(a,1,gn(this.Wc));N(a,2,[this.ya,this.wa,this.Ga]);N(a,3,gn(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ga=b[2];this.C=null;this.pa=this.rd=new Wm(this,1,a[0]);this.aa=this.Wc=new Wm(this,3,a[1]);this.A=new Wm(this,this.Ua,a[3],this.Fd);this.A.Hc&&wn(this);xn(this);if(!zn(this))return!1;An(this);return!0}; -function Lm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{hb(a.fe,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)em(a,f,[6144,0]);else if(2048==f.length)em(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&ub(a)}} -function Bn(a,b){if(1==b)return a.Ca[0]=Qm[0],a.Ca[1]=Qm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Qm[c&15];c=c&32?Sm:Rm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Tm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function em(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function xn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=Bn(a);null!=a.Jb[0]&&Cn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(Cn(a,1,a.Jb[1],d,e,14,a.Uc,Om,Pm)&&(c=!0),a.Tb&&Cn(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function Cn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&($n(a,b,c,d,e,f,g,h,k)&&(l=!0),a.wn&&$n(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function $n(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<W||!H?W:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=W-2,Sc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;ao(wa,Je,Xd,Ke);v&&ao(wa,Je+1,Xd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.ui[F]=z;l.Ug[F]=ia;l=!0}}a.Oa[b]=q;return l}function bo(a){0a.cb&&(a.cb=0):a.cb=-1} -function An(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)co(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(co(a),a.ua=c);d=d-b+1;if(a.kg!=b||a.Ce!=d)a.kg=b,a.Ce=d;a.$a=e+1;bo(a)}}} -function co(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&eo(a,c,d,b,a.gb),eo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function fo(a){var b,c=a.C;a.hf=!1;var d=c.be[5];if(null!=d){b=1024;var e=0,f=c.be[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==fm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Ke[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function go(a,b){var c=a.C;return c&&null!=b&&b!=c.yg?(c.Qg(b),a.ga.Qg(c.ob,c.ac,c.ih(),!0),!0):!1} -function zn(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Fd>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=fo(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ga=null,null==d&&(d=a.wa);if(!yn(a,d,b))return!1;go(a,c);return!0} -function yn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Rg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){co(a);if(a.ob){if(!bc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Ub(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.W=a.me;a.Db=a.L;a.jd=Im[7][2];b=0;if(c=Im[a.Ga])a.L=c[0],a.W=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>jn(a.A,18)?43:50:a.U=a.Ua);a.bg=a.L*a.W|0;a.Zf=a.bg/ -a.jd|0;a.Ub=a.Zf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Xf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Xf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.W*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.oe=a.pe= -0;a.Ed=a.ra;a.Hd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0>1,a.Ed-=b);0>1,a.Hd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ho(a,!0);tn(a)}return!0}function ao(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function io(a){a.Pa=-1;a.Fa=!1;var b=a.Zf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ho(a,b){b||(a.rb=!1);io(a)} -function eo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.oe,c=c*a.Ka+a.pe,a.ea.fillStyle=h.Pe[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ea.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.kg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ea.fillStyle=h.Pe[d],a.ea.fillRect(b,c+f,a.Ja,g)))} -function tn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Pd&32&&(c=!0));if(c||b){if(b)io(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Rg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.bg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(jo(a,d)&8||d.qf&&d.qf=a.Ga&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ga,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Nd;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);ao(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);nd&&(b.xh=d,d=-d|0);d%b.sh>b.mm&&(c|=1);d%b.vh>b.om&&(c|=9);b.gi=d/b.vh|0;return c}m.Jl=function(a,b){return ko(this,this.pa,a,b)};m.dn=function(a,b,c){var d=this.pa;d.Lg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Il=function(a,b){return lo(this,this.pa,a,b)};m.cn=function(a,b,c){mo(this,this.pa,a,b,c)};m.Kl=function(a,b){return no(this,this.pa,b)};m.en=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;zn(this,!1)}; -m.Ll=function(a,b){return oo(this,this.pa,b)};m.hk=function(a,b,c){this.A.fg=this.A.fg&-4|b&3;x(this,a,b,c,"FEAT")};m.hl=function(a,b){var c=this.A.Pd;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Fk=function(a,b){var c=this.A.Tc[this.A.Pd&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Vg[this.A.Pd&31],c);return c}; -m.gk=function(a,b,c){var d=this.A,e=d.Pd&32;if(d.Ye){d.Ye=!1;var f=d.Pd&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Vg[f]),d.Tc[f]=b,ho(this,!1)}else d.Pd=b,x(this,a,b,c,"ATC.INDX"),d.Ye=!0,b&32&&!e&&xn(this,!0)&&tn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Nd!=a&&(d.Nd=a,ho(this)),d.qf=0}; -m.Vl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.vf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=za().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||$a.aspect);f&&.3<=f&&3.33>=f&&(Ra("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);ob(d,c)}}); -function po(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Wa.call(this,"ParallelPort",a,po,4194304);a=a.binding;"console"==a?this.B="":nb(this,a,qo)}fb(po);var qo="buffer";m=po.prototype;m.Pb=function(a,b,c){switch(b){case qo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Gb(a,"ChipSet");kc(b,this,ro,this.X);oc(b,this,so,this.X);ub(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){to(this)};m.save=function(){var a=new kf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Cf;N(a,0,c);return a.data()};m.restore=function(a){return to(this,a[0])}; -function to(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Cf=b[c];return!0}m.wl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Ul=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.sl=function(a,b){var c=this.Cf;x(this,a,null,b,"CTRL",c);return c}; -m.Qm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+t(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);uo(this)};m.Lm=function(a,b,c){x(this,a,b,c,"CTRL");this.Cf=b;uo(this)}; -function uo(a){a.N&&a.C&&(a.Cf&16&&!(a.Yb&64)?gg(a.N,a.C):fg(a.N,a.C))}var ro={0:po.prototype.wl,1:po.prototype.Ul,2:po.prototype.sl},so={0:po.prototype.Qm,2:po.prototype.Lm};Sa(function(){for(var a=pb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.zd)return;b=na(b[1]);if(this.ia=jb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.fe+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}}; -m.ic=function(a,b){if(!b)if(this.Wi(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){zo(this)};m.save=function(){var a=new kf(this),b=0,c=[];c[b++]=this.wa;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;N(a,0,c);return a.data()};m.restore=function(a){return zo(this,a[0])}; -function zo(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.wa=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}m.eg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.El=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c}; -m.Fl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.Hl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Gl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Ml=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c}; -m.on=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+t(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=ma("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop= -this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};m.$m=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};m.an=function(a,b,c){x(this,a,b,c,"LCR");this.B=b}; -m.bn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.eg([77,77]),y(a,"serial mouse ID sent")),Bo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Co(a),a.Hc=c),a.C=b)}; -var xo={0:vo.prototype.Rl,1:vo.prototype.Dl,2:vo.prototype.El,3:vo.prototype.Fl,4:vo.prototype.Hl,5:vo.prototype.Gl,6:vo.prototype.Ml},yo={0:vo.prototype.on,1:vo.prototype.$m,3:vo.prototype.an,4:vo.prototype.bn};Sa(function(){for(var a=pb(document,"pcx86","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.If(c,d,a.L,a.V)}} -m.ke=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case vn:if(this.aa!=b){this.aa=b;Ho(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Ho(this,c);return}}y(this,c+": ignored")}};m.If=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.W=b,Ho(this,null,c,d))}; -function Ho(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);a.N.eg([e,f,g]);a.U=a.W=0}Sa(function(){for(var a=pb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return $o(a.za,f,e,c);for(e=d=0;c--;)d|=Yo(a,b++,1)<=e.hi&&a<=e.dk){d=a-=e.hi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.hg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=ep(this,b),this.tg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=ya()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!xa(f,null,!0,function(a,b,c){fp(g,a,b,c)})}; -function fp(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.X&&!a.X.la.cc;if(a.tg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,gp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{hb(a.controller.fe,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==$o(a,e,c+0,1)){d.$f=$o(a,e,c+8,4);(e=Zo(a,d.$f))&&(f=!0);break}c+=16}if(!f)return}d.Hf||(d.Hf=$o(a,e,19,2)||$o(a,e,32,4),d.Gf=$o(a,e,14,2),d.mh=d.Gf+$o(a,e,22,2)*$o(a,e,16,1),d.wh=$o(a,e,17,2),d.Ag=$o(a,e,13,1));d.kh=d.mh+((32*d.wh+(d.Va-1))/d.Va|0);d.lm=(d.Hf-d.kh)/d.Ag|0;d.Cg=4084>=d.lm?12:16;d.Vk=12==d.Cg?4086:65526;b=[];for(e=d.mh;e>8;f+=2;if(k)for(;l--;)Yo(d,f,1),254>=k?(n=k,q=Yo(d,f+1),f+=3):(n=Yo(d,f+3,1),q=Yo(d,f+4),f+=6),d.Ad[n]&&(d.Ad[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=ap(e,Vo,c))&&bp(e,g+c);g=ap(e,Wo,c);h=ap(e,To,c);g&&h&&bp(e,g,g+h)}}}} -function jp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Do=d+"\\";for(var k=0;kF)break;for(var v=p.kh+(F-2)*p.Ag,E=0;E>3,1),d?e=16==b.Cg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Zo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function dp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wk=b;a.Xk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function ep(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.gf();c+="&user="+a.controller.le();return ya()+"/api/v1/disk?"+c} -function lp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.le();xa(ya()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;hp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function mp(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.le();h.data=JSON.stringify(f);xa(ya()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.fa=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):gp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Zo(this,a++);)rp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function rp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function sp(a){Wa.call(this,"FDC",a,sp,524288);this.dmaRead=this.zk;this.dmaWrite=this.Ak;this.dmaFormat=this.Ok;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!Ia("Mobi")&&window&&"FileReader"in window}fb(sp);aa={}; -var tp={3:{Wd:3,je:0,name:aa.bo},4:{Wd:2,je:1,name:aa.$n},5:{Wd:9,je:7,name:aa.lo},6:{Wd:9,je:7,name:aa.Vn},7:{Wd:2,je:0,name:aa.Xn},8:{Wd:1,je:2,name:aa.ao},10:{Wd:2,je:7,name:aa.Wn},13:{Wd:6,je:7,name:aa.Hn},15:{Wd:3,je:0,name:aa.Zn}};m=sp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&up(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&vp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ja(qp(a),"octet-stream",!0,a.Pg.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;vp(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Gb(a,"ChipSet");if((this.U=Pc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}wp(this);kc(b,this,xp);oc(b,this,yp);zp(this,"None","",!0);this.ia&&zp(this,"Local Disk","?");zp(this,"Remote Disk","??");Ap(this)||ub(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.fh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e}m.Ii=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1}; -function Ap(a,b){b||(a.ea=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gDp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.nk=c,a.Me=d,Ep(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.Bg=f[0],a.Of=f[1],a.Pf=f[2],this.X&&this.X.yd()):a.af=!1;a.Ae&&(a.Ae=!1,--this.ea||ub(this));up(this,a.hb)}; -function zp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Sm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=tp[a].Wd){b=!1;this.L=0;a=Fp(this);var d,e,f,g,h=a&31;switch(h){case 3:Fp(this);Fp(this);Gp(this);break;case 4:c=Fp(this);this.hb=c&3;d=this.A[this.hb];Gp(this);Hp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Fp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Fp(this);e=Fp(this);f=d.xb=Fp(this);g=Fp(this);d.Ib=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Ip(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Fp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Fp(this);d.Ib=128<>2&1,c=Fp(this),d.Qb+=c-d.he,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.he=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Gp(this),b=!0}0>>8);Hp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Hp(a,e+k);Hp(a,f);Hp(a,g);Hp(a,h)}function Fp(a){var b=a.V[a.L];a.L++;return b}function Gp(a){a.L=a.C=0}function Hp(a,b){a.V[a.C++]=b}m.zk=function(a,b,c){void 0===b||0>b?this.Je(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Ok=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.We++]=c;if(a.We==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<Jp(a,a.zi)){c=-1;break a}a.pg++}a.pg>=a.ie&&(c=-1)}else c=-1;return c};m.Je=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Kp(a)}while(1)}b(c,!1,d,e)}; -function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Kp(a)}while(1);return b}function Kp(a){a.xb++;a.xb>=a.Pf+1&&(a.xb=1,a.kb++,a.kb>=a.Of&&(a.kb=0,a.Qb++))}var xp={1009:sp.prototype.yl,1012:sp.prototype.Al,1013:sp.prototype.xl,1015:sp.prototype.zl},yp={1010:sp.prototype.Tm,1013:sp.prototype.Sm,1015:sp.prototype.Rm}; -Sa(function(){for(var a=pb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.ee,k.kb,k.xb+ -k.og)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Ii=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Up(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Re[2])?e=b.Re[0]<<8|b.Re[1]:c=b.type);null==c||d||(d=Np[a.U][c][1],e=Np[a.U][c][0]);d&&((c=Np[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Io(a,b,b.mode)))}} -m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ee=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1}; -function Sp(a,b){b||(a.ea=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.qn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Vp(this))};m.am=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Je(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.Dk=function(a,b){return Wp(this,a,b)|Wp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.zm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.gl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.Em=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.il=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.Cm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.jl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Dm=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.el=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.ym=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.dl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.xm=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.fl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.Am=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.kl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.wm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&fg(this.N,14);$p(this)};m.Bm=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b}; -function $p(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ee=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Je(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.fa&2||gg(a.N,14,120)} -function Vp(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.ee=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?this.Je(a,c):c(-1,!1)};m.Ck=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Pk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.zi)){c=-1;break a}a.pg++}a.pg>=a.ie&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Al(a.N,3,a,"dmaRead",b);sl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Al(a.N,3,a,"dmaWrite",b);sl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Se&&b.Se.length==b.Ib||(b.Se=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,Al(a.N,3,a,"dmaWriteBuffer",b),sl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -m.Je=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.ee,a.kb,a.xb+a.og,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.ee,a.kb,a.xb+a.og,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.og;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.ee++))}m.bm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Cd&64));return a?!0:!1}; -var Pp={800:Lp.prototype.$l,801:Lp.prototype.am,802:Lp.prototype.Zl},Op={496:Lp.prototype.Dk,497:Lp.prototype.gl,498:Lp.prototype.il,499:Lp.prototype.jl,500:Lp.prototype.el,501:Lp.prototype.dl,502:Lp.prototype.fl,503:Lp.prototype.kl},Rp={800:Lp.prototype.qn,801:Lp.prototype.tn,802:Lp.prototype.sn,803:Lp.prototype.rn,807:Lp.prototype.ii,811:Lp.prototype.ii,815:Lp.prototype.ii},Qp={496:Lp.prototype.zm,497:Lp.prototype.Em,498:Lp.prototype.Cm,499:Lp.prototype.Dm,500:Lp.prototype.ym,501:Lp.prototype.xm, -502:Lp.prototype.Am,503:Lp.prototype.wm,1014:Lp.prototype.Bm};Sa(function(){for(var a=pb(document,"pcx86","hdc"),b=0;b>2;this.Ba=b.zg;this.bc=new fd(this.F,7,"DBG");this.Ga=zq;80186<=this.F.ja&&(this.Ga=zq.slice(),this.Ga[15]=xq,80286<=this.F.ja&&(this.Ga[15]=yq,80386<=this.F.ja&&(this.Ja=8)));Ok(this,64,function(a){Dq(d,d.F.ld,a[0])});Ok(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Ok(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Ok(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Ok(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=Kf(d.F,n,2),2304==c&&(q|=Kf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=Kf(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;ef(this.F,48,this.em.bind(this));ef(this.F,65,this.fm.bind(this)); -this.ka=null;ef(this.F,104,this.gm.bind(this));ub(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;dm(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;dm(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.em=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.fm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&ff(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Td(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.gm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;ff(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=hd(b.va,this.Kk.bind(this)))&& -(b.J=a[0],xd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Kk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;gd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=Kf(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=Kf(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=Kf(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.dc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Hb)>>>f.La].xf(e&f.A,b&255,e)}c&&Uq(this,a,c);d||Tc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):ic(this.ga,d,b),c&&Uq(this,a,c),Tc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||(Tq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.oc=null!=h?h:a.F&&4==a.F.va.Oc;b.Yd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Ea,a.Yd,a.Rb,a.oc,a.Te,a.Xd]}function Xq(a){return{Ra:a[0],Z:a[1],Ea:a[2],Yd:a[3],Rb:a[4],oc:a[5],Te:a[6],Xd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Gk=cr(a,b.mk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Ea=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Ea):b+Iq(a.Ra,a.Z,a.oc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Hc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Yb[c],6==c&&(d=d.Dd,h+=" -> "+Yb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=va(uq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=yd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.li;break;case 34:c=d.ue;break;case 35:c=d.Qd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ha)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.nf=0;c.fb-=c.A;c.A=0;Tc(c)}}; -function mk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Ab[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function qb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.zd+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.jh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Vf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Td(e&f.Fa,a==this.fa);g&&Xb(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Yd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.oc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var W=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.oc&&6==ia||H.oc&&5==ia))bb=2;else{if(H.oc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.oc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==W){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.oc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.oc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Ea&&-1!==b.Ea){do if(g+=r(a.Qa(e,1),2),null==e.Ea)break;while(e.Ea!=b.Ea)}k+=ma(g,e.oc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return uq[b]} -function vr(a,b){var c;switch(b){case "V":c=wf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=vf(a.F);break;case "Z":c=uf(a.F);break;case "A":c=tf(a.F);break;case "P":c=sf(a.F);break;case "C":c=rf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Bd)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Ud)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ja&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ja&&(c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=pa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({hg:b,pm:c,Z:d,Ra:e,Ea:f,hm:g,Sd:h,ti:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Ea;null!=n&&(n>>>=0);var q=h.hm;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1,!0),l++)})})(a,g);Tc(a.F, -!0);a.O(l+" bytes read at "+c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":wd(a.F,h);break;case "ES":xd(a.F,h);break;case "SS":ld(a.F,h);break;case "CS":mf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":zd(a.F,h);break;case "C":h?yf(a.F):zf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Gf(a.F):Ef(a.F);break;case "Z":h?Hf(a.F):Ff(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?Af(a.F):Bf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":If(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;rj.call(a.F,h);break;case "CR2":a.F.ue=h;break;case "CR3":a.F.Qd=h;Bd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Tc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Xd||d||d++;a.O(f);a.aa=b;e-=b.Ea-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Da&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Da=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(vb(a)&&0n||"z">>20;Da.wi=a.F.Qd+Da.ek;Da.yb=ce.sa[(Da.wi&ce.Hb)>>>ce.La];Da.Xi=Da.yb.Od(Da.ek);Da.fk=(Ue&4190208)>>>10;Da.xi=(Da.Xi&-4096)+Da.fk;Da.zb=ce.sa[(Da.xi&ce.Hb)>>>ce.La];Da.Yi=Da.zb.Od(Da.fk);Da.Ik=(Da.Yi&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+dr(be.wi,be.Xi)),pd=pd+(" %%"+dr(be.xi,be.Yi,!0)), -pd=pd+(" %%"+r(be.Ik));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+En||a.Ub,de=+Fn||10;isNaN(Eb)?Eb=de:Gn="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length); -tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==Fn&&(de=1E5,li=["CALL"]);for(void 0!==En&&a.O(Eb+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Eb;Hn++;de--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var mi=P[0];if(mi){var We=Eq(a,mi);if(void 0===We||0>We||255>> -0,65536>4||1;is--&&0ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var vg=1,Mn=255,Nn=a.Qa,On=a.qc;"ew"==g[0]&&(vg=2,Mn=65535,Nn=a.na, -On=a.jb);var Pn=vg<<1,Qn=g[1];if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var wg=Zq(a,Qn);if(wg)for(var xg=2;xgvi;){for(var uc=null,ns=256;Uc.Ra>>>0>>0;){af.Ra=a.tb(Uc,!0);if(null==Uc.Ea||!ns--)break;af.Z=Sn;if(uc=Lr(a,af))break;af.Z=a.tb(Uc);if(uc=Lr(a,af,!0)){Sn=a.tb(Uc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bQr){if(d.load(this.aa)){this.X=new kf(this,"1.24.0","failsafe");this.X.load()&&(Xr(this,d),a=2,Yr(this.X));N(this.X,"timestamp",ra());Zr(this.X);var e=this.A&&!this.V;if(1==a||Aa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Vr(d)){var f=Wr(d,"code"),g=Wr(d,"data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ga("user",""),this.B=null)):this.O(f+": "+g),Yr(d),d.load()?(c=Vr(d),e=!0):c=!1))}e&&Ur(this,c?d:null)}else 2==a&&d.clear()}else Ur(this);delete this.aa;delete this.ea}e=ib(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&($r(this,this.F,b,c,a),Wc(this.F));this.ka&&(Xr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function Xr(a,b){if(Aa("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.le(),d=b.toString(),e={app:"PCx86",ver:"1.24.0"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;xa("http://www.pcjs.org/api/v1/report",e,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new kf(a,"1.24.0"),g=new kf(a,"1.24.0","validate"),h=ra();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.24.0");N(f,"url",window?window.location.href:null);N(f,"browser",za());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=ib(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.bh=0;for(e.Vd=0;h<=f;)g=d.sa[h],e.bh+=g.size,g.size&&(e.Tg.push(ta(Jb,h,0,0,g.type)),e.Vd++),h++;c.A=e;c.ya=c.A.Vd*c.ga.Sb/691200;d=0;c.A.Ci=0;c.A.Bf||(c.A.Bf=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.W>>1)-2,Lb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Lb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Sa(function(){for(var a=pb(document,"pcx86-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");xa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);rs(a,b,c)}})}else c(a,null)} -function ss(a,b,c,d){function e(a){if(void 0===h){var b=g&&pb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--ds||Ua(!0));k=!1}var g,h,k=!0;ds++;gb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcx86/1.24.0/components.xsl");l=function(d,h){h?es(c,null,null,!1,e,function(d,k){if(k)if(hb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--ds||Ua(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ds||Ua(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?es(b,a,d,!0,e,l):fs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}function ts(a,b,c,d){Ua(!1);return ss(a,b,c,d)}window.embedPC=ts;window.embedPCx86=ts;window.enableEvents=Ua;window.sendEvent=Va; -function us(a,b,c,d){if(!c&&b){d.push(b);a=gb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?xa(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} -function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=gb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ja(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.24.1/document.css b/versions/pcx86/1.24.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.24.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.24.1/document.xsl b/versions/pcx86/1.24.1/document.xsl deleted file mode 100644 index 072226936..000000000 --- a/versions/pcx86/1.24.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.24.1/machine.xsl b/versions/pcx86/1.24.1/machine.xsl deleted file mode 100644 index 4f9ffcb72..000000000 --- a/versions/pcx86/1.24.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.24.1/manifest.xsl b/versions/pcx86/1.24.1/manifest.xsl deleted file mode 100644 index 7c7bce1eb..000000000 --- a/versions/pcx86/1.24.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.24.1/outline.xsl b/versions/pcx86/1.24.1/outline.xsl deleted file mode 100644 index dd0a42949..000000000 --- a/versions/pcx86/1.24.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.24.1/pcx86-dbg.js b/versions/pcx86/1.24.1/pcx86-dbg.js deleted file mode 100644 index 26e556a01..000000000 --- a/versions/pcx86/1.24.1/pcx86-dbg.js +++ /dev/null @@ -1,819 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var sa=[31,28,31,30,31,30,31,31,30,31,30,31]; -function ta(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.oh|g<>a.shift}function va(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.zd=this.id:(this.fe=this.id.substr(0,b),this.zd=this.id.substr(b+1));this[a]=c;this.la={bf:!1,bd:!1,dh:!1,cc:!1,ud:!1};this.ug=null;this.la.ud=!1;this.qa={};this.ha=null;this.wc=d||0;Ya.push(this)}var Za=void 0,$a={}; -if(window){Za||(Za=window.location.search.substr(1));for(var ab,cb=/\+/g,db=/([^&=]+)=?([^&]*)/g;ab=db.exec(Za);)$a[decodeURIComponent(ab[1].replace(cb," "))]=decodeURIComponent(ab[2].replace(cb," "))}function eb(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 fb(a,b){b||(b=Wa);a.prototype=eb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var gb=window.PCjs.Machines||(window.PCjs.Machines={}),Ya=window.PCjs.Components||(window.PCjs.Components=[])}else gb={},Ya=[];function hb(a,b,c){gb[a]&&b&&(gb[a][b]=c)}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Fb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Fb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=Cb.prototype;m.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)}; -m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Hb(a,"Keyboard")};m.ic=function(a,b){b||Ib();return!0};m.hc=function(){return!0};m.ke=function(a,b){a.button||(this.ea=b?0:-1,Jb(this,a,b))};m.If=function(a){Jb(this,a)}; -function Jb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Lb(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Mb(a,"Mouse over memory to dump");else for(Mb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].te(k&h.A,k);Mb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Mb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.qd=function(){};function Nb(a,b,c,d){a.A.Bf[a.A.Ci++]={Tk:b,Vd:c,type:d};return ta(Kb,b,c,0,d)}function Lb(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")} -function Mb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Ib(){for(var a=!1,b=pb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Pb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Oe+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Oe){n=k.size-(f-l);n>g&&(n=g);k.Oe=f-k.Ea+n;f=l+a.Sb;g-=n;h++;continue}}return Xb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Pb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Yb(a.F),a.F.la.Fb||a.status(Math.floor(c/1024)+"Kb "+Zb[d]+" at "+r(b)),!0):Xb(a,2,b,c)} -function Ub(a,b){if(32==a.N)b?a.X&&($b(a,1048576,1048576,a.X),a.X=null):a.X||(a.X=ac(a,1048576,1048576),$b(a,1048576,1048576,ac(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function ic(a,b){var c=b&a.A,d=(b&a.Hb)>>>a.La;return c!=a.A?a.sa[d].dg(c,b):a.sa[d++].te(c,b)|a.sa[d&a.ga].te(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Hb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function jc(a,b,c){var d=b&a.A,e=(b&a.Hb)>>>a.La;d!=a.A?a.sa[e].ri(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Hb)>>>this.La;if(c>>=8};m.Ui=function(){return null};function kc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function lc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function mc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&rc(a.ha,b,k)}else a.ha&&(qb(a.ha,a,b,k,e),a.V&&rc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Xb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var sc;if(xb){var xc=new ArrayBuffer(2);(new DataView(xc)).setUint16(0,256,!0);sc=256===(new Uint16Array(xc))[0]}else sc=!1;var ec=sc; -function B(a,b,c,d,e,f){this.id=yc+=2;this.da=null;this.C=0;this.Ea=a;this.Oe=b;this.size=c||0;this.type=d||zc;this.N=d==dc;this.controller=null;this.F=f;Pb(this);this.Wa=this.Pi=!1;if(c)if(e)this.controller=e,a=e.Ti(a),this.da=a[0],this.C=a[1],bc(this,e.ih());else if(xb)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Ya=new Uint8Array(this.X,0,c),this.ge=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),bc(this,ec?fc:gc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,jh:function(a){this.Ea=a},save:function(){var a,b;if(this.controller)a=null;else if(xb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Wc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Fc(this.ha,this.Ea+a)||this.F&&Gc(this.F,b,1,!1);return this.te(a,b)},rb:function(a,b){this.ha&&null!=this.Ea&&Fc(this.ha,this.Ea+a,2)||this.F&&Gc(this.F,b,2,!1);return this.dg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Ea&&Fc(this.ha,this.Ea+a,4)||this.F&&Gc(this.F,b,4,!1);return this.ki(a,b)},bc:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a)||this.F&&Gc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,2)||this.F&&Gc(this.F,c,2,!0);this.N?this.L(a,b,c):this.ri(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,4)||this.F&&Gc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Dd.Od(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Dd.sc(a,b,c)},Id:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Dd.zf(a,b,c)},jd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|= -this.V;this.Dd.yf(a,b,c)},Ka:function(a,b){return Ic(this.F,b,!1).pc(a,b)},zd:function(a,b){return Ic(this.F,b,!1).sf(a,b)},gb:function(a,b){return Ic(this.F,b,!1).Od(a,b)},Uc:function(a,b,c){Ic(this.F,c,!0).sc(a,b,c)},Jd:function(a,b,c){Ic(this.F,c,!0).zf(a,b,c)},kd:function(a,b,c){Ic(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.ge[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.ge[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Od=this.fa;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},Ub:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Dd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.ge[a>>1]=b;this.Wa=!0},Hd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.ge[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Dd.Wa=!0},fe:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.wa;this.Dd.Wa=!0}};function Pb(a,b,c){a.ha=b;a.Ue=a.Ve=0;c&&(c.F&&(a.F=c.F),(a.Ue=c.Ue)&&Cc(a,Dc,!1),(a.Ve=c.Ve)&&Ec(a,Dc,!1))} -function Jc(a,b){b?0===--a.Ve&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.W:a.ri,a.yf=a.N?a.U:a.ua):0===--a.Ue&&(a.pc=a.te,a.sf=a.dg,a.Od=a.ki)}function Ec(a,b,c){c&&a.Ve||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.ri=b[4]||a.W,a.ua=b[5]||a.U}function Cc(a,b,c){c&&a.Ue||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Od=b[2]||a.ea);if(c||void 0===c)a.te=b[0]||a.ia,a.dg=b[1]||a.ka,a.ki=b[2]||a.ea} -function bc(a,b,c){b||(b=5==a.type?Kc:6==a.type?Lc:Mc);Cc(a,b,c);Ec(a,b,c)}var Mc=[],hc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.tc,B.prototype.Ed,B.prototype.Wc],Dc=[B.prototype.Da,B.prototype.rb,B.prototype.Pa,B.prototype.bc,B.prototype.td,B.prototype.Vc],Lc=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Cc,B.prototype.Id,B.prototype.jd],Kc=[B.prototype.Ka,B.prototype.zd,B.prototype.gb,B.prototype.Uc,B.prototype.Jd,B.prototype.kd]; -if(xb)var gc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.Ub,B.prototype.rd,B.prototype.fe],fc=[B.prototype.aa,B.prototype.pa,B.prototype.fa,B.prototype.ra,B.prototype.ya,B.prototype.wa],Nc=[B.prototype.Ga,B.prototype.Db,B.prototype.cb,B.prototype.uc,B.prototype.Hd,B.prototype.Xc]; -function Oc(a,b){Wa.call(this,"CPU",a,Oc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Kd=c;this.Y.Zd=d;this.Y.wg=Math.round(this.Y.Kd/1E4)/100;this.Y.Fe=this.Y.wg*this.Y.Zd;this.la.Fb=!1;this.la.gh=!1;this.la.Mi=a.autoStart;this.la.Qi=!1;this.la.Ze=!1;this.Y.Jf=this.Y.lf=0;this.Y.Kf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.si=this.Le.bind(this);ub(this)}fb(Oc);var Pc=["power","reset"];m=Oc.prototype; -m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=Zc(a)&&(a.Y.kf=a.Y.mf=-1,Tc(a),a.Wb(),c=!0);c&&a.O(Zc(a)+" cycles: checksum="+r(a.Y.Jf))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.cc)a=!0;else{var b=null,c,h=ib(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.wg&&(c=Math.round(c/a.Y.Zd));return c}function Rc(a){a.Y.qe=0;a.uc=a.Ub=a.fb=a.A=0;Tc(a);$c(a,1)} -function $c(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.qe/a.Y.Fe?b=1:d=!0;a.Y.Zd=b;b=a.Y.wg*a.Y.Zd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.yd()}bd(a,a.Ub);a.Ub=0;a.Y.jf=qa();a.Y.Ge=0;cd(a);return d} -m.Le=function(a){if(rb(this,!0)){if(!this.la.Fb){$c(this);this.X&&this.X.start(this.Y.jf,Zc(this));this.la.Fb=!0;this.la.gh=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.qd(!0),a&&this.X.yd(!0))}this.Y.uh>=this.Y.Kd&&cd(this,!0);this.Y.Nf=0;this.Y.xg=qa();this.Y.Ge&&(a=this.Y.xg-this.Y.Ge,a>this.Y.$i&&(this.Y.jf+=a,this.Y.jf>this.Y.xg&&(this.Y.jf=this.Y.xg)));try{do{var c=this.la.Ze?1:this.Y.nm;if(this.N){dd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.Be){var f= -(Zc(d.F,d.ka)-e.xd)/d.gb|0,g=ed(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Zc(k.F,k.ka);0l&&(a=l)}c=a}try{this.wf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Nf+=n;bd(this,0,!0);Yc(this,n);this.Y.Mf-=n;0>=this.Y.Mf&&(this.Y.Mf+=this.Y.bj,this.X&&fd(this.X));this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.aj,this.X&&this.X.qd());this.Y.nf-=n;if(0>=this.Y.nf){this.Y.nf+=this.Y.th; -break}}while(this.la.Fb)}catch(q){this.Wb();Wc(this);this.X&&this.X.stop(qa(),Zc(this));rb(this,!1);wb(this,q.stack||q.message);return}c=setTimeout;d=this.si;this.Y.Ge=qa();e=this.Y.$i;this.Y.Nf&&(e=Math.round(e*this.Y.Nf/this.Y.th));e-=this.Y.Ge-this.Y.xg;if(f=this.Y.Ge-this.Y.jf)this.Y.qe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&dd(this.N,!0),$c(this));if(0>e||this.Y.qethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.jm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.im=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Ud-c|0))return this.C=!0,a=jd(this,c,a),-1!==a&&(a+=this.Yf),a;C.call(b,13,a|2);return-1};m.Fi=function(a){return this.Aa+a|0};m.Hi=function(a){return this.Aa+a|0};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.qg()};m.Lk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.qg()};m.qg=function(){C.call(this.F,13,0);return-1};m.Gi=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.rg()}; -m.Mk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.rg()};m.rg=function(){C.call(this.F,13,0);return-1};function kd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&hd(a,!0)}function ld(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&hd(a,!0)} -function jd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,hd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.df=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Yf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),md(e,D(e),!0),G(e,z),a.df=!0),z=0);else{if(256==h||2304==h)return nd(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.vi=k+e.na(k+100+2)|0,a.Hk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,hd(a,!0,!0,!1));return k} -function nd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,zd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Ad(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Bd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function hd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.vg,a.Zi=a.im,a.mc=a.Ei,a.nc=a.Gi,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.qg,a.nc=a.rg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.qg);if(a.type&2048||!(a.type&512))a.nc=a.rg;1024==(a.type&3072)&&(a.mc==a.Ei&&(a.mc=a.Lk),a.nc==a.Gi&&(a.nc=a.Mk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.nh,a.Zi=a.jm,a.mc=a.Fi,a.nc=a.Hi,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Dd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Oc.call(this,a,b);this.Zf=61442;this.Cc=1792;this.Xf=28672;this.Ed=4;this.ra=255;this.B=80286<=this.ja?zb:yb;this.W=Ed;this.cg=Fd;this.ig=Gd;this.jg=Hd;if(80186<=this.ja&&(this.W=Ed.slice(),this.cg=Fd.slice(),this.ig=Gd.slice(),this.ra=31,this.W[15]=Id,this.W[96]=Jd,this.W[97]=Kd,this.W[98]=Ld,this.W[99]=Id,this.W[100]=Id,this.W[101]= -Id,this.W[102]=Id,this.W[103]=Id,this.W[104]=Md,this.W[105]=Nd,this.W[106]=Od,this.W[107]=Pd,this.W[108]=Qd,this.W[109]=Rd,this.W[110]=Sd,this.W[111]=Td,this.W[192]=Ud,this.W[193]=Yd,this.W[200]=Zd,this.W[201]=$d,this.W[241]=ae,this.cg[7]=ge,this.ig[7]=ge,80286<=this.ja)){this.Zf=2;this.Cc|=28672;this.Ed=0;this.W[15]=he;this.tc=ie.slice();for(a=0;a=this.Uc&&(this.tc[166]=qe,this.tc[167]=re)}}this.Jd=[];this.me=[];this.oe=0;Rc(this);this.la.Xd=this.la.Oi=!1;this.Rg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Hd=this.jd=this.Hb=this.Db=0;se(this)}fb(Dd,Oc);function te(a,b,c,d){Jc((d?a.ld:a.sa)[b>>>a.La],c);d&&Yb(a)} -function ue(a){var b;if(a.sa===a.ld){a.sa=Array(a.Hd);a.ne=new B(null,0,0,5,null,a);Pb(a.ne,a.ha);for(b=0;ba.pe&&(a.bg[a.pe++]=d);a.sa[b]=a.ne}a.Id=[]}function Yb(a){a.Za&-2147483648&&ue(a)} -function Ic(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Qd+e&a.Hb)>>>a.La],g=f.Od(e);if(!(g&1))return d||ve.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||ve.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Od(h);if(!(k&1))return d||ve.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||ve.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;xb&&ec&&c.da&&!c.controller&&!c.Ue&&!c.Ve?(b.Ya=c.Ya,b.ge=c.ge,b.da=c.da,bc(b,Nc)):(b.ga=c?Bc(32):0,b.V=c?Bc(96):0,bc(b,Lc));Pb(b,a.ha,k);a.sa[d]=b;a.Id.push(d);return b}function we(a){a.sa!==a.ld&&(a.sa=a.ld,a.ne=null,a.Id=null,a.kd=null)}m=Dd.prototype;m.reset=function(){this.la.Fb&&this.Wb();se(this);Rc(this);this.la.ud=!1}; -function xe(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ye(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function se(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.kg=0;a.L=0;a.Za=65520;a.Mc=0;a.Ud=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.se=a.U=-1;a.va=new gd(a,1,"CS");a.vb=new gd(a,2,"DS");a.Xa=new gd(a,2,"ES");a.ta=new gd(a,3,"SS");G(a,0);md(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.li=0;a.ue=0;a.Qd=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new gd(a,2,"FS");a.Ob=new gd(a,2,"GS");we(a)}a.rf=new gd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Bd(a,0,65535);else{a.Ec=0;a.Bd=65535;a.Bc=new gd(a,5,"LDT",!0);a.Sa=new gd(a,4,"TSS",!0);a.Da=new gd(a,6,"VER",!0);Bd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.va.Ta>>>0)+1}Ad(a,0);od(a)} -function ze(a){2==a.Oc?(a.dc=a.na,a.Oa=Ae,a.$a=Be,a.Jb=Ce,2==a.ba?(a.V=De,a.ea=Ee,a.ya=Fe):(a.V=Ge,a.ea=He,a.ya=Ie)):(a.dc=a.oa,a.Oa=Le,a.$a=Me,a.Jb=Ne,2==a.ba?(a.V=Oe,a.ea=Pe,a.ya=Qe):(a.V=Re,a.ea=Se,a.ya=Te))}function ud(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,df(a))}function df(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=De,a.ea=Ee,a.ya=Fe):(a.V=Oe,a.ea=Pe,a.ya=Qe)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=Ge,a.ea=He,a.ya=Ie):(a.V=Re,a.ea=Se,a.ya=Te))} -function ef(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;ze(a);a.ba=a.va.ba;a.R=a.va.R;df(a);a.Ia&=-3073}m.Si=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+zd(this)|0};function ff(a,b,c){void 0===a.Jd[b]&&(a.Jd[b]=[]);a.Jd[b].push(c)}function gf(a,b,c){void 0!==c&&(null==a.me[b]&&a.oe++,a.me[b]=c)}function hf(a,b){var c=a.me[b];null!=c&&(c(--a.oe),delete a.me[b])} -function jf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Td(g&a.Fa,f,a):Jc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Gc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function od(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.jg=b&&!c?kf:Hd;hd(a.va,!1,b,c);hd(a.vb,!1,b,c);hd(a.ta,!1,b,c);hd(a.Xa,!1,b,c);80386<=a.ja&&(hd(a.Nb,!1,b,c),hd(a.Ob,!1,b,c));ef(a)} -m.save=function(){var a=new lf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Bd,this.Mc,this.Ud,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.li),g.push(this.ue),g.push(this.Qd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,zd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.kc, -this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Zd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.zg==b.Hb)||Ub(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;ef(a)}function Bd(a,b,c,d){var e=a.va;e.Yf=b;e.C=d;b=e.load(c);return-1!==b?(of(a,b+(a.va.Yf&a.va.R)),a.va.df):null} -function pf(a,b){var c=(a.Ha>>>0)+b;c>a.hf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.hf&a.R):C.call(a,13,0));return c|0}function qf(a){a.Ha=a.se}function I(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function G(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function rf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&sf(a),g&2&&tf(a),g&4&&uf(a),g&8&&vf(a),g&16&&wf(a),g&32&&xf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} -function yf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?zf(a):Af(a);e?Bf(a):Cf(a);return b}function Df(a,b,c,d){c&d?zf(a):Af(a);(b^c)&d?Bf(a):Cf(a)}function Ef(a){return sf(a)?1:0}function sf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function tf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function uf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function vf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function wf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function xf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Af(a){a.resultType&=-2;a.ca&=-2}function Ff(a){a.resultType&=-5;a.ca&=-17}function Gf(a){a.resultType&=-9;a.ca&=-65}function Cf(a){a.resultType&=-33;a.ca&=-2049}function zf(a){a.resultType&=-2;a.ca|=1}function Hf(a){a.resultType&=-5;a.ca|=16}function If(a){a.resultType&=-9;a.ca|=64}function Bf(a){a.resultType&=-33;a.ca|=2048} -function zd(a){return a.ca&-2262|sf(a)|tf(a)|uf(a)|vf(a)|wf(a)|xf(a)}function Jf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&od(a,!0)}function Ad(a,b,c){a.Za&1||(b&=~a.Xf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Zf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Kf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.vi)for(var f=a.Sa.vi+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Rg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function Lf(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Ic(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.te(f,b);if(2==c)return f>>this.La].pc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(c>>=8}}; -function Mf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Mf(a,a.ka,b)}function Nf(a,b){return Mf(a,a.Ka,b)}function Of(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Pf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Qf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Rf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Sf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Tf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function vd(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=pf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Uf(a){var b=pf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=pf(a,a.Oc),c=a.dc(a.Ha);a.Ha=b;return c} -m.Ma=function(){var a=pf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};m.T=function(){var a=pf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function D(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Ng-a.fa|0;0>c&&0<=(a.Ng^a.fa)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function wd(a,b,c,d){c=a.fa-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function J(a,b){var c=a.fa-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ja||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));a.rc(c,b);a.fa=c} -function Vf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Xf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Yf.call(this, -f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Yf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Zf(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;dg(this);eg(this,a[b++]);for(c=0;c=fg&&gg(a,13))}function dg(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=fg?hg(a,13):a.ya&0||Yf.call(a.F,2),!0;a=a.N;a.ja>=fg&&gg(a,13);return!1}function ig(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return dg(a)} -function bg(a){return a.ma|a.B<<11}function jg(a,b){return isFinite(b)?!0:!ig(a,Infinity===b?8:16)}function kg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,jg(a,d)||(d=null));return d}function lg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,jg(a,d)||(d=null));return d}function mg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,jg(a,d)||(d=null));return d}function ng(a,b,c){var d=null;null==b||null==c||!c&&ig(a,2)||(d=b/c,jg(a,d)||(d=null));return d} -function og(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Bg(a,b,c){if(null==b)return null;var d=a.jc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(ig(a,1))return null;d=-c}else if(d<-c){if(ig(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function Cg(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Dg(a){var b=a.B+0&7;return a.C&1<>16}function Ig(a){return a.F.oa(a.F.D)}function Jg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Kg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Lg(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}m.pi=function(){this.F.nb(this.F.D,this.L[0])};m.rk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.tk=$f.prototype.pi;m.sk=$f.prototype.rk;function Mg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])} -function Ng(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.W[0]}function Gg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Og(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Pg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;dg(a);eg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba} -function Tg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,bg(a));c.rc(b+=c.ba,cg(a));if(!(c.Za&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Ug=Math.log(10)/Math.LN2,Vg=Math.LOG2E,Wg=Math.PI,Xg=Math.log(2)/Math.LN10,Yg=Math.LN2,Zg=Math.pow(2,63);function $g(){this.ma&=-32896;dg(this)} -function ah(){og(this,U(this,0),U(this,this.A))}function bh(){og(this,U(this,0),U(this,this.A))&&Qg(this)}function ch(){bh.call(this)}function dh(){V(this,0,ng(this,U(this,0),Jg(this)))}function eh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Rg(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Qg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!ig(this,1))b=Math.sqrt(a),jg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,Bg(this,U(this,0),Zg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Rg(this,a)},6:function(){var a=Bg(this,Qg(this));null!=a&&(this.ga[0]= -Pg(a,8),this.ga[1]=Pg(a/1E8,8),this.ga[2]=Pg(a/1E16,2),0>a&&(this.ga[2]|=32768),Mg(this))},7:function(){null!=Bg(this,U(this,0),Zg)&&(this.rk(),Qg(this))},48:function(){eh.call(this);Qg(this)},49:rh,50:mh,51:mh,52:ph}},th=[$g,fh,gh,hh,ih,jh,nh,kh,oh,ph];Sa(function(){for(var a=pb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.ej;(bd)&&C.call(this,5);this.S|=2;return a}function Ch(a,b){var c=0;if(b){Gf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else If(this);this.A-=11+3*c;return a}function Dh(a,b){var c=0;if(b){Gf(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else If(this);this.A-=11+3*c;return a} -function Eh(a,b){a&1<<(b&(2==this.ba?15:31))?zf(this):Af(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Fh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?zf(this):Af(this);this.A-=-1===this.D?6:8;return a^c}function Gh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?zf(this):Af(this);this.A-=-1===this.D?6:8;return a&~c}function Hh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?zf(this):Af(this);this.A-=-1===this.D?6:8;return a|c} -function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=6;this.S|=2;return a}function Jh(a,b){if(-1===this.D)return Fh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=8;return a^b} -function Kh(a,b){if(-1===this.D)return Gh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=8;return a&~b}function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Of(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?zf(this):Af(this);this.A-=8;return a|b} -function Mh(a,b){rf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a}function Nh(a,b){rf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a} -function Oh(a){if(this.Tb){var b=this.Tb,c=this.kg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=sh[c][f]){if(0>th.indexOf(e)){var f=b.F,g=f.se;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.va.Z;b.V=g-f.va.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Ph(a){if(80186>this.ja)return Qh.call(this,a);C.call(this,13,0);return a}function ge(a){C.call(this,6);return a} -function Qh(a){je.call(this);return a}function Rh(a,b){var c=Sh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Th(a,b){var c;a=this.Ma();c=2==this.ba?Sh.call(this,a,b):Uh.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Vh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Wh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Sh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(zf(this),Bf(this)):(Af(this),Cf(this));this.A-=-1===this.D?9:12;return c&65535}function Uh(a,b){Vh.call(this,a,b);this.wa!=this.ia>>31?(zf(this),Bf(this)):(Af(this),Cf(this));this.A-=-1===this.D?9:12;return this.ia}function Xh(a,b){this.A-=14+(-1===this.D?0:2);Gf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(If(this),a=this.Da.wb&-256,2=this.pa)&&this.Da.Gc>=(b&3))return If(this),this.Da.Ta;Gf(this);return a}function di(a,b){if(-1===this.D)return je.call(this),a;md(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.Oj:this.B.Nj:this.B.Lj;return b}function fi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function gi(a,b){return b} -function hi(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return ei.call(this,0,b)} -function ii(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&ud(this,2);return ei.call(this,0,b)} -function Wh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function ji(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return yf(this,a|b,128)}function Bi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return yf(this,a|b,this.Ga)&this.R} -function Ci(a,b){var c=a-b-Ef(this)|0;rf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Di(a,b){var c=a-b-Ef(this)|0;rf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Ei(){return xf(this)?1:0}function Fi(){return sf(this)?1:0}function Gi(){return sf(this)?0:1}function Hi(){return vf(this)?1:0}function Ii(){return vf(this)?0:1}function Ji(){return sf(this)||vf(this)?1:0} -function Ki(){return sf(this)||vf(this)?0:1}function Li(){return wf(this)?1:0}function Mi(){return wf(this)?0:1}function Ni(){return tf(this)?1:0}function Oi(){return tf(this)?0:1}function Pi(){return!wf(this)!=!xf(this)?1:0}function Qi(){return!wf(this)!=!xf(this)?0:1}function Ri(){return vf(this)||!wf(this)!=!xf(this)?1:0}function Si(){return vf(this)||!wf(this)!=!xf(this)?0:1}function Ti(a,b){return Ui.call(this,a,b,this.xa())}function Vi(a,b){return Wi.call(this,a,b,this.xa())} -function Xi(a,b){return Ui.call(this,a,b,this.I&31)}function Yi(a,b){return Wi.call(this,a,b,this.I&31)}function Zi(a,b){return $i.call(this,a,b,this.xa())}function aj(a,b){return bj.call(this,a,b,this.xa())}function cj(a,b){return $i.call(this,a,b,this.I&31)}function dj(a,b){return bj.call(this,a,b,this.I&31)}function ej(a,b){var c=a-b|0;rf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function fj(a,b){var c=a-b|0;rf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function gj(a,b){yf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Uf:this.B.Uf;this.S|=2;return a}function hj(a,b){yf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Uf:this.B.Uf;this.S|=2;return a}function ij(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function kj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ei}else this.C=this.D,Rf(this,a),this.A-=this.B.di;return b} -function lj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ei}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.di;return b} -function mj(a,b){var c=a^b;yf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function nj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return yf(this,a^b,this.Ga)&this.R}function oj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function pj(a){var b=a-1|0;rf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R} -function qj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=oj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function rj(a){var b=a+1|0;rf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R} -function sj(a){this.Za=a;od(this);this.Za&-2147483648?ue(this):we(this)}function Cd(a){this.Qd=a;Yb(this)}function tj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ui(a,b,c){if(c){16>>16-c)&65535;yf(this,a,32768,d&32768)}return a}function Wi(a,b,c){if(c){var d=a<>>32-c;yf(this,a,-2147483648,d&-2147483648)}return a} -function $i(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;yf(this,a,32768,d&1)}return a}function bj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;yf(this,a,-2147483648,d&1)}return a}function uj(){this.A-=-1===this.D?2:this.B.ak;return 1}function vj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Wh:this.B.Vh)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,nf(this,this.bc)),this.bc=-1),this.se!==this.Ha&&of(this,this.se),-1!=this.sb&&(this.sb!==this.ta.Z&&md(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,se(this),e=d=!1)):of(this,this.se);var f=a,g=b,h=32,k=Lf(this,this.Ha);204!=k||this.Ud||(d=!1);this.ca&131072&&(6==f&&99== -k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Fb,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,Aj.call(this,a,b,c),this.se=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;} -function ve(a,b,c){this.ue=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function Cj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Be(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Rf(this,a);this.A-=this.B.ed;break;case 1:case 2:Rf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this, -a);this.A-=this.B.Jc;break;case 6:Rf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Rf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Rf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ce(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Rf(this,c);this.A-=this.B.ed;break;case 1:case 2:Rf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Rf(this,c);this.A-=this.B.Jc;break;case 6:Rf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Rf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Rf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function De(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Pf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Pf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Ld;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Pf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Pf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Pf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Pf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Pf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Pf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Pf(this,this.P+this.K);this.C=this.D;break;case 3:b=Pf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Pf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Pf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Sf(this,a);this.A-=this.B.ed;break;case 1:case 2:Sf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Sf(this, -a);this.A-=this.B.Jc;break;case 6:Sf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Sf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Pf(this,this.P+this.K);this.C=this.D;break;case 3:c=Pf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Pf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Pf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.ed;break;case 1:case 2:Sf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Jc;break;case 6:Sf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Ge(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Qf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Qf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Ld;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Qf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Qf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Qf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Qf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Qf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Qf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function He(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Qf(this,this.P+this.K);this.C=this.D;break;case 3:b=Qf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Qf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Qf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Qf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Qf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Tf(this,a);this.A-=this.B.ed;break;case 1:case 2:Tf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Tf(this,a);this.A-=this.B.Jc;break;case 6:Tf(this,a);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Tf(this, -a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Tf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ie(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Qf(this,this.P+this.K);this.C=this.D;break;case 3:c=Qf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Qf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Qf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Qf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Qf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Qf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Qf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Tf(this,c);this.A-=this.B.ed;break;case 1:case 2:Tf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Tf(this,c);this.A-=this.B.Jc;break;case 6:Tf(this,c);this.A-=this.B.Ld;break;case 64:case 67:case 128:case 131:Tf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Tf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Tf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Ej.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Ej.call(this,1)+this.T()); -break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Ej.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Ej.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Rf(this,a)}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Ej.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Rf(this,c)}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Ej.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Ej.call(this,1)+this.T()); -break;case 69:c=Pf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Ej.call(this,2)+T(this));break;case 133:c=Pf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Ej.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:b=Pf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:b=Pf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Sf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Ej.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:c=Pf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:c=Pf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Sf(this,c)}} -function Re(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Ej.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Ej.call(this,1)+this.T()); -break;case 69:c=Qf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Ej.call(this,2)+T(this));break;case 133:c=Qf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Se(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Ej.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:b=Qf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:b=Qf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Tf(this,a)}} -function Te(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Ej.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Ej.call(this,1)+this.T());this.C=this.D;break;case 69:c=Qf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Ej.call(this,2)+T(this));this.C=this.D;break;case 133:c=Qf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Tf(this,c)}} -function Ej(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||uf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||uf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?zf(this):Af(this);b?Hf(this):Ff(this);this.A-=this.B.He},function(){this.G=rj.call(this,this.G)},function(){this.I=rj.call(this,this.I)},function(){this.M=rj.call(this,this.M)},function(){this.H=rj.call(this,this.H)},function(){G(this,rj.call(this, -I(this)))},function(){this.P=rj.call(this,this.P)},function(){this.K=rj.call(this,this.K)},function(){this.J=rj.call(this,this.J)},function(){this.G=pj.call(this,this.G)},function(){this.I=pj.call(this,this.I)},function(){this.M=pj.call(this,this.M)},function(){this.H=pj.call(this,this.H)},function(){G(this,pj.call(this,I(this)))},function(){this.P=pj.call(this,this.P)},function(){this.K=pj.call(this,this.K)},function(){this.J=pj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,function(){this.ya.call(this,kk,this.Ma);this.A-=-1===this.C? -1:this.B.Fg},Vj,function(){this.ya.call(this,kk,this.T);this.A-=-1===this.C?1:this.B.Fg},function(){this.$a.call(this,gj)},function(){this.ea.call(this,hj)},function(){this.Oa.call(this,kj)},function(){this.V.call(this,lj)},Xj,Yj,Zj,ak,function(){this.S|=1;this.ea.call(this,ii)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.V.call(this,Zh)},function(){var a;this.V.call(this,hi);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;yd(this,a);break;case 1:a=this.I;this.I=this.aa;nf(this,a);break; -case 2:a=this.M;this.M=this.aa;md(this,a);break;case 3:a=this.H;this.H=this.aa;xd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):yd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):nf(this,a);break;case 6:a=this.K;this.K=this.aa;md(this,a);break;case 7:a=this.J,this.J=this.aa,xd(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=D(this);this.ya.call(this,lk,yj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.gj},function(){zj.call(this,this.Ma(),Uf(this));this.A-=this.B.jj},function(){this.A-=3},function(){var a=zd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;Ad(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?zf(this):Af(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Hf(this):Ff(this);a&64?If(this):Gf(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(zd(this)&213)<<8;this.A-= -this.B.gc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Lh},function(){this.G=this.G&~this.R|vd(this,this.ka,T(this));this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Mh},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Mh},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=vd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah,this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Mf(this,this.ka,this.K),f=Mf(this,this.Xa,this.J);this.C=this.D;Mh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah, -this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Of(this,this.ka,this.K&c),f=Of(this,this.Xa,this.J&c);this.C=this.D;Nh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){yf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){yf(this,this.G&this.Ma(),this.Ga);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&& -(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh, -this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=vd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&255,f=Mf(this,this.Xa,this.J);this.C=this.D;Mh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&this.R,f=Of(this,this.Xa,this.J&c);this.C=this.D;Nh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&vf(this)==(this.Ia&64)&&(qf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},ek,fk,ek,fk,function(){this.V.call(this,$h)},function(){this.V.call(this,Yh)},function(){this.S|= -1;this.Jb.call(this,mk,this.xa)},function(){this.S|=1;this.ya.call(this,mk,this.Ma)},gk,hk,gk,hk,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.Aj;this.rb=-1;Aj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Jd[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.Bj;this.rb=-1;Aj.call(this,4,null,a)}else this.A-=this.B.Cj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.yj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);nd(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);od(this,!0,!0);md(this, -f);G(this,e);yd(this,g);xd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=Bd(this,b,c,!1)&&(Ad(this,d,a),this.oe&&hf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,bk,uj)},function(){this.ya.call(this,2==this.ba?ck:dk,uj)},function(){this.Jb.call(this,bk,vj)},function(){this.ya.call(this,2==this.ba?ck:dk,vj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;yf(this,this.G,128);this.A-=this.B.dj}else Dj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;rf(this,a,b,c,191);this.A-=this.B.cj},function(){this.G=this.G&-256|(sf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Mf(this,this.ka,this.H+(this.G&255));this.A-=this.B.bk},function(){ik.call(this,216)},function(){ik.call(this,217)},function(){ik.call(this,218)},function(){ik.call(this,219)},function(){ik.call(this,220)},function(){ik.call(this,221)},function(){ik.call(this,222)},function(){ik.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!vf(this)?(O(this,K(this)+a),this.A-=this.B.Jj):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&vf(this)?(O(this,K(this)+a),this.A-=this.B.Jh):this.A-=this.B.Kh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Ij):this.A-=this.B.Ih},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Kh:(O(this,K(this)+a),this.A-=this.B.Jh)},function(){var a=this.xa(); -Kf(this,a,1,!0)&&(this.G=this.G&-256|mc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Dh)},function(){var a=this.xa();Kf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|mc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Dh)},function(){var a=this.xa();Kf(this,a,1,!1)&&(qc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.xa();Kf(this,a,this.ba,!1)&&(qc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.hj},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Eh},function(){Bd(this,this.Ma(),Uf(this));this.A-=this.B.Ej},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Eh},function(){var a=this.M&65535;Kf(this,a,1,!0)&&(this.G=this.G&-256|mc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Ch)},function(){var a=this.M&65535;Kf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|mc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Ch)},function(){var a=this.M&65535;Kf(this,a,1,!1)&& -(qc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Qh)},function(){var a=this.M&65535;Kf(this,a,2,!1)&&(qc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Qh)},jk,jk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(qf(this),this.ha.Wb()):this.ca&512||(this.ha&&qf(this),this.Wb()))},function(){sf(this)?Af(this):zf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -ok,xj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,pk,xj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){Af(this);this.A-=2},function(){zf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.fj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Fd,xj)},function(){this.ya.call(this,Gd,xj)}],Wj=[wh,ji,uh,Ci,yh,ej,mj,Mh],kk=[xh,Bi,vh,Di,zh,fj,nj,Nh],lk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Uj;return b},Ph,Ph,Ph,Ph,Ph,Ph,Ph],mk=[function(a,b){this.A-=-1===this.C?this.B.Mj:this.B.Kj;return b},Qh,Qh,Qh,Qh,Qh,Qh,Qh],bk=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Df(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Df(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Ef(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Df(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,yf(this,a,128,c&1,a&128));return a},Qh, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,yf(this,a,128,c&1));return a}],ck=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Df(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Df(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Ef(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Df(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,yf(this,a,32768,c&1,a&32768));return a},Qh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,yf(this,a,32768,c&1));return a}],dk=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Df(this,c,a<>>d|e;Df(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Ef(this),c=a<>>32-d>>>1,Df(this,c,a<>>d|c<<32-d|a<<32-d<<1,Df(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,yf(this,a,-2147483648,c&1,a&-2147483648));return a},Qh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,yf(this,a,-2147483648,c&1));return a}],ok=[function(a,b){b=this.xa();yf(this,a&b,128);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Qh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^255},function(a){var b=-a|0;rf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(!a)return Dj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Dj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],pk=[function(a,b){b=this.Ma();yf(this,a&b,this.Ga);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Qh,function(a){this.A-=-1===this.D?this.B.Tf:this.B.Sf;return a^this.R},function(a){var b=-a|0;rf(this,0,a,b,this.Ga| -63,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Wh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.Sj:this.B.Rj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Vh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(zf(this),Bf(this)):(Af(this),Cf(this));this.cb=!0;this.A-=-1===this.D?this.B.xj:this.B.wj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Dj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Dj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!qj.call(this,this.G,this.M,a))return Dj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Dj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Dj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!qj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Dj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a}],Fd=[function(a){var b= -a+1|0;rf(this,a,1,b,190);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},function(a){var b=a-1|0;rf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},Qh,Qh,Qh,Qh,Qh,Qh],Gd=[function(a){var b=a+1|0;rf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){var b=a-1|0;rf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.lj:this.B.kj;this.S|= -2;return a},function(a){if(-1===this.D)return Qh.call(this,a);this.U=this.fa;zj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.ij;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Gj:this.B.Fj;this.S|=2;return a},function(a){if(-1===this.D)return Qh.call(this,a);Bd(this,a,this.na(this.D+this.ba));this.A-=this.B.Dj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Wj;this.S|=2;return a}, -Qh];function qe(){this.V.call(this,jj);this.A-=-1===this.D?6:13}function re(){this.ea.call(this,ij);this.A-=-1===this.D?12:19}var ie=Array(256);ie[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.jg,xj)};ie[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,qk,xj)};ie[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,Xh)};ie[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,ci)}; -ie[5]=function(){this.pa?C.call(this,13,0,0,!0):(Jf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),ld(this.Xa,2102,this.na(2084)),ld(this.va,2108,this.na(2082)),ld(this.ta,2114,this.na(2080)),ld(this.vb,2120,this.na(2078)),Ad(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Bd=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Ud=this.Mc+this.na(2142),ld(this.Bc,2132,this.na(2076)),ld(this.Sa,2144,this.na(2070)),this.A-=195)};ie[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ie[11]=Id;ie[166]=Id;ie[255]=Id;var M=[];M[5]=Id; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){sj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Ad(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Bd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Ud=this.Mc+this.oa(a+104);kd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));kd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);kd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));kd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));kd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));kd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));kd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));kd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Xj;M[17]=Yj;M[18]=Zj;M[19]=ak;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.ue;break;case 3:a=this.Qd;break;default:je.call(this);return}ye(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?je.call(this):(ye(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=xe(this,a&7);switch((a&56)>>3){case 0:sj.call(this,b);this.A-=10;break;case 2:this.ue=b;this.A-=4;break;case 3:Cd.call(this,b);this.A-=5;break;default:je.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?je.call(this):(a=xe(this,a&7),a!=this.Ja[b]&&(jf(this,!1),this.Ja[b]=a,jf(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?je.call(this):(ye(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?je.call(this):(this.Ce[b]=xe(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();xf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();sf(this)||vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();sf(this)||vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();wf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!wf(this)!=!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!wf(this)==!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();vf(this)||!wf(this)!=!xf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();vf(this)||!wf(this)!=!xf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){tj.call(this,Ei)}; -M[145]=function(){tj.call(this,Ei)};M[146]=function(){tj.call(this,Fi)};M[147]=function(){tj.call(this,Gi)};M[148]=function(){tj.call(this,Hi)};M[149]=function(){tj.call(this,Ii)};M[150]=function(){tj.call(this,Ji)};M[151]=function(){tj.call(this,Ki)};M[152]=function(){tj.call(this,Li)};M[153]=function(){tj.call(this,Mi)};M[154]=function(){tj.call(this,Ni)};M[155]=function(){tj.call(this,Oi)};M[156]=function(){tj.call(this,Pi)};M[157]=function(){tj.call(this,Qi)};M[158]=function(){tj.call(this,Ri)}; -M[159]=function(){tj.call(this,Si)};M[160]=function(){wd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.fa;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.ea.call(this,Ih);-1!==this.D&&(this.A-=6)};M[164]=function(){this.ea.call(this,2==this.ba?Ti:Vi);this.A-=-1===this.D?3:7};M[165]=function(){this.ea.call(this,2==this.ba?Xi:Yi);this.A-=-1===this.D?3:7};M[168]=function(){wd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie}; -M[169]=function(){this.U=this.fa;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.ea.call(this,Lh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.ea.call(this,2==this.ba?Zi:aj);this.A-=-1===this.D?3:7};M[173]=function(){this.ea.call(this,2==this.ba?cj:dj);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.ba?Sh:Uh)};M[178]=function(){this.V.call(this,di)};M[179]=function(){this.ea.call(this,Kh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.V.call(this,ai)};M[181]=function(){this.V.call(this,bi)}; -M[182]=function(){this.Oa.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){ud(this,2);this.V.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,rk,this.xa)};M[187]=function(){this.ea.call(this,Jh);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.V.call(this,Ch)};M[189]=function(){this.V.call(this,Dh)}; -M[190]=function(){this.Oa.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){ud(this,2);this.V.call(this,gi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var kf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return If(this), -a;Gf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return If(this),a;Gf(this);return a},Qh,Qh],Hd=[ge,ge,ge,ge,ge,ge,Qh,Qh],qk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Bd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Ud-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Bd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ud=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Qh,function(a){this.ca& -131072?C.call(this,6):(Jf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Qh],rk=[Qh,Qh,Qh,Qh,Eh,Hh,Gh,Fh]; -function sk(a){Wa.call(this,"ChipSet",a,sk,32768);var b=a.model;b&&!tk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=tk[b]||uk;this.C=[];b=vk(a[wk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),xk(this,yk,this.ia.length),xk(this,zk,a.monitor||(this.ja=fg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);ub(this)}fb(sk);var uk=5150.9,fg=5170,tk={5150:5150,5160:5160,5170:fg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:uk,deskpro386:5180},wk="sw1",Ak="sw2",Bk={Ek:1,ONE:0,ho:64,eo:128,In:192,Lc:192,Sg:6},Ck={fo:16,Bn:32,Qn:48,Lc:48,Sg:4},yk=1,zk=4,Dk={5150:[{},{}]};Dk[5150][0][yk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Rd:"Number of Floppy Drives"};Dk[5150][0][3]={Lc:2,hd:{0:0,1:2},Rd:"Coprocessor"}; -Dk[5150][0][zk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Rd:"Monitor Type"};Dk[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Rd:"Base Memory (16Kb Increments)"};Dk[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Rd:"Expansion Memory (32Kb Increments)"};Dk[5160]=[{},{}];Dk[5160][0][yk]=Dk[5150][0][yk];Dk[5160][0][3]=Dk[5150][0][3];Dk[5160][0][zk]=Dk[5150][0][zk]; -Dk[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Rd:"Base Memory (64Kb Increments)"};Dk[5160][1][6]=Dk[5150][1][6];Dk[5160.101]=[{},{}];Dk[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Rd:"Base Memory (128Kb Increments)"};Dk[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Rd:"Coprocessor"};Dk[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Rd:"Floppy Type"};Dk[5160.101][1][yk]=Dk[5150][0][yk];Dk[5160.101][1][zk]=Dk[5150][0][zk];m=sk.prototype; -m.Pb=function(a,b,c){switch(b){case wk:return this.qa[b]=c,Ek(this,0,b),!0;case Ak:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Ek(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Hb(a,"FPU");xk(this,3,this.Tb?1:0,!0);this.B=Hb(a,"Keyboard");this.gb=c.Y.Kd/1193181;lc(b,this,Fk);pc(b,this,Gk);this.jab;b++){var c=13>=b?Rk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}ff(c,26,this.dm.bind(this))}; -m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Sk(this);this.L=Array(this.cb);for(b=0;b=fg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Wk(this)&&(this.fa|=16);3==+Xk(this,zk,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Yk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Xk(this,zk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new lf(this);N(a,0,[this.C]);for(var b=[],c=0;c=fg&&(N(a,5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Sk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;il(a,b,c,!0)}function jl(a,b,c){if(b=(a=Dk[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function pl(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function ql(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function rl(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function tl(a,b,c){b=a.L[b>>2].Dc[b&3];b.sg&&b.hh&&b.Hg?(c&&(b.done=c),b.Ee||Cl(a,b,!0)):c&&c(!0)} -function Cl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Ri=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.ng<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.hh.call(b.sg,b.Hg,-1,function(f,g){0>f&&(b.Ri||(b.Ri=!0),f=255);b.Ee||a.ga.qc(c,f);(d=g)&&setTimeout(function(){Dl(b)||Cl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.hh.call(b.sg,b.Hg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!Dl(b););} -function Dl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.of=c||0,Gl(a))}function gg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Gl(a))}function Gl(a,b){var c,d=-1;1>=1),ad(a.F,e))),0==b&&2==c&&bl(a))}function Nl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Ol(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Pl(a,e+c);else{e=e+c;var h=a.V[e];h.gg=d;h.mode=g;h.ah=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.$e=!1;h.Be=!1;h.ef=!1;Kl(a,e);0==b&&0==c&&gg(a,0);0==b&&2==c&&255==a.vc[0].Cd&& -77==a.W&&(b=a.V[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Zc(a.F,a.ka))}}}function Ml(a,b){var c=a.V[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function ed(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Pl(a,b){Qk(a,b);var c=a.V[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.$e=!0;Kl(a,b)}function Kl(a,b){var c=a.V[b];c.Gd=32==c.gg?1:0;c.nd=48==c.gg?2:1} -function Qk(a,b,c){var d=a.V[b];if(d.Be&&(2!=b||a.W&1)){var e=Zc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Ml(a,b),h=ed(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||hg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&hg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&hg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} -function dd(a,b){for(var c=0;c=fg){var c=a.F.Y.Kd,d=Zc(a.F,a.ka);null==a.fb&&(a.Ga=Zc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Kd/a.Jb),al(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,hg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,hg(a,8)));var e=d-a.Ga,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=sa[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,hg(a,8))}a.Ga=d-e%c}}m=sk.prototype;m.Nl=function(a,b){var c=this.$a;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Ql(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.gn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ol=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -m.hn=function(a,b,c){x(this,a,b,c,"PPI_B");Rl(this,b)};function Rl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Sl(a.B,!(b&128),!!(b&64));c!=d&&bl(a,c)}m.Pl=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Qk(this,2).vd&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.jn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Ql=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Zk=function(a,b){var c=this.B?Ql(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.sm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Yk=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};m.rm=function(a,b,c){x(this,a,b,c,"8041_CTRL");Rl(this,b)};m.$k=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.al=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Tl(this.B);return c}; -m.um=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Ul(this,b);break;case 209:Vl(this,b);break;default:if(Ul(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.V||c){case 255:d=250;Wl(a);break;case 243:a.V&&(c=0);Xl(a,250);a.V=c;break;case 237:a.V&&(c=0);Xl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Yl(this,d)}}this.ea=b;this.N&=-9}; -m.bl=function(a,b){var c=this.W&-209|(Zc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.vm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Rl(this,b)};m.cl=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.tm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Yl(this,this.aa);break;case 173:Ul(this,this.aa|16);break;case 174:Ul(this,this.aa&-17);this.B&&Tl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Ul(this,this.aa|16);Yl(this,85);Vl(this,3);break;case 171:Yl(this,0);break;case 192:Yl(this,this.fa);break;case 208:Yl(this,this.Ka);break;case 224:Yl(this,this.aa&16?0: -1);break;case 240:a&1&&se(this.F)}};function Ul(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Sl(a.B,!!(b&8),!(b&16))}function Yl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Vl(a,b){a.Ka=b;Ub(a.ga,!!(b&2));b&1||se(a.F)}function Zl(a,b){a.ja=c?Rk(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&gg(this,8),d&64&&this.A[11]&64&&al(this));return d}; -m.Km=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&al(this)};m.ik=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Um=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Vm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&ag(this.Tb)}; -m.dm=function(a){if(A(this,16)&&nk(this.ha,26,a)){var b=this.F.G>>8;gf(this.F,a,function(a,d){return function(e){d=Zc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(sf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Zc(this.F)))}return!0}; -function bl(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Fb;var c=Math.round(1193181/Ml(a,2));if(20>c||2E4>>4,0,this.X,this.C,this.Sd),delete this.Sd);return!0};bm.prototype.hc=function(){return!0}; -function cm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{hb(a.fe,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Sd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;$k(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new lf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function im(a){this.N=a;this.C=km;this.ha=lm;this.B=mm;this.A=null}var jm=-2134900736,km=65535,lm=2575,mm=2,nm=[null,0],om=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=im.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ga;if(b&1)this.A&&($b(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=ac(c,917504,131072));var d=ac(c,16646144,131072);$b(c,917504,131072,d,b&2?1:dc)}this.C=this.C&-256|b}};m.Ti=function(){return nm};m.ih=function(){return om}; -Sa(function(){for(var a=pb(document,"pcx86","ram"),b=0;b":62,"?":63,"@":64,yn:65,zn:66,An:67,Fn:68,E:69,Gn:70,Jn:71,Kn:72,Ln:73,Mn:74,Nn:75,On:76,Pn:77,Rn:78,Sn:79,Tn:80,Q:81,Un:82,Yn:83,co:84,io:85,jo:86,ko:87,mo:88,no:89,oo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,po:97,qo:98,so:99,d:100,e:101,to:102,uo:103,vo:104, -wo:105,xo:106,k:107,yo:108,zo:109,n:110,Bo:111,p:112,q:113,r:114,Co:115,t:116,Eo:117,Fo:118,Go:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},sm={};sm[186]=X[";"];sm[187]=X["="];sm[188]=X[","];sm[189]=X["-"];sm[190]=X["."];sm[191]=X["/"];sm[192]=X["`"];sm[219]=X["["];sm[220]=X["\\"];sm[221]=X["]"];sm[222]=X["'"];sm[173]=X["-"];var tm={};tm[X["1"]]=X["!"];tm[X["2"]]=X["@"];tm[X["3"]]=X["#"];tm[X["4"]]=X.$;tm[X["5"]]=X["%"];tm[X["6"]]=X["^"];tm[X["7"]]=X["&"];tm[X["8"]]=X["*"];tm[X["9"]]=X["("]; -tm[X["0"]]=X[")"];tm[186]=X[":"];tm[187]=X["+"];tm[188]=X["<"];tm[189]=X._;tm[190]=X[">"];tm[191]=X["?"];tm[192]=X["~"];tm[219]=X["{"];tm[220]=X["|"];tm[221]=X["}"];tm[222]=X['"'];tm[173]=X._;tm[61]=X["+"];tm[59]=X[":"]; -var um={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},vm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},wm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},xm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=pm.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.X&&e.X.yd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.yd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.yd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in tm)if(b==tm[d]){b=+d;(d=sm[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet")}; -function qm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=rm.indexOf(a.ja),0>c&&(c=0));if(b=rm[c])a.ra=parseInt(b.substr(2),10)}function Wl(a){y(a,"keyboard reset",65792);a.A=[];Xl(a,170)}function Sl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&$l(a,!0);a.W&&a.ea&&(Wl(a),a.ea=!1)}function Xl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Zl(a.N,b))} -function Tl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Zl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Ql(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function $l(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in xm)d="led-"+g,e=xm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function zm(a,b,c){if(Y[b]&&a.F&&a.F.la.Fb){um[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Ne=b,d.xc=a.xc,Dm(a,b,!0),e++),0b.Md){if(!b.Ff){Bm(a,b.Ne);return}b.Ff=!1;c=a.ua}else c=1==b.Md++?500:100;b.uk=setTimeout(function(a){return function(){Fm(a,b)}}(a),c)}} -function Hm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=tm[b])d=a}else if(a=sm[b])d=a;return d}m.Ig=function(a){a||(this.xc&=-256)}; -function ym(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hm(a,g,!0);a.eh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Am(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Zl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=pb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Fd=d||e[4];65536<=this.Fd&&720896<=this.ob&&(this.ac=Math.min(this.Fd>>2,32768));this.Hc=c[0];this.gd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Lg=c[4]>>8&255;this.mb=c[5];this.ph=Zm;this.mg=an;if(5<=b){this.ph=$m;this.mg=bn;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Fd],Array(this.Fd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ye=b[0];this.Pd=b[1];this.Tc=b[2];this.Vg=cn;this.Og=b[3];this.vf=b[4];this.fg=b[5];this.de=b[6];this.Ke=b[7];this.Xg=dn;this.kk=b[8];this.lk=b[9];this.ce=b[10];this.be=b[11];this.Wg=en;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Fd>>2;if((this.sd=b[14])&&this.sd.length>this.controller.fi&255};gn[17408]=function(a){return(this.controller.Gb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};gn[5120]=function(a){a+=this.C;var b=this.controller.Gb=this.da[a&-2];return(a&1?b>>8:b)&255};gn[1280]=function(a){a+=this.C;a=this.controller.Gb=this.da[a];for(var b=this.controller.rh,c=this.controller.qh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -gn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -gn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -gn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d&=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -gn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d|=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -gn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.ae|this.controller.re;d^=this.controller.Gb;d=d&this.controller.Mb|this.controller.Gb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Vf&d|this.controller.Gb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Lg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ye;c[1]=a.Pd;c[2]=a.Tc;c[3]=a.Og;c[4]=a.vf;c[5]=a.fg;c[6]=a.de;c[7]=a.Ke;c[8]=a.kk;c[9]=a.lk;c[10]=a.ce;c[11]=a.be;c[12]=a.Gb;c[13]=[a.ob,a.ac,a.Fd];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.mg),5<=b.Ua&&(jn(b," GRC",b.ce,b.be,b.Wg),jn(b," SEQ",b.de,b.Ke,b.Xg),jn(b," ATC",b.Pd,b.Tc,b.Vg),jn(b," ATCINDX", -b.Pd),b.ha.O(" ATCDATA: "+b.Ye),jn(b," FEAT",b.fg),jn(b," MISC",b.vf),jn(b," STATUS0",b.Og)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.gd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.yg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Hb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Xe();a=!0}this.X&&this.X.focus()}return a}; -function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.eh=b)}m.De=function(a){var b=!1;this.X&&(a?this.X.De&&(this.X.De(),this.V&&this.V.Wf(!0),b=!0):this.X.vk&&(this.X.vk(),this.V&&this.V.Wf(!1),b=!0),this.X&&this.X.focus());return b};m.Wf=function(a){this.V&&(this.V.Wf(a),this.B&&(this.B.eh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.xk)}; -function tn(a,b){var c=a.X;c&&!a.ne&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ne=b,a.uc=a.Cc=a.jg=-1,a.Jd=!1,a.Xc=null,a.Id=!1,a.xn=function(){a.Id=!0;a.V.ke(wn,!0)})}m.Ig=function(a){this.B&&this.B.Ig(a)}; -function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ne)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Jd;f=b.timeStamp-a.jg;!0===c?(a.Jd=500f){a.V.ke(wn,!0);a.V.ke(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.If(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Xk(this.N,zk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case gm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Fd),xn(this));yn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;zn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);jc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new lf(this);N(a,0,hn(this.rd));N(a,1,hn(this.Wc));N(a,2,[this.ya,this.wa,this.Ga]);N(a,3,hn(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ga=b[2];this.C=null;this.pa=this.rd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Fd);this.A.Hc&&xn(this);yn(this);if(!An(this))return!1;Bn(this);return!0}; -function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{hb(a.fe,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)fm(a,f,[6144,0]);else if(2048==f.length)fm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&ub(a)}} -function Cn(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Um;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function fm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function yn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=Cn(a);null!=a.Jb[0]&&$n(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&($n(a,1,a.Jb[1],d,e,14,a.Uc,Pm,Qm)&&(c=!0),a.Tb&&$n(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function $n(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(ao(a,b,c,d,e,f,g,h,k)&&(l=!0),a.wn&&ao(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function ao(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<W||!H?W:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=W-2,Sc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;bo(wa,Je,Xd,Ke);v&&bo(wa,Je+1,Xd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.ui[F]=z;l.Ug[F]=ia;l=!0}}a.Oa[b]=q;return l}function co(a){0a.cb&&(a.cb=0):a.cb=-1} -function Bn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)eo(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(eo(a),a.ua=c);d=d-b+1;if(a.kg!=b||a.Ce!=d)a.kg=b,a.Ce=d;a.$a=e+1;co(a)}}} -function eo(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&fo(a,c,d,b,a.gb),fo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function go(a){var b,c=a.C;a.hf=!1;var d=c.be[5];if(null!=d){b=1024;var e=0,f=c.be[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==gm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Ke[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function ho(a,b){var c=a.C;return c&&null!=b&&b!=c.yg?(c.Qg(b),a.ga.Qg(c.ob,c.ac,c.ih(),!0),!0):!1} -function An(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Fd>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=go(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ga=null,null==d&&(d=a.wa);if(!zn(a,d,b))return!1;ho(a,c);return!0} -function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Rg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!cc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Vb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.W=a.me;a.Db=a.L;a.jd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.bg=a.L*a.W|0;a.Zf=a.bg/ -a.jd|0;a.Ub=a.Zf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Xf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Xf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.W*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.oe=a.pe= -0;a.Ed=a.ra;a.Hd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0>1,a.Ed-=b);0>1,a.Hd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}io(a,!0);un(a)}return!0}function bo(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function jo(a){a.Pa=-1;a.Fa=!1;var b=a.Zf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function io(a,b){b||(a.rb=!1);jo(a)} -function fo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.oe,c=c*a.Ka+a.pe,a.ea.fillStyle=h.Pe[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ea.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.kg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ea.fillStyle=h.Pe[d],a.ea.fillRect(b,c+f,a.Ja,g)))} -function un(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Pd&32&&(c=!0));if(c||b){if(b)jo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Rg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.bg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(ko(a,d)&8||d.qf&&d.qf=a.Ga&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ga,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Nd;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);bo(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.td)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);nd&&(b.xh=d,d=-d|0);d%b.sh>b.mm&&(c|=1);d%b.vh>b.om&&(c|=9);b.gi=d/b.vh|0;return c}m.Jl=function(a,b){return lo(this,this.pa,a,b)};m.dn=function(a,b,c){var d=this.pa;d.Lg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Il=function(a,b){return mo(this,this.pa,a,b)};m.cn=function(a,b,c){no(this,this.pa,a,b,c)};m.Kl=function(a,b){return oo(this,this.pa,b)};m.en=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;An(this,!1)}; -m.Ll=function(a,b){return po(this,this.pa,b)};m.hk=function(a,b,c){this.A.fg=this.A.fg&-4|b&3;x(this,a,b,c,"FEAT")};m.hl=function(a,b){var c=this.A.Pd;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Fk=function(a,b){var c=this.A.Tc[this.A.Pd&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Vg[this.A.Pd&31],c);return c}; -m.gk=function(a,b,c){var d=this.A,e=d.Pd&32;if(d.Ye){d.Ye=!1;var f=d.Pd&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Vg[f]),d.Tc[f]=b,io(this,!1)}else d.Pd=b,x(this,a,b,c,"ATC.INDX"),d.Ye=!0,b&32&&!e&&yn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Nd!=a&&(d.Nd=a,io(this)),d.qf=0}; -m.Vl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.vf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=za().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||$a.aspect);f&&.3<=f&&3.33>=f&&(Ra("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);ob(d,c)}}); -function qo(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Wa.call(this,"ParallelPort",a,qo,4194304);a=a.binding;"console"==a?this.B="":nb(this,a,ro)}fb(qo);var ro="buffer";m=qo.prototype;m.Pb=function(a,b,c){switch(b){case ro:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet");lc(b,this,so,this.X);pc(b,this,to,this.X);ub(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){uo(this)};m.save=function(){var a=new lf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Cf;N(a,0,c);return a.data()};m.restore=function(a){return uo(this,a[0])}; -function uo(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Cf=b[c];return!0}m.wl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Ul=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.sl=function(a,b){var c=this.Cf;x(this,a,null,b,"CTRL",c);return c}; -m.Qm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+t(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);vo(this)};m.Lm=function(a,b,c){x(this,a,b,c,"CTRL");this.Cf=b;vo(this)}; -function vo(a){a.N&&a.C&&(a.Cf&16&&!(a.Yb&64)?hg(a.N,a.C):gg(a.N,a.C))}var so={0:qo.prototype.wl,1:qo.prototype.Ul,2:qo.prototype.sl},to={0:qo.prototype.Qm,2:qo.prototype.Lm};Sa(function(){for(var a=pb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.zd)return;b=na(b[1]);if(this.ia=jb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.fe+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}}; -m.ic=function(a,b){if(!b)if(this.Wi(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){Ao(this)};m.save=function(){var a=new lf(this),b=0,c=[];c[b++]=this.wa;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;N(a,0,c);return a.data()};m.restore=function(a){return Ao(this,a[0])}; -function Ao(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.wa=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}m.eg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.El=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c}; -m.Fl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.Hl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Gl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Ml=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c}; -m.on=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+t(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=ma("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop= -this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};m.$m=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};m.an=function(a,b,c){x(this,a,b,c,"LCR");this.B=b}; -m.bn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.eg([77,77]),y(a,"serial mouse ID sent")),Co(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Do(a),a.Hc=c),a.C=b)}; -var yo={0:wo.prototype.Rl,1:wo.prototype.Dl,2:wo.prototype.El,3:wo.prototype.Fl,4:wo.prototype.Hl,5:wo.prototype.Gl,6:wo.prototype.Ml},zo={0:wo.prototype.on,1:wo.prototype.$m,3:wo.prototype.an,4:wo.prototype.bn};Sa(function(){for(var a=pb(document,"pcx86","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.If(c,d,a.L,a.V)}} -m.ke=function(a,b){if(this.Hc&&this.F&&this.F.la.Fb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Io(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Io(this,c);return}}y(this,c+": ignored")}};m.If=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Fb&&(a||b)&&(this.U=a,this.W=b,Io(this,null,c,d))}; -function Io(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);a.N.eg([e,f,g]);a.U=a.W=0}Sa(function(){for(var a=pb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return ap(a.za,f,e,c);for(e=d=0;c--;)d|=Zo(a,b++,1)<=e.hi&&a<=e.dk){d=a-=e.hi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.hg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=fp(this,b),this.tg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=ya()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!xa(f,null,!0,function(a,b,c){gp(g,a,b,c)})}; -function gp(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.X&&!a.X.la.cc;if(a.tg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,hp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{hb(a.controller.fe,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==ap(a,e,c+0,1)){d.$f=ap(a,e,c+8,4);(e=$o(a,d.$f))&&(f=!0);break}c+=16}if(!f)return}d.Hf||(d.Hf=ap(a,e,19,2)||ap(a,e,32,4),d.Gf=ap(a,e,14,2),d.mh=d.Gf+ap(a,e,22,2)*ap(a,e,16,1),d.wh=ap(a,e,17,2),d.Ag=ap(a,e,13,1));d.kh=d.mh+((32*d.wh+(d.Va-1))/d.Va|0);d.lm=(d.Hf-d.kh)/d.Ag|0;d.Cg=4084>=d.lm?12:16;d.Vk=12==d.Cg?4086:65526;b=[];for(e=d.mh;e>8;f+=2;if(k)for(;l--;)Zo(d,f,1),254>=k?(n=k,q=Zo(d,f+1),f+=3):(n=Zo(d,f+3,1),q=Zo(d,f+4),f+=6),d.Ad[n]&&(d.Ad[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=bp(e,Wo,c))&&cp(e,g+c);g=bp(e,Xo,c);h=bp(e,Uo,c);g&&h&&cp(e,g,g+h)}}}} -function kp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Do=d+"\\";for(var k=0;kF)break;for(var v=p.kh+(F-2)*p.Ag,E=0;E>3,1),d?e=16==b.Cg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function $o(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function ep(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wk=b;a.Xk=c;a.wd=a.Zc=0;a.Wa=!1;return a} -function fp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.gf();c+="&user="+a.controller.le();return ya()+"/api/v1/disk?"+c} -function mp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.le();xa(ya()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;ip(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function np(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.le();h.data=JSON.stringify(f);xa(ya()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.fa=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):hp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=$o(this,a++);)sp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function sp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function tp(a){Wa.call(this,"FDC",a,tp,524288);this.dmaRead=this.zk;this.dmaWrite=this.Ak;this.dmaFormat=this.Ok;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!Ia("Mobi")&&window&&"FileReader"in window}fb(tp);aa={}; -var up={3:{Wd:3,je:0,name:aa.bo},4:{Wd:2,je:1,name:aa.$n},5:{Wd:9,je:7,name:aa.lo},6:{Wd:9,je:7,name:aa.Vn},7:{Wd:2,je:0,name:aa.Xn},8:{Wd:1,je:2,name:aa.ao},10:{Wd:2,je:7,name:aa.Wn},13:{Wd:6,je:7,name:aa.Hn},15:{Wd:3,je:0,name:aa.Zn}};m=tp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&vp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&wp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ja(rp(a),"octet-stream",!0,a.Pg.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;wp(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Hb(a,"ChipSet");if((this.U=Qc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}xp(this);lc(b,this,yp);pc(b,this,zp);Ap(this,"None","",!0);this.ia&&Ap(this,"Local Disk","?");Ap(this,"Remote Disk","??");Bp(this)||ub(this)}; -m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.fh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e}m.Ii=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Ib=c*d[3],a.Cb=0,!0}return!1}; -function Bp(a,b){b||(a.ea=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gEp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.nk=c,a.Me=d,Fp(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.Bg=f[0],a.Of=f[1],a.Pf=f[2],this.X&&this.X.yd()):a.af=!1;a.Ae&&(a.Ae=!1,--this.ea||ub(this));vp(this,a.hb)}; -function Ap(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Sm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=up[a].Wd){b=!1;this.L=0;a=Gp(this);var d,e,f,g,h=a&31;switch(h){case 3:Gp(this);Gp(this);Hp(this);break;case 4:c=Gp(this);this.hb=c&3;d=this.A[this.hb];Hp(this);Ip(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Gp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Gp(this);e=Gp(this);f=d.xb=Gp(this);g=Gp(this);d.Ib=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Jp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Gp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Gp(this);d.Ib=128<>2&1,c=Gp(this),d.Qb+=c-d.he,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.he=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Hp(this),b=!0}0>>8);Ip(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Ip(a,e+k);Ip(a,f);Ip(a,g);Ip(a,h)}function Gp(a){var b=a.V[a.L];a.L++;return b}function Hp(a){a.L=a.C=0}function Ip(a,b){a.V[a.C++]=b}m.zk=function(a,b,c){void 0===b||0>b?this.Je(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Kp(a,b):-1}; -m.Ok=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.We++]=c;if(a.We==a.md.length){a.Qb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Ib=128<Kp(a,a.zi)){c=-1;break a}a.pg++}a.pg>=a.ie&&(c=-1)}else c=-1;return c};m.Je=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Lp(a)}while(1)}b(c,!1,d,e)}; -function Kp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Lp(a)}while(1);return b}function Lp(a){a.xb++;a.xb>=a.Pf+1&&(a.xb=1,a.kb++,a.kb>=a.Of&&(a.kb=0,a.Qb++))}var yp={1009:tp.prototype.yl,1012:tp.prototype.Al,1013:tp.prototype.xl,1015:tp.prototype.zl},zp={1010:tp.prototype.Tm,1013:tp.prototype.Sm,1015:tp.prototype.Rm}; -Sa(function(){for(var a=pb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.ee,k.kb,k.xb+ -k.og)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Ii=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Vp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Re[2])?e=b.Re[0]<<8|b.Re[1]:c=b.type);null==c||d||(d=Op[a.U][c][1],e=Op[a.U][c][0]);d&&((c=Op[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Jo(a,b,b.mode)))}} -m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ee=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Ib=c*d[3],a.errorCode=0,!0}}return!1}; -function Tp(a,b){b||(a.ea=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.qn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Wp(this))};m.am=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Je(a.B,function(b){0<=b?(Yp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.Dk=function(a,b){return Xp(this,a,b)|Xp(this,a,b)<<8}; -function Zp(a,b,c,d){if(a.B&&a.B.Ib>=a.B.Va)if(0>$p(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.zm=function(a,b,c){Zp(this,a,b&255,c);Zp(this,a,b>>8&255,c)};m.gl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.Em=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.il=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.Cm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.jl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Dm=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.el=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.ym=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.dl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.xm=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.fl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.Am=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.kl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.wm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&gg(this.N,14);aq(this)};m.Bm=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b}; -function aq(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ee=f,k.kb=e,k.xb=g,k.Ib=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Je(k,function(b){0<=b&&a.N?(Yp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Yp(a)} -function Yp(a){!a.N||a.fa&2||hg(a.N,14,120)} -function Wp(a){a.L=0;var b=bq(a),c=bq(a),d=c&32,e=d>>5,f=c&31,g=bq(a),h=bq(a),k=g<<2&768|h,l=g&63,n=bq(a),q=bq(a),p=a.A[e];p&&(p.ee=k,p.kb=f,p.xb=l,p.Ib=n*p.Va);switch(b){case 3:cq(a,p?p.errorCode:4);dq(a,c);dq(a,g);dq(a,h);dq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=bq(a));)p&&cb?this.Je(a,c):c(-1,!1)};m.Ck=function(a,b){return void 0!==b&&0<=b?$p(a,b):-1}; -m.Pk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.eb$p(a,a.zi)){c=-1;break a}a.pg++}a.pg>=a.ie&&(c=-1)}else c=-1;return c}; -function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Bl(a.N,3,a,"dmaRead",b);tl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function fq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Bl(a.N,3,a,"dmaWrite",b);tl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function gq(a,b,c){b.errorCode=4;b.Se&&b.Se.length==b.Ib||(b.Se=Array(b.Ib));b.eb=0;a.N?(b.errorCode=0,Bl(a.N,3,a,"dmaWriteBuffer",b),tl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -m.Je=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.ee,a.kb,a.xb+a.og,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,hq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function $p(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.ee,a.kb,a.xb+a.og,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;hq(a)}while(1);return b}function hq(a){a.xb++;var b=1-a.og;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.ee++))}m.bm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Cd&64));return a?!0:!1}; -var Qp={800:Mp.prototype.$l,801:Mp.prototype.am,802:Mp.prototype.Zl},Pp={496:Mp.prototype.Dk,497:Mp.prototype.gl,498:Mp.prototype.il,499:Mp.prototype.jl,500:Mp.prototype.el,501:Mp.prototype.dl,502:Mp.prototype.fl,503:Mp.prototype.kl},Sp={800:Mp.prototype.qn,801:Mp.prototype.tn,802:Mp.prototype.sn,803:Mp.prototype.rn,807:Mp.prototype.ii,811:Mp.prototype.ii,815:Mp.prototype.ii},Rp={496:Mp.prototype.zm,497:Mp.prototype.Em,498:Mp.prototype.Cm,499:Mp.prototype.Dm,500:Mp.prototype.ym,501:Mp.prototype.xm, -502:Mp.prototype.Am,503:Mp.prototype.wm,1014:Mp.prototype.Bm};Sa(function(){for(var a=pb(document,"pcx86","hdc"),b=0;b>2;this.Ba=b.zg;this.bc=new gd(this.F,7,"DBG");this.Ga=zq;80186<=this.F.ja&&(this.Ga=zq.slice(),this.Ga[15]=xq,80286<=this.F.ja&&(this.Ga[15]=yq,80386<=this.F.ja&&(this.Ja=8)));Pk(this,64,function(a){Dq(d,d.F.ld,a[0])});Pk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Pk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=jq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Pk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Pk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=Lf(d.F,n,2),2304==c&&(q|=Lf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=Lf(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;ff(this.F,48,this.em.bind(this));ff(this.F,65,this.fm.bind(this)); -this.ka=null;ff(this.F,104,this.gm.bind(this));ub(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;em(a,b,c,d,0,null,g,e)} -function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=jq(a,a.oa(b,4),a.na(b,2));b=jq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;em(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} -m.em=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=jq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,jq(this,a.H,b),!c,!!this.C)}}return!0}; -m.fm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&gf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,jq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=jq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Td(this.A,a,!0),lq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,jq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,jq(this,b.J,f))}this.cb=!1;return!this.C}; -m.gm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;gf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=id(b.va,this.Kk.bind(this)))&& -(b.J=a[0],yd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,jq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,jq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,jq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Kk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",nq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;hd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=Lf(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=Lf(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=Lf(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.dc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Hb)>>>f.La].xf(e&f.A,b&255,e)}c&&Uq(this,a,c);d||Wc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):jc(this.ga,d,b),c&&Uq(this,a,c),Wc(this.F,!0))};function jq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||(Tq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.oc=null!=h?h:a.F&&4==a.F.va.Oc;b.Yd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Ea,a.Yd,a.Rb,a.oc,a.Te,a.Xd]}function Xq(a){return{Ra:a[0],Z:a[1],Ea:a[2],Yd:a[3],Rb:a[4],oc:a[5],Te:a[6],Xd:a[7]}} -function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=jq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Gk=cr(a,b.mk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Ea=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Ea):b+Iq(a.Ra,a.Z,a.oc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Ic(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Zb[c],6==c&&(d=d.Dd,h+=" -> "+Zb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=va(vq,a.substr(b,2))));return c} -function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=zd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.li;break;case 34:c=d.ue;break;case 35:c=d.Qd;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+vq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ -' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=iq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(jq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ha)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.nf=0;c.fb-=c.A;c.A=0;Wc(c)}}; -function nk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>pq.indexOf(b),!d)){var g=oq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Ab[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function qb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.zd+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.jh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;nq(this,a)}}; -function lq(a,b){var c;if(Wf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Td(e&f.Fa,a==this.fa);g&&Yb(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Yd=!0):(nr(this,a,a.length-1,"set"),lq(this)));return d}; -function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=sq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.oc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var W=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.oc&&6==ia||H.oc&&5==ia))bb=2;else{if(H.oc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Wb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=wq[Xa+8];4!=Wb&&(wa&&(wa+="+"),wa+=wq[Wb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.oc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==W){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -jq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.oc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.oc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=tr(a,jq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Ea&&-1!==b.Ea){do if(g+=r(a.Qa(e,1),2),null==e.Ea)break;while(e.Ea!=b.Ea)}k+=ma(g,e.oc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return vq[b]} -function vr(a,b){var c;switch(b){case "V":c=xf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=wf(a.F);break;case "Z":c=vf(a.F);break;case "A":c=uf(a.F);break;case "P":c=tf(a.F);break;case "C":c=sf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Bd)+" "+yr(a,"ID", -null,a.F.Mc,a.F.Ud)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ja&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ja&&(c+=xr(a,a.F.Nb,b)+" "+xr(a,a.F.Ob,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=pa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({hg:b,pm:c,Z:d,Ra:e,Ea:f,hm:g,Sd:h,ti:l})} -function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Ea;null!=n&&(n>>>=0);var q=h.hm;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1,!0),l++)})})(a,g);Wc(a.F, -!0);a.O(l+" bytes read at "+c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":xd(a.F,h);break;case "ES":yd(a.F,h);break;case "SS":md(a.F,h);break;case "CS":nf(a.F,h);a.aa=jq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=jq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":Ad(a.F,h);break;case "C":h?zf(a.F):Af(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Hf(a.F):Ff(a.F);break;case "Z":h?If(a.F):Gf(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?Bf(a.F):Cf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":Jf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;sj.call(a.F,h);break;case "CR2":a.F.ue=h;break;case "CR3":a.F.Qd=h;Cd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Wc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= -jq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Xd||d||d++;a.O(f);a.aa=b;e-=b.Ea-k;c++}}} -function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Da&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Da=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(vb(a)&&0n||"z">>20;Da.wi=a.F.Qd+Da.ek;Da.yb=ce.sa[(Da.wi&ce.Hb)>>>ce.La];Da.Xi=Da.yb.Od(Da.ek);Da.fk=(Ue&4190208)>>>10;Da.xi=(Da.Xi&-4096)+Da.fk;Da.zb=ce.sa[(Da.xi&ce.Hb)>>>ce.La];Da.Yi=Da.zb.Od(Da.fk);Da.Ik=(Da.Yi&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+dr(be.wi,be.Xi)),pd=pd+(" %%"+dr(be.xi,be.Yi,!0)), -pd=pd+(" %%"+r(be.Ik));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in Bb)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+En||a.Ub,de=+Fn||10;isNaN(Eb)?Eb=de:Gn="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length); -tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==Fn&&(de=1E5,li=["CALL"]);for(void 0!==En&&a.O(Eb+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Eb;Hn++;de--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var mi=P[0];if(mi){var We=Eq(a,mi);if(void 0===We||0>We||255>> -0,65536>4||1;is--&&0ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var vg=1,Mn=255,Nn=a.Qa,On=a.qc;"ew"==g[0]&&(vg=2,Mn=65535,Nn=a.na, -On=a.jb);var Pn=vg<<1,Qn=g[1];if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var wg=Zq(a,Qn);if(wg)for(var xg=2;xgvi;){for(var uc=null,ns=256;Uc.Ra>>>0>>0;){af.Ra=a.tb(Uc,!0);if(null==Uc.Ea||!ns--)break;af.Z=Sn;if(uc=Lr(a,af))break;af.Z=a.tb(Uc);if(uc=Lr(a,af,!0)){Sn=a.tb(Uc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bQr){if(d.load(this.aa)){this.X=new lf(this,"1.24.1","failsafe");this.X.load()&&(Xr(this,d),a=2,Yr(this.X));N(this.X,"timestamp",ra());Zr(this.X);var e=this.A&&!this.V;if(1==a||Aa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Vr(d)){var f=Wr(d,"code"),g=Wr(d,"data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ga("user",""),this.B=null)):this.O(f+": "+g),Yr(d),d.load()?(c=Vr(d),e=!0):c=!1))}e&&Ur(this,c?d:null)}else 2==a&&d.clear()}else Ur(this);delete this.aa;delete this.ea}e=ib(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&($r(this,this.F,b,c,a),Xc(this.F));this.ka&&(Xr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function Xr(a,b){if(Aa("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.le(),d=b.toString(),e={app:"PCx86",ver:"1.24.1"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;xa("http://www.pcjs.org/api/v1/report",e,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new lf(a,"1.24.1"),g=new lf(a,"1.24.1","validate"),h=ra();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.24.1");N(f,"url",window?window.location.href:null);N(f,"browser",za());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=ib(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.bh=0;for(e.Vd=0;h<=f;)g=d.sa[h],e.bh+=g.size,g.size&&(e.Tg.push(ta(Kb,h,0,0,g.type)),e.Vd++),h++;c.A=e;c.ya=c.A.Vd*c.ga.Sb/691200;d=0;c.A.Ci=0;c.A.Bf||(c.A.Bf=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.W>>1)-2,Mb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Mb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Sa(function(){for(var a=pb(document,"pcx86-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2")); -h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");xa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);rs(a,b,c)}})}else c(a,null)} -function ss(a,b,c,d){function e(a){if(void 0===h){var b=g&&pb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--ds||Ua(!0));k=!1}var g,h,k=!0;ds++;gb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcx86/1.24.1/components.xsl");l=function(d,h){h?es(c,null,null,!1,e,function(d,k){if(k)if(hb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--ds||Ua(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ds||Ua(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?es(b,a,d,!0,e,l):fs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}function ts(a,b,c,d){Ua(!1);return ss(a,b,c,d)}window.embedPC=ts;window.embedPCx86=ts;window.enableEvents=Ua;window.sendEvent=Va; -function us(a,b,c,d){if(!c&&b){d.push(b);a=gb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?xa(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} -function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=gb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ja(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - - - - - - - - - - - - debugger - ,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.24.2/document.css b/versions/pcx86/1.24.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.24.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.24.2/document.xsl b/versions/pcx86/1.24.2/document.xsl deleted file mode 100644 index e71127dc4..000000000 --- a/versions/pcx86/1.24.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.24.2/machine.xsl b/versions/pcx86/1.24.2/machine.xsl deleted file mode 100644 index fc02b5280..000000000 --- a/versions/pcx86/1.24.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.24.2/manifest.xsl b/versions/pcx86/1.24.2/manifest.xsl deleted file mode 100644 index d2ecaf884..000000000 --- a/versions/pcx86/1.24.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.24.2/outline.xsl b/versions/pcx86/1.24.2/outline.xsl deleted file mode 100644 index acf4ec337..000000000 --- a/versions/pcx86/1.24.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.24.2/pcx86-dbg.js b/versions/pcx86/1.24.2/pcx86-dbg.js deleted file mode 100644 index 3dc765c43..000000000 --- a/versions/pcx86/1.24.2/pcx86-dbg.js +++ /dev/null @@ -1,820 +0,0 @@ -(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; -function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} -function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} -function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} -function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var oa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function pa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var sa=[31,28,31,30,31,30,31,31,30,31,30,31]; -function ta(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.oh|g<>a.shift}function va(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.xd=this.id:(this.ce=this.id.substr(0,b),this.xd=this.id.substr(b+1));this[a]=c;this.la={ready:!1,Re:!1,bh:!1,ic:!1,error:!1};this.ug=null;this.la.error=!1;this.qa={};this.ha=null;this.wc=d||0;Ya.push(this)}var Za=void 0,$a={}; -if(window){Za||(Za=window.location.search.substr(1));for(var ab,cb=/\+/g,db=/([^&=]+)=?([^&]*)/g;ab=db.exec(Za);)$a[decodeURIComponent(ab[1].replace(cb," "))]=decodeURIComponent(ab[2].replace(cb," "))}function eb(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 fb(a,b){b||(b=Wa);a.prototype=eb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var gb=window.PCjs.Machines||(window.PCjs.Machines={}),Ya=window.PCjs.Components||(window.PCjs.Components=[])}else gb={},Ya=[];function hb(a,b,c){gb[a]&&b&&(gb[a][b]=c)}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Fb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Fb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=Cb.prototype;m.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)}; -m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Hb(a,"Keyboard")};m.hc=function(a,b){b||Ib();return!0};m.gc=function(){return!0};m.he=function(a,b){a.button||(this.ea=b?0:-1,Jb(this,a,b))};m.Hf=function(a){Jb(this,a)}; -function Jb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Oe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Lb(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Mb(a,"Mouse over memory to dump");else for(Mb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Mb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Mb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}m.pd=function(){};function Nb(a,b,c,d){a.A.zf[a.A.Di++]={Tk:b,Td:c,type:d};return ta(Kb,b,c,0,d)}function Lb(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")} -function Mb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Ib(){for(var a=!1,b=pb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Pb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Me+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Me){n=k.size-(f-l);n>g&&(n=g);k.Me=f-k.Ea+n;f=l+a.Sb;g-=n;h++;continue}}return Xb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Pb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Yb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Zb[d]+" at "+r(b)),!0):Xb(a,2,b,c)} -function Ub(a,b){if(32==a.N)b?a.X&&($b(a,1048576,1048576,a.X),a.X=null):a.X||(a.X=ac(a,1048576,1048576),$b(a,1048576,1048576,ac(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].qf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function ic(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].re(c,b)|a.sa[d&a.ga].re(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].xf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function jc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].si(d,c&65535,b):(a.sa[e++].vf(d,c&255,b),a.sa[e&a.ga].vf(0,c>>8&255,b+1))} -m.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Ui=function(){return null};function kc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} -function lc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function mc(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&rc(a.ha,b,k)}else a.ha&&(qb(a.ha,a,b,k,e),a.V&&rc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Xb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var sc;if(xb){var xc=new ArrayBuffer(2);(new DataView(xc)).setUint16(0,256,!0);sc=256===(new Uint16Array(xc))[0]}else sc=!1;var ec=sc; -function B(a,b,c,d,e,f){this.id=yc+=2;this.da=null;this.C=0;this.Ea=a;this.Me=b;this.size=c||0;this.type=d||zc;this.N=d==dc;this.controller=null;this.F=f;Pb(this);this.Wa=this.Qi=!1;if(c)if(e)this.controller=e,a=e.Ti(a),this.da=a[0],this.C=a[1],bc(this,e.ih());else if(xb)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Ya=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),bc(this,ec?fc:gc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,jh:function(a){this.Ea=a},save:function(){var a,b;if(this.controller)a=null;else if(xb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, -c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& -~(65535<>8);this.Wa=!0},Wc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Fc(this.ha,this.Ea+a)||this.F&&Gc(this.F,b,1,!1);return this.re(a,b)},rb:function(a,b){this.ha&&null!=this.Ea&&Fc(this.ha,this.Ea+a,2)||this.F&&Gc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& -null!=this.Ea&&Fc(this.ha,this.Ea+a,4)||this.F&&Gc(this.F,b,4,!1);return this.ki(a,b)},bc:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a)||this.F&&Gc(this.F,c,1,!0);this.N?this.L(a,b,c):this.vf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,2)||this.F&&Gc(this.F,c,2,!0);this.N?this.L(a,b,c):this.si(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Hc(this.ha,this.Ea+a,4)||this.F&&Gc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.qf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.xf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|= -this.V;this.Bd.wf(a,b,c)},Ka:function(a,b){return Ic(this.F,b,!1).pc(a,b)},xd:function(a,b){return Ic(this.F,b,!1).qf(a,b)},gb:function(a,b){return Ic(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Ic(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Ic(this.F,c,!0).xf(a,b,c)},jd:function(a,b,c){Ic(this.F,c,!0).wf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.qf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> -2]},Ub:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.wf=this.wa;this.Bd.Wa=!0}};function Pb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&Cc(a,Dc,!1),(a.Ue=c.Ue)&&Ec(a,Dc,!1))} -function Jc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.vf,a.xf=a.N?a.W:a.si,a.wf=a.N?a.U:a.ua):0===--a.Te&&(a.pc=a.re,a.qf=a.cg,a.Md=a.ki)}function Ec(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.xf=!a.N&&b[4]||a.W,a.wf=!a.N&&b[5]||a.U);if(c||void 0===c)a.vf=b[3]||a.L,a.si=b[4]||a.W,a.ua=b[5]||a.U}function Cc(a,b,c){c&&a.Te||(a.pc=b[0]||a.ia,a.qf=b[1]||a.ka,a.Md=b[2]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.cg=b[1]||a.ka,a.ki=b[2]||a.ea} -function bc(a,b,c){b||(b=5==a.type?Kc:6==a.type?Lc:Mc);Cc(a,b,c);Ec(a,b,c)}var Mc=[],hc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.tc,B.prototype.Cd,B.prototype.Wc],Dc=[B.prototype.Da,B.prototype.rb,B.prototype.Pa,B.prototype.bc,B.prototype.sd,B.prototype.Vc],Lc=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Cc,B.prototype.Gd,B.prototype.hd],Kc=[B.prototype.Ka,B.prototype.xd,B.prototype.gb,B.prototype.Uc,B.prototype.Hd,B.prototype.jd]; -if(xb)var gc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.Ub,B.prototype.qd,B.prototype.ce],fc=[B.prototype.aa,B.prototype.pa,B.prototype.fa,B.prototype.ra,B.prototype.ya,B.prototype.wa],Nc=[B.prototype.Ga,B.prototype.Db,B.prototype.cb,B.prototype.uc,B.prototype.Fd,B.prototype.Xc]; -function Oc(a,b){Wa.call(this,"CPU",a,Oc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Id=c;this.Y.Wd=d;this.Y.wg=Math.round(this.Y.Id/1E4)/100;this.Y.De=this.Y.wg*this.Y.Wd;this.la.Ib=!1;this.la.ri=!1;this.la.Af=a.autoStart;this.la.Li=!1;this.la.We=!1;this.Y.If=this.Y.jf=0;this.Y.Jf=a.csStart;this.Y.hf=a.csInterval;this.Y.kf=a.csStop;this.ti=this.Je.bind(this);ub(this)}fb(Oc);var Pc=["power","reset"];m=Oc.prototype; -m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b=a.Y.jf&&(a.Y.jf+=a.Y.hf,c=!0);0<=a.Y.kf&&a.Y.kf<=Yc(a)&&(a.Y.hf=a.Y.kf=-1,Tc(a),a.Wb(),c=!0);c&&a.O(Yc(a)+" cycles: checksum="+r(a.Y.If))}} -m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.ic)a=!0;else{var b=null,c,h=ib(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.wg&&(c=Math.round(c/a.Y.Wd));return c}function Rc(a){a.Y.ne=0;a.uc=a.Ub=a.fb=a.A=0;Tc(a);Zc(a,1)} -function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.ne/a.Y.De?b=1:d=!0;a.Y.Wd=b;b=a.Y.wg*a.Y.Wd;if(a.Y.De!=b){a.Y.De=b;b=a.Y.De.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.wd()}ad(a,a.Ub);a.Ub=0;a.Y.oe=qa();a.Y.Ee=0;bd(a);return d} -m.Je=function(a){if(rb(this,!0)){if(!this.la.Ib){Zc(this);this.X&&this.X.start(this.Y.oe,Yc(this));this.la.Ib=!0;this.la.ri=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.pd(!0),a&&this.X.wd(!0))}this.Y.uh>=this.Y.Id&&bd(this,!0);this.Y.Mf=0;this.Y.xg=qa();this.Y.Ee&&(a=this.Y.xg-this.Y.Ee,a>this.Y.$i&&(this.Y.oe+=a,this.Y.oe>this.Y.xg&&(this.Y.oe=this.Y.xg)));try{do{var c=this.la.We?1:this.Y.nm;if(this.N){cd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.ze){var f= -(Yc(d.F,d.ka)-e.vd)/d.gb|0,g=dd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Yc(k.F,k.ka);0l&&(a=l)}c=a}try{this.uf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;ad(this,0,!0);Xc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.bj,this.X&&ed(this.X));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.aj,this.X&&this.X.pd());this.Y.lf-=n;if(0>=this.Y.lf){this.Y.lf+=this.Y.th; -break}}while(this.la.Ib)}catch(q){this.Wb();Wc(this);this.X&&this.X.stop(qa(),Yc(this));rb(this,!1);wb(this,q.stack||q.message);return}c=setTimeout;d=this.ti;this.Y.Ee=qa();e=this.Y.$i;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.th));e-=this.Y.Ee-this.Y.xg;if(f=this.Y.Ee-this.Y.oe)this.Y.ne=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&cd(this.N,!0),Zc(this));if(0>e||this.Y.nee&&(this.Y.oe-=e),e=0;this.Y.uh+=this.Y.Mf;this.Y.Ee+=e;c(d,e)}else Wc(this),this.X&&this.X.stop(qa(), -Yc(this))};m.uf=function(){return 0};m.Wb=function(a){sb(this,!0);this.fb-=this.A;this.A=0;ad(this,this.Ub);this.Ub=0;if(this.la.Ib){this.la.Ib=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.complete=a};function Wc(a,b){a.X&&(ed(a.X,b),a.X.pd(b))} -function fd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.kc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Oc=2;this.R=this.Ba=65535;this.X=this.nh;this.ga=this.Gi;this.qa=this.Ii;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.Xf=0,this.C=null,this.cf=!1,this.N=Array(32),this.B=[]);gd(this,!0,d)}function hd(a,b){a.B.push(b);return[a.B.length,1]}m=fd.prototype; -m.nh=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};m.vg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,id(this,c,a,b);6>this.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.jm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -m.im=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=id(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Gi=function(a){return this.Aa+a|0};m.Ii=function(a){return this.Aa+a|0};m.Fi=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()};m.Lk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};m.Hi=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.qg()}; -m.Mk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.qg()};m.qg=function(){C.call(this.F,13,0);return-1};function jd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&gd(a,!0)}function kd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&gd(a,!0)} -function id(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,gd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ja){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(z=D(e),ld(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return md(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; -break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.wi=k+e.na(k+100+2)|0,a.Hk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,gd(a,!0,!0,!1));return k} -function md(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,yd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),zd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Ad(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function gd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.bd=!1;if(c)if(a.load=a.vg,a.Zi=a.im,a.mc=a.Fi,a.nc=a.Hi,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.mc=a.pg,a.nc=a.qg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.pg);if(a.type&2048||!(a.type&512))a.nc=a.qg;1024==(a.type&3072)&&(a.mc==a.Fi&&(a.mc=a.Lk),a.nc==a.Hi&&(a.nc=a.Mk),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& -(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.nh,a.Zi=a.jm,a.mc=a.Gi,a.nc=a.Ii,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} -function Cd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Oc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?zb:yb;this.W=Dd;this.bg=Ed;this.hg=Fd;this.ig=Gd;if(80186<=this.ja&&(this.W=Dd.slice(),this.bg=Ed.slice(),this.hg=Fd.slice(),this.ra=31,this.W[15]=Hd,this.W[96]=Id,this.W[97]=Jd,this.W[98]=Kd,this.W[99]=Hd,this.W[100]=Hd,this.W[101]= -Hd,this.W[102]=Hd,this.W[103]=Hd,this.W[104]=Ld,this.W[105]=Md,this.W[106]=Nd,this.W[107]=Od,this.W[108]=Pd,this.W[109]=Qd,this.W[110]=Rd,this.W[111]=Sd,this.W[192]=Td,this.W[193]=Ud,this.W[200]=Yd,this.W[201]=Zd,this.W[241]=$d,this.bg[7]=ae,this.hg[7]=ae,80286<=this.ja)){this.Yf=2;this.Cc|=28672;this.Cd=0;this.W[15]=ge;this.tc=he.slice();for(a=0;a=this.Uc&&(this.tc[166]=pe,this.tc[167]=qe)}}this.Hd=[];this.je=[];this.le=0;Rc(this);this.la.complete=this.la.Ki=!1;this.Rg=0;this.kd=this.sa=[];this.La=this.Sb=this.Fa=this.Fd=this.hd=this.Gb=this.Db=0;re(this)}fb(Cd,Oc);function se(a,b,c,d){Jc((d?a.kd:a.sa)[b>>>a.La],c);d&&Yb(a)} -function te(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Pb(a.ke,a.ha);for(b=0;ba.me&&(a.ag[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function Yb(a){a.Za&-2147483648&&te(a)} -function Ic(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||ue.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||ue.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||ue.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;xb&&ec&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.de=c.de,b.da=c.da,bc(b,Nc)):(b.ga=c?Bc(32):0,b.V=c?Bc(96):0,bc(b,Lc));Pb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ve(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}m=Cd.prototype;m.reset=function(){this.la.Ib&&this.Wb();re(this);Rc(this);this.la.error=!1}; -function we(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function xe(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function re(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.wa=0;a.aa=0;a.jg=0;a.L=0;a.Za=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.qe=a.U=-1;a.va=new fd(a,1,"CS");a.vb=new fd(a,2,"DS");a.Xa=new fd(a,2,"ES");a.ta=new fd(a,3,"SS");G(a,0);ld(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.li=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ae=[null,null,null,null,null,null,0,0];a.Nb=new fd(a,2,"FS");a.Ob=new fd(a,2,"GS");ve(a)}a.pf=new fd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.pf;a.ua=0;if(80286>a.ja)Ad(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new fd(a,5,"LDT",!0);a.Sa=new fd(a,4,"TSS",!0);a.Da=new fd(a,6,"VER",!0);Ad(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}zd(a,0);nd(a)} -function ye(a){2==a.Oc?(a.cc=a.na,a.Oa=ze,a.$a=Ae,a.Jb=Be,2==a.ba?(a.V=Ce,a.ea=De,a.ya=Ee):(a.V=Fe,a.ea=Ge,a.ya=He)):(a.cc=a.oa,a.Oa=Ie,a.$a=Le,a.Jb=Me,2==a.ba?(a.V=Ne,a.ea=Oe,a.ya=Pe):(a.V=Qe,a.ea=Re,a.ya=Se))}function od(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,Te(a))}function Te(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=Ce,a.ea=De,a.ya=Ee):(a.V=Ne,a.ea=Oe,a.ya=Pe)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=Fe,a.ea=Ge,a.ya=He):(a.V=Qe,a.ea=Re,a.ya=Se))} -function df(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;ye(a);a.ba=a.va.ba;a.R=a.va.R;Te(a);a.Ia&=-3073}m.Si=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+yd(this)|0};function ef(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function ff(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function gf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])} -function hf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Fa,f,a):Jc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Gc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function nd(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.ig=b&&!c?jf:Gd;gd(a.va,!1,b,c);gd(a.vb,!1,b,c);gd(a.ta,!1,b,c);gd(a.Xa,!1,b,c);80386<=a.ja&&(gd(a.Nb,!1,b,c),gd(a.Ob,!1,b,c));df(a)} -m.save=function(){var a=new kf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.li),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ae))):g=null;b=[b,c,d,e,f,g,yd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.kc, -this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Wd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.zg==b.Gb)||Ub(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;df(a)}function Ad(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(nf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} -function of(a,b){var c=(a.Ha>>>0)+b;c>a.gf&&(8088>=a.ja||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function pf(a){a.Ha=a.qe}function I(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function G(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function qf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&rf(a),g&2&&sf(a),g&4&&tf(a),g&8&&uf(a),g&16&&vf(a),g&32&&wf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.sd=c;a.Xc=d;a.resultType=e} -function xf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?yf(a):zf(a);e?Af(a):Bf(a);return b}function Cf(a,b,c,d){c&d?yf(a):zf(a);(b^c)&d?Af(a):Bf(a)}function Df(a){return rf(a)?1:0}function rf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.sd)&(a.sd^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function sf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function tf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.sd)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function uf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function vf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function wf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function zf(a){a.resultType&=-2;a.ca&=-2}function Ef(a){a.resultType&=-5;a.ca&=-17}function Ff(a){a.resultType&=-9;a.ca&=-65}function Bf(a){a.resultType&=-33;a.ca&=-2049}function yf(a){a.resultType&=-2;a.ca|=1}function Gf(a){a.resultType&=-5;a.ca|=16}function Hf(a){a.resultType&=-9;a.ca|=64}function Af(a){a.resultType&=-33;a.ca|=2048} -function yd(a){return a.ca&-2262|rf(a)|sf(a)|tf(a)|uf(a)|vf(a)|wf(a)}function If(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&nd(a,!0)}function zd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} -function Jf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.wi)for(var f=a.Sa.wi+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} -m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Rg++;d=!0;break;default:d=this.parent.Pb.call(this,a,b,c)}return d}; -function Kf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Ic(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.re(f,b);if(2==c)return f>>this.La].pc(a&this.Fa,a)}; -m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Gg;if(c>>=8}}; -function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Lf(a,a.ka,b)}function Mf(a,b){return Lf(a,a.Ka,b)}function Nf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Of(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Pf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Qf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Rf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Sf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function ud(a,b,c){return a.tb(b.mc(c,a.ba))}m.xa=function(){var a=of(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Tf(a){var b=of(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=of(a,a.Oc),c=a.cc(a.Ha);a.Ha=b;return c} -m.Ma=function(){var a=of(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};m.T=function(){var a=of(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function D(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Ng-a.fa|0;0>c&&0<=(a.Ng^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?G(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} -function vd(a,b,c,d){c=a.fa-c|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function J(a,b){var c=a.fa-a.ba|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):C.call(a,12,0));a.rc(c,b);a.fa=c} -function Uf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Wf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5; -Xf.call(this,f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Xf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Yf(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;cg(this);dg(this,a[b++]);for(c=0;c=eg&&fg(a,13))}function cg(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=eg?gg(a,13):a.ya&0||Xf.call(a.F,2),!0;a=a.N;a.ja>=eg&&fg(a,13);return!1}function hg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return cg(a)} -function ag(a){return a.ma|a.B<<11}function ig(a,b){return isFinite(b)?!0:!hg(a,Infinity===b?8:16)}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,ig(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,ig(a,d)||(d=null));return d}function lg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,ig(a,d)||(d=null));return d}function mg(a,b,c){var d=null;null==b||null==c||!c&&hg(a,2)||(d=b/c,ig(a,d)||(d=null));return d} -function ng(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function og(a,b,c){if(null==b)return null;var d=a.jc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(hg(a,1))return null;d=-c}else if(d<-c){if(hg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function Bg(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Cg(a){var b=a.B+0&7;return a.C&1<>16}function Hg(a){return a.F.oa(a.F.D)}function Ig(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Jg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Kg(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}m.pi=function(){this.F.nb(this.F.D,this.L[0])};m.rk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.tk=Zf.prototype.pi;m.sk=Zf.prototype.rk;function Lg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])} -function Mg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.W[0]}function Fg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Ng(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Og(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;cg(a);dg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba} -function Sg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,ag(a));c.rc(b+=c.ba,bg(a));if(!(c.Za&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Tg=Math.log(10)/Math.LN2,Ug=Math.LOG2E,Vg=Math.PI,Wg=Math.log(2)/Math.LN10,Xg=Math.LN2,Yg=Math.pow(2,63);function Zg(){this.ma&=-32896;cg(this)} -function $g(){ng(this,U(this,0),U(this,this.A))}function ah(){ng(this,U(this,0),U(this,this.A))&&Pg(this)}function bh(){ah.call(this)}function ch(){V(this,0,mg(this,U(this,0),Ig(this)))}function dh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Qg(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Pg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!hg(this,1))b=Math.sqrt(a),ig(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,og(this,U(this,0),Yg))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Qg(this,a)},6:function(){var a=og(this,Pg(this));null!=a&&(this.ga[0]= -Og(a,8),this.ga[1]=Og(a/1E8,8),this.ga[2]=Og(a/1E16,2),0>a&&(this.ga[2]|=32768),Lg(this))},7:function(){null!=og(this,U(this,0),Yg)&&(this.rk(),Pg(this))},48:function(){dh.call(this);Pg(this)},49:qh,50:lh,51:lh,52:oh}},sh=[Zg,eh,fh,gh,hh,ih,mh,jh,nh,oh];Sa(function(){for(var a=pb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.ej;(bd)&&C.call(this,5);this.S|=2;return a}function Bh(a,b){var c=0;if(b){Ff(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Hf(this);this.A-=11+3*c;return a}function Ch(a,b){var c=0;if(b){Ff(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Hf(this);this.A-=11+3*c;return a} -function Dh(a,b){a&1<<(b&(2==this.ba?15:31))?yf(this):zf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Eh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?yf(this):zf(this);this.A-=-1===this.D?6:8;return a^c}function Fh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?yf(this):zf(this);this.A-=-1===this.D?6:8;return a&~c}function Gh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?yf(this):zf(this);this.A-=-1===this.D?6:8;return a|c} -function Hh(a,b){if(-1===this.D)return Dh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=6;this.S|=2;return a}function Ih(a,b){if(-1===this.D)return Eh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=8;return a^b} -function Jh(a,b){if(-1===this.D)return Fh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=8;return a&~b}function Kh(a,b){if(-1===this.D)return Gh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Nf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?yf(this):zf(this);this.A-=8;return a|b} -function Lh(a,b){qf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a}function Mh(a,b){qf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Bh:this.B.Vb;this.S|=2;return a} -function Nh(a){if(this.Tb){var b=this.Tb,c=this.jg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=rh[c][f]){if(0>sh.indexOf(e)){var f=b.F,g=f.qe;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.va.Z;b.V=g-f.va.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Oh(a){if(80186>this.ja)return Ph.call(this,a);C.call(this,13,0);return a}function ae(a){C.call(this,6);return a} -function Ph(a){ie.call(this);return a}function Qh(a,b){var c=Rh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return c}function Sh(a,b){var c;a=this.Ma();c=2==this.ba?Rh.call(this,a,b):Th.call(this,a,b);80386>this.ja&&(this.A-=12);return c}function Uh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Vh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.wa=~this.wa+(this.ia?0:1)|0)} -function Rh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(yf(this),Af(this)):(zf(this),Bf(this));this.A-=-1===this.D?9:12;return c&65535}function Th(a,b){Uh.call(this,a,b);this.wa!=this.ia>>31?(yf(this),Af(this)):(zf(this),Bf(this));this.A-=-1===this.D?9:12;return this.ia}function Wh(a,b){this.A-=14+(-1===this.D?0:2);Ff(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Hf(this),a=this.Da.wb&-256,2=this.pa)&&this.Da.Gc>=(b&3))return Hf(this),this.Da.Ta;Ff(this);return a}function ci(a,b){if(-1===this.D)return ie.call(this),a;ld(this,this.na(this.D+this.ba));this.A-=this.B.nf;return b} -function di(a,b){this.A-=-1===this.C?-1===this.D?this.B.Oj:this.B.Nj:this.B.Lj;return b}function ei(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function fi(a,b){return b} -function gi(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return di.call(this,0,b)} -function hi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:C.call(this,6),b=a}-1!==this.C&&od(this,2);return di.call(this,0,b)} -function Vh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ia=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ia=a*b|0,this.wa=0}function ii(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return xf(this,a|b,128)}function ji(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return xf(this,a|b,this.Ga)&this.R} -function Bi(a,b){var c=a-b-Df(this)|0;qf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Ci(a,b){var c=a-b-Df(this)|0;qf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Di(){return wf(this)?1:0}function Ei(){return rf(this)?1:0}function Fi(){return rf(this)?0:1}function Gi(){return uf(this)?1:0}function Hi(){return uf(this)?0:1}function Ii(){return rf(this)||uf(this)?1:0} -function Ji(){return rf(this)||uf(this)?0:1}function Ki(){return vf(this)?1:0}function Li(){return vf(this)?0:1}function Mi(){return sf(this)?1:0}function Ni(){return sf(this)?0:1}function Oi(){return!vf(this)!=!wf(this)?1:0}function Pi(){return!vf(this)!=!wf(this)?0:1}function Qi(){return uf(this)||!vf(this)!=!wf(this)?1:0}function Ri(){return uf(this)||!vf(this)!=!wf(this)?0:1}function Si(a,b){return Ti.call(this,a,b,this.xa())}function Ui(a,b){return Vi.call(this,a,b,this.xa())} -function Wi(a,b){return Ti.call(this,a,b,this.I&31)}function Xi(a,b){return Vi.call(this,a,b,this.I&31)}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return aj.call(this,a,b,this.xa())}function bj(a,b){return Zi.call(this,a,b,this.I&31)}function cj(a,b){return aj.call(this,a,b,this.I&31)}function dj(a,b){var c=a-b|0;qf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function ej(a,b){var c=a-b|0;qf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function fj(a,b){xf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Tf:this.B.Tf;this.S|=2;return a}function gj(a,b){xf(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ci:this.B.Tf:this.B.Tf;this.S|=2;return a}function hj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function jj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ei}else this.C=this.D,Qf(this,a),this.A-=this.B.di;return b} -function kj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ei}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.di;return b} -function lj(a,b){var c=a^b;xf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function mj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return xf(this,a^b,this.Ga)&this.R}function nj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function oj(a){var b=a-1|0;qf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R} -function pj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=nj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.wa=a[0];return!0}function qj(a){var b=a+1|0;qf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R} -function rj(a){this.Za=a;nd(this);this.Za&-2147483648?te(this):ve(this)}function Bd(a){this.Od=a;Yb(this)}function sj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ti(a,b,c){if(c){16>>16-c)&65535;xf(this,a,32768,d&32768)}return a}function Vi(a,b,c){if(c){var d=a<>>32-c;xf(this,a,-2147483648,d&-2147483648)}return a} -function Zi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;xf(this,a,32768,d&1)}return a}function aj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;xf(this,a,-2147483648,d&1)}return a}function tj(){this.A-=-1===this.D?2:this.B.ak;return 1}function uj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Wh:this.B.Vh)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,mf(this,this.bc)),this.bc=-1),this.qe!==this.Ha&&nf(this,this.qe),-1!=this.sb&&(this.sb!==this.ta.Z&&ld(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,re(this),e=d=!1)):nf(this,this.qe);var f=a,g=b,h=32,k=Kf(this,this.Ha);204!=k||this.Sd||(d=!1);this.ca&131072&&(6== -f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,zj.call(this,a,b,c),this.qe=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;} -function ue(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function Bj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ae(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.dd;break;case 1:case 2:Qf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Qf(this, -a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Qf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Be(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.dd;break;case 1:case 2:Qf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} -function Ce(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Of(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Of(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Of(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Of(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Of(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Of(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Of(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Of(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function De(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Of(this,this.P+this.K);this.C=this.D;break;case 3:b=Of(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Of(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Of(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Rf(this,a);this.A-=this.B.dd;break;case 1:case 2:Rf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Rf(this, -a);this.A-=this.B.Jc;break;case 6:Rf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Rf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Rf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ee(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Of(this,this.P+this.K);this.C=this.D;break;case 3:c=Of(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Of(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Of(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Of(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Of(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Of(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Of(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Rf(this,c);this.A-=this.B.dd;break;case 1:case 2:Rf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Rf(this,c);this.A-=this.B.Jc;break;case 6:Rf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Rf(this,c);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Rf(this,c);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Rf(this, -c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} -function Fe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Pf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Pf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Jd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Pf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Pf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Pf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Pf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Pf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Pf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Ge(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Pf(this,this.P+this.K);this.C=this.D;break;case 3:b=Pf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Pf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Pf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Sf(this,a);this.A-=this.B.dd;break;case 1:case 2:Sf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,a);this.A-=this.B.Jc;break;case 6:Sf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this, -a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Sf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function He(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Pf(this,this.P+this.K);this.C=this.D;break;case 3:c=Pf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Pf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Pf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Pf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Pf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Pf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Pf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Sf(this,c);this.A-=this.B.dd;break;case 1:case 2:Sf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Sf(this,c);this.A-=this.B.Jc;break;case 6:Sf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Sf(this,c);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Sf(this,c);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Sf(this, -c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} -function Ie(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Dj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Dj.call(this,1)+this.T()); -break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Dj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Le(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Dj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Qf(this,a)}} -function Me(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Dj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Qf(this,c)}} -function Ne(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Dj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Dj.call(this,1)+this.T()); -break;case 69:c=Of(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Dj.call(this,2)+T(this));break;case 133:c=Of(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Oe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Dj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Of(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Of(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Rf(this,a)}} -function Pe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Dj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Of(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Of(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Rf(this,c)}} -function Qe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Dj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Dj.call(this,1)+this.T()); -break;case 69:c=Pf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Dj.call(this,2)+T(this));break;case 133:c=Pf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Re(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Dj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); -this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Pf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= -this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Pf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Sf(this,a)}} -function Se(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Dj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); -this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Dj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Pf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= -this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Dj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Pf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Sf(this,c)}} -function Dj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||tf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||tf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?yf(this):zf(this);b?Gf(this):Ef(this);this.A-=this.B.Fe},function(){this.G=qj.call(this,this.G)},function(){this.I=qj.call(this,this.I)},function(){this.M=qj.call(this,this.M)},function(){this.H=qj.call(this,this.H)},function(){G(this,qj.call(this, -I(this)))},function(){this.P=qj.call(this,this.P)},function(){this.K=qj.call(this,this.K)},function(){this.J=qj.call(this,this.J)},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this,I(this)))},function(){this.P=oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc}, -function(){J(this,this.I&this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|D(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,function(){this.ya.call(this,jk,this.Ma);this.A-=-1===this.C? -1:this.B.Fg},Uj,function(){this.ya.call(this,jk,this.T);this.A-=-1===this.C?1:this.B.Fg},function(){this.$a.call(this,fj)},function(){this.ea.call(this,gj)},function(){this.Oa.call(this,jj)},function(){this.V.call(this,kj)},Wj,Xj,Yj,Zj,function(){this.S|=1;this.ea.call(this,hi)},function(){this.S|=1;this.ka=this.Ka=this.pf;this.V.call(this,Yh)},function(){var a;this.V.call(this,gi);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;xd(this,a);break;case 1:a=this.I;this.I=this.aa;mf(this,a);break; -case 2:a=this.M;this.M=this.aa;ld(this,a);break;case 3:a=this.H;this.H=this.aa;wd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ja?this.Nb.load(a):xd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):mf(this,a);break;case 6:a=this.K;this.K=this.aa;ld(this,a);break;case 7:a=this.J,this.J=this.aa,wd(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=D(this);this.ya.call(this,kk,xj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.gj},function(){yj.call(this,this.Ma(),Tf(this));this.A-=this.B.jj},function(){this.A-=3},function(){var a=yd(this);a&131072&&3>this.Pa?C.call(this, -13,0):(J(this,a&-196609),this.A-=this.B.Sc)},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;zd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?yf(this):zf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Gf(this):Ef(this);a&64?Hf(this):Ff(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.fc},function(){this.G=this.G&-65281|(yd(this)&213)<<8;this.A-= -this.B.fc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Lh},function(){this.G=this.G&~this.R|ud(this,this.ka,T(this));this.A-=this.B.Lh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Mh},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Mh},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Nh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ph,this.Ia&256||(this.A-=this.B.Oh));if(a--){var e=ud(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah,this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Lf(this,this.ka,this.K),f=Lf(this,this.Xa,this.J);this.C=this.D;Lh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Ah, -this.Ia&256||(this.A-=this.B.zh));if(a--){var e=Nf(this,this.ka,this.K&c),f=Nf(this,this.Xa,this.J&c);this.C=this.D;Mh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){xf(this,this.G&this.xa(),128);this.A-=this.B.Fe},function(){xf(this,this.G&this.Ma(),this.Ga);this.A-=this.B.Fe},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&& -(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Yh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.$h,this.Ia&256||(this.A-=this.B.Zh));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh, -this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=ud(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&255,f=Lf(this,this.Xa,this.J);this.C=this.D;Lh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Sh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Uh,this.Ia&256||(this.A-=this.B.Th));if(a--){var e=this.G&this.R,f=Nf(this,this.Xa,this.J&c);this.C=this.D;Mh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&uf(this)==(this.Ia&64)&&(pf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.fc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.fc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.fc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.fc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.fc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.fc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.fc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.fc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.fc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.fc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.fc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.fc},dk,ek,dk,ek,function(){this.V.call(this,Zh)},function(){this.V.call(this,Xh)},function(){this.S|= -1;this.Jb.call(this,lk,this.xa)},function(){this.S|=1;this.ya.call(this,lk,this.Ma)},fk,gk,fk,gk,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.Aj;this.rb=-1;zj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Hd[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.Bj;this.rb=-1;zj.call(this,4,null,a)}else this.A-=this.B.Cj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.yj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);md(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);nd(this,!0,!0);ld(this, -f);G(this,e);xd(this,g);wd(this,h);this.Nb.load(k);this.Ob.load(l)}null!=Ad(this,b,c,!1)&&(zd(this,d,a),this.le&&gf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,ak,tj)},function(){this.ya.call(this,2==this.ba?bk:ck,tj)},function(){this.Jb.call(this,ak,uj)},function(){this.ya.call(this,2==this.ba?bk:ck,uj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;xf(this,this.G,128);this.A-=this.B.dj}else Cj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;qf(this,a,b,c,191);this.A-=this.B.cj},function(){this.G=this.G&-256|(rf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Lf(this,this.ka,this.H+(this.G&255));this.A-=this.B.bk},function(){hk.call(this,216)},function(){hk.call(this,217)},function(){hk.call(this,218)},function(){hk.call(this,219)},function(){hk.call(this,220)},function(){hk.call(this,221)},function(){hk.call(this,222)},function(){hk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!uf(this)?(O(this,K(this)+a),this.A-=this.B.Jj):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&uf(this)?(O(this,K(this)+a),this.A-=this.B.Jh):this.A-=this.B.Kh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Ij):this.A-=this.B.Ih},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Kh:(O(this,K(this)+a),this.A-=this.B.Jh)},function(){var a=this.xa(); -Jf(this,a,1,!0)&&(this.G=this.G&-256|mc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Dh)},function(){var a=this.xa();Jf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|mc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Dh)},function(){var a=this.xa();Jf(this,a,1,!1)&&(qc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.xa();Jf(this,a,this.ba,!1)&&(qc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Rh)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a); -this.A-=this.B.hj},function(){var a=this.Ma();O(this,K(this)+a);this.A-=this.B.Eh},function(){Ad(this,this.Ma(),Tf(this));this.A-=this.B.Ej},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Eh},function(){var a=this.M&65535;Jf(this,a,1,!0)&&(this.G=this.G&-256|mc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Ch)},function(){var a=this.M&65535;Jf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|mc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Ch)},function(){var a=this.M&65535;Jf(this,a,1,!1)&& -(qc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Qh)},function(){var a=this.M&65535;Jf(this,a,2,!1)&&(qc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Qh)},ik,ik,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(pf(this),this.ha.Wb()):this.ca&512||(this.ha&&pf(this),this.Wb()))},function(){rf(this)?zf(this):yf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -nk,wj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,ok,wj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){zf(this);this.A-=2},function(){yf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.fj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Ed,wj)},function(){this.ya.call(this,Fd,wj)}],Vj=[vh,ii,th,Bi,xh,dj,lj,Lh],jk=[wh,ji,uh,Ci,yh,ej,mj,Mh],kk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Uj;return b},Oh,Oh,Oh,Oh,Oh,Oh,Oh],lk=[function(a,b){this.A-=-1===this.C?this.B.Mj:this.B.Kj;return b},Ph,Ph,Ph,Ph,Ph,Ph,Ph],ak=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Cf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Cf(this,c,e, -128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Df(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Cf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,xf(this,a,128,c&1,a&128));return a},Ph, -function(a,b){var c=b&this.ra;c&&(9>24>>c-1,a=c>>1&255,xf(this,a,128,c&1));return a}],bk=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Cf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Cf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Df(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Cf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,xf(this,a,32768,c&1,a&32768));return a},Ph,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,xf(this,a,32768,c&1));return a}],ck=[function(a,b){var c= -a,d=b&this.ra;d&&(c=a<>>32-d,Cf(this,c,a<>>d|e;Cf(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Df(this),c=a<>>32-d>>>1,Cf(this,c,a<>>d|c<<32-d|a<<32-d<<1,Cf(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>>c-1,a=c>>>1,xf(this,a,-2147483648,c&1,a&-2147483648));return a},Ph,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,xf(this,a,-2147483648,c&1));return a}],nk=[function(a,b){b=this.xa();xf(this,a&b,128);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Ph,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;qf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ia= -(this.G&255)*a&65535;this.ia&65280?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.Qj:this.B.Pj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.vj:this.B.uj;this.S|=2;return a},function(a,b){if(!a)return Cj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Cj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],ok=[function(a,b){b=this.Ma();xf(this,a&b,this.Ga);this.A-=-1===this.D?this.B.bi:this.B.ai;this.S|=2;return a},Ph,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;qf(this,0,a,b,this.Ga| -63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a,b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ia=c&65535;this.wa=c>>16&65535}else Vh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.Sj:this.B.Rj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ia=c&65535,this.wa=c>>16&65535,c=32767c):(Uh.call(this, -a,this.G),c=this.wa!=this.ia>>31);c?(yf(this),Af(this)):(zf(this),Bf(this));this.cb=!0;this.A-=-1===this.D?this.B.xj:this.B.wj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Cj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Cj.call(this),a;this.ia=c&65535;this.wa=b%a&65535}else{if(!pj.call(this,this.G,this.M,a))return Cj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.pj:this.B.oj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Cj.call(this), -a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Cj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!pj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Cj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.tj:this.B.sj;this.S|=2;return a}],Ed=[function(a){var b= -a+1|0;qf(this,a,1,b,190);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;qf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Ph,Ph,Ph,Ph,Ph,Ph],Fd=[function(a){var b=a+1|0;qf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;qf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.lj:this.B.kj;this.S|= -2;return a},function(a){if(-1===this.D)return Ph.call(this,a);this.U=this.fa;yj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.ij;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Gj:this.B.Fj;this.S|=2;return a},function(a){if(-1===this.D)return Ph.call(this,a);Ad(this,a,this.na(this.D+this.ba));this.A-=this.B.Dj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Wj;this.S|=2;return a}, -Ph];function pe(){this.V.call(this,ij);this.A-=-1===this.D?6:13}function qe(){this.ea.call(this,hj);this.A-=-1===this.D?12:19}var he=Array(256);he[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.ig,wj)};he[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,pk,wj)};he[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,Wh)};he[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.V.call(this,bi)}; -he[5]=function(){this.pa?C.call(this,13,0,0,!0):(If(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),kd(this.Xa,2102,this.na(2084)),kd(this.va,2108,this.na(2082)),kd(this.ta,2114,this.na(2080)),kd(this.vb,2120,this.na(2078)),zd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Sd=this.Mc+this.na(2142),kd(this.Bc,2132,this.na(2076)),kd(this.Sa,2144,this.na(2070)),this.A-=195)};he[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};he[11]=Hd;he[166]=Hd;he[255]=Hd;var M=[];M[5]=Hd; -M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){rj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;zd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Sd=this.Mc+this.oa(a+104);jd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));jd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);jd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));jd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));jd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));jd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));jd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));jd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Wj;M[17]=Xj;M[18]=Yj;M[19]=Zj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.se;break;case 3:a=this.Od;break;default:ie.call(this);return}xe(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(xe(this,a&7,this.Ja[b]),this.A-=22)}}; -M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=we(this,a&7);switch((a&56)>>3){case 0:rj.call(this,b);this.A-=10;break;case 2:this.se=b;this.A-=4;break;case 3:Bd.call(this,b);this.A-=5;break;default:ie.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ie.call(this):(a=we(this,a&7),a!=this.Ja[b]&&(hf(this,!1),this.Ja[b]=a,hf(this,!0)),this.A-=4>b?22:14)}}; -M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(xe(this,a&7,this.Ae[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?ie.call(this):(this.Ae[b]=we(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();wf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[130]=function(){var a=this.Ma();rf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();rf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();rf(this)||uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -M[135]=function(){var a=this.Ma();rf(this)||uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();vf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();vf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; -M[140]=function(){var a=this.Ma();!vf(this)!=!wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!vf(this)==!wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();uf(this)||!vf(this)!=!wf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();uf(this)||!vf(this)!=!wf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){sj.call(this,Di)}; -M[145]=function(){sj.call(this,Di)};M[146]=function(){sj.call(this,Ei)};M[147]=function(){sj.call(this,Fi)};M[148]=function(){sj.call(this,Gi)};M[149]=function(){sj.call(this,Hi)};M[150]=function(){sj.call(this,Ii)};M[151]=function(){sj.call(this,Ji)};M[152]=function(){sj.call(this,Ki)};M[153]=function(){sj.call(this,Li)};M[154]=function(){sj.call(this,Mi)};M[155]=function(){sj.call(this,Ni)};M[156]=function(){sj.call(this,Oi)};M[157]=function(){sj.call(this,Pi)};M[158]=function(){sj.call(this,Qi)}; -M[159]=function(){sj.call(this,Ri)};M[160]=function(){vd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ge};M[161]=function(){this.U=this.fa;var a=D(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.ea.call(this,Hh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.ea.call(this,2==this.ba?Si:Ui);this.A-=-1===this.D?3:7};M[165]=function(){this.ea.call(this,2==this.ba?Wi:Xi);this.A-=-1===this.D?3:7};M[168]=function(){vd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ge}; -M[169]=function(){this.U=this.fa;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.ea.call(this,Kh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.ea.call(this,2==this.ba?Yi:$i);this.A-=-1===this.D?3:7};M[173]=function(){this.ea.call(this,2==this.ba?bj:cj);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.ba?Rh:Th)};M[178]=function(){this.V.call(this,ci)};M[179]=function(){this.ea.call(this,Jh);-1!==this.D&&(this.A-=5)}; -M[180]=function(){this.V.call(this,$h)};M[181]=function(){this.V.call(this,ai)}; -M[182]=function(){this.Oa.call(this,ei);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};M[183]=function(){od(this,2);this.V.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,qk,this.xa)};M[187]=function(){this.ea.call(this,Ih);-1!==this.D&&(this.A-=5)}; -M[188]=function(){this.V.call(this,Bh)};M[189]=function(){this.V.call(this,Ch)}; -M[190]=function(){this.Oa.call(this,ei);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){od(this,2);this.V.call(this,fi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var jf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Hf(this), -a;Ff(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Hf(this),a;Ff(this);return a},Ph,Ph],Gd=[ae,ae,ae,ae,ae,ae,Ph,Ph],pk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc; -80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Ph,function(a){this.ca& -131072?C.call(this,6):(If(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Ph],qk=[Ph,Ph,Ph,Ph,Dh,Gh,Fh,Eh]; -function rk(a){Wa.call(this,"ChipSet",a,rk,32768);var b=a.model;b&&!sk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=sk[b]||tk;this.C=[];b=uk(a[vk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),wk(this,xk,this.ia.length),wk(this,yk,a.monitor||(this.ja=eg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);ub(this)}fb(rk);var tk=5150.9,eg=5170,sk={5150:5150,5160:5160,5170:eg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:tk,deskpro386:5180},vk="sw1",zk="sw2",Ak={Ek:1,ONE:0,ho:64,eo:128,In:192,Lc:192,Sg:6},Bk={fo:16,Bn:32,Qn:48,Lc:48,Sg:4},xk=1,yk=4,Ck={5150:[{},{}]};Ck[5150][0][xk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ck[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"Coprocessor"}; -Ck[5150][0][yk]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ck[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ck[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ck[5160]=[{},{}];Ck[5160][0][xk]=Ck[5150][0][xk];Ck[5160][0][3]=Ck[5150][0][3];Ck[5160][0][yk]=Ck[5150][0][yk]; -Ck[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ck[5160][1][6]=Ck[5150][1][6];Ck[5160.101]=[{},{}];Ck[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ck[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"Coprocessor"};Ck[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ck[5160.101][1][xk]=Ck[5150][0][xk];Ck[5160.101][1][yk]=Ck[5150][0][yk];m=rk.prototype; -m.Pb=function(a,b,c){switch(b){case vk:return this.qa[b]=c,Dk(this,0,b),!0;case zk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Dk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Hb(a,"FPU");wk(this,3,this.Tb?1:0,!0);this.B=Hb(a,"Keyboard");this.gb=c.Y.Id/1193181;lc(b,this,Ek);pc(b,this,Fk);this.jab;b++){var c=13>=b?Qk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}ef(c,26,this.dm.bind(this))}; -m.hc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.gc=function(a){return a?this.save():!0}; -m.reset=function(a){var b;Rk(this);this.L=Array(this.cb);for(b=0;b=eg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Vk(this)&&(this.fa|=16);3==+Wk(this,yk,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Xk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Wk(this,yk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -m.save=function(){var a=new kf(this);N(a,0,[this.C]);for(var b=[],c=0;c=eg&&(N(a,5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()}; -m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Rk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;hl(a,b,c,!0)}function il(a,b,c){if(b=(a=Ck[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ol(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function pl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function ql(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function sl(a,b,c){b=a.L[b>>2].Dc[b&3];b.rg&&b.hh&&b.Hg?(c&&(b.done=c),b.Ce||Bl(a,b,!0)):c&&c(!0)} -function Bl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Ri=b.sg=!1);for(var d=!1;0<=b.count&&(c=b.mg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.hh.call(b.rg,b.Hg,-1,function(f,g){0>f&&(b.Ri||(b.Ri=!0),f=255);b.Ce||a.ga.qc(c,f);(d=g)&&setTimeout(function(){Cl(b)||Bl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.hh.call(b.rg,b.Hg,c)&&(b.sg=!0)):0!=b.type&&(b.sg=!0)),!d&&!Cl(b););} -function Cl(a){if(!a.sg&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.mf=c||0,Fl(a))}function fg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.lc&d&&(c.lc&=~d,Fl(a))}function Fl(a,b){var c,d=-1;1>=1),$c(a.F,e))),0==b&&2==c&&al(a))}function Ml(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Nl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ol(a,e+c);else{e=e+c;var h=a.V[e];h.fg=d;h.mode=g;h.ah=f;h.Fc=[0,0];h.Ab=[0,0];h.xe=[0,0];h.td=!1;h.$e=!1;h.ze=!1;h.df=!1;Jl(a,e);0==b&&0==c&&fg(a,0);0==b&&2==c&&255==a.vc[0].Ad&& -77==a.W&&(b=a.V[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.vd=Yc(a.F,a.ka))}}}function Ll(a,b){var c=a.V[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.md?256:65536);return d}function dd(a,b){var c=a.V[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.md?256:65536);return d}function Ol(a,b){Pk(a,b);var c=a.V[b];c.xe[0]=c.Ab[0];c.xe[1]=c.Ab[1];c.$e=!0;Jl(a,b)}function Jl(a,b){var c=a.V[b];c.Ed=32==c.fg?1:0;c.md=48==c.fg?2:1} -function Pk(a,b,c){var d=a.V[b];if(d.ze&&(2!=b||a.W&1)){var e=Yc(a.F,a.ka),f=(e-d.vd)/a.gb|0;0>f&&(d.vd=e,f=0);var g=Ll(a,b),h=dd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.ze=!1,b||gg(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&gg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&gg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.vd=0)}return d} -function cd(a,b){for(var c=0;c=eg){var c=a.F.Y.Id,d=Yc(a.F,a.ka);null==a.fb&&(a.Ga=Yc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Id/a.Jb),$k(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,gg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,gg(a,8)));var e=d-a.Ga,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; -var g;g=a.A[9];var h=sa[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,gg(a,8))}a.Ga=d-e%c}}m=rk.prototype;m.Nl=function(a,b){var c=this.$a;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Pl(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.gn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ol=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -m.hn=function(a,b,c){x(this,a,b,c,"PPI_B");Ql(this,b)};function Ql(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Rl(a.B,!(b&128),!!(b&64));c!=d&&al(a,c)}m.Pl=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Pk(this,2).td&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.jn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Ql=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -m.kn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Zk=function(a,b){var c=this.B?Pl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.sm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Yk=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};m.rm=function(a,b,c){x(this,a,b,c,"8041_CTRL");Ql(this,b)};m.$k=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; -m.al=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Sl(this.B);return c}; -m.um=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Tl(this,b);break;case 209:Ul(this,b);break;default:if(Tl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.V||c){case 255:d=250;Vl(a);break;case 243:a.V&&(c=0);Wl(a,250);a.V=c;break;case 237:a.V&&(c=0);Wl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Xl(this,d)}}this.ea=b;this.N&=-9}; -m.bl=function(a,b){var c=this.W&-209|(Yc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.vm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Ql(this,b)};m.cl=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; -m.tm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Xl(this,this.aa);break;case 173:Tl(this,this.aa|16);break;case 174:Tl(this,this.aa&-17);this.B&&Sl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Tl(this,this.aa|16);Xl(this,85);Ul(this,3);break;case 171:Xl(this,0);break;case 192:Xl(this,this.fa);break;case 208:Xl(this,this.Ka);break;case 224:Xl(this,this.aa&16?0: -1);break;case 240:a&1&&re(this.F)}};function Tl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Rl(a.B,!!(b&8),!(b&16))}function Xl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Ul(a,b){a.Ka=b;Ub(a.ga,!!(b&2));b&1||re(a.F)}function Yl(a,b){a.ja=c?Qk(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&fg(this,8),d&64&&this.A[11]&64&&$k(this));return d}; -m.Km=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&$k(this)};m.ik=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Um=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Vm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&$f(this.Tb)}; -m.dm=function(a){if(A(this,16)&&mk(this.ha,26,a)){var b=this.F.G>>8;ff(this.F,a,function(a,d){return function(e){d=Yc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(rf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Yc(this.F)))}return!0}; -function al(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Ll(a,2));if(20>c||2E4>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};am.prototype.gc=function(){return!0}; -function bm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{hb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Qd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].vf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Zk(a)}}else w("No RAM allocated")}; -m.save=function(){var a=new kf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function hm(a){this.N=a;this.C=jm;this.ha=km;this.B=lm;this.A=null}var im=-2134900736,jm=65535,km=2575,lm=2,mm=[null,0],nm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=hm.prototype;m.save=function(){return[this.C,this.B]}; -m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ga;if(b&1)this.A&&($b(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=ac(c,917504,131072));var d=ac(c,16646144,131072);$b(c,917504,131072,d,b&2?1:dc)}this.C=this.C&-256|b}};m.Ti=function(){return mm};m.ih=function(){return nm}; -Sa(function(){for(var a=pb(document,"pcx86","ram"),b=0;b":62,"?":63,"@":64,yn:65,zn:66,An:67,Fn:68,E:69,Gn:70,Jn:71,Kn:72,Ln:73,Mn:74,Nn:75,On:76,Pn:77,Rn:78,Sn:79,Tn:80,Q:81,Un:82,Yn:83,co:84,io:85,jo:86,ko:87,mo:88,no:89,oo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,po:97,qo:98,so:99,d:100,e:101,to:102,uo:103,vo:104, -wo:105,xo:106,k:107,yo:108,zo:109,n:110,Bo:111,p:112,q:113,r:114,Co:115,t:116,Eo:117,Fo:118,Go:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},rm={};rm[186]=X[";"];rm[187]=X["="];rm[188]=X[","];rm[189]=X["-"];rm[190]=X["."];rm[191]=X["/"];rm[192]=X["`"];rm[219]=X["["];rm[220]=X["\\"];rm[221]=X["]"];rm[222]=X["'"];rm[173]=X["-"];var sm={};sm[X["1"]]=X["!"];sm[X["2"]]=X["@"];sm[X["3"]]=X["#"];sm[X["4"]]=X.$;sm[X["5"]]=X["%"];sm[X["6"]]=X["^"];sm[X["7"]]=X["&"];sm[X["8"]]=X["*"];sm[X["9"]]=X["("]; -sm[X["0"]]=X[")"];sm[186]=X[":"];sm[187]=X["+"];sm[188]=X["<"];sm[189]=X._;sm[190]=X[">"];sm[191]=X["?"];sm[192]=X["~"];sm[219]=X["{"];sm[220]=X["|"];sm[221]=X["}"];sm[222]=X['"'];sm[173]=X._;sm[61]=X["+"];sm[59]=X[":"]; -var tm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},um={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},vm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, -u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, -"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},wm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; -Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; -Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; -Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=om.prototype; -m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return xm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||ym(e,a,!0);return b},c.onkeyup=function(a){return xm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();ym(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();ym(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.X&&e.X.wd();ym(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==um[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();zm(a,c,!0);ym(a,c,!0)}}(this,g,um[g]),!0;if(void 0!==vm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){ym(a,c)}}(this,b,vm[b]),b=function(a,b,c){return function(){Am(a,c)}}(this,b,vm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Bm(e,300))},!0}return!1};function Cm(a,b,c){if(a.fa){for(var d in sm)if(b==sm[d]){b=+d;(d=rm[d])&&(b=d);break}for(var e in vm)if((d=vm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=vm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet")}; -function pm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=qm.indexOf(a.ja),0>c&&(c=0));if(b=qm[c])a.ra=parseInt(b.substr(2),10)}function Vl(a){y(a,"keyboard reset",65792);a.A=[];Wl(a,170)}function Rl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&Zl(a,!0);a.W&&a.ea&&(Vl(a),a.ea=!1)}function Wl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Yl(a.N,b))} -function Sl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Yl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Pl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Zl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in wm)d="led-"+g,e=wm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function ym(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){tm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Le=b,d.xc=a.xc,Cm(a,b,!0),e++),0b.Kd){if(!b.Ef){Am(a,b.Le);return}b.Ef=!1;c=a.ua}else c=1==b.Kd++?500:100;b.uk=setTimeout(function(a){return function(){Em(a,b)}}(a),c)}} -function Gm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=sm[b])d=a}else if(a=rm[b])d=a;return d}m.Ig=function(a){a||(this.xc&=-256)}; -function xm(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Gm(a,g,!0);a.fh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),zm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== -e.A.length&&e.N&&Yl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=pb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Ym:Zm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Hc=c[0];this.fd=c[1];this.rf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Lg=c[4]>>8&255;this.mb=c[5];this.ph=Ym;this.lg=$m;if(5<=b){this.ph=Zm;this.lg=an;b=c[6];void 0===b&&(b=[!1,0,Array(20), -0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Dd],Array(this.Dd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ye=b[0];this.Nd=b[1];this.Tc=b[2];this.Vg=bn;this.Og=b[3];this.tf=b[4];this.eg=b[5];this.ae=b[6];this.Ie=b[7];this.Xg=cn;this.kk=b[8];this.lk=b[9];this.$d=b[10];this.Zd=b[11];this.Wg=dn;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Dd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.fi&255};fn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};fn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};fn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.rh,c=this.controller.qh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -fn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;d&=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;d|=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -fn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;d^=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};fn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; -function gn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.rf;b[3]=a.ma;b[4]=a.Ac|a.Lg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ye;c[1]=a.Nd;c[2]=a.Tc;c[3]=a.Og;c[4]=a.tf;c[5]=a.eg;c[6]=a.ae;c[7]=a.Ie;c[8]=a.kk;c[9]=a.lk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= -d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ga)),b=e.C,hn(b,"CRTC",b.Ac,b.mb,b.lg),5<=b.Ua&&(hn(b," GRC",b.$d,b.Zd,b.Wg),hn(b," SEQ",b.ae,b.Ie,b.Xg),hn(b," ATC",b.Nd,b.Tc,b.Vg),hn(b," ATCINDX", -b.Nd),b.ha.O(" ATCDATA: "+b.Ye),hn(b," FEAT",b.eg),hn(b," MISC",b.tf),hn(b," STATUS0",b.Og)),hn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||hn(b," MODEREG",b.fd),3==b.Ua&&hn(b," COLOR",b.rf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.yg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Hb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.pf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Xe();a=!0}this.X&&this.X.focus()}return a}; -function Km(a,b){!b&&a.ia&&(a.pf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.fh=b)}m.Be=function(a){var b=!1;this.X&&(a?this.X.Be&&(this.X.Be(),this.V&&this.V.Vf(!0),b=!0):this.X.vk&&(this.X.vk(),this.V&&this.V.Vf(!1),b=!0),this.X&&this.X.focus());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.B&&(this.B.fh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.xk)}; -function sn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){un(a,b,!0)},!1),c.addEventListener("touchmove",function(b){un(a,b)},!0),c.addEventListener("touchend",function(b){un(a,b,!1)},!1),a.ke=b,a.uc=a.Cc=a.ig=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.xn=function(){a.Gd=!0;a.V.he(vn,!0)})}m.Ig=function(a){this.B&&this.B.Ig(a)}; -function un(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ke)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?ym(a.B,1040,!0):ym(a.B,1038,!0):1!=d&&(d?ym(a.B,1039,!0):ym(a.B,1037,!0));else if(a.V){g=a.Hd;f=b.timeStamp-a.ig;!0===c?(a.Hd=500f){a.V.he(vn,!0);a.V.he(vn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.Hf(c,b,a.uc,a.Cc)}}m.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.gc=function(a){return a?this.save():!0}; -m.reset=function(){var a=!0,b=0;this.N&&(b=+Wk(this.N,yk,void 0));this.ja||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case fm:b=7;break;case 5:var c=Nm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.qd=new Wm(this,1);this.aa=this.Wc=new Wm(this,3);5>this.Ua?this.A=new Wm:(this.A=new Wm(this,this.Ua,null,this.Dd),wn(this));xn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;yn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);jc(this.ga,b,c|d<<8)}tn(this,!0)}};function wn(a){a.A.tf&1?(a.pa=a.qd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new kf(this);N(a,0,gn(this.qd));N(a,1,gn(this.Wc));N(a,2,[this.ya,this.wa,this.Ga]);N(a,3,gn(this.A));return a.data()}; -m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Wm(this,1,a[0]);this.aa=this.Wc=new Wm(this,3,a[1]);this.A=new Wm(this,this.Ua,a[3],this.Dd);this.A.Hc&&wn(this);xn(this);if(!zn(this))return!1;An(this);return!0}; -function Lm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{hb(a.ce,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)em(a,f,[6144,0]);else if(2048==f.length)em(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&ub(a)}} -function Bn(a,b){if(1==b)return a.Ca[0]=Qm[0],a.Ca[1]=Qm[7],a.Ca;if(2==b){var c=a.C.rf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Qm[c&15];c=c&32?Sm:Rm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Tm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= -(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function em(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function xn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=Bn(a);null!=a.Jb[0]&&Zn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(Zn(a,1,a.Jb[1],d,e,14,a.Uc,Om,Pm)&&(c=!0),a.Tb&&Zn(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function Zn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&($n(a,b,c,d,e,f,g,h,k)&&(l=!0),a.wn&&$n(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} -function $n(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<W||!H?W:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= -0;Ba=W-2,Sc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;ao(wa,Je,Xd,Ke);v&&ao(wa,Je+1,Xd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Ne[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.vi[F]=z;l.Ug[F]=ia;l=!0}}a.Oa[b]=q;return l}function bo(a){0a.cb&&(a.cb=0):a.cb=-1} -function An(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)co(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(co(a),a.ua=c);d=d-b+1;if(a.jg!=b||a.Ae!=d)a.jg=b,a.Ae=d;a.$a=e+1;bo(a)}}} -function co(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&eo(a,c,d,b,a.gb),eo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function fo(a){var b,c=a.C;a.gf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.Zd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==fm&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.Ie[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} -function go(a,b){var c=a.C;return c&&null!=b&&b!=c.yg?(c.Qg(b),a.ga.Qg(c.ob,c.ac,c.ih(),!0),!0):!1} -function zn(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=fo(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ga=null,null==d&&(d=a.wa);if(!yn(a,d,b))return!1;go(a,c);return!0} -function yn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Rg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){co(a);if(a.ob){if(!cc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Vb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Im[7][2];b=0;if(c=Im[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>jn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.W|0;a.Yf=a.ag/ -a.hd|0;a.Ub=a.Yf;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.W*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me= -0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0>1,a.Cd-=b);0>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ho(a,!0);tn(a)}return!0}function ao(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function io(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ho(a,b){b||(a.rb=!1);io(a)} -function eo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.yf&&(d=h.yf[d]);var k=g>>4&15;h.yf&&(k=h.yf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Ne[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Ne[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ea.drawImage(h.Ug[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.jg,g=a.Ae,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Ne[d], -e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ea.fillStyle=h.Ne[d],a.ea.fillRect(b,c+f,a.Ja,g)))} -function tn(a,b){if(a.la.ic){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Nd&32&&(c=!0));if(c||b){if(b)io(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Rg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(jo(a,d)&8||d.of&&d.of=a.Ga&& -(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ga,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.fd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Ld;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);ao(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0; -pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);nd&&(b.xh=d,d=-d|0);d%b.sh>b.mm&&(c|=1);d%b.vh>b.om&&(c|=9);b.gi=d/b.vh|0;return c}m.Jl=function(a,b){return ko(this,this.pa,a,b)};m.dn=function(a,b,c){var d=this.pa;d.Lg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Il=function(a,b){return lo(this,this.pa,a,b)};m.cn=function(a,b,c){mo(this,this.pa,a,b,c)};m.Kl=function(a,b){return no(this,this.pa,b)};m.en=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.fd=b;zn(this,!1)}; -m.Ll=function(a,b){return oo(this,this.pa,b)};m.hk=function(a,b,c){this.A.eg=this.A.eg&-4|b&3;x(this,a,b,c,"FEAT")};m.hl=function(a,b){var c=this.A.Nd;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Fk=function(a,b){var c=this.A.Tc[this.A.Nd&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Vg[this.A.Nd&31],c);return c}; -m.gk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.Ye){d.Ye=!1;var f=d.Nd&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Vg[f]),d.Tc[f]=b,ho(this,!1)}else d.Nd=b,x(this,a,b,c,"ATC.INDX"),d.Ye=!0,b&32&&!e&&xn(this,!0)&&tn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,ho(this)),d.of=0}; -m.Vl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.tf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.od)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=za().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||$a.aspect);f&&.3<=f&&3.33>=f&&(Ra("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);ob(d,c)}}); -function po(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Wa.call(this,"ParallelPort",a,po,4194304);a=a.binding;"console"==a?this.B="":nb(this,a,qo)}fb(po);var qo="buffer";m=po.prototype;m.Pb=function(a,b,c){switch(b){case qo:return this.qa[b]=this.A=c,!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Hb(a,"ChipSet");lc(b,this,ro,this.X);pc(b,this,so,this.X);ub(this)};m.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.gc=function(a){return a?this.save():!0};m.reset=function(){to(this)};m.save=function(){var a=new kf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return to(this,a[0])}; -function to(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.wl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Ul=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.sl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; -m.Qm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+t(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);uo(this)};m.Lm=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;uo(this)}; -function uo(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?gg(a.N,a.C):fg(a.N,a.C))}var ro={0:po.prototype.wl,1:po.prototype.Ul,2:po.prototype.sl},so={0:po.prototype.Qm,2:po.prototype.Lm};Sa(function(){for(var a=pb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=na(b[0]);if(c!=this.xd)return;b=na(b[1]);if(this.ia=jb(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}}; -m.hc=function(a,b){if(!b)if(this.Wi(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.gc=function(a){return a?this.save():!0};m.reset=function(){zo(this)};m.save=function(){var a=new kf(this),b=0,c=[];c[b++]=this.wa;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;N(a,0,c);return a.data()};m.restore=function(a){return zo(this,a[0])}; -function zo(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.wa=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}m.dg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.El=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c}; -m.Fl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.Hl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Gl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Ml=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c}; -m.on=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+t(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=ma("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop= -this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};m.$m=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};m.an=function(a,b,c){x(this,a,b,c,"LCR");this.B=b}; -m.bn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.dg([77,77]),y(a,"serial mouse ID sent")),Bo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Co(a),a.Hc=c),a.C=b)}; -var xo={0:vo.prototype.Rl,1:vo.prototype.Dl,2:vo.prototype.El,3:vo.prototype.Fl,4:vo.prototype.Hl,5:vo.prototype.Gl,6:vo.prototype.Ml},yo={0:vo.prototype.on,1:vo.prototype.$m,3:vo.prototype.an,4:vo.prototype.bn};Sa(function(){for(var a=pb(document,"pcx86","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}} -m.he=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case vn:if(this.aa!=b){this.aa=b;Ho(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Ho(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Ho(this,null,c,d))}; -function Ho(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);a.N.dg([e,f,g]);a.U=a.W=0}Sa(function(){for(var a=pb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return $o(a.za,f,e,c);for(e=d=0;c--;)d|=Yo(a,b++,1)<=e.hi&&a<=e.dk){d=a-=e.hi;var f,g;for(g in e.ue){var h=e.ue[g],k=a-h[0];if(!k){c=this.gg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=ep(this,b),this.tg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& -(c="dir"),f=ya()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!xa(f,null,!0,function(a,b,c){fp(g,a,b,c)})}; -function fp(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.X&&!a.X.la.ic;if(a.tg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,gp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{hb(a.controller.ce,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= -l<<2,F=p.length;Fb;b++){if(128==$o(a,e,c+0,1)){d.Zf=$o(a,e,c+8,4);(e=Zo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=$o(a,e,19,2)||$o(a,e,32,4),d.Ff=$o(a,e,14,2),d.mh=d.Ff+$o(a,e,22,2)*$o(a,e,16,1),d.wh=$o(a,e,17,2),d.Ag=$o(a,e,13,1));d.kh=d.mh+((32*d.wh+(d.Va-1))/d.Va|0);d.lm=(d.Gf-d.kh)/d.Ag|0;d.Cg=4084>=d.lm?12:16;d.Vk=12==d.Cg?4086:65526;b=[];for(e=d.mh;e>8;f+=2;if(k)for(;l--;)Yo(d,f,1),254>=k?(n=k,q=Yo(d,f+1),f+=3):(n=Yo(d,f+3,1),q=Yo(d,f+4),f+=6),d.yd[n]&&(d.yd[n].ue[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=ap(e,Vo,c))&&bp(e,g+c);g=ap(e,Wo,c);h=ap(e,To,c);g&&h&&bp(e,g,g+h)}}}} -function jp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Do=d+"\\";for(var k=0;kF)break;for(var v=p.kh+(F-2)*p.Ag,E=0;E>3,1),d?e=16==b.Cg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function Zo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function dp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wk=b;a.Xk=c;a.ud=a.Zc=0;a.Wa=!1;return a} -function ep(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ie();return ya()+"/api/v1/disk?"+c} -function lp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ie();xa(ya()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;hp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} -function mp(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ie();h.data=JSON.stringify(f);xa(ya()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.fa=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.ud+a.Zc&&(a.Zc+=f-(a.ud+a.Zc)+1):(a.ud=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):gp(this);return b}; -m.toJSON=function(){var a;a=0;for(var b;b=Zo(this,a++);)rp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function rp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function sp(a){Wa.call(this,"FDC",a,sp,524288);this.dmaRead=this.zk;this.dmaWrite=this.Ak;this.dmaFormat=this.Ok;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!Ia("Mobi")&&window&&"FileReader"in window}fb(sp);aa={}; -var tp={3:{Ud:3,ge:0,name:aa.bo},4:{Ud:2,ge:1,name:aa.$n},5:{Ud:9,ge:7,name:aa.lo},6:{Ud:9,ge:7,name:aa.Vn},7:{Ud:2,ge:0,name:aa.Xn},8:{Ud:1,ge:2,name:aa.ao},10:{Ud:2,ge:7,name:aa.Wn},13:{Ud:6,ge:7,name:aa.Hn},15:{Ud:3,ge:0,name:aa.Zn}};m=sp.prototype; -m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&up(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&vp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= -d.A[a])?(a=a.za)?(a=Ja(qp(a),"octet-stream",!0,a.Pg.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;vp(d,fa(b,!0),b,a)}return!1};return!0}return!1}; -m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Hb(a,"ChipSet");if((this.U=Qc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}wp(this);lc(b,this,xp);pc(b,this,yp);zp(this,"None","",!0);this.ia&&zp(this,"Local Disk","?");zp(this,"Remote Disk","??");Ap(this)||ub(this)}; -m.hc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.gh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e}m.Ji=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; -function Ap(a,b){b||(a.ea=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gDp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.nk=c,a.Ke=d,Ep(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.ye||e),a.Bg=f[0],a.Nf=f[1],a.Of=f[2],this.X&&this.X.wd()):a.af=!1;a.ye&&(a.ye=!1,--this.ea||ub(this));up(this,a.hb)}; -function zp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -m.Sm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=tp[a].Ud){b=!1;this.L=0;a=Fp(this);var d,e,f,g,h=a&31;switch(h){case 3:Fp(this);Fp(this);Gp(this);break;case 4:c=Fp(this);this.hb=c&3;d=this.A[this.hb];Gp(this);Hp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Fp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Fp(this);e=Fp(this);f=d.xb=Fp(this);g=Fp(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Ip(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Fp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Fp(this);d.Hb=128<>2&1,c=Fp(this),d.Qb+=c-d.ee,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ee=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Gp(this),b=!0}0>>8);Hp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Hp(a,e+k);Hp(a,f);Hp(a,g);Hp(a,h)}function Fp(a){var b=a.V[a.L];a.L++;return b}function Gp(a){a.L=a.C=0}function Hp(a,b){a.V[a.C++]=b}m.zk=function(a,b,c){void 0===b||0>b?this.He(a,c):c(-1,!1)};m.Ak=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; -m.Ok=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.ld[a.Ve++]=c;if(a.Ve==a.ld.length){a.Qb=a.ld[0];a.kb=a.ld[1];a.xb=a.ld[2];a.Hb=128<Jp(a,a.Ai)){c=-1;break a}a.og++}a.og>=a.fe&&(c=-1)}else c=-1;return c};m.He=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Kp(a)}while(1)}b(c,!1,d,e)}; -function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Kp(a)}while(1);return b}function Kp(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Qb++))}var xp={1009:sp.prototype.yl,1012:sp.prototype.Al,1013:sp.prototype.xl,1015:sp.prototype.zl},yp={1010:sp.prototype.Tm,1013:sp.prototype.Sm,1015:sp.prototype.Rm}; -Sa(function(){for(var a=pb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.be,k.kb,k.xb+ -k.ng)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Ji=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; -function Up(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Pe[2])?e=b.Pe[0]<<8|b.Pe[1]:c=b.type);null==c||d||(d=Np[a.U][c][1],e=Np[a.U][c][0]);d&&((c=Np[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Io(a,b,b.mode)))}} -m.pk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.be=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; -function Sp(a,b){b||(a.ea=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.qn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Vp(this))};m.am=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.He(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.Dk=function(a,b){return Wp(this,a,b)|Wp(this,a,b)<<8}; -function Yp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.zm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.gl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.Em=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.il=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -m.Cm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.jl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Dm=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.el=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.ym=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.dl=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.xm=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.fl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -m.Am=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.kl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.wm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&fg(this.N,14);$p(this)};m.Bm=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b}; -function $p(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.be=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.He(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} -function Xp(a){!a.N||a.fa&2||gg(a.N,14,120)} -function Vp(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.be=k,p.kb=f,p.xb=l,p.Hb=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?this.He(a,c):c(-1,!1)};m.Ck=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; -m.Pk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.Ai)){c=-1;break a}a.og++}a.og>=a.fe&&(c=-1)}else c=-1;return c}; -function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Al(a.N,3,a,"dmaRead",b);sl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Al(a.N,3,a,"dmaWrite",b);sl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function fq(a,b,c){b.errorCode=4;b.Qe&&b.Qe.length==b.Hb||(b.Qe=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,Al(a.N,3,a,"dmaWriteBuffer",b),sl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -m.He=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.be,a.kb,a.xb+a.ng,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.be,a.kb,a.xb+a.ng,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.ng;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.be++))}m.bm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1}; -var Pp={800:Lp.prototype.$l,801:Lp.prototype.am,802:Lp.prototype.Zl},Op={496:Lp.prototype.Dk,497:Lp.prototype.gl,498:Lp.prototype.il,499:Lp.prototype.jl,500:Lp.prototype.el,501:Lp.prototype.dl,502:Lp.prototype.fl,503:Lp.prototype.kl},Rp={800:Lp.prototype.qn,801:Lp.prototype.tn,802:Lp.prototype.sn,803:Lp.prototype.rn,807:Lp.prototype.ii,811:Lp.prototype.ii,815:Lp.prototype.ii},Qp={496:Lp.prototype.zm,497:Lp.prototype.Em,498:Lp.prototype.Cm,499:Lp.prototype.Dm,500:Lp.prototype.ym,501:Lp.prototype.xm, -502:Lp.prototype.Am,503:Lp.prototype.wm,1014:Lp.prototype.Bm};Sa(function(){for(var a=pb(document,"pcx86","hdc"),b=0;b>2;this.Ba=b.zg;this.bc=new fd(this.F,7,"DBG");this.Ga=yq;80186<=this.F.ja&&(this.Ga=yq.slice(),this.Ga[15]=wq,80286<=this.F.ja&&(this.Ga[15]=xq,80386<=this.F.ja&&(this.Ja=8)));Ok(this,64,function(a){Cq(d,d.F.kd,a[0])});Ok(this,4,function(a){if(a=a[0]){var b=Dq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Eq(d, -b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Fq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Gq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ -" dpl="+t(a.Gc))}}else d.O("no selector")});Ok(this,134217728,function(a){var b;(a=a[0])&&(b=Dq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Hq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Iq(d,a,8)+'"');b+=1+k}});Ok(this,128,function(a){Cq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Ok(this,8,function(a){a:{if(a=a[0]){var b=Dq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Eq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Jq:Kq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=Kf(d.F,n,2),2304==c&&(q|=Kf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=Kf(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;ef(this.F,48,this.em.bind(this));ef(this.F,65,this.fm.bind(this)); -this.ka=null;ef(this.F,104,this.gm.bind(this));ub(this)};function Lq(a,b,c,d,e,f){b=Iq(a,b);var g=Eq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Mq(a,b,c);e[b+h]=0;dm(a,b,c,d,0,null,g,e)} -function Nq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Iq(a,b).toUpperCase();var k=Iq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Mq(a,k,e);c[k+l]=g;dm(a,k,e,f,g,null,h,c)}function Oq(a,b,c){c=Iq(a,c).toUpperCase();Pq(a,c,b)} -m.em=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Nq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; -m.fm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&ff(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Lq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Pq(this,null,d); -break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Qq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Rq(a)),this.Rd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Nq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Oq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; -m.gm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;ff(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=hd(b.va,this.Kk.bind(this)))&& -(b.J=a[0],xd(b,a[1]));break;case 72:Pq(this,null,e);break;case 80:32==c?Lq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Lq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Nq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Kk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;gd(a,!0,!0,!1)}}return a}m.cc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Eq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};m.Qa=function(a,b){var c=255,d=this.cc(a,!1,1);-1!==d&&(c=Kf(this.F,d,1,5==a.type)|0,b&&Tq(this,a,b));return c}; -m.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.cc(a,!1,2);-1!==d&&(c=Kf(this.F,d,2,5==a.type),b&&Tq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.cc(a,!1,4);-1!==d&&(c=Kf(this.F,d,4,5==a.type),b&&Tq(this,a,b));return c};m.qc=function(a,b,c,d){var e=this.cc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].vf(e&f.A,b&255,e)}c&&Tq(this,a,c);d||Wc(this.F,!0)}}; -m.jb=function(a,b,c){var d=this.cc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):jc(this.ga,d,b),c&&Tq(this,a,c),Wc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Uq(a,{},b,c,d,e,f,g)}function Uq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||(Sq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.ba;b.oc=null!=h?h:a.F&&4==a.F.va.Oc;b.Vd=!1;return b}function Vq(a){return[a.Ra,a.Z,a.Ea,a.Vd,a.Rb,a.oc,a.Se,a.eh]}function Wq(a){return{Ra:a[0],Z:a[1],Ea:a[2],Vd:a[3],Rb:a[4],oc:a[5],Se:a[6],eh:a[7]}} -function Xq(a,b,c){if(null!=b.Z&&(a=Eq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=$q(a,b,void 0),f=null):(f=$q(a,b,void 0),null==f&&(g=null)):(h=$q(a,b.substring(0,f),void 0),g=$q(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Xq(a,e,!0)||(a.O("invalid offset: "+Rq(e)),e=null));return e}function ar(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Gk=br(a,b.mk=c[2]))}function Tq(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,Xq(a,b)||(b.Ra=0,b.Ea=null))}function Hq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} -function Rq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Ea):b+Hq(a.Ra,a.Z,a.oc)}function Iq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Ic(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Zb[c],6==c&&(d=d.Bd,h+=" -> "+Zb[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=va(uq,a.substr(b,2))));return c} -function er(a,b){var c=0,d=fr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -function fr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=yd(d);break; -case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ja)32==b&&(c=d.Za);else if(80386<=a.F.ja)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.li;break;case 34:c=d.se;break;case 35:c=d.Od;break;case 20:c=d.Nb.Z;break;case 21:c=d.Ob.Z;break;case 56:c=K(d)}}}return c} -function gr(a,b){b=Zq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=dr(b,c+1),0<=e&&(b=b.substr(0,c)+er(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(d=e+' "'+Iq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Yq(a,e))?(Tq(a,d),d=e+ -' "'+Iq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Rq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ha)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.fb-=c.A;c.A=0;c.Y.lf=0;Wc(c)}}; -function mk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Ab[b])&&g[e]||"")&&(g=" "+gr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Hq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} -function qb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.xd+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Hq(e,h):""))}m.jh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.pd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; -function kq(a,b){var c;if(Vf(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Rd(e&f.Fa,a==this.fa);g&&Yb(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Vd=!0):(mr(this,a,a.length-1,"set"),kq(this)));return d}; -function Qq(a,b,c,d,e){for(var f=!1,g=nr(a,a.cc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Aq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Bq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==l? -n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.oc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var W=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.oc&&6==ia||H.oc&&5==ia))bb=2;else{if(H.oc)if(4!= -ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Wb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Wb&&(wa&&(wa+="+"),wa+=vq[Wb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.oc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==W){v="";E&=15;4==E&&(E=H.Rb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; -break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=rr(v,ia,E,H);v=P}else v=160==L?rr(a,g&7,E,b):rr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= -iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Rb,L.oc);E=Rq(L);v=sr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.oc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Rb?-1:65535),v=r(E,b.Rb?8:4),E=sr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":rr(a,(E&3840)>>8,E,b):112==L?v=rr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< -q.length&&(q+=",");q+=v||"???"}}}g="";k=Rq(e)+" ";if(-1!==e.Ea&&-1!==b.Ea){do if(g+=r(a.Qa(e,1),2),null==e.Ea)break;while(e.Ea!=b.Ea)}k+=ma(g,e.oc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.jaa.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return uq[b]} -function ur(a,b){var c;switch(b){case "V":c=wf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=vf(a.F);break;case "Z":c=uf(a.F);break;case "A":c=tf(a.F);break;case "P":c=sf(a.F);break;case "C":c=rf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Gq(a){return r(a,a&-65536?8:4)}function vr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+wr(a,a.F.va,b)+" ";80386<=a.F.ja&&(e+="\n",c+=wr(a,a.F.Nb,b)+" "+wr(a,a.F.Ob,b)+"\n");c+=xr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+xr(a,"GD",null,a.F.Ec,a.F.zd)+" "+xr(a,"ID", -null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+vr(a,32);80386<=a.F.ja&&(c+=vr(a,34)+vr(a,35))}else 80386<=a.F.ja&&(c+=wr(a,a.F.Nb,b)+" "+wr(a,a.F.Ob,b)+" ");return c+=vr(a,23)+ur(a,"V")+ur(a,"D")+ur(a,"I")+ur(a,"T")+ur(a,"S")+ur(a,"Z")+ur(a,"A")+ur(a,"P")+ur(a,"C")}var zr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ar(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function $q(a,b,c){var d;if(b){b=Zq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=pa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({gg:b,pm:c,Z:d,Ra:e,Ea:f,hm:g,Qd:h,ui:l})} -function Pq(a,b,c){for(var d=0;d>>0,f=a.cc(b)>>>0,g=0;g>>0,n=h.Ea;null!=n&&(n>>>=0);var q=h.hm;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Rq(b)),n=!0):(a.qc(b,c,1,!0),l++)})})(a,g);Wc(a.F, -!0);a.O(l+" bytes read at "+c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function ir(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), -k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; -break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":wd(a.F,h);break;case "ES":xd(a.F,h);break;case "SS":ld(a.F,h);break;case "CS":mf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":zd(a.F,h);break;case "C":h?yf(a.F):zf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= --3,e.ca&=-5);break;case "A":h?Gf(a.F):Ef(a.F);break;case "Z":h?Hf(a.F):Ff(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?Af(a.F):Bf(a.F);break;default:var l=!0;if(80286<=a.F.ja)switch(l=!1,k){case "MS":If(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ja)switch(l=!1,k){case "EAX":a.F.G=h; -break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.Za=h;rj.call(a.F,h);break;case "CR2":a.F.se=h;break;case "CR3":a.F.Od=h;Bd.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Wc(a.F);a.O("updated registers:")}}a.O(yr(a,d));c&&(a.aa= -iq(a,K(a.F),a.F.va.Z),jr(a,Rq(a.aa)))}}function Jr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(gr(a,c[2])):$q(a,b,!0)}function Kr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=qr(a,b,g,f);b.eh||d||d++;a.O(f);a.aa=b;e-=b.Ea-k;c++}}} -function br(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} -function pr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Da&&(a.O("ended assemble at "+Rq(a.ua)),a.aa=a.ua,a.Da=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(vb(a)&&0n||"z">>20;Da.xi=a.F.Od+Da.ek;Da.yb=ce.sa[(Da.xi&ce.Gb)>>>ce.La];Da.Xi=Da.yb.Md(Da.ek);Da.fk=(Ue&4190208)>>>10;Da.yi=(Da.Xi&-4096)+Da.fk;Da.zb=ce.sa[(Da.yi&ce.Gb)>>>ce.La];Da.Yi=Da.zb.Md(Da.fk);Da.Ik=(Da.Yi&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+cr(be.xi,be.Xi)),pd=pd+(" %%"+cr(be.yi,be.Yi,!0)), -pd=pd+(" %%"+r(be.Ik));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Ir(a,P);break a}for(bb in Bb)if(P[1]==bb){var Cn=a.$a[bb];Cn?(P.shift(),P.shift(),Cn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Dn=ja,En=Ha,Fn="",Gn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+Dn||a.Ub,de=+En||10;isNaN(Eb)?Eb=de:Fn="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length); -tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==En&&(de=1E5,li=["CALL"]);for(void 0!==Dn&&a.O(Eb+" instructions earlier:");0=tc.length&&(tb=0);a.Ub=Eb;Gn++;de--}}Gn||(a.O("no "+Fn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); -var mi=P[0];if(mi){var We=Dq(a,mi);if(void 0===We||0>We||255>> -0,65536>4||1;hs--&&0ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var vg=1,Ln=255,Mn=a.Qa,Nn=a.qc;"ew"==g[0]&&(vg=2,Ln=65535,Mn=a.na, -Nn=a.jb);var On=vg<<1,Pn=g[1];if(null==Pn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var wg=Yq(a,Pn);if(wg)for(var xg=2;xgvi;){for(var uc=null,ms=256;Uc.Ra>>>0>>0;){af.Ra=a.tb(Uc,!0);if(null==Uc.Ea||!ms--)break;af.Z=Rn;if(uc=Kr(a,af))break;af.Z=a.tb(Uc);if(uc=Kr(a,af,!0)){Rn=a.tb(Uc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bPr){if(d.load(this.aa)){this.X=new kf(this,"1.24.2","failsafe");this.X.load()&&(Wr(this,d),a=2,Xr(this.X));N(this.X,"timestamp",ra());Yr(this.X);var e=this.A&&!this.V;if(1==a||Aa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Ur(d)){var f=Vr(d,"code"),g=Vr(d,"data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ga("user",""),this.B=null)):this.O(f+": "+g),Xr(d),d.load()?(c=Ur(d),e=!0):c=!1))}e&&Tr(this,c?d:null)}else 2==a&&d.clear()}else Tr(this);delete this.aa;delete this.ea}e=ib(this.id);for(f=0;fa[1];a=a[2];this.wa=!0;this.la.ic=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(Zr(this,this.F,b,c,a),this.F.Af());this.ka&&(Wr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function Wr(a,b){if(Aa("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ie(),d=b.toString(),e={app:"PCx86",ver:"1.24.2"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;xa("http://www.pcjs.org/api/v1/report",e,!0)}} -function Mr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new kf(a,"1.24.2"),g=new kf(a,"1.24.2","validate"),h=ra();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.24.2");N(f,"url",window?window.location.href:null);N(f,"browser",za());a.F&&a.F.gc&&(c&&a.F.Wb(),d=a.F.gc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.ic=!1,!1===d&&(e=null)));for(var h=ib(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.dh=0;for(e.Td=0;h<=f;)g=d.sa[h],e.dh+=g.size,g.size&&(e.Tg.push(ta(Kb,h,0,0,g.type)),e.Td++),h++;c.A=e;c.ya=c.A.Td*c.ga.Sb/691200;d=0;c.A.Di=0;c.A.zf||(c.A.zf=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.W>>1)-2,Mb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Mb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} -Sa(function(){for(var a=pb(document,"pcx86-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PCx86$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2"));h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");xa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);qs(a,b,c)}})}else c(a,null)} -function rs(a,b,c,d){function e(a){if(void 0===h){var b=g&&pb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--cs||Ua(!0));k=!1}var g,h,k=!0;cs++;gb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcx86/1.24.2/components.xsl");l=function(d,h){h?ds(c,null,null,!1,e,function(d,k){if(k)if(hb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--cs||Ua(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--cs||Ua(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?ds(b,a,d,!0,e,l):es(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}function ss(a,b,c,d){Ua(!1);return rs(a,b,c,d)}window.embedPC=ss;window.embedPCx86=ss;window.enableEvents=Ua;window.sendEvent=Va; -function ts(a,b,c,d){if(!c&&b){d.push(b);a=gb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?xa(b,null,!0,function(a,b){us(b,d)}):us(null,d)}else w("Error ("+c+") requesting "+a)} -function us(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=gb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),c=Ja(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,resetAddr:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - device - ,name:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.30.0/document.css b/versions/pcx86/1.30.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.30.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.30.0/document.xsl b/versions/pcx86/1.30.0/document.xsl deleted file mode 100644 index 0f10fee3f..000000000 --- a/versions/pcx86/1.30.0/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.30.0/machine.xsl b/versions/pcx86/1.30.0/machine.xsl deleted file mode 100644 index 44eba4a11..000000000 --- a/versions/pcx86/1.30.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.0/manifest.xsl b/versions/pcx86/1.30.0/manifest.xsl deleted file mode 100644 index 308c9652a..000000000 --- a/versions/pcx86/1.30.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.30.0/outline.xsl b/versions/pcx86/1.30.0/outline.xsl deleted file mode 100644 index 2ff6bea45..000000000 --- a/versions/pcx86/1.30.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.0/pcx86-dbg.js b/versions/pcx86/1.30.0/pcx86-dbg.js deleted file mode 100644 index 590af5c84..000000000 --- a/versions/pcx86/1.30.0/pcx86-dbg.js +++ /dev/null @@ -1,823 +0,0 @@ -(function(){var l,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]},p={uo:1,dl:3,vo:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ue:65,Bi:66,Ci:67,Di:68,E:69,Ei:70,Fi:71,Gi:72,Hi:73,Ii:74,Ji:75,Ki:76,Li:77,Mi:78,Ni:79,Oi:80,Q:81,Pi:82, -Qi:83,Ri:84,Si:85,Ti:86,Ui:87,Vi:88,Wi:89,ng:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ve:97,ol:98,ql:99,d:100,e:101,Al:102,Bl:103,Cl:104,Dl:105,Tm:106,k:107,Um:108,Ym:109,n:110,en:111,p:112,q:113,r:114,lo:115,t:116,oo:117,po:118,qo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"];ca[192]=p["`"];ca[219]=p["["];ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"]; -da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"]; -function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=1;return c}function ha(a,b,c){var d="";if(!b||4>=8;return(c?"0b":"")+d} -function ia(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d}function r(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)} -function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function sa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var va=[31,28,31,30,31,30,31,31,30,31,30,31]; -function wa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.vh|g<>a.shift}function ya(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.xd=this.id:(this.ce=this.id.substr(0,b),this.xd=this.id.substr(b+1));this[a]=c;this.la={ready:!1,Ff:!1,hh:!1,ic:!1,error:!1};this.yg=null;this.la.error=!1;this.qa={};this.ha=null;this.wc=d||0;cb.push(this)}var db=void 0,eb={}; -if(window){db||(db=window.location.search.substr(1));for(var fb,gb=/\+/g,hb=/([^&=]+)=?([^&]*)/g;fb=hb.exec(db);)eb[decodeURIComponent(fb[1].replace(gb," "))]=decodeURIComponent(fb[2].replace(gb," "))}function ib(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 jb(a,b){b||(b=bb);a.prototype=ib(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var lb=window.PCjs.Machines||(window.PCjs.Machines={}),cb=window.PCjs.Components||(window.PCjs.Components=[])}else lb={},cb=[];function mb(a,b,c){lb[a]&&b&&(lb[a][b]=c)}function nb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Hb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Hb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}l=Fb.prototype;l.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)}; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};l.hc=function(a,b){b||Kb();return!0};l.gc=function(){return!0};l.he=function(a,b){a.button||(this.ea=b?0:-1,Mb(this,a,b))};l.Kf=function(a){Mb(this,a)}; -function Mb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Se)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ob(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Pb(a,"Mouse over memory to dump");else for(Pb(a,r(b,8,!0),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Pb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Pb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.qb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}l.pd=function(){};function Qb(a,b,c,d){a.A.Bf[a.A.fj++]={El:b,Td:c,type:d};return wa(Nb,b,c,0,d)}function Ob(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")} -function Pb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Kb(){for(var a=!1,b=tb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Sb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Qe+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Qe){n=k.size-(f-m);n>g&&(n=g);k.Qe=f-k.Ea+n;f=m+a.Sb;g-=n;h++;continue}}return Wb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Sb(f,a.ha,k);a.sa[h++]=f;f=m+a.Sb;g-=n}return 0>=g?(Xb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Yb[d]+" at "+r(b)),!0):Wb(a,2,b,c)} -var Nb,$b={Hk:20,count:8,Ko:1,type:3},ac=0,bc;for(bc in $b){var cc=$b[bc];$b[bc]={vh:(1<>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -l.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function mc(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].fg(c,b):a.sa[d++].re(c,b)|a.sa[d&a.ga].re(0,b+1)<<8}l.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};l.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function nc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].zi(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))} -l.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};l.xj=function(){return null}; -function oc(a,b){var c=0,d=[],e=!a.X&&a.Dg==a.Gb;e||Tb(a,!0);for(var f=0;f>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&Ac(a.ha,b,k)}else a.ha&&(ub(a.ha,a,b,k,e),a.V&&Ac(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Wb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var Bc;if(Ab){var Cc=new ArrayBuffer(2);(new DataView(Cc)).setUint16(0,256,!0);Bc=256===(new Uint16Array(Cc))[0]}else Bc=!1;var ic=Bc; -function B(a,b,c,d,e,f){this.id=Dc+=2;this.da=null;this.C=0;this.Ea=a;this.Qe=b;this.size=c||0;this.type=d||Ec;this.N=d==hc;this.controller=null;this.F=f;Sb(this);this.Wa=this.tj=!1;if(c)if(e)this.controller=e,a=e.wj(a),this.da=a[0],this.C=a[1],fc(this,e.nh());else if(Ab)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Za=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),fc(this,ic?jc:kc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,qh:function(a){this.Ea=a},save:function(){var a,b;if(this.controller)a=null;else if(Ab)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b,c){this.sc(a++, -b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2;a=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2;a=(a&3)<<3;24>a?this.da[c]=this.da[c]&~(65535<< -a)|b<>8);this.Wa=!0},Wc:function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<>>32-a}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Ea&&Kc(this.ha,this.Ea+a)||this.F&&Lc(this.F,b,1,!1);return this.re(a,b)},qb:function(a,b){this.ha&&null!=this.Ea&&Kc(this.ha,this.Ea+a,2)||this.F&&Lc(this.F,b,2,!1);return this.fg(a,b)},Pa:function(a,b){this.ha&&null!= -this.Ea&&Kc(this.ha,this.Ea+a,4)||this.F&&Lc(this.F,b,4,!1);return this.si(a,b)},bc:function(a,b,c){this.ha&&null!=this.Ea&&Mc(this.ha,this.Ea+a)||this.F&&Lc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Ea&&Mc(this.ha,this.Ea+a,2)||this.F&&Lc(this.F,c,2,!0);this.N?this.L(a,b,c):this.zi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Ea&&Mc(this.ha,this.Ea+a,4)||this.F&&Lc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= -this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|= -this.V;this.Bd.yf(a,b,c)},Ka:function(a,b){return Nc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Nc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Nc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Nc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Nc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Nc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Za[a]},aa:function(a){return this.Za[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Za[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>> -2]},Ub:function(a,b){this.Za[a]=b;this.Wa=!0},ra:function(a,b){this.Za[a]=b;this.Wa=!0},uc:function(a,b){this.Za[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Sb(a,b,c){a.ha=b;a.ze=a.Ae=0;c&&(c.F&&(a.F=c.F),(a.ze=c.ze)&&Hc(a,Ic,!1),(a.Ae=c.Ae)&&Jc(a,Ic,!1))} -function Oc(a){a.sc=a.N?a.L:a.xf;a.zf=a.N?a.W:a.zi;a.yf=a.N?a.U:a.ua}function Pc(a){a.pc=a.re;a.sf=a.fg;a.Md=a.si}function Jc(a,b,c){c&&a.Ae||(a.sc=!a.N&&b[1]||a.L,a.zf=!a.N&&b[3]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[1]||a.L,a.zi=b[3]||a.W,a.ua=b[5]||a.U}function Hc(a,b,c){c&&a.ze||(a.pc=b[0]||a.ia,a.sf=b[2]||a.ka,a.Md=b[4]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.fg=b[2]||a.ka,a.si=b[4]||a.ea}function fc(a,b,c){b||(b=5==a.type?Qc:6==a.type?Sc:Tc);Hc(a,b,c);Jc(a,b,c)} -var Tc=[],lc=[B.prototype.Fa,B.prototype.tc,B.prototype.sb,B.prototype.Cd,B.prototype.Ya,B.prototype.Wc],Ic=[B.prototype.Da,B.prototype.bc,B.prototype.qb,B.prototype.sd,B.prototype.Pa,B.prototype.Vc],Sc=[B.prototype.Ja,B.prototype.Cc,B.prototype.Jb,B.prototype.Gd,B.prototype.fb,B.prototype.hd],Qc=[B.prototype.Ka,B.prototype.Uc,B.prototype.xd,B.prototype.Hd,B.prototype.gb,B.prototype.jd]; -if(Ab)var kc=[B.prototype.Ca,B.prototype.Ub,B.prototype.Tb,B.prototype.qd,B.prototype.Oa,B.prototype.ce],jc=[B.prototype.aa,B.prototype.ra,B.prototype.pa,B.prototype.ya,B.prototype.fa,B.prototype.va],Vc=[B.prototype.Ga,B.prototype.uc,B.prototype.Db,B.prototype.Fd,B.prototype.cb,B.prototype.Xc]; -function Wc(a,b){bb.call(this,"CPU",a,Wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Y={};this.Y.Id=b;this.Y.Wd=c;this.Y.Ag=Math.round(this.Y.Id/1E4)/100;this.Y.He=this.Y.Ag*this.Y.Wd;this.la.Ib=!1;this.la.yi=!1;this.la.Cf=a.autoStart;this.la.oj=!1;this.la.Xe=!1;this.Y.Lf=this.Y.kf=0;this.Y.Mf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.Ai=this.Ne.bind(this);xb(this)}jb(Wc);var Xc=["power","reset"];l=Wc.prototype; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=cd(a)&&(a.Y.jf=a.Y.lf=-1,$c(a),a.Wb(),c=!0);c&&a.O(cd(a)+" cycles: checksum="+r(a.Y.Lf))}} -l.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.ic)a=!0;else{var b=null,c,h=nb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.Ag&&(c=Math.round(c/a.Y.Wd));return c}function Zc(a){a.Y.ne=0;a.uc=a.Ub=a.fb=a.A=0;$c(a);dd(a,1)} -function dd(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.ne/a.Y.He?b=1:d=!0;a.Y.Wd=b;b=a.Y.Ag*a.Y.Wd;if(a.Y.He!=b){a.Y.He=b;b=a.Y.He.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.wd()}fd(a,a.Ub);a.Ub=0;a.Y.oe=ta();a.Y.Ie=0;gd(a);return d} -l.Ne=function(a){if(vb(this,!0)){if(!this.la.Ib){dd(this);this.X&&this.X.start(this.Y.oe,cd(this));this.la.Ib=!0;this.la.yi=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.pd(!0),a&&this.X.wd(!0))}this.Y.Bh>=this.Y.Id&&gd(this,!0);this.Y.Pf=0;this.Y.Bg=ta();this.Y.Ie&&(a=this.Y.Bg-this.Y.Ie,a>this.Y.Dj&&(this.Y.oe+=a,this.Y.oe>this.Y.Bg&&(this.Y.oe=this.Y.Bg)));try{do{var c=this.la.Xe?1:this.Y.bn;if(this.N){hd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.De){var f= -(cd(d.F,d.ka)-e.vd)/d.gb|0,g=id(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var m=k.ua-cd(k.F,k.ka);0m&&(a=m)}c=a}try{this.wf(c)}catch(t){if("number"!=typeof t)throw t;}var n=this.fb-this.A;this.Ub+=n;this.Y.Pf+=n;fd(this,0,!0);bd(this,n);this.Y.Of-=n;0>=this.Y.Of&&(this.Y.Of+=this.Y.Fj,this.X&&jd(this.X));this.Y.Nf-=n;0>=this.Y.Nf&&(this.Y.Nf+=this.Y.Ej,this.X&&this.X.pd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.Ah; -break}}while(this.la.Ib)}catch(t){this.Wb();ad(this);this.X&&this.X.stop(ta(),cd(this));vb(this,!1);zb(this,t.stack||t.message);return}c=setTimeout;d=this.Ai;this.Y.Ie=ta();e=this.Y.Dj;this.Y.Pf&&(e=Math.round(e*this.Y.Pf/this.Y.Ah));e-=this.Y.Ie-this.Y.Bg;if(f=this.Y.Ie-this.Y.oe)this.Y.ne=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&hd(this.N,!0),dd(this));if(0>e||this.Y.nee&&(this.Y.oe-=e),e=0;this.Y.Bh+=this.Y.Pf;this.Y.Ie+=e;c(d,e)}else ad(this),this.X&&this.X.stop(ta(), -cd(this))};l.wf=function(){return 0};l.Wb=function(a){wb(this,!0);this.fb-=this.A;this.A=0;fd(this,this.Ub);this.Ub=0;if(this.la.Ib){this.la.Ib=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.complete=a};function ad(a,b){a.X&&(jd(a.X,b),a.X.pd(b))} -function kd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.kc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Tc=2;this.R=this.Ba=65535;this.X=this.uh;this.ga=this.ij;this.qa=this.kj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.$f=0,this.C=null,this.df=!1,this.N=Array(32),this.B=[]);ld(this,!0,d)}function md(a,b){a.B.push(b);return[a.B.length,1]}l=kd.prototype; -l.uh=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};l.zg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,nd(this,c,a,b);6>this.id&&E.call(e,b&&3==this.id?10:13,a&65532)}return-1};l.Xm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -l.Wm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=nd(this,c,a),-1!==a&&(a+=this.$f),a;E.call(b,13,a|2);return-1};l.ij=function(a){return this.Aa+a|0};l.kj=function(a){return this.Aa+a|0};l.hj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.tg()};l.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.tg()};l.tg=function(){E.call(this.F,13,0);return-1};l.jj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.ug()}; -l.tl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.ug()};l.ug=function(){E.call(this.F,13,0);return-1};function sd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ld(a,!0)}function td(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ld(a,!0)} -function nd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ld(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,m=e.na(b+6),n=c&65528;if(80386<=e.ja){var t=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.df=!1;if(q&&1==c&&a.B.length){var A=a.B[a.$f-1];if(A&&!A())return-1}var F=c&3,C=(g&24576)>>13,A=-1,D,L;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(A=H(e),ud(e,H(e),!0),I(e,A),a.df=!0),A=0);else{if(256==h||2304==h)return vd(a,c,q)?a.Aa:-1;if(1024==h)A=2,L=0,Fh||2048==(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,12,c&65532),-1;break; -case 4:q=h&-513;if(!n||256!=q&&2304!=q)return E.call(e,13,c&65532),-1;2304==q&&(a.Zi=k+e.na(k+102)|0,a.ml=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=m,a.Xb=b,ld(a,!0,!0,!1));return k} -function vd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,M(d)),d.jb(g+16,Cd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,J(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.wa.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Dd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Ed(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ld(a,b,c,d){void 0===c&&(c=!!(a.F.$a&1));a.bd=!1;if(c)if(a.load=a.zg,a.Cj=a.Wm,a.mc=a.hj,a.nc=a.jj,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Tc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.tg,a.nc=a.ug;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.tg);if(a.type&2048||!(a.type&512))a.nc=a.ug;1024==(a.type&3072)&&(a.mc==a.hj&&(a.mc=a.sl),a.nc==a.jj&&(a.nc=a.tl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&(c= -a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Tc=a.ba,a.Ba=a.R)}else a.load=a.uh,a.Cj=a.Xm,a.mc=a.ij,a.nc=a.kj,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Gd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Wc.call(this,a,b);this.ag=61442;this.Cc=1792;this.Zf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Cb:Bb;this.W=Hd;this.eg=Id;this.kg=Jd;this.lg=Kd;if(80186<=this.ja&&(this.W=Hd.slice(),this.eg=Id.slice(),this.kg=Jd.slice(),this.ra=31,this.W[15]=Ld,this.W[96]=Md,this.W[97]=Nd,this.W[98]=Od,this.W[99]=Ld,this.W[100]=Ld,this.W[101]= -Ld,this.W[102]=Ld,this.W[103]=Ld,this.W[104]=Pd,this.W[105]=Qd,this.W[106]=Rd,this.W[107]=Sd,this.W[108]=Td,this.W[109]=Xd,this.W[110]=Yd,this.W[111]=Zd,this.W[192]=ee,this.W[193]=fe,this.W[200]=ge,this.W[201]=he,this.W[241]=ie,this.eg[7]=je,this.kg[7]=je,80286<=this.ja)){this.ag=2;this.Cc|=28672;this.Cd=0;this.W[15]=ke;this.tc=le.slice();for(a=0;a=this.Uc&&(this.tc[166]=te,this.tc[167]=ue)}}this.Hd=[];this.je=[];this.le=0;Zc(this);this.la.complete=this.la.nj=!1;this.Wg=0;this.kd=this.sa=[];this.La=this.Sb=this.Fa=this.Fd=this.hd=this.Gb=this.Db=0;ve(this)}jb(Gd,Wc);function we(a,b,c,d){b=(d?a.kd:a.sa)[b>>>a.La];c?--b.Ae||Oc(b):--b.ze||Pc(b);d&&Xb(a)} -function xe(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Sb(a.ke,a.ha);for(b=0;ba.me&&(a.dg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function Xb(a){a.$a&-2147483648&&xe(a)} -function Nc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||ye.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||ye.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b&=-4096;var m;0>2;b.zb=g;b.B=h>>2;Ab&&ic&&c.da&&!c.controller&&!c.ze&&!c.Ae?(b.Za=c.Za,b.de=c.de,b.da=c.da,fc(b,Vc)):(b.ga=c?Gc(32):0,b.V=c?Gc(96):0,fc(b,Sc));Sb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ze(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}l=Gd.prototype;l.reset=function(){this.la.Ib&&this.Wb();ve(this);Zc(this);this.la.error=!1}; -function Ae(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=J(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function Be(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:I(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function ve(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.mg=0;a.L=0;a.$a=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.qb=-1;a.bc=a.sb=-1;a.qe=a.U=-1;a.wa=new kd(a,1,"CS");a.vb=new kd(a,2,"DS");a.Xa=new kd(a,2,"ES");a.ta=new kd(a,3,"SS");I(a,0);ud(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.$a=16;a.ti=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ee=[null,null,null,null,null,null,0,0];a.Nb=new kd(a,2,"FS");a.Ob=new kd(a,2,"GS");ze(a)}a.rf=new kd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Ed(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new kd(a,5,"LDT",!0);a.Sa=new kd(a,4,"TSS",!0);a.Da=new kd(a,6,"VER",!0);Ed(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.wa.Ta>>>0)+1}Dd(a,0);wd(a)} -function Ce(a){2==a.Tc?(a.cc=a.na,a.Oa=De,a.Ya=Ee,a.Jb=Fe,2==a.ba?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=Le,a.ea=Me,a.ya=Ne)):(a.cc=a.oa,a.Oa=Oe,a.Ya=Pe,a.Jb=Qe,2==a.ba?(a.V=cf,a.ea=df,a.ya=ef):(a.V=ff,a.ea=gf,a.ya=hf))}function xd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,jf(a))}function jf(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Tc?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=cf,a.ea=df,a.ya=ef)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Tc?(a.V=Le,a.ea=Me,a.ya=Ne):(a.V=ff,a.ea=gf,a.ya=hf))} -function kf(a){a.Tc=a.wa.Tc;a.Ba=a.wa.Ba;Ce(a);a.ba=a.wa.ba;a.R=a.wa.R;jf(a);a.Ia&=-3073}l.vj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Cd(this)|0};function lf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function mf(a,b,c){c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function nf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])} -function of(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Fa,f,a):(g=a.sa[g>>>a.La],f?--g.Ae||Oc(g):--g.ze||Pc(g))}c>>=2;d>>=4}}function Lc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function wd(a,b,c){void 0===b&&(b=!!(a.$a&1));void 0===c&&(c=!!(a.ca&131072));a.lg=b&&!c?pf:Kd;ld(a.wa,!1,b,c);ld(a.vb,!1,b,c);ld(a.ta,!1,b,c);ld(a.Xa,!1,b,c);80386<=a.ja&&(ld(a.Nb,!1,b,c),ld(a.Ob,!1,b,c));kf(a)} -l.save=function(){var a=new qf(this);a.set(0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.$a,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ti),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ee))):g=null;b=[b,c,d,e,f,g,Cd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));a.set(1,b);a.set(2,[this.ka.kc, -this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);a.set(3,[0,this.uc,this.Y.Wd]);a.set(4,oc(this.ga,!!(this.$a&-2147483648)));return a.data()}; -l.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.$a=d[0],this.Ec=d[1],this.zd=d[2],this.Mc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.ti=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ee=d[12]),wd(this));Dd(this,b[6]);var d=!1,e;a:{e=this.ga; -var f=a[4],g;for(g=0;g>>0)+(a.wa.Ta>>>0)+1;a.pa=a.wa.Lb;kf(a)}function Ed(a,b,c,d){var e=a.wa;e.$f=b;e.C=d;b=e.load(c);return-1!==b?(tf(a,b+(a.wa.$f&a.wa.R)),a.wa.df):null} -function uf(a,b){b=(a.Ha>>>0)+b;b>a.hf&&(8088>=a.ja||a.wa.Ta==a.wa.Ba?b=a.wa.Aa+(b-a.hf&a.R):E.call(a,13,0));return b|0}function vf(a){a.Ha=a.qe}function J(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function I(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function wf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&xf(a),g&2&&yf(a),g&4&&zf(a),g&8&&Af(a),g&16&&Bf(a),g&32&&Cf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.sd=c;a.Xc=d;a.resultType=e} -function Df(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?Ef(a):Ff(a);e?Gf(a):Hf(a);return b}function If(a,b,c,d){c&d?Ef(a):Ff(a);(b^c)&d?Gf(a):Hf(a)}function Jf(a){return xf(a)?1:0}function xf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.sd)&(a.sd^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function yf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function zf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.sd)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function Af(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function Bf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function Cf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Ff(a){a.resultType&=-2;a.ca&=-2}function Kf(a){a.resultType&=-5;a.ca&=-17}function Lf(a){a.resultType&=-9;a.ca&=-65}function Hf(a){a.resultType&=-33;a.ca&=-2049}function Ef(a){a.resultType&=-2;a.ca|=1}function Mf(a){a.resultType&=-5;a.ca|=16}function Nf(a){a.resultType&=-9;a.ca|=64}function Gf(a){a.resultType&=-33;a.ca|=2048} -function Cd(a){return a.ca&-2262|xf(a)|yf(a)|zf(a)|Af(a)|Bf(a)|Cf(a)}function Of(a,b){b|=a.$a&1|65520;a.$a=a.$a&-65536|b&65535;a.$a&1&&wd(a,!0)}function Dd(a,b,c){a.$a&1||(b&=~a.Zf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.ag;a.ca&256&&(a.ua|=2,a.S|=4)} -function Pf(a,b,c,d){var e=0;if(a.$a&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.Zi)for(var f=a.Sa.Zi+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+v(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),E.call(a,13,0),!1):!0} -l.Pb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Wg++;a=!0;break;default:a=this.parent.Pb.call(this,a,b,c)}return a}; -function Qf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Nc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.re(f,b);if(2==c)return f>>this.La].pc(a&this.Fa,a)}; -l.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; -l.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;c>8&255,a+1))};l.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(c>>=8}}; -function Rf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Rf(a,a.ka,b)}function Sf(a,b){return Rf(a,a.Ka,b)}function Tf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function Q(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Uf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Vf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Wf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Xf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Yf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function yd(a,b,c){return a.tb(b.mc(c,a.ba))}l.xa=function(){var a=uf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Zf(a){var b=uf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=uf(a,a.Tc),c=a.cc(a.Ha);a.Ha=b;return c} -l.Ma=function(){var a=uf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};l.T=function(){var a=uf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function H(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Sg-a.fa|0;0>c&&0<=(a.Sg^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?I(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&E.call(a,12,0));return b} -function zd(a,b,c,d){c=a.fa-c|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function K(a,b){var c=a.fa-a.ba|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));a.rc(c,b);a.fa=c} -function $f(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=bg(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5; -cg.call(this,f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);cg.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(dg(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;ig(this);jg(this,a[b++]);for(c=0;c=kg&&lg(a,13))}function ig(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=kg?mg(a,13):a.ya&0||cg.call(a.F,2),!0;a=a.N;a.ja>=kg&&lg(a,13);return!1}function xg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ig(a)} -function gg(a){return a.ma|a.B<<11}function yg(a,b){return isFinite(b)?!0:!xg(a,Infinity===b?8:16)}function zg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,yg(a,d)||(d=null));return d}function Ag(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,yg(a,d)||(d=null));return d}function Bg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,yg(a,d)||(d=null));return d}function Cg(a,b,c){var d=null;null==b||null==c||!c&&xg(a,2)||(d=b/c,yg(a,d)||(d=null));return d} -function Dg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:b||(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Eg(a,b,c){if(null==b)return null;var d=a.jc&3072;d?d=1024==d||3072==d&&0=c){if(xg(a,1))return null;d=-c}else if(d<-c){if(xg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function Fg(a,b){var c=3;a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Gg(a){var b=a.B+0&7;return a.C&1<>16}function Lg(a){return a.F.oa(a.F.D)}function Mg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Ng(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Og(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}l.xi=function(){this.F.nb(this.F.D,this.L[0])};l.Wk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};l.Yk=eg.prototype.xi;l.Xk=eg.prototype.Wk;function Pg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])} -function Qg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767;b=b[0]>>>11|c<<21;c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,b=c=0));a.L[0]=b;a.L[1]=c|(d|e)<<20;return a.W[0]}function Jg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Rg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Sg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ig(a);jg(a,d.tb(b+=d.ba));!(d.$a&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba} -function Wg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,gg(a));c.rc(b+=c.ba,hg(a));if(!(c.$a&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Xg=Math.log(10)/Math.LN2,Yg=Math.LOG2E,Zg=Math.PI,$g=Math.log(2)/Math.LN10,ah=Math.LN2,bh=Math.pow(2,63);function ch(){this.ma&=-32896;ig(this)} -function dh(){Dg(this,U(this,0),U(this,this.A))}function eh(){Dg(this,U(this,0),U(this,this.A))&&Tg(this)}function fh(){eh.call(this)}function gh(){V(this,0,Cg(this,U(this,0),Mg(this)))}function hh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Ug(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Tg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!xg(this,1))b=Math.sqrt(a),yg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,Eg(this,U(this,0),bh))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Ug(this,a)},6:function(){var a=Eg(this,Tg(this));null!=a&&(this.ga[0]= -Sg(a,8),this.ga[1]=Sg(a/1E8,8),this.ga[2]=Sg(a/1E16,2),0>a&&(this.ga[2]|=32768),Pg(this))},7:function(){null!=Eg(this,U(this,0),bh)&&(this.Wk(),Tg(this))},48:function(){hh.call(this);Tg(this)},49:uh,50:ph,51:ph,52:sh}},wh=[ch,ih,jh,kh,lh,mh,qh,nh,rh,sh];Xa(function(){for(var a=tb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Ij;(bd)&&E.call(this,5);this.S|=2;return a}function Fh(a,b){var c=0;if(b){Lf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Nf(this);this.A-=11+3*c;return a}function Gh(a,b){var c=0;if(b){Lf(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Nf(this);this.A-=11+3*c;return a} -function Hh(a,b){a&1<<(b&(2==this.ba?15:31))?Ef(this):Ff(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ih(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a^b}function Jh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a&~b}function Kh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a|b} -function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=6;this.S|=2;return a}function Mh(a,b){if(-1===this.D)return Ih.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a^b} -function Nh(a,b){if(-1===this.D)return Jh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a&~b}function Oh(a,b){if(-1===this.D)return Kh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a|b} -function Ph(a,b){wf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a}function Qh(a,b){wf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a} -function Rh(a){if(this.Tb){var b=this.Tb,c=this.mg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=vh[c][f]){if(0>wh.indexOf(e)){var f=b.F,g=f.qe;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.wa.Z;b.V=g-f.wa.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Sh(a){if(80186>this.ja)return W.call(this,a);E.call(this,13,0);return a}function je(a){E.call(this,6);return a} -function W(a){me.call(this);return a}function Th(a,b){a=Uh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return a}function Vh(a,b){a=this.Ma();a=2==this.ba?Uh.call(this,a,b):Wh.call(this,a,b);80386>this.ja&&(this.A-=12);return a}function Xh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Yh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.va=~this.va+(this.ia?0:1)|0)} -function Uh(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767a?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return a&65535}function Wh(a,b){Xh.call(this,a,b);this.va!=this.ia>>31?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return this.ia}function Zh(a,b){this.A-=14+(-1===this.D?0:2);Lf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Nf(this),a=this.Da.wb&-256,2=this.pa)&&this.Da.Gc>=(b&3))return Nf(this),this.Da.Ta;Lf(this);return a}function fi(a,b){if(-1===this.D)return me.call(this),a;ud(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.sk:this.B.rk:this.B.pk;return b}function yi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function zi(a,b){return b} -function Ai(a,b){a=this.L>>3&7;switch(a){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=a&&5!=a)E.call(this,6);else switch(a){case 1:this.aa=this.I;break;case 4:this.aa=J(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return gi.call(this,0,b)} -function Bi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.wa.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}E.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:E.call(this,6),b=a}-1!==this.C&&xd(this,2);return gi.call(this,0,b)} -function Yh(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.ia=d<<16|e&65535;this.va=f+((d>>>16)+b*a)|0}else this.ia=a*b|0,this.va=0}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,128)}function Di(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,this.Ga)&this.R} -function Ei(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Fi(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Gi(){return Cf(this)?1:0}function Hi(){return xf(this)?1:0}function Ii(){return xf(this)?0:1}function Ji(){return Af(this)?1:0}function Ki(){return Af(this)?0:1}function Li(){return xf(this)||Af(this)?1:0} -function Mi(){return xf(this)||Af(this)?0:1}function Ni(){return Bf(this)?1:0}function Oi(){return Bf(this)?0:1}function Pi(){return yf(this)?1:0}function Qi(){return yf(this)?0:1}function Ri(){return!Bf(this)!=!Cf(this)?1:0}function Si(){return!Bf(this)!=!Cf(this)?0:1}function Ti(){return Af(this)||!Bf(this)!=!Cf(this)?1:0}function Ui(){return Af(this)||!Bf(this)!=!Cf(this)?0:1}function Vi(a,b){return Wi.call(this,a,b,this.xa())}function Xi(a,b){return Yi.call(this,a,b,this.xa())} -function Zi(a,b){return Wi.call(this,a,b,this.I&31)}function $i(a,b){return Yi.call(this,a,b,this.I&31)}function aj(a,b){return bj.call(this,a,b,this.xa())}function cj(a,b){return dj.call(this,a,b,this.xa())}function ej(a,b){return bj.call(this,a,b,this.I&31)}function fj(a,b){return dj.call(this,a,b,this.I&31)}function gj(a,b){var c=a-b|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function hj(a,b){var c=a-b|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ij(a,b){Df(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Wf:this.B.Wf;this.S|=2;return a}function jj(a,b){Df(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Wf:this.B.Wf;this.S|=2;return a}function kj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function mj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.li}else this.C=this.D,Wf(this,a),this.A-=this.B.ki;return b} -function nj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:I(this,J(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.li}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ki;return b} -function oj(a,b){a^=b;Df(this,a,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return a}function pj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a^b,this.Ga)&this.R}function qj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function rj(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R} -function sj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=qj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.va=a[0];return!0}function tj(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R} -function uj(a){this.$a=a;wd(this);this.$a&-2147483648?xe(this):ze(this)}function Fd(a){this.Od=a;Xb(this)}function vj(a){this.S|=1;this.Ya.call(this,a);this.A-=-1===this.D?4:5}function Wi(a,b,c){if(c){16>>16-c)&65535;Df(this,a,32768,d&32768)}return a}function Yi(a,b,c){if(c){var d=a<>>32-c;Df(this,a,-2147483648,d&-2147483648)}return a} -function bj(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;Df(this,a,32768,d&1)}return a}function dj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;Df(this,a,-2147483648,d&1)}return a}function wj(){this.A-=-1===this.D?2:this.B.Fk;return 1}function xj(){var a=this.I&255;this.A-=(-1===this.D?this.B.ci:this.B.bi)+(a<this.qb?(-1!=this.bc&&(this.bc!==this.wa.Z&&(this.wa.Lb=this.bc&3,sf(this,this.bc)),this.bc=-1),this.qe!==this.Ha&&tf(this,this.qe),-1!=this.sb&&(this.sb!==this.ta.Z&&ud(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&I(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.qb?(b=0,a=8):(b=0,a=-1,ve(this),e=d=!1)):tf(this,this.qe);var f=a,g=b,h=32,k=Qf(this,this.Ha);204!=k||this.Sd||(d=!1);this.ca&131072&&(6== -f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);z(this,h|-2147483648)&&(d=!0);if(z(this,h)||d){var m=this.la.Ib,f="Fault "+u(f)+(null!=g?" ("+v(g)+")":"")+" on opcode "+u(k);d&&m&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=m,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.qb=a,Cj.call(this,a,b,c),this.qe=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;} -function ye(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);E.call(this,14,a)}function Ej(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.H+this.K);this.C=this.D;break;case 1:b=P(this,this.H+this.J);this.C=this.D;break;case 2:b=Sf(this,this.P+this.K);this.C=this.D;break;case 3:b=Sf(this,this.P+this.J);this.C=this.D;break;case 4:b=P(this,this.K);this.C=this.D;break;case 5:b=P(this,this.J);this.C=this.D;break;case 6:b=P(this,T(this));this.C=this.D;break;case 7:b=P(this,this.H);this.C=this.D;break;case 64:b=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=P(this,this.K+this.T());this.C=this.D;break;case 69:b=P(this,this.J+this.T());this.C=this.D;break;case 70:b=Sf(this,this.P+this.T());this.C=this.D;break;case 71:b=P(this,this.H+this.T());this.C=this.D;break;case 128:b=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=P(this,this.K+T(this));this.C=this.D;break;case 133:b=P(this,this.J+T(this));this.C=this.D;break;case 134:b=Sf(this,this.P+T(this));this.C=this.D;break;case 135:b=P(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this, -a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.H+this.K);this.C=this.D;break;case 1:c=P(this,this.H+this.J);this.C=this.D;break;case 2:c=Sf(this,this.P+this.K);this.C=this.D;break;case 3:c=Sf(this,this.P+this.J);this.C=this.D;break;case 4:c=P(this,this.K);this.C=this.D;break;case 5:c=P(this,this.J);this.C=this.D;break;case 6:c=P(this,T(this));this.C=this.D;break;case 7:c=P(this,this.H);this.C=this.D;break;case 64:c=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=P(this,this.K+this.T());this.C=this.D;break;case 69:c=P(this,this.J+this.T());this.C=this.D;break;case 70:c=Sf(this,this.P+this.T());this.C=this.D;break;case 71:c=P(this,this.H+this.T());this.C=this.D;break;case 128:c=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=P(this,this.K+T(this));this.C=this.D;break;case 133:c=P(this,this.J+T(this));this.C=this.D;break;case 134:c=Sf(this,this.P+T(this));this.C=this.D;break;case 135:c=P(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this,a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ie(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=Q(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Uf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Uf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=Q(this,this.K);this.A-=this.B.Jc;break;case 5:c=Q(this,this.J);this.A-=this.B.Jc;break;case 6:c=Q(this,T(this));this.A-=this.B.Jd;break;case 7:c=Q(this,this.H);this.A-=this.B.Jc;break;case 64:c=Q(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=Q(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Uf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Uf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=Q(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=Q(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Uf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=Q(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=Q(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=Q(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Uf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Uf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=Q(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=Q(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Uf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=Q(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Je(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Uf(this,this.P+this.K);this.C=this.D;break;case 3:b=Uf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Uf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Uf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this, -a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ke(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Uf(this,this.P+this.K);this.C=this.D;break;case 3:c=Uf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Uf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Uf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this,a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Vf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Vf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Vf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Vf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Vf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Vf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Vf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Vf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Vf(this,this.P+this.K);this.C=this.D;break;case 3:b=Vf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Vf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Vf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this, -a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Vf(this,this.P+this.K);this.C=this.D;break;case 3:c=Vf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Vf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Vf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this, -a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.G);break;case 1:c=P(this,this.I);break;case 2:c=P(this,this.M);break;case 3:c=P(this,this.H);break;case 4:c=P(this,Gj.call(this,0));break;case 5:c=P(this,T(this));break;case 6:c=P(this,this.K);break;case 7:c=P(this,this.J);break;case 64:c=P(this,this.G+this.T());break;case 65:c=P(this,this.I+this.T());break;case 66:c=P(this,this.M+this.T());break;case 67:c=P(this,this.H+this.T());break;case 68:c=P(this,Gj.call(this,1)+this.T()); -break;case 69:c=Sf(this,this.P+this.T());break;case 70:c=P(this,this.K+this.T());break;case 71:c=P(this,this.J+this.T());break;case 128:c=P(this,this.G+T(this));break;case 129:c=P(this,this.I+T(this));break;case 130:c=P(this,this.M+T(this));break;case 131:c=P(this,this.H+T(this));break;case 132:c=P(this,Gj.call(this,2)+T(this));break;case 133:c=Sf(this,this.P+T(this));break;case 134:c=P(this,this.K+T(this));break;case 135:c=P(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.G);this.C=this.D;break;case 1:b=P(this,this.I);this.C=this.D;break;case 2:b=P(this,this.M);this.C=this.D;break;case 3:b=P(this,this.H);this.C=this.D;break;case 4:b=P(this,Gj.call(this,0));this.C=this.D;break;case 5:b=P(this,T(this));this.C=this.D;break;case 6:b=P(this,this.K);this.C=this.D;break;case 7:b=P(this,this.J);this.C=this.D;break;case 64:b=P(this,this.G+this.T());this.C=this.D;break;case 65:b=P(this,this.I+this.T()); -this.C=this.D;break;case 66:b=P(this,this.M+this.T());this.C=this.D;break;case 67:b=P(this,this.H+this.T());this.C=this.D;break;case 68:b=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Sf(this,this.P+this.T());this.C=this.D;break;case 70:b=P(this,this.K+this.T());this.C=this.D;break;case 71:b=P(this,this.J+this.T());this.C=this.D;break;case 128:b=P(this,this.G+T(this));this.C=this.D;break;case 129:b=P(this,this.I+T(this));this.C=this.D;break;case 130:b=P(this,this.M+T(this));this.C= -this.D;break;case 131:b=P(this,this.H+T(this));this.C=this.D;break;case 132:b=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Sf(this,this.P+T(this));this.C=this.D;break;case 134:b=P(this,this.K+T(this));this.C=this.D;break;case 135:b=P(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.G);this.C=this.D;break;case 1:c=P(this,this.I);this.C=this.D;break;case 2:c=P(this,this.M);this.C=this.D;break;case 3:c=P(this,this.H);this.C=this.D;break;case 4:c=P(this,Gj.call(this,0));this.C=this.D;break;case 5:c=P(this,T(this));this.C=this.D;break;case 6:c=P(this,this.K);this.C=this.D;break;case 7:c=P(this,this.J);this.C=this.D;break;case 64:c=P(this,this.G+this.T());this.C=this.D;break;case 65:c=P(this,this.I+this.T()); -this.C=this.D;break;case 66:c=P(this,this.M+this.T());this.C=this.D;break;case 67:c=P(this,this.H+this.T());this.C=this.D;break;case 68:c=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Sf(this,this.P+this.T());this.C=this.D;break;case 70:c=P(this,this.K+this.T());this.C=this.D;break;case 71:c=P(this,this.J+this.T());this.C=this.D;break;case 128:c=P(this,this.G+T(this));this.C=this.D;break;case 129:c=P(this,this.I+T(this));this.C=this.D;break;case 130:c=P(this,this.M+T(this));this.C= -this.D;break;case 131:c=P(this,this.H+T(this));this.C=this.D;break;case 132:c=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Sf(this,this.P+T(this));this.C=this.D;break;case 134:c=P(this,this.K+T(this));this.C=this.D;break;case 135:c=P(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function cf(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Gj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Gj.call(this,1)+this.T()); -break;case 69:c=Uf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Gj.call(this,2)+T(this));break;case 133:c=Uf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function df(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Uf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Uf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ef(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Uf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Uf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ff(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Gj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Gj.call(this,1)+this.T()); -break;case 69:c=Vf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Gj.call(this,2)+T(this));break;case 133:c=Vf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function gf(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Gj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Vf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Vf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function hf(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Gj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Vf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Vf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}a=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function Gj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=J(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||zf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||zf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?Ef(this):Ff(this);b?Mf(this):Kf(this);this.A-=this.B.Je},function(){this.G=tj.call(this,this.G)},function(){this.I=tj.call(this,this.I)},function(){this.M=tj.call(this,this.M)},function(){this.H=tj.call(this,this.H)},function(){I(this,tj.call(this, -J(this)))},function(){this.P=tj.call(this,this.P)},function(){this.K=tj.call(this,this.K)},function(){this.J=tj.call(this,this.J)},function(){this.G=rj.call(this,this.G)},function(){this.I=rj.call(this,this.I)},function(){this.M=rj.call(this,this.M)},function(){this.H=rj.call(this,this.H)},function(){I(this,rj.call(this,J(this)))},function(){this.P=rj.call(this,this.P)},function(){this.K=rj.call(this,this.K)},function(){this.J=rj.call(this,this.J)},function(){K(this,this.G&this.R);this.A-=this.B.Rc}, -function(){K(this,this.I&this.R);this.A-=this.B.Rc},function(){K(this,this.M&this.R);this.A-=this.B.Rc},function(){K(this,this.H&this.R);this.A-=this.B.Rc},function(){K(this,J(this)-2&65535);this.A-=this.B.Rc},function(){K(this,this.P&this.R);this.A-=this.B.Rc},function(){K(this,this.K&this.R);this.A-=this.B.Rc},function(){K(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|H(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|H(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|H(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|H(this);this.A-=this.B.zc},function(){I(this,J(this)&~this.R|H(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|H(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|H(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|H(this);this.A-=this.B.zc},Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,function(){this.ya.call(this,mk,this.Ma);this.A-=-1===this.C? -1:this.B.Jg},Xj,function(){this.ya.call(this,mk,this.T);this.A-=-1===this.C?1:this.B.Jg},function(){this.Ya.call(this,ij)},function(){this.ea.call(this,jj)},function(){this.Oa.call(this,mj)},function(){this.V.call(this,nj)},Zj,ak,bk,ck,function(){this.S|=1;this.ea.call(this,Bi)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.V.call(this,ai)},function(){var a;this.V.call(this,Ai);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;Bd(this,a);break;case 1:a=this.I;this.I=this.aa;sf(this,a);break; -case 2:a=this.M;this.M=this.aa;ud(this,a);break;case 3:a=this.H;this.H=this.aa;Ad(this,a);break;case 4:a=J(this);I(this,this.aa);80386<=this.ja?this.Nb.load(a):Bd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):sf(this,a);break;case 6:a=this.K;this.K=this.aa;ud(this,a);break;case 7:a=this.J,this.J=this.aa,Ad(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=H(this);this.ya.call(this,nk,Aj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=J(this);this.G=this.G&~this.R|b&this.R;I(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.Kj},function(){Bj.call(this,this.Ma(),Zf(this));this.A-=this.B.Nj},function(){this.A-=3},function(){var a=Cd(this);a&131072&&3>this.Pa?E.call(this, -13,0):(K(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=H(this),a=a&65535|this.ca&-65536;Dd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?Ef(this):Ff(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Mf(this):Kf(this);a&64?Nf(this):Lf(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.fc},function(){this.G=this.G&-65281|(Cd(this)&213)<<8;this.A-= -this.B.fc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Sh},function(){this.G=this.G&~this.R|yd(this,this.ka,T(this));this.A-=this.B.Sh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Th},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Th},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=yd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Rf(this,this.ka,this.K),f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh, -this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Tf(this,this.ka,this.K&c),f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){Df(this,this.G&this.xa(),128);this.A-=this.B.Je},function(){Df(this,this.G&this.Ma(),this.Ga);this.A-=this.B.Je},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&& -(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&&(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh, -this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=yd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&255,f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&this.R,f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.fc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.fc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.fc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.fc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.fc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.fc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.fc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.fc},function(){I(this,J(this)&~this.R|this.Ma());this.A-=this.B.fc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.fc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.fc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.fc},gk,hk,gk,hk,function(){this.V.call(this,bi)},function(){this.V.call(this,$h)},function(){this.S|= -1;this.Jb.call(this,ok,this.xa)},function(){this.S|=1;this.ya.call(this,ok,this.Ma)},ik,jk,ik,jk,function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=this.B.dk;this.qb=-1;Cj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var b;a:{b=this.Hd[a];if(void 0!==b)for(var c=0;cthis.Pa)E.call(this,13,0);else{var a=this.B.ek;this.qb=-1;Cj.call(this,4,null,a)}else this.A-=this.B.fk},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.bk;if(this.$a&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);vd(this.wa,a,!1)}else{var a=this.pa,b=H(this),c=H(this),d=H(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=H(this),f=H(this),g=H(this),h=H(this),k=H(this),m=H(this);wd(this,!0,!0);ud(this, -f);I(this,e);Bd(this,g);Ad(this,h);this.Nb.load(k);this.Ob.load(m)}null!=Ed(this,b,c,!1)&&(Dd(this,d,a),this.le&&nf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,dk,wj)},function(){this.ya.call(this,2==this.ba?ek:fk,wj)},function(){this.Jb.call(this,dk,xj)},function(){this.ya.call(this,2==this.ba?ek:fk,xj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;Df(this,this.G,128);this.A-=this.B.Hj}else Fj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;wf(this,a,b,c,191);this.A-=this.B.Gj},function(){this.G=this.G&-256|(xf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Rf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Gk},function(){kk.call(this,216)},function(){kk.call(this,217)},function(){kk.call(this,218)},function(){kk.call(this,219)},function(){kk.call(this,220)},function(){kk.call(this,221)},function(){kk.call(this,222)},function(){kk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!Af(this)?(O(this,M(this)+a),this.A-=this.B.mk):this.A-=this.B.Ph},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&Af(this)?(O(this,M(this)+a),this.A-=this.B.Qh):this.A-=this.B.Rh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,M(this)+a),this.A-=this.B.lk):this.A-=this.B.Ph},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Rh:(O(this,M(this)+a),this.A-=this.B.Qh)},function(){var a=this.xa(); -Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,1,!1)&&(zc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.xa();Pf(this,a,this.ba,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.Ma(),b=M(this),a=b+a;K(this,b);O(this,a); -this.A-=this.B.Lj},function(){var a=this.Ma();O(this,M(this)+a);this.A-=this.B.Lh},function(){Ed(this,this.Ma(),Zf(this));this.A-=this.B.hk},function(){var a=this.T();O(this,M(this)+a);this.A-=this.B.Lh},function(){var a=this.M&65535;Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,1,!1)&& -(zc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Xh)},function(){var a=this.M&65535;Pf(this,a,2,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Xh)},lk,lk,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ca&131072?E.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(vf(this),this.ha.Wb()):this.ca&512||(this.ha&&vf(this),this.Wb()))},function(){xf(this)?Ff(this):Ef(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -qk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,rk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.va&this.R)},function(){Ff(this);this.A-=2},function(){Ef(this);this.A-=2},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca&=-513,this.A-=this.B.Jj)},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Id,zj)},function(){this.ya.call(this,Jd,zj)}],Yj=[zh,Ci,xh,Ei,Bh,gj,oj,Ph],mk=[Ah,Di,yh,Fi,Ch,hj,pj,Qh],nk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.yk;return b},Sh,Sh,Sh,Sh,Sh,Sh,Sh],ok=[function(a,b){this.A-=-1===this.C?this.B.qk:this.B.nk;return b},W,W,W,W,W,W,W],dk=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<>8-b)&255):d=a<<7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;If(this,c,d,128)}return c}, -function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=9)?(c=(a<>9-b)&255,d=a<>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;8>>b-1,a=b>>>1&255,Df(this,a,128,b&1,a&128);return a},W,function(a,b){if(b&=this.ra)9>24>>b-1,a=b>>1&255,Df(this,a,128,b&1);return a}],ek=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<>16-b)&65535):d=a<<15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=17)?(c=(a<>17-b)&65535,d=a<>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;16>>b-1,a=b>>>1&65535,Df(this,a,32768,b&1,a&32768);return a},W,function(a,b){if(b&=this.ra)17>16>>b-1,a=b>>1&65535,Df(this,a,32768,b&1);return a}],fk=[function(a,b){var c=a;if(b&=this.ra)c=a<>>32-b,If(this,c,a<>>b|d;If(this,c,d,-2147483648)}return c},function(a,b){var c=a;if(b&=this.ra)c=Jf(this),c=a<>>32-b>>>1,If(this,c,a<>>b|c<<32-b|a<<32-b<<1,If(this,c,a<<32-b,-2147483648);return c},function(a,b){var c=a;if(b&=this.ra)a<<=b-1,c=a<<1,Df(this,c,-2147483648,a&-2147483648,(c^a)&-2147483648);return c},function(a,b){if(b&=this.ra)b=a>>>b-1,a=b>>>1,Df(this,a,-2147483648, -b&1,a&-2147483648);return a},W,function(a,b){if(b&=this.ra)b=a>>b-1,a=b>>1,Df(this,a,-2147483648,b&1);return a}],qk=[function(a,b){b=this.xa();Df(this,a&b,128);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Vf:this.B.Uf;return a^255},function(a){var b=-a|0;wf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Vf:this.B.Uf;return b&255},function(a){this.ia=(this.G&255)*a&65535;this.ia&65280?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-= --1===this.D?this.B.uk:this.B.tk;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.Zj:this.B.Yj;this.S|=2;return a},function(a,b){if(!a)return Fj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d= -(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Fj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.Vj:this.B.Uj;this.S|=2;return a}],rk=[function(a,b){b=this.Ma();Df(this,a&b,this.Ga);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Vf:this.B.Uf;return a^this.R},function(a){var b=-a|0;wf(this,0,a,b,this.Ga|63,!0);this.A-=-1===this.D?this.B.Vf:this.B.Uf;return b&this.R},function(a,b){2==this.ba? -(b=this.G&65535,b=b*a|0,this.ia=b&65535,this.va=b>>16&65535):(Yh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.va=0));this.va?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.wk:this.B.vk;this.S|=2;return a},function(a,b){2==this.ba?(b=this.G&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.ia=b&65535,this.va=b>>16&65535,b=32767b):(Xh.call(this,a,this.G),b=this.va!=this.ia>>31);b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D? -this.B.ak:this.B.$j;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Fj.call(this),a;this.ia=c&65535;this.va=b%a&65535}else{if(!sj.call(this,this.G,this.M,a))return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Tj:this.B.Sj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086== -this.ja&&-32768==d)return Fj.call(this),a;this.ia=d&65535;this.va=b%c&65535}else{b=this.G;var c=this.M,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!sj.call(this,b,c,d)||this.ia>2147483647+e||this.va>2147483647+f?b=!1:(e&&(this.ia=-this.ia),f&&(this.va=-this.va),b=!0);if(!b)return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Xj:this.B.Wj;this.S|=2;return a}],Id=[function(a){var b=a+1|0;wf(this,a,1,b,190);this.A-=-1===this.D?this.B.Tf:this.B.Sf; -return b&255},function(a){var b=a-1|0;wf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&255},W,W,W,W,W,W],Jd=[function(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a){K(this,M(this));O(this,a);this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);this.U= -this.fa;Bj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.Mj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.jk:this.B.ik;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);Ed(this,a,this.na(this.D+this.ba));this.A-=this.B.gk;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));K(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Ak;this.S|=2;return a},W];function te(){this.V.call(this,lj);this.A-=-1===this.D?6:13} -function ue(){this.ea.call(this,kj);this.A-=-1===this.D?12:19}var le=Array(256);le[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.lg,zj)};le[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,sk,zj)};le[2]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,Zh)};le[3]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,ei)}; -le[5]=function(){this.pa?E.call(this,13,0,0,!0):(Of(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),td(this.Xa,2102,this.na(2084)),td(this.wa,2108,this.na(2082)),td(this.ta,2114,this.na(2080)),td(this.vb,2120,this.na(2078)),Dd(this,this.na(2072)),O(this,this.na(2074)),I(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Sd=this.Mc+this.na(2142),td(this.Bc,2132,this.na(2076)),td(this.Sa,2144,this.na(2070)),this.A-=195)};le[6]=function(){this.pa?E.call(this,13,0):(this.$a&=-9,this.A-=2)};le[11]=Ld;le[166]=Ld;le[255]=Ld;var N=[];N[5]=Ld; -N[7]=function(){if(this.pa)E.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){uj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Dd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Sd=this.Mc+this.oa(a+104);sd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));sd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);sd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));sd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));sd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));sd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));sd(this.wa,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));sd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));I(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};N[16]=Zj;N[17]=ak;N[18]=bk;N[19]=ck;N[32]=function(){if(this.pa)E.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.$a;break;case 2:a=this.se;break;case 3:a=this.Od;break;default:me.call(this);return}Be(this,b&7,a);this.A-=6}};N[33]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(Be(this,a&7,this.Ja[b]),this.A-=22)}}; -N[34]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=Ae(this,a&7);switch((a&56)>>3){case 0:uj.call(this,b);this.A-=10;break;case 2:this.se=b;this.A-=4;break;case 3:Fd.call(this,b);this.A-=5;break;default:me.call(this)}}};N[35]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(a=Ae(this,a&7),a!=this.Ja[b]&&(of(this,!1),this.Ja[b]=a,of(this,!0)),this.A-=4>b?22:14)}}; -N[36]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(Be(this,a&7,this.Ee[b]),this.A-=12)}};N[38]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(this.Ee[b]=Ae(this,a&7),this.A-=12)}};N[128]=function(){var a=this.Ma();Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[129]=function(){var a=this.Ma();Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[130]=function(){var a=this.Ma();xf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[131]=function(){var a=this.Ma();xf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[132]=function(){var a=this.Ma();Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[133]=function(){var a=this.Ma();Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[134]=function(){var a=this.Ma();xf(this)||Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -N[135]=function(){var a=this.Ma();xf(this)||Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[136]=function(){var a=this.Ma();Bf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[137]=function(){var a=this.Ma();Bf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[138]=function(){var a=this.Ma();yf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[139]=function(){var a=this.Ma();yf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[140]=function(){var a=this.Ma();!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[141]=function(){var a=this.Ma();!Bf(this)==!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[142]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[143]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[144]=function(){vj.call(this,Gi)}; -N[145]=function(){vj.call(this,Gi)};N[146]=function(){vj.call(this,Hi)};N[147]=function(){vj.call(this,Ii)};N[148]=function(){vj.call(this,Ji)};N[149]=function(){vj.call(this,Ki)};N[150]=function(){vj.call(this,Li)};N[151]=function(){vj.call(this,Mi)};N[152]=function(){vj.call(this,Ni)};N[153]=function(){vj.call(this,Oi)};N[154]=function(){vj.call(this,Pi)};N[155]=function(){vj.call(this,Qi)};N[156]=function(){vj.call(this,Ri)};N[157]=function(){vj.call(this,Si)};N[158]=function(){vj.call(this,Ti)}; -N[159]=function(){vj.call(this,Ui)};N[160]=function(){zd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ke};N[161]=function(){this.U=this.fa;var a=H(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};N[163]=function(){this.ea.call(this,Lh);-1!==this.D&&(this.A-=6)};N[164]=function(){this.ea.call(this,2==this.ba?Vi:Xi);this.A-=-1===this.D?3:7};N[165]=function(){this.ea.call(this,2==this.ba?Zi:$i);this.A-=-1===this.D?3:7};N[168]=function(){zd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ke}; -N[169]=function(){this.U=this.fa;var a=H(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};N[171]=function(){this.ea.call(this,Oh);-1!==this.D&&(this.A-=5)};N[172]=function(){this.ea.call(this,2==this.ba?aj:cj);this.A-=-1===this.D?3:7};N[173]=function(){this.ea.call(this,2==this.ba?ej:fj);this.A-=-1===this.D?3:7};N[175]=function(){this.V.call(this,2==this.ba?Uh:Wh)};N[178]=function(){this.V.call(this,fi)};N[179]=function(){this.ea.call(this,Nh);-1!==this.D&&(this.A-=5)}; -N[180]=function(){this.V.call(this,ci)};N[181]=function(){this.V.call(this,di)}; -N[182]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};N[183]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};N[186]=function(){this.ya.call(this,tk,this.xa)};N[187]=function(){this.ea.call(this,Mh);-1!==this.D&&(this.A-=5)}; -N[188]=function(){this.V.call(this,Fh)};N[189]=function(){this.V.call(this,Gh)}; -N[190]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};N[191]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var pf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Nf(this), -a;Lf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Nf(this),a;Lf(this);return a},W,W],Kd=[je,je,je,je,je,je,W,W],sk=[function(a){if(-1===this.D)E.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)E.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc;80286== -this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.$a},W,function(a){this.ca&131072? -E.call(this,6):(Of(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},W],tk=[W,W,W,W,Hh,Kh,Jh,Ih]; -function X(a){bb.call(this,"ChipSet",a,X,32768);var b=a.model;b&&!uk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja=kg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);xb(this)}jb(X);var vk=5150.9,kg=5170,uk={5150:5150,5160:5160,5170:kg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={jl:1,ONE:0,Io:64,Go:128,xo:192,Lc:192,Xg:6},Dk={Ho:16,to:32,yo:48,Lc:48,Xg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"Coprocessor"}; -Ek[5150][0][Ak]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak]; -Ek[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"Coprocessor"};Ek[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];l=X.prototype; -l.Pb=function(a,b,c){switch(b){case xk:return this.qa[b]=c,Fk(this,0,b),!0;case Bk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Fk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;qc(b,this,Gk);yc(b,this,Hk);this.jab;b++){var c=13>=b?Sk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+u(b)+"]: "+u(c)}e.ha.O(a)})}lf(c,26,this.Pm.bind(this))}; -l.hc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(a){var b;Tk(this);this.L=Array(this.cb);for(b=0;b=kg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Xk(this)&&(this.fa|=16);3==+Yk(this,Ak,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -l.save=function(){var a=new qf(this);a.set(0,[this.C]);for(var b=[],c=0;c=kg&&(a.set(5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),a.set(6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()}; -l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Tk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function sl(a,b,c,d,e){var f=a.L[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Dc[b&3];b.vg&&b.mh&&b.Lg?(c&&(b.done=c),b.Ge||Dl(a,b,!0)):c&&c(!0)} -function Dl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.uj=b.wg=!1);for(var d=!1;0<=b.count&&(c=b.qg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.mh.call(b.vg,b.Lg,-1,function(e,g){0>e&&(b.uj||(b.uj=!0),e=255);b.Ge||a.ga.qc(c,e);(d=g)&&setTimeout(function(){El(b)||Dl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.mh.call(b.vg,b.Lg,c)&&(b.wg=!0)):0!=b.type&&(b.wg=!0)),!d&&!El(b););} -function El(a){if(!a.wg&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.nf=c||0,Hl(a))}function lg(a,b){var c=a.vc[b>>3];b=1<<(b&7);c.lc&b&&(c.lc&=~b,Hl(a))}function Hl(a,b){var c,d=-1;1>=1),ed(a.F,e))),b||2!=c||cl(a))}function Ol(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Pl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;if(d&=48){e+=c;var h=a.V[e];h.ig=d;h.mode=g;h.gh=f;h.Fc=[0,0];h.Ab=[0,0];h.Be=[0,0];h.td=!1;h.af=!1;h.De=!1;h.ef=!1;Ll(a,e);b||c||lg(a,0);b||2!=c||255!=a.vc[0].Ad||77!=a.W||(b=a.V[0],b.$c[0]= -b.Fc[0],b.$c[1]=b.Fc[1],b.vd=cd(a.F,a.ka))}else Ql(a,e+c)}}function Nl(a,b){a=a.V[b];(b=a.Fc[1]<<8|a.Fc[0])||(b=1==a.md?256:65536);return b}function id(a,b){a=a.V[b];(b=a.$c[1]<<8|a.$c[0])||(b=1==a.md?256:65536);return b}function Ql(a,b){Rk(a,b);var c=a.V[b];c.Be[0]=c.Ab[0];c.Be[1]=c.Ab[1];c.af=!0;Ll(a,b)}function Ll(a,b){a=a.V[b];a.Ed=32==a.ig?1:0;a.md=48==a.ig?2:1} -function Rk(a,b,c){var d=a.V[b];if(d.De&&(2!=b||a.W&1)){var e=cd(a.F,a.ka),f=(e-d.vd)/a.gb|0;0>f&&(d.vd=e,f=0);var g=Nl(a,b),h=id(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.De=!1,b||mg(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.vd=0)}return d} -function hd(a,b){for(var c=0;c=kg){b=a.F.Y.Id;c=cd(a.F,a.ka);null==a.fb&&(a.Ga=cd(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Id/a.Jb),bl(a));c>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,mg(a,8)),a.ua=c+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,mg(a,8)));var d=c-a.Ga,e=Math.floor(d/b);if(e&&!(a.A[11]&128)){for(;e--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;var f; -f=a.A[9];var g=va[a.A[8]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[7]>f&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,mg(a,8))}a.Ga=c-d%b}}l=X.prototype;l.ym=function(a,b){var c=this.Ya;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Rl(this.B)));x(this,a,null,b,"PPI_A",c);return c};l.Yn=function(a,b,c){x(this,a,b,c,"PPI_A");this.Ya=b};l.zm=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -l.Zn=function(a,b,c){x(this,a,b,c,"PPI_B");Sl(this,b)};function Sl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Tl(a.B,!(b&128),!!(b&64));c!=d&&cl(a,c)}l.Am=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Rk(this,2).td&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};l.$n=function(a,b,c){x(this,a,b,c,"PPI_C");this.qb=b};l.Bm=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -l.ao=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};l.Kl=function(a,b){var c=this.B?Rl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.va&=-2;return c};l.hn=function(a,b,c){x(this,a,b,c,"8041_KBD")};l.Jl=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};l.gn=function(a,b,c){x(this,a,b,c,"8041_CTRL");Sl(this,b)};l.Ll=function(a,b){var c=this.va;x(this,a,null,b,"8041_STATUS",c);return c}; -l.Ml=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ul(this.B);return c}; -l.kn=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Vl(this,b);break;case 209:Wl(this,b);break;default:if(Vl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;z(a)&&y(a,"sendCmd("+u(c)+")");switch(a.V||c){case 255:d=250;Xl(a);break;case 243:a.V&&(c=0);Yl(a,250);a.V=c;break;case 237:a.V&&(c=0);Yl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Zl(this,d)}}this.ea=b;this.N&=-9}; -l.Nl=function(a,b){var c=this.W&-209|(cd(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};l.mn=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Sl(this,b)};l.Ol=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);a=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return a}; -l.jn=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Zl(this,this.aa);break;case 173:Vl(this,this.aa|16);break;case 174:Vl(this,this.aa&-17);this.B&&Ul(this.B);break;case 170:this.B&&(a=this.B,a.A=[],z(a)&&y(a,"scan codes flushed"));Vl(this,this.aa|16);Zl(this,85);Wl(this,3);break;case 171:Zl(this,0);break;case 192:Zl(this,this.fa);break;case 208:Zl(this,this.Ka);break;case 224:Zl(this,this.aa&16?0: -1);break;case 240:a&1&&ve(this.F)}};function Vl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Tl(a.B,!!(b&8),!(b&16))}function Zl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Wl(a,b){a.Ka=b;Tb(a.ga,!!(b&2));b&1||ve(a.F)}function $l(a,b){a.ja=c?Sk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+u(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&lg(this,8),d&64&&this.A[11]&64&&bl(this));return d}; -l.Bn=function(a,b,c){var d=this.pa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+u(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&bl(this)};l.Nk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};l.Ln=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};l.Mn=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&fg(this.Tb)}; -l.Pm=function(a){if(z(this,16)&&pk(this.ha,26,a)){var b=this.F.G>>8;mf(this.F,a,function(a,d){return function(c){d=cd(a.F)-d;var e,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,m=a.F.M>>8;if(2==b||3==b)e=" CH(hour)="+v(h)+" CL(min)="+u(g)+" DH(sec)="+u(m);else if(4==b||5==b)e=" CX(year)="+v(a.F.I)+" DH(month)="+u(m)+" DL(day)="+u(k);g=a.ha;h=d;g.message("INT "+u(26)+": C="+(xf(g.F)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,cd(this.F)))}return!0}; -function cl(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Nl(a,2));if(20>c||2E4>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};cm.prototype.gc=function(){return!0}; -function dm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Qd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;al(a)}}else w("No RAM allocated")}; -l.save=function(){var a=new qf(this);this.controller&&a.set(0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function jm(a){this.N=a;this.C=lm;this.ha=mm;this.B=nm;this.A=null}var km=-2134900736,lm=65535,mm=2575,nm=2,om=[null,0],pm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];l=jm.prototype;l.save=function(){return[this.C,this.B]}; -l.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};l.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};l.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.N.ga;if(b&1)this.A&&(dc(a,917504,131072,this.A),this.A=null);else{this.A||(this.A=ec(a,917504,131072));var c=ec(a,16646144,131072);dc(a,917504,131072,c,b&2?1:hc)}this.C=this.C&-256|b}};l.wj=function(){return om};l.nh=function(){return pm}; -Xa(function(){for(var a=tb(document,"pcx86","ram"),b=0;b"]]=10804;Y[p["/"]]=53;Y[p["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[tm]=7470;Y[4008]=7494;Y[4046]=3677523; -Y[4045]=3677522;Y[4013]=3677468;l=qm.prototype; -l.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.X&&e.X.wd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")}; -function rm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=sm.indexOf(a.ja),0>c&&(c=0));if(b=sm[c])a.ra=parseInt(b.substr(2),10)}function Xl(a){y(a,"keyboard reset",65792);a.A=[];Yl(a,170)}function Tl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&am(a,!0);a.W&&a.ea&&(Xl(a),a.ea=!1)}function Yl(a,b){a.N&&(a.A.unshift(b),a.U=!0,$l(a.N,b))} -function Ul(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&$l(a.N,b));z(a)&&y(a,b?"scan code "+u(b)+" available":"no scan codes available")}function Rl(a){var b=0;a.A.length&&(b=a.A[0]);z(a)&&y(a,"scan code "+u(b)+" delivered");return b}function am(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in xm)d="led-"+g,e=xm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function zm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){um[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Pe=b,d.xc=a.xc,Dm(a,b,!0),e++),0b.Kd){if(!b.Hf){Bm(a,b.Pe);return}b.Hf=!1;c=a.ua}else c=1==b.Kd++?500:100;b.Zk=setTimeout(function(a){return function(){Fm(a,b)}}(a),c)}} -function Hm(a,b,c){var d=b;if(b>=p.ue&&b<=p.ng)!(a.xc&515)==c&&(d=b+(p.ve-p.ue));else if(b>=p.ve&&b<=p.z)!!(a.xc&515)==c&&(d=b-(p.ve-p.ue));else if(!!(a.xc&3)==c){if(a=da[b])d=a}else if(a=ca[b])d=a;return d}l.Mg=function(a){a||(this.xc&=-256)}; -function ym(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hm(a,g,!0);a.kh&&h==p["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Am(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=p.ue&&b<=p.ng||b>=p.ve&&b<=p.z;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+u(f)+" buffered"),e.A.push(f), -1==e.A.length&&e.N&&$l(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Xa(function(){for(var a=tb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Hc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Qg=c[4]>>8&255;this.mb=c[5];this.wh=Zm;this.pg=an;if(5<=b){this.wh=$m;this.pg=bn;(b=c[6])||(b=[!1,0,Array(20),0,3==f? -0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Dd],Array(this.Dd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ze=b[0];this.Nd=b[1];this.Sc=b[2];this.$g=cn;this.Tg=b[3];this.vf=b[4];this.hg=b[5];this.ae=b[6];this.Me=b[7];this.bh=dn;this.Qk=b[8];this.Rk=b[9];this.$d=b[10];this.Zd=b[11];this.ah=en;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Dd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.mi&255};gn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};gn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};gn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.yh,c=this.controller.xh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -gn[0]=function(a,b){a+=this.C;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[32]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[96]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b&=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[160]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b|=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[224]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b^=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)};gn[4]=function(a,b){var c=(a&-4)+this.C;a=(a&3)<<3;b=b<>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Mb;b=this.controller.Xf&b|this.controller.Fb&~b;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Qg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ze;c[1]=a.Nd;c[2]=a.Sc;c[3]=a.Tg;c[4]=a.vf;c[5]=a.hg;c[6]=a.ae;c[7]=a.Me;c[8]=a.Qk;c[9]=a.Rk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=m}f.length>3;for(c=0;c=d&&(A=d,g=!0);break; -case "p":0<=d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(L):fa(L>>(F<<3),8));g&&(f+=C-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+u(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.pg),5<=b.Ua&&(jn(b," GRC",b.$d,b.Zd,b.ah),jn(b," SEQ",b.ae,b.Me,b.bh),jn(b," ATC",b.Nd,b.Sc, -b.$g),jn(b," ATCINDX",b.Nd),b.ha.O(" ATCDATA: "+b.Ze),jn(b," FEAT",b.hg),jn(b," MISC",b.vf),jn(b," STATUS0",b.Tg)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.fd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.Cg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Jb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Ye();a=!0}this.X&&this.X.focus()}return a}; -function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.kh=b)}l.Fe=function(a){var b=!1;this.X&&(a?this.X.Fe&&(this.X.Fe(),this.V&&this.V.Yf(!0),b=!0):this.X.$k&&(this.X.$k(),this.V&&this.V.Yf(!1),b=!0),this.X&&this.X.focus());return b};l.Yf=function(a){this.V&&(this.V.Yf(a),this.B&&(this.B.kh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.bl)}; -function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Cc=a.lg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.so=function(){a.Gd=!0;a.V.he(wn,!0)})}l.Mg=function(a){this.B&&this.B.Mg(a)}; -function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ke)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Hd;f=b.timeStamp-a.lg;!0===c?(a.Hd=500f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.Kf(c,b,a.uc,a.Cc)}}l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(){var a=!0,b=0;this.N&&(b=+Yk(this.N,Ak,void 0));this.ja||(this.Ua=3==b?1:3);this.va=3;switch(this.Ua){case hm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.va=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.qd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Dd),xn(this));Xn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;Yn(this,this.va);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);nc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.qd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}l.save=function(){var a=new qf(this);a.set(0,hn(this.qd));a.set(1,hn(this.Wc));a.set(2,[this.ya,this.va,this.Ga]);a.set(3,hn(this.A));return a.data()}; -l.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Hc&&xn(this);Xn(this);if(!Zn(this))return!1;$n(this);return!0}; -function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)gm(a,f,[6144,0]);else if(2048==f.length)gm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&xb(a)}} -function ao(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;de;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.Ca[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Sc[15]?c.Sc:Um;for(e=0;16>e;e++)f=b[e]&63,k?(f|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(f&=-49,f|=(c.Sc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.Ca[e]=[g,h,f,255]}a.qb=!0}return a.Ca}function gm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function Xn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){b=0;var d=a.Tb?a.Tb:8,e=ao(a);null!=a.Jb[0]&&bo(a,3,a.Jb[0],b,d,8,a.Uc,e)&&(c=!0);b=a.Tb?0:2048;d=a.Tb?a.Tb:9;null!=a.Jb[1]&&(bo(a,1,a.Jb[1],b,d,14,a.Uc,Pm,Qm)&&(c=!0),a.Tb&&bo(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,e)&&(c=!0))}return c}function bo(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(co(a,b,c,d,e,f,g,h,k)&&(m=!0),a.ro&&co(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m} -function co(a,b,c,d,e,f,g,h,k){var m=!1,n=b&1?0:1,t=a.Oa[b],q=16>h.length?h.length:16;t||(t={Pc:e<ga||!L?ga:8,Pa=Ja.createImageData(m.Pc,m.Qc);for(Da=0;256>Da;Da++){for(Ka=0;Ka=ga-2,Rc=S[Ka>(8<=Wa&&192<=Da&&223>=Da?7:Wa)?A:ab;eo(Pa,Ge,Wd,He);C&&eo(Pa,Ge+1,Wd,He)}Ja.putImageData(Pa,(Da&15)*m.Pc,(Da>>4)*m.Qc)}m.Re[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);m.Yi[F]=A;m.Zg[F]=la;m=!0}}a.Oa[b]=t;return m}function fo(a){0a.cb&&(a.cb=0):a.cb=-1} -function $n(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)go(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(go(a),a.ua=c);d=d-b+1;if(a.mg!=b||a.Ee!=d)a.mg=b,a.Ee=d;a.Ya=e+1;fo(a)}}} -function go(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&ho(a,c,d,b,a.gb),ho(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function io(a){var b,c=a.C;a.hf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.Zd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==hm&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.Me[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function jo(a,b){var c=a.C;return c&&null!=b&&b!=c.Cg?(c.Vg(b),a.ga.Vg(c.ob,c.ac,c.nh(),!0),!0):!1} -function Zn(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -m?13:14:480<=f&&(d=3==a.ya?17:18):d=m?7-d:6:d-=m?2:0);c=io(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ga=null,null==d&&(d=a.va);if(!Yn(a,d,b))return!1;jo(a,c);return!0} -function Yn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Wg=0;a.Ga=b;a.qb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){go(a);if(a.ob){if(!gc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Ub(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.dg=a.L*a.W|0;a.ag=a.dg/ -a.hd|0;a.Ub=a.ag;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Zf&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),a.Zf||(a.Ja=b.Pc,a.Ka=b.Qc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Pc,a.tc=a.W*b.Qc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me= -0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0>1,a.Cd-=b);0>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ko(a,!0);un(a)}return!0}function eo(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function lo(a){a.Pa=-1;a.Fa=!1;var b=a.ag;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ko(a,b){b||(a.qb=!1);lo(a)} -function ho(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Re[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Re[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ea.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.mg,g=a.Ee,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Re[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ea.fillStyle=h.Re[d],a.ea.fillRect(b,c+f,a.Ja,g)))} -function un(a,b){if(a.la.ic){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Nd&32&&(c=!0));if(c||b){if(b)lo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Wg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.dg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(mo(a,d)&8||d.qf&&d.qf=a.Ga&&(m<<= -1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.Fa){b=a.ga;for(var n=!0,t=c>>>b.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;m=a.C.fd&32;5<=a.Ua&&(m=a.C.Sc[16]&8);b=a.ua-a.C.Ld;m&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(q&255)<<8;var D=e,L=16;m>=h))>>(L-=h);eo(a.sb,m++,n,b[ga])}m>A&&(A=m);n=C&&(C=n+1)}k+=2;d++;if(m>=a.L){m=0;n+=2;if(n>a.W)break;n==a.W&&(n=1,k=c+a.sd)}}a.Fa= -!0;ta.L?a.Db-a.L-q>>3:0;c>=8;b>t&&(t=b);m=F&&(F=m+1)}c+=C;if(b>=a.L){b=0;if(++m>a.W)break;c+=D}}q||(a.Fa=!0);na.L?a.Db-a.L-F>>3:0;cD&&(L=D)):(q<<=F,L-=F,a.Fa=!1):(a.Fa&&q===a.fa[d]?(h+=L,L=0):a.fa[d]=q,d++);if(L){hn&&(n=h);b=A&&(A=b+1)}if(h>=a.L){h=0;if(++b>a.W)break;c+=C}}F||(a.Fa=!0);ma&&(b.Eh=a,a=-a|0);a%b.zh>b.an&&(c|=1);a%b.Ch>b.cn&&(c|=9);b.ni=a/b.Ch|0;return c}l.um=function(a,b){return no(this,this.pa,a,b)};l.Vn=function(a,b,c){var d=this.pa;d.Qg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};l.tm=function(a,b){return oo(this,this.pa,a,b)};l.Un=function(a,b,c){po(this,this.pa,a,b,c)};l.vm=function(a,b){return qo(this,this.pa,b)};l.Wn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.fd=b;Zn(this,!1)}; -l.wm=function(a,b){return ro(this,this.pa,b)};l.Mk=function(a,b,c){this.A.hg=this.A.hg&-4|b&3;x(this,a,b,c,"FEAT")};l.Tl=function(a,b){a=this.A.Nd;b&&!z(this)||x(this,960,null,b,"ATC.INDX",a);return a};l.kl=function(a,b){a=this.A.Sc[this.A.Nd&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.$g[this.A.Nd&31],a);return a}; -l.Lk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.Ze){d.Ze=!1;var f=d.Nd&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.$g[f]),d.Sc[f]=b,ko(this,!1)}else d.Nd=b,x(this,a,b,c,"ATC.INDX"),d.Ze=!0,b&32&&!e&&Xn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,ko(this)),d.qf=0}; -l.Gm=function(a,b){a=0;if(5==this.Ua)a=3-((this.A.vf&12)>>2),a=(this.Vc&1<>this.A.Kc&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]",a);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=Ca().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||eb.aspect);f&&.3<=f&&3.33>=f&&(Va("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");La("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);sb(d,c)}}); -function so(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;bb.call(this,"ParallelPort",a,so,4194304);a=a.binding;"console"==a?this.B="":rb(this,a,to)}jb(so);var to="buffer";l=so.prototype;l.Pb=function(a,b,c){switch(b){case to:return this.qa[b]=this.A=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");qc(b,this,uo,this.X);yc(b,this,vo,this.X);xb(this)};l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){wo(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;a.set(0,c);return a.data()};l.restore=function(a){return wo(this,a[0])}; -function wo(a,b){var c=0;b||(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Df=b[c];return!0}l.hm=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};l.Fm=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};l.dm=function(a,b){var c=this.Df;x(this,a,null,b,"CTRL",c);return c}; -l.Hn=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+u(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);xo(this)};l.Cn=function(a,b,c){x(this,a,b,c,"CTRL");this.Df=b;xo(this)}; -function xo(a){a.N&&a.C&&(a.Df&16&&!(a.Yb&64)?mg(a.N,a.C):lg(a.N,a.C))}var uo={0:so.prototype.hm,1:so.prototype.Fm,2:so.prototype.dm},vo={0:so.prototype.Hn,2:so.prototype.Cn};Xa(function(){for(var a=tb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=qa(b[0]);if(c!=this.xd)return;b=qa(b[1]);if(this.ia=ob(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}}; -l.hc=function(a,b){if(!b)if(this.zj(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){Co(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.va;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;a.set(0,c);return a.data()};l.restore=function(a){return Co(this,a[0])}; -function Co(a,b){var c=0;b||(b=[0,0,384,0,1,0,0,96,48,[]]);a.va=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}l.gg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};l.pm=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c}; -l.qm=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};l.sm=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};l.rm=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};l.xm=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c}; -l.eo=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Fa&&!this.ea&&c&&(a=String.fromCharCode(this.Fa)+a),this.L.value+=a,this.L.scrollTop= -this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};l.Rn=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};l.Sn=function(a,b,c){x(this,a,b,c,"LCR");this.B=b}; -l.Tn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.gg([77,77]),y(a,"serial mouse ID sent")),Eo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Fo(a),a.Hc=c),a.C=b)}; -var Ao={0:yo.prototype.Cm,1:yo.prototype.om,2:yo.prototype.pm,3:yo.prototype.qm,4:yo.prototype.sm,5:yo.prototype.rm,6:yo.prototype.xm},Bo={0:yo.prototype.eo,1:yo.prototype.Rn,3:yo.prototype.Sn,4:yo.prototype.Tn};Xa(function(){for(var a=tb(document,"pcx86","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Kf(c,d,a.L,a.V)}} -l.he=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Ko(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Ko(this,c);return}}y(this,c+": ignored")}};l.Kf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Ko(this,null,c,d))}; -function Ko(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+u(e)+","+u(f)+","+u(g)+"]",0,!0);a.N.gg([e,f,g]);a.U=a.W=0}Xa(function(){for(var a=tb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return cp(a.za,f,e,c);for(e=d=0;c--;)d|=ap(a,b++,1)<=e.oi&&a<=e.Ik){d=a-=e.oi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.jg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ka(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=hp(this,b),this.xg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ma(b,"/")&& -(c="dir"),f=Ba()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!Aa(f,null,!0,function(a,b,c){ip(g,a,b,c)})}; -function ip(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.X&&!a.X.la.ic;if(a.xg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,jp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{mb(a.controller.ce,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var t=k.data;if(void 0===t){var q=k.bytes;if(void 0!==q&&q.length){for(var A= -m<<2,F=q.length;Fb;b++){if(128==cp(a,e,c+0,1)){d.bg=cp(a,e,c+8,4);(e=bp(a,d.bg))&&(f=!0);break}c+=16}if(!f)return}d.Jf||(d.Jf=cp(a,e,19,2)||cp(a,e,32,4),d.If=cp(a,e,14,2),d.th=d.If+cp(a,e,22,2)*cp(a,e,16,1),d.Dh=cp(a,e,17,2),d.Eg=cp(a,e,13,1));d.rh=d.th+((32*d.Dh+(d.Va-1))/d.Va|0);d.$m=(d.Jf-d.rh)/d.Eg|0;d.Gg=4084>=d.$m?12:16;d.Gl=12==d.Gg?4086:65526;b=[];for(e=d.th;e>=8;f+=2;if(k)for(;m--;)ap(d,f,1),254>=k?(n=k,t=ap(d,f+1),f+=3):(n=ap(d,f+3,1),t=ap(d,f+4),f+=6),d.yd[n]&&(d.yd[n].we[h]=[t]),d.A[h]=[n,t],h++;else h+=m}(g=dp(e,Yo,c))&&ep(e,g+c);g=dp(e,Zo,c);h=dp(e,Wo,c);g&&h&&ep(e,g,g+h)}}}} -function mp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Mo=d+"\\";for(var k=0;kF)break;for(var C=q.rh+(F-2)*q.Eg,D=0;D>3,1),d?e=16==b.Gg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function bp(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function gp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Hl=b;a.Il=c;a.ud=a.Zc=0;a.Wa=!1;return a} -function hp(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;b+="&machine="+a.controller.gf();b+="&user="+a.controller.ie();return Ba()+"/api/v1/disk?"+b} -function op(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.ie();Aa(Ba()+"/api/v1/disk?"+h,null,f,function(h,m,n){h=[b,c,d,e,f,g];var k=!1,q=h[0],A=h[1],F=h[2],C=h[3];if(!n){m=JSON.parse(m);for(k=0;C--;){var D=a.seek(q,A,F,!0);if(!D)break;kp(D,m,k);k+=D.length;F++}k=h[4]}(h=h[5])&&h(n,k)})}else g&&g(-1,!1)} -function pp(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.ie();h.data=JSON.stringify(f);Aa(Ba()+"/api/v1/disk",h,g,function(f,h,n){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],A=k[3],k=k[4];a.fa=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}l.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -l.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.ud+a.Zc&&(a.Zc+=f-(a.ud+a.Zc)+1):(a.ud=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):jp(this);return b}; -l.toJSON=function(){var a;a=0;for(var b;b=bp(this,a++);)up(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function up(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function vp(a){bb.call(this,"FDC",a,vp,524288);this.dmaRead=this.el;this.dmaWrite=this.fl;this.dmaFormat=this.vl;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!La("Mobi")&&window&&"FileReader"in window}jb(vp);aa={}; -var wp={3:{Ud:3,ge:0,name:aa.Fo},4:{Ud:2,ge:1,name:aa.Do},5:{Ud:9,ge:7,name:aa.Jo},6:{Ud:9,ge:7,name:aa.zo},7:{Ud:2,ge:0,name:aa.Bo},8:{Ud:1,ge:2,name:aa.Eo},10:{Ud:2,ge:7,name:aa.Ao},13:{Ud:6,ge:7,name:aa.wo},15:{Ud:3,ge:0,name:aa.Co}};l=vp.prototype; -l.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&xp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&yp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&((a=d.A[ea(a.value,10)])? -(a=a.za)?(a=Na(tp(a),"octet-stream",!0,a.Ug.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(this.ia)return this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;yp(d,ja(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Yc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}zp(this);qc(b,this,Ap);yc(b,this,Bp);Cp(this,"None","",!0);this.ia&&Cp(this,"Local Disk","?");Cp(this,"Remote Disk","??");Dp(this)||xb(this)}; -l.hc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.lh){this.B=[];for(a=0;ag.za.restore(A)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e} -function Fp(a){var b=0,c=[];c[b++]=a.hb;c[b++]=0;c[b++]=a.ma;c[b++]=a.V;c[b++]=a.L;c[b++]=a.C;c[b++]=a.aa;for(var d=b++,e=0,f=[],g=0;gGp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.Tk=c,a.Oe=d,Hp(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ce||e),a.Fg=f[0],a.Qf=f[1],a.Rf=f[2],this.X&&this.X.wd()):a.bf=!1;a.Ce&&(a.Ce=!1,--this.ea||xb(this));xp(this,a.hb)}; -function Cp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -l.Jn=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=wp[a].Ud){b=!1;this.L=0;a=Jp(this);var d,e,f,g,h=a&31;switch(h){case 3:Jp(this);Jp(this);Kp(this);break;case 4:c=Jp(this);this.hb=c&3;d=this.A[this.hb];Kp(this);Lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Jp(this);e=Jp(this);f=d.xb=Jp(this);g=Jp(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Jp(this);d.Hb=128<>2&1,c=Jp(this),d.Qb+=c-d.ee,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ee=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Kp(this),b=!0}0>>8);Lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Lp(a,e+k);Lp(a,f);Lp(a,g);Lp(a,h)}function Jp(a){var b=a.V[a.L];a.L++;return b}function Kp(a){a.L=a.C=0}function Lp(a,b){a.V[a.C++]=b}l.el=function(a,b,c){void 0===b||0>b?this.Le(a,c):c(-1,!1)};l.fl=function(a,b){return void 0!==b&&0<=b?Np(a,b):-1}; -l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.Cb)a=-1;else{a.ld[a.We++]=b;if(a.We==a.ld.length){a.Qb=a.ld[0];a.kb=a.ld[1];a.xb=a.ld[2];a.Hb=128<Np(a,a.cj)){a=-1;break a}a.sg++}a.sg>=a.fe&&(b=-1);a=b}else a=-1;return a};l.Le=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Op(a)}while(1)}b(c,!1,d,e)}; -function Np(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Op(a)}while(1);return b}function Op(a){a.xb++;a.xb>=a.Rf+1&&(a.xb=1,a.kb++,a.kb>=a.Qf&&(a.kb=0,a.Qb++))}var Ap={1009:vp.prototype.jm,1012:vp.prototype.lm,1013:vp.prototype.im,1015:vp.prototype.km},Bp={1010:vp.prototype.Kn,1013:vp.prototype.Jn,1015:vp.prototype.In}; -Xa(function(){for(var a=tb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(A=!1),A&&void 0!==k.eb&&(k.pb=k.za.seek(k.be,k.kb,k.xb+k.rg)));A||(e=!1);null!=a.pa&& -1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e} -function Yp(a){var b=0,c=[];a.ia?(c[b++]=a.W,c[b++]=a.Pa,c[b++]=a.aa,c[b++]=a.Ca,c[b++]=a.ya,c[b++]=a.va,c[b++]=a.ra,c[b++]=a.ma,c[b++]=a.Da,c[b++]=[a.fa,a.hb]):(c[b++]=a.pa,c[b++]=a.ma,c[b++]=a.V,c[b++]=a.L,c[b++]=a.C,c[b++]=a.Oa,c[b++]=a.Ka,c[b++]=a.Ja,c[b++]=a.ka);for(var d=0,e=[],f=0;f=this.C&&(this.L=this.C=0,this.ma&=-15);return c};l.ho=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,$p(this))};l.Mm=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Le(a.B,function(b){0<=b?(bq(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}l.il=function(a,b){return aq(this,a,b)|aq(this,a,b)<<8}; -function cq(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>dq(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}l.qn=function(a,b,c){cq(this,a,b&255,c);cq(this,a,b>>8&255,c)};l.Sl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};l.vn=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};l.Ul=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -l.tn=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};l.Vl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};l.un=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};l.Ql=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};l.pn=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};l.Pl=function(a,b){var c=this.va;x(this,a,null,b,"CYLHI",c);return c};l.on=function(a,b,c){x(this,a,b,c,"CYLHI");this.va=b};l.Rl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -l.rn=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};l.Wl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};l.nn=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&lg(this.N,14);eq(this)};l.sn=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b}; -function eq(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.va&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.be=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Le(k,function(b){0<=b&&a.N?(bq(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&bq(a)} -function bq(a){!a.N||a.fa&2||mg(a.N,14,120)} -function $p(a){a.L=0;var b=fq(a),c=fq(a),d=c&32,e=d>>5,f=c&31,g=fq(a),h=fq(a),k=g<<2&768|h,m=g&63,n=fq(a),t=fq(a),q=a.A[e];q&&(q.be=k,q.kb=f,q.xb=m,q.Hb=n*q.Va);switch(b){case 3:gq(a,q?q.errorCode:4);hq(a,c);hq(a,g);hq(a,h);hq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=fq(a));)q&&cb?this.Le(a,c):c(-1,!1)};l.hl=function(a,b){return void 0!==b&&0<=b?dq(a,b):-1}; -l.wl=function(a,b){void 0!==b&&0<=b?(a.ebdq(a,a.cj)){a=-1;break a}a.sg++}a.sg>=a.fe&&(b=-1);a=b}else a=-1;return a}; -function iq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaRead",b);ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function jq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaWrite",b);ul(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function kq(a,b,c){b.errorCode=4;b.Ue&&b.Ue.length==b.Hb||(b.Ue=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,Cl(a.N,3,a,"dmaWriteBuffer",b),ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -l.Le=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.be,a.kb,a.xb+a.rg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,lq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function dq(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.be,a.kb,a.xb+a.rg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;lq(a)}while(1);return b}function lq(a){a.xb++;var b=1-a.rg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.be++))}l.Nm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1}; -var Tp={800:Pp.prototype.Lm,801:Pp.prototype.Mm,802:Pp.prototype.Km},Sp={496:Pp.prototype.il,497:Pp.prototype.Sl,498:Pp.prototype.Ul,499:Pp.prototype.Vl,500:Pp.prototype.Ql,501:Pp.prototype.Pl,502:Pp.prototype.Rl,503:Pp.prototype.Wl},Vp={800:Pp.prototype.ho,801:Pp.prototype.ko,802:Pp.prototype.jo,803:Pp.prototype.io,807:Pp.prototype.pi,811:Pp.prototype.pi,815:Pp.prototype.pi},Up={496:Pp.prototype.qn,497:Pp.prototype.vn,498:Pp.prototype.tn,499:Pp.prototype.un,500:Pp.prototype.pn,501:Pp.prototype.on, -502:Pp.prototype.rn,503:Pp.prototype.nn,1014:Pp.prototype.sn};Xa(function(){for(var a=tb(document,"pcx86","hdc"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};mq.prototype.oh=function(){return-1};mq.prototype.ph=function(){}; -mq.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};mq.prototype.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.va?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function oq(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function pq(a,b,c){var d;if(b){b=qq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);ec&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function uq(a,b){if(b)return sq(a,b,a.ya[b]);var c=0;for(b in a.ya)sq(a,b,a.ya[b]),c++;return 0>2;this.Ba=b.Dg;this.bc=new kd(this.F,7,"DBG");this.Ga=Mq;80186<=this.F.ja&&(this.Ga=Mq.slice(),this.Ga[15]=Kq,80286<=this.F.ja&&(this.Ga[15]=Lq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Qq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=rq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Rq(d, -b,2),d.O("dumpSel("+v(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Da)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=Sq[a.type];e&&(c=e[0],b=e[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+v(a.Aa&65535)+" off="+v(a.Ta):"base="+r(a.Aa,d.Da)+" limit="+Tq(a.Ta))+" type="+u(a.type>>8)+" ("+c+") ext="+v(a.ext&-65296)+ -" dpl="+u(a.Gc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=rq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=wq(d,0,b);var c=d.Qa(a,1),e=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Uq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+v(k)+' "'+Vq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Qq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=rq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Rq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+v(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Da));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?Wq:Xq,m,n,t,q;for(q in k)m=k[q],n=a.Aa+m,t=Qf(d.F,n,2),2304==c&&(t|=Qf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=v(m)+" "+pa(q+":",11)+r(t,e);if(2304==c)for(q=0,m=t>>>16;mq;)n=a.Aa+m,t=Qf(d.F,n,2),b+="\n"+v(m)+" ports "+v(q)+"-"+v(q+15)+": "+ha(t,2),q+=16,m+=2;d.O(b)}}});this.L=null;this.sb=0;this.fb=!1;lf(this.F,48,this.Qm.bind(this));lf(this.F,65,this.Rm.bind(this)); -this.ka=null;lf(this.F,104,this.Sm.bind(this));xb(this)};function Yq(a,b,c,d,e,f){b=Vq(a,b);var g=Rq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Zq(a,b,c);e[b+h]=0;fm(a,b,c,d,0,null,g,e)} -function $q(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=wq(a,a.oa(b,4),a.na(b,2));b=wq(a,a.oa(b,4),a.na(b,2));b=Vq(a,b).toUpperCase();var k=Vq(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Zq(a,k,e);c[k+m]=g;fm(a,k,e,f,g,null,h,c)}function ar(a,b,c){c=Vq(a,c).toUpperCase();br(a,c,b)} -l.Qm=function(){var a=this.F;if(null!=this.L&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=wq(this,J(a)+12,a.ta.Z);switch(this.oa(d)){case 336:$q(this,wq(this,a.H,b),!c,!!this.L)}}return!0}; -l.Rm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.L)return 79==c&&mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.L=!0):(y(a,"INT 0x41 monitoring enabled",128),a.L=!1)}}(this)),!0;switch(c){case 79:this.L&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Yq(this,wq(this,h,k),d+1,e,!(g&1),!!this.L);break;case 82:br(this,null,d); -break;case 127:this.L&&(b.G=b.G&-65536|(this.fb?0:1));break;case 131:this.L&&(a=wq(this,b.M,e),this.sb++?(this.O("TRAPFAULT failed"),cr(this,this.B,a,!0,!0),this.sb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+v(d)+" error="+r(b.K,8,!0)+" addr="+dr(a)),this.Rd(this.B,a,!0),yq(this,!0)));break;case 141:this.L&&(b.G=b.G&-65536|1);break;case 336:$q(this,wq(this,b.H,f),!g,!!this.L);break;case 338:ar(this,d,wq(this,b.J,f))}this.fb=!1;return!this.L}; -l.Sm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.wa.Z<<4)+10)||1111835735==b.oa((b.wa.Z<<4)+95))return!0;mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.L=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=md(b.wa,this.rl.bind(this)))&& -(b.J=a[0],Bd(b,a[1]));break;case 72:br(this,null,e);break;case 80:32==c?Yq(this,wq(this,h,k),0,f,!0,!!this.ka):128>c?Yq(this,wq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):$q(this,wq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};l.rl=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -l.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Aq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ld(a,!0,!0,!1)}}return a}l.cc=function(a,b,c){var d=a&&a.Ea;if(null==d&&(d=-1,a)){var e=Rq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Ea=d)}return d};l.Qa=function(a,b){var c=255,d=this.cc(a,!1,1);-1!==d&&(c=Qf(this.F,d,1,5==a.type)|0,b&&fr(this,a,b));return c}; -l.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};l.na=function(a,b){var c=65535,d=this.cc(a,!1,2);-1!==d&&(c=Qf(this.F,d,2,5==a.type),b&&fr(this,a,b));return c};l.oa=function(a,b){var c=-1,d=this.cc(a,!1,4);-1!==d&&(c=Qf(this.F,d,4,5==a.type),b&&fr(this,a,b));return c};l.qc=function(a,b,c,d){var e=this.cc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].xf(e&f.A,b&255,e)}c&&fr(this,a,c);d||ad(this.F,!0)}}; -l.jb=function(a,b,c){var d=this.cc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):nc(this.ga,d,b),c&&fr(this,a,c),ad(this.F,!0))};function wq(a,b,c,d,e,f,g){return gr(a,{},b,c,d,e,f,g)}function gr(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Ea=e;b.type=f||(er(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Tc;b.Vd=!1;return b}function hr(a){return[a.Ra,a.Z,a.Ea,a.Vd,a.Rb,a.oc,a.Ve,a.jh]}function ir(a){return{Ra:a[0],Z:a[1],Ea:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ve:a[6],jh:a[7]}} -function jr(a,b,c){if(null!=b.Z&&(a=Rq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=pq(a,b,void 0),f=null):(f=pq(a,b,void 0),null==f&&(g=null)):(h=pq(a,b.substring(0,f),void 0),g=pq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=wq(a,g,h,f,c),d||jr(a,e,!0)||(a.O("invalid offset: "+dr(e)),e=null));return e}function lr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ll=a.Ng(b.Sk=c[2]))}l.Pk=function(a,b){var c=kr(this,b);return a.replace("["+b+"]",c?r(this.tb(c),c.Rb?8:4):"undefined")}; -function fr(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,jr(a,b)||(b.Ra=0,b.Ea=null))}function Uq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function dr(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Ea):b+Uq(a.Ra,a.Z,a.oc)} -function Vq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Nc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Yb[c],6==c&&(d=d.Bd,h+=" -> "+Yb[d.type]),d&&a.O(r(d.id,8)+" %"+r(f<c&&(c=ya(Iq,a.substr(b,2))));return c}; -function nr(a,b){var c=0,d=a.ph(b);if(null!=d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -l.ph=function(a){var b;if(0<=a){var c=this.F;switch(a){case 0:b=c.G&255;break;case 1:b=c.I&255;break;case 2:b=c.M&255;break;case 3:b=c.H&255;break;case 4:b=c.G>>8&255;break;case 5:b=c.I>>8&255;break;case 6:b=c.M>>8&255;break;case 7:b=c.H>>8&255;break;case 8:b=c.G&65535;break;case 9:b=c.I&65535;break;case 10:b=c.M&65535;break;case 11:b=c.H&65535;break;case 12:b=J(c)&65535;break;case 13:b=c.P&65535;break;case 14:b=c.K&65535;break;case 15:b=c.J&65535;break;case 22:b=M(c)&65535;break;case 23:b=Cd(c); -break;case 16:b=c.Xa.Z;break;case 17:b=c.wa.Z;break;case 18:b=c.ta.Z;break;case 19:b=c.vb.Z;break;default:if(80286==this.F.ja)32==a&&(b=c.$a);else if(80386<=this.F.ja)switch(a){case 24:b=c.G;break;case 25:b=c.I;break;case 26:b=c.M;break;case 27:b=c.H;break;case 28:b=J(c);break;case 29:b=c.P;break;case 30:b=c.K;break;case 31:b=c.J;break;case 32:b=c.$a;break;case 33:b=c.ti;break;case 34:b=c.se;break;case 35:b=c.Od;break;case 20:b=c.Nb.Z;break;case 21:b=c.Ob.Z;break;case 56:b=M(c)}}}return b}; -function or(a,b){b=qq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.oh(b,c+1),0<=e&&(b=b.substr(0,c)+nr(a,e)+b.substr(c+1+Iq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ea(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=kr(a,e))?(d=e+' "'+Vq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=kr(a,e))?(fr(a,d),d= -e+' "'+Vq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+dr(wq(this,M(this.F),this.F.wa.Z))+" (%"+r(this.F.Ha)+")");this.Pa&&a==this.Pa||(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F&&(a=this.F,a.fb-=a.A,a.A=0,a.Y.mf=0,ad(a)))}; -function pk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Cq.indexOf(b),!d)){var g=Bq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Db[b])&&g[e]||"")&&(g=" "+or(a,g)),a.message("INT "+u(b)+": AH="+u(e)+" at "+Uq(c-2-a.F.wa.Aa,a.F.wa.Z)+g));return d} -function ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.wa.Z,e-=a.F.wa.Aa),a.message(b.xd+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+u(d):"")+")"+(null!=g?": "+u(g):"")+(null!=e?" at "+Uq(e,h):""))}l.qh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.pd();if(this.qb){var a=this.qb;this.qb=null;Aq(this,a)}}; -function yq(a,b){var c;if(ag(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Rd(e&f.Fa,a==this.fa);g&&Xb(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Vd=!0):(ur(this,a,a.length-1,"set"),yq(this)));return d}; -function cr(a,b,c,d,e){for(var f=!1,g=vr(a,a.cc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+q;(217==f||219==f)&&52<=A&&(A=q<<4|g&7);(q=Oq[f])&&(t=q[A]);t&&(n=Fq,k=t,m=k[0])}m>=n.length&&(g=a.Qa(b,1),k=Pq[m-n.length][g>>3&7],m=k[0]);n=n[m];q=k.length-1;t="";b.Rb&&(18==m? -n="CWDE":28==m?n="CDQ":104<=m&&107>=m&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)q=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=-1,A=!0,F=1;F<=q;F++){var C,D;C="";D=k[F];if(void 0!==D){0>f&&(f=D>>14);80==m&&(2==f?t="[%800]":3==f&&(t="ES:["+(b.oc?"E":"")+"DI]"));var L=D&15;if(L)if(8==L)A=!1;else{var G=D&240;if(128<=G)if(0>g&&(g=a.Qa(b,1)),160>G){G=a;C=D;var ga=q;D=b;var S="",ab=g>>6,la=g&7;if(3>ab){L=!n.indexOf("FI");if(!ab&&(!D.oc&&6==la||D.oc&&5==la))ab=2;else{if(D.oc)if(4!=la)la+= -8;else{var S=G,Ja=ab,Da=D,Wa=S.Qa(Da,1),Ka=Wa>>6,Vb=Wa>>3&7,Wa=Wa&7,Pa="";if(Ja||5!=Wa)Pa=Jq[Wa+8];4!=Vb&&(Pa&&(Pa+="+"),Pa+=Jq[Vb+8],Ka&&(Pa+="*"+(1<>24),2)):S+("+"+r(G,2))):2==ab&&(S&&(S+="+"),D.oc?(G=G.oa(D,4),S+=r(G)):(G=G.na(D,2),S+=r(G,4)));S="["+S+"]";if(1==ga){G="";C&=15;4==C&&(C=D.Rb?5:3);switch(C){case 7:G="FAR";break;case 1:G="BYTE";break;case 3:if(L){G="INT16";break}G="WORD"; -break;case 5:G="DWORD";break;case 11:if(L){G="INT32";break}case 11:G="REAL32";break;case 12:if(L){G="INT64";break}case 12:G="REAL64";break;case 13:G="REAL80";break;case 14:G="BCD80"}G&&(S=G+" "+S)}}else S=zr(G,la,C,D);C=S}else C=160==G?zr(a,g&7,D,b):zr(a,g>>3&7,D,b);else if(16==G)C="1";else if(G)32==G?(b.oc?(C=8,D=a.oa(b,4)):(C=4,D=a.na(b,2)),C="["+r(D,C)+"]"):48==G?(C=1==L?a.Qa(b,1)<<24>>24:a.tb(b,!0),D=b.Ra+C&(b.Rb?-1:65535),C=r(D,b.Rb?8:4),D=Ar(a,wq(a,D,b.Z)),D[0]&&(C+=" ("+D[0]+")")):96==G?C= -9==L?"ST":10==L?"ST("+(g&7)+")":zr(a,(D&3840)>>8,D,b):112==G?C=zr(a,(D&3840)>>8,192,b):64==G?C="DS:[SI]":80==G&&(C="ES:[DI]");else{C=a;L=D;G=b;D=" ";switch(L&15){case 1:L&12288&&(D=r(C.Qa(G,1),2));break;case 2:D=r(C.Qa(G,1)<<24>>24,G.Rb?8:4);break;case 4:if(G.Rb){D=r(C.oa(G,4));break}case 3:D=r(C.na(G,2),4);break;case 7:G=wq(C,C.tb(G,!0),C.na(G,2),null,G.type,G.Rb,G.oc);D=dr(G);C=Ar(C,G);C[0]&&(D+=" ("+C[0]+")");break;default:D="imm("+v(L)+")"}C=D}if(!C||!C.length){t="INVALID";break}0a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return Iq[b]} -function Cr(a,b){switch(b){case "V":a=Cf(a.F);break;case "D":a=a.F.ca&1024;break;case "I":a=a.F.ca&512;break;case "T":a=a.F.ca&256;break;case "S":a=Bf(a.F);break;case "Z":a=Af(a.F);break;case "A":a=zf(a.F);break;case "P":a=yf(a.F);break;case "C":a=xf(a.F);break;default:a=0}return b+(a?"1":"0")+" "}function Tq(a){return r(a,a&-65536?8:4)}function Dr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+Er(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+"\n");c+=Fr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Fr(a,"GD",null,a.F.Ec,a.F.zd)+" "+Fr(a,"ID", -null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+Dr(a,32);80386<=a.F.ja&&(c+=Dr(a,34)+Dr(a,35))}else 80386<=a.F.ja&&(c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+" ");return c+=Dr(a,23)+Cr(a,"V")+Cr(a,"D")+Cr(a,"I")+Cr(a,"T")+Cr(a,"S")+Cr(a,"Z")+Cr(a,"A")+Cr(a,"P")+Cr(a,"C")}l.lj=function(a,b){return a[0]>b[0]?1:a[0]>>0,n],C=sa(A,q,a.lj);0>C&&A.splice(-(C+1),0,q)}F&&(t.a=F.replace(/''/g,'"'))}a.N.push({jg:b,dn:c,Z:d,Ra:e,Ea:f,Vm:g,Qd:h,Xi:m})} -function br(a,b,c){for(var d=0;d>>0,f=a.cc(b)>>>0,g=0;g>>0,n=h.Ea;null!=n&&(n>>>=0);var t=h.Vm;48==k&&(k=40);if(k==b.Z&&e>=m&&e=n&&fc?(a.O("out of data at address "+dr(b)),n=!0):(a.qc(b,c,1,!0),m++)})})(a,g);ad(a.F, -!0);a.O(m+" bytes read at "+b)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function qr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1f;f++){var g=c,e=null;if(f=a.Ja&&(h=null);switch(h){case "AL":a.F.G=a.F.G& --256|g&255;break;case "AH":a.F.G=a.F.G&-65281|g<<8&255;break;case "AX":a.F.G=a.F.G&-65536|g&65535;break;case "BL":a.F.H=a.F.H&-256|g&255;break;case "BH":a.F.H=a.F.H&-65281|g<<8&255;break;case "BX":a.F.H=a.F.H&-65536|g&65535;break;case "CL":a.F.I=a.F.I&-256|g&255;break;case "CH":a.F.I=a.F.I&-65281|g<<8&255;break;case "CX":a.F.I=a.F.I&-65536|g&65535;break;case "DL":a.F.M=a.F.M&-256|g&255;break;case "DH":a.F.M=a.F.M&-65281|g<<8&255;break;case "DX":a.F.M=a.F.M&-65536|g&65535;break;case "SP":I(a.F,J(a.F)& --65536|g&65535);break;case "BP":a.F.P=a.F.P&-65536|g&65535;break;case "SI":a.F.K=a.F.K&-65536|g&65535;break;case "DI":a.F.J=a.F.J&-65536|g&65535;break;case "DS":Ad(a.F,g);break;case "ES":Bd(a.F,g);break;case "SS":ud(a.F,g);break;case "CS":sf(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "IP":case "EIP":O(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "PC":case "PS":Dd(a.F,g);break;case "C":g?Ef(a.F):Ff(a.F);break;case "P":g?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&=-3,e.ca&=-5);break;case "A":g? -Mf(a.F):Kf(a.F);break;case "Z":g?Nf(a.F):Lf(a.F);break;case "S":g?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":g?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":g?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":g?Gf(a.F):Hf(a.F);break;default:var k=!0;if(80286<=a.F.ja)switch(k=!1,h){case "MS":Of(a.F,g);break;case "TR":-1===a.F.Sa.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.F.ja)switch(k=!1,h){case "EAX":a.F.G=g;break;case "EBX":a.F.H=g;break; -case "ECX":a.F.I=g;break;case "EDX":a.F.M=g;break;case "ESP":I(a.F,g);break;case "EBP":a.F.P=g;break;case "ESI":a.F.K=g;break;case "EDI":a.F.J=g;break;case "FS":a.F.Nb.load(g);break;case "GS":a.F.Ob.load(g);break;case "CR0":a.F.$a=g;uj.call(a.F,g);break;case "CR2":a.F.se=g;break;case "CR3":a.F.Od=g;Fd.call(a.F,g);break;default:k=!0}}if(k){a.O("unknown register: "+e);return}}if(!f){a.O("invalid value: "+b);return}ad(a.F);a.O("updated registers:")}}a.O(Gr(a,d));c&&(a.aa=wq(a,M(a.F),a.F.wa.Z),rr(a,dr(a.aa)))}} -function Nr(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(or(a,c[2])):pq(a,b,!0)}function Or(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=yr(a,b,g,f);b.jh||d||d++;a.O(f);a.aa=b;e-=b.Ea-k;c++}}} -l.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function xr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.va&&(a.O("ended assemble at "+dr(a.ua)),a.aa=a.ua,a.va=!1),b="";else if(!c){var e=">> ";a.F.$a&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(yb(a)&&0n||"z">>20;za.$i=a.F.Od+za.Jk;za.yb=ae.sa[(za.$i&ae.Gb)>>>ae.La];za.Aj=za.yb.Md(za.Jk);za.Kk=(Re&4190208)>>>10;za.aj=(za.Aj&-4096)+za.Kk;za.zb=ae.sa[(za.aj&ae.Gb)>>>ae.La];za.Bj=za.zb.Md(za.Kk);za.nl=(za.Bj&-4096)+(Re&4095)}if($d=za){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Re),od=od+(" %%"+mr($d.$i,$d.Aj)),od=od+(" %%"+mr($d.aj,$d.Bj,!0)), -od=od+(" %%"+r($d.nl));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==la){if("disk"==Ja){S[0]="l";S[1]="json";Mr(a,S);break a}for(ab in Eb)if(S[1]==ab){var yn=a.cb[ab];yn?(S.shift(),S.shift(),yn(S)):a.O("no dump registered for "+Ja);break a}Ja||(la=a.Cc||"db")}else a.Cc=la;if("dh"==la){var zn=Ja,An=Da,Bn="",Cn=0,Zb=a.Fa,sc=a.ia;if(sc.length){var Lb=+zn||a.Ub,Se=+An||10;isNaN(Lb)?Lb=Se:Bn="more ";Lb>sc.length&&(a.O("note: only "+sc.length+" available"),Lb=sc.length); -Zb-=Lb;0>Zb&&(null==sc[sc.length-1].Z?(Lb=Zb+Lb,Zb=0):Zb+=sc.length);var ii=[];"call"==An&&(Se=1E5,ii=["CALL"]);for(void 0!==zn&&a.O(Lb+" instructions earlier:");0=sc.length&&(Zb=0);a.Ub=Lb;Cn++;Se--}}Cn||(a.O("no "+Bn+"history available"),a.Ub=void 0)}else if("di"==la){S.shift(); -var ji=S[0];if(ji){var Ue=rq(a,ji);if(void 0===Ue||0>Ue||255>> -0,65536>4||1;ks--&&0qg?String.fromCharCode(qg):".";pg--}Ve&&(Ve+="\n");Ve+=Ja+" "+li+(0==Xe?" "+In:"")}Ve&&a.O(Ve);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var rg=1,Jn=255,Kn=a.Qa,Ln=a.qc;"ew"== -g[0]&&(rg=2,Jn=65535,Kn=a.na,Ln=a.jb);var Mn=rg<<1,Nn=g[1];if(null==Nn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var sg=kr(a,Nn);if(sg)for(var tg=2;tgri;){for(var tc=null,ps=256;Uc.Ra>>>0>>0;){$e.Ra=a.tb(Uc,!0);if(null==Uc.Ea||!ps--)break;$e.Z=Pn;if(tc=Or(a,$e))break;$e.Z=a.tb(Uc);if(tc=Or(a,$e,!0)){Pn=a.tb(Uc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bTr){if(d.load(this.aa)){this.X=new qf(this,"1.30.0","failsafe");this.X.load()&&(Zr(this,d),a=2,$r(this.X));this.X.set("timestamp",ua());as(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yr(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): -("error"==f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ia("user",""),this.B=null)):this.O(f+": "+g),$r(d),d.load()?(c=Yr(d),e=!0):c=!1))}e&&Xr(this,c?d:null)}else 2==a&&d.clear()}else Xr(this);delete this.aa;delete this.ea}e=nb(this.id);for(f=0;fa[1];a=a[2];this.va=!0;this.la.ic=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(bs(this,this.F,b,c,a),this.F.Cf());this.ka&&(Zr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function Zr(a,b){if(Ea("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ie();b=b.toString();var d={app:"PCx86",ver:"1.30.0"};d.url=a.ua;d.user=c;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Qr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new qf(a,"1.30.0"),g=new qf(a,"1.30.0","validate"),h=ua();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.0");f.set("url",window?window.location.href:null);f.set("browser",Ca());a.F&&a.F.gc&&(c&&a.F.Wb(),d=a.F.gc(b,c),"object"===typeof d&&f.set(a.F.id,d),c&&(a.F.la.ic=!1,!1===d&&(e=null)));for(var h=nb(a.id),k=0;k>>b.La;d=d+e-1>>>b.La;c.ih=0;for(c.Td=0;f<=d;)e=b.sa[f],c.ih+=e.size,e.size&&(c.Yg.push(wa(Nb,f,0,0,e.type)),c.Td++),f++;a.A=c;a.ya=a.A.Td*a.ga.Sb/691200;d=0;a.A.fj=0;a.A.Bf||(a.A.Bf=[]);e=-1;b=0;for(var g=-1,c=0;c>1),g=f.y+(f.A>>1),h=f.A,f.ad>1,b.U+=(b.W>>1)-2,Pb(b,e),b.ra&&(b.N.restore(),b.ra=!1)}}else Pb(a,"This space intentionally left blank");a.context.drawImage(a.aa,0,0,a.aa.width,a.aa.height,a.sb,a.Jb,a.Ya,a.fb);a.Ja=!1}} -Xa(function(){for(var a=tb(document,"pcx86-machine"),b=0;bf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PCx86$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ts(a,b,c)}})}else c(a,null)} -function us(a,b,c,d){function e(a){if(void 0===h){var b=g&&tb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--fs||Za(!0));k=!1}var g,h,k=!0;fs++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));n.appendChild(t)}c|| -(c="/versions/pcx86/1.30.0/components.xsl");m=function(d,h){h?gs(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--fs||Za(!0)):f("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),--fs||Za(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?gs(b,a,d,!0,e,m):hs(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}function vs(a,b,c,d){Za(!1);return us(a,b,c,d)}window.embedPC=vs;window.embedPCx86=vs;window.enableEvents=Za;window.sendEvent=$a; -function ws(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){xs(b,d)}):xs(null,d)}else w("Error ("+c+") requesting "+a)} -function xs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n')+"...\n",a=a+(' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.30.1/document.css b/versions/pcx86/1.30.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.30.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.30.1/document.xsl b/versions/pcx86/1.30.1/document.xsl deleted file mode 100644 index 797a04cfd..000000000 --- a/versions/pcx86/1.30.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.30.1/machine.xsl b/versions/pcx86/1.30.1/machine.xsl deleted file mode 100644 index b3884a744..000000000 --- a/versions/pcx86/1.30.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.1/manifest.xsl b/versions/pcx86/1.30.1/manifest.xsl deleted file mode 100644 index 5b092d12b..000000000 --- a/versions/pcx86/1.30.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.30.1/outline.xsl b/versions/pcx86/1.30.1/outline.xsl deleted file mode 100644 index f4ff2b973..000000000 --- a/versions/pcx86/1.30.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.1/pcx86-dbg.js b/versions/pcx86/1.30.1/pcx86-dbg.js deleted file mode 100644 index 63c1a10a3..000000000 --- a/versions/pcx86/1.30.1/pcx86-dbg.js +++ /dev/null @@ -1,868 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/interrupts.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86seg.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86fpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86func.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86help.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86mods.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86ops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86op0f.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/parallelport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/mouse.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/fdc.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/hdc.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/save.js (C) Jeff Parsons 2012-2016 -*/ -var l,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]},p={uo:1,dl:3,vo:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ue:65,Bi:66,Ci:67,Di:68,E:69,Ei:70,Fi:71,Gi:72,Hi:73,Ii:74,Ji:75,Ki:76,Li:77,Mi:78,Ni:79,Oi:80,Q:81,Pi:82, -Qi:83,Ri:84,Si:85,Ti:86,Ui:87,Vi:88,Wi:89,ng:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ve:97,ol:98,ql:99,d:100,e:101,Al:102,Bl:103,Cl:104,Dl:105,Tm:106,k:107,Um:108,Ym:109,n:110,en:111,p:112,q:113,r:114,lo:115,t:116,oo:117,po:118,qo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"];ca[192]=p["`"];ca[219]=p["["];ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"]; -da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"]; -function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=1;return c}function ha(a,b,c){var d="";if(!b||4>=8;return(c?"0b":"")+d} -function ia(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d}function r(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)} -function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function sa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var va=[31,28,31,30,31,30,31,31,30,31,30,31]; -function wa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.vh|g<>a.shift}function ya(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.xd=this.id:(this.ce=this.id.substr(0,b),this.xd=this.id.substr(b+1));this[a]=c;this.la={ready:!1,Ff:!1,hh:!1,ic:!1,error:!1};this.yg=null;this.la.error=!1;this.qa={};this.ha=null;this.wc=d||0;cb.push(this)}var db=void 0,eb={}; -if(window){db||(db=window.location.search.substr(1));for(var fb,gb=/\+/g,hb=/([^&=]+)=?([^&]*)/g;fb=hb.exec(db);)eb[decodeURIComponent(fb[1].replace(gb," "))]=decodeURIComponent(fb[2].replace(gb," "))}function ib(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 jb(a,b){b||(b=bb);a.prototype=ib(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var lb=window.PCjs.Machines||(window.PCjs.Machines={}),cb=window.PCjs.Components||(window.PCjs.Components=[])}else lb={},cb=[];function mb(a,b,c){lb[a]&&b&&(lb[a][b]=c)}function nb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Hb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Hb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}l=Fb.prototype;l.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)}; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};l.hc=function(a,b){b||Kb();return!0};l.gc=function(){return!0};l.he=function(a,b){a.button||(this.ea=b?0:-1,Mb(this,a,b))};l.Kf=function(a){Mb(this,a)}; -function Mb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Se)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ob(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Pb(a,"Mouse over memory to dump");else for(Pb(a,r(b,8,!0),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Pb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Pb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.qb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}l.pd=function(){};function Qb(a,b,c,d){a.A.Bf[a.A.fj++]={El:b,Td:c,type:d};return wa(Nb,b,c,0,d)}function Ob(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Ea=f||"white")} -function Pb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Ea;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Kb(){for(var a=!1,b=tb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Sb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Fa)return k.Qe+=k.Fa-f,k.Fa=f,!0;if(f>=k.Fa+k.Qe){n=k.size-(f-m);n>g&&(n=g);k.Qe=f-k.Fa+n;f=m+a.Sb;g-=n;h++;continue}}return Wb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Sb(f,a.ha,k);a.sa[h++]=f;f=m+a.Sb;g-=n}return 0>=g?(Xb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Yb[d]+" at "+r(b)),!0):Wb(a,2,b,c)} -var Nb,$b={Hk:20,count:8,Ko:1,type:3},ac=0,bc;for(bc in $b){var cc=$b[bc];$b[bc]={vh:(1<>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -l.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function mc(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].fg(c,b):a.sa[d++].re(c,b)|a.sa[d&a.ga].re(0,b+1)<<8}l.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};l.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function nc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].zi(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))} -l.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};l.xj=function(){return null}; -function oc(a,b){var c=0,d=[],e=!a.X&&a.Dg==a.Gb;e||Tb(a,!0);for(var f=0;f>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&Ac(a.ha,b,k)}else a.ha&&(ub(a.ha,a,b,k,e),a.V&&Ac(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Wb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var Bc;if(Ab){var Cc=new ArrayBuffer(2);(new DataView(Cc)).setUint16(0,256,!0);Bc=256===(new Uint16Array(Cc))[0]}else Bc=!1;var ic=Bc; -function B(a,b,c,d,e,f){this.id=Dc+=2;this.da=null;this.C=0;this.Fa=a;this.Qe=b;this.size=c||0;this.type=d||Ec;this.N=d==hc;this.controller=null;this.F=f;Sb(this);this.Wa=this.tj=!1;if(c)if(e)this.controller=e,a=e.wj(a),this.da=a[0],this.C=a[1],fc(this,e.nh());else if(Ab)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Za=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),fc(this,ic?jc:kc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,qh:function(a){this.Fa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ab)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b,c){this.sc(a++,b&255,c++); -this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Ea:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2;a=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2;a=(a&3)<<3;24>a?this.da[c]=this.da[c]&~(65535<>8);this.Wa=!0},Wc:function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<>>32-a}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a)||this.F&&Lc(this.F,b,1,!1);return this.re(a,b)},qb:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,b,2,!1);return this.fg(a,b)},Pa:function(a,b){this.ha&&null!=this.Fa&& -Kc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,b,4,!1);return this.si(a,b)},bc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a)||this.F&&Lc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,c,2,!0);this.N?this.L(a,b,c):this.zi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=this.ga; -this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V; -this.Bd.yf(a,b,c)},Ka:function(a,b){return Nc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Nc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Nc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Nc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Nc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Nc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Za[a]},aa:function(a){return this.Za[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Za[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>> -2]},Ub:function(a,b){this.Za[a]=b;this.Wa=!0},ra:function(a,b){this.Za[a]=b;this.Wa=!0},uc:function(a,b){this.Za[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Sb(a,b,c){a.ha=b;a.ze=a.Ae=0;c&&(c.F&&(a.F=c.F),(a.ze=c.ze)&&Hc(a,Ic,!1),(a.Ae=c.Ae)&&Jc(a,Ic,!1))} -function Oc(a){a.sc=a.N?a.L:a.xf;a.zf=a.N?a.W:a.zi;a.yf=a.N?a.U:a.ua}function Pc(a){a.pc=a.re;a.sf=a.fg;a.Md=a.si}function Jc(a,b,c){c&&a.Ae||(a.sc=!a.N&&b[1]||a.L,a.zf=!a.N&&b[3]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[1]||a.L,a.zi=b[3]||a.W,a.ua=b[5]||a.U}function Hc(a,b,c){c&&a.ze||(a.pc=b[0]||a.ia,a.sf=b[2]||a.ka,a.Md=b[4]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.fg=b[2]||a.ka,a.si=b[4]||a.ea}function fc(a,b,c){b||(b=5==a.type?Qc:6==a.type?Sc:Tc);Hc(a,b,c);Jc(a,b,c)} -var Tc=[],lc=[B.prototype.Ea,B.prototype.tc,B.prototype.sb,B.prototype.Cd,B.prototype.Ya,B.prototype.Wc],Ic=[B.prototype.Da,B.prototype.bc,B.prototype.qb,B.prototype.sd,B.prototype.Pa,B.prototype.Vc],Sc=[B.prototype.Ja,B.prototype.Cc,B.prototype.Jb,B.prototype.Gd,B.prototype.fb,B.prototype.hd],Qc=[B.prototype.Ka,B.prototype.Uc,B.prototype.xd,B.prototype.Hd,B.prototype.gb,B.prototype.jd]; -if(Ab)var kc=[B.prototype.Ca,B.prototype.Ub,B.prototype.Tb,B.prototype.qd,B.prototype.Oa,B.prototype.ce],jc=[B.prototype.aa,B.prototype.ra,B.prototype.pa,B.prototype.ya,B.prototype.fa,B.prototype.va],Vc=[B.prototype.Ga,B.prototype.uc,B.prototype.Db,B.prototype.Fd,B.prototype.cb,B.prototype.Xc]; -function Wc(a,b){bb.call(this,"CPU",a,Wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Y={};this.Y.Id=b;this.Y.Wd=c;this.Y.Ag=Math.round(this.Y.Id/1E4)/100;this.Y.He=this.Y.Ag*this.Y.Wd;this.la.Ib=!1;this.la.yi=!1;this.la.Cf=a.autoStart;this.la.oj=!1;this.la.Xe=!1;this.Y.Lf=this.Y.kf=0;this.Y.Mf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.Ai=this.Ne.bind(this);xb(this)}jb(Wc);var Xc=["power","reset"];l=Wc.prototype; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=cd(a)&&(a.Y.jf=a.Y.lf=-1,$c(a),a.Wb(),c=!0);c&&a.O(cd(a)+" cycles: checksum="+r(a.Y.Lf))}} -l.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.ic)a=!0;else{var b=null,c,h=nb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.Ag&&(c=Math.round(c/a.Y.Wd));return c}function Zc(a){a.Y.ne=0;a.uc=a.Ub=a.fb=a.A=0;$c(a);dd(a,1)} -function dd(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.ne/a.Y.He?b=1:d=!0;a.Y.Wd=b;b=a.Y.Ag*a.Y.Wd;if(a.Y.He!=b){a.Y.He=b;b=a.Y.He.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.wd()}fd(a,a.Ub);a.Ub=0;a.Y.oe=ta();a.Y.Ie=0;gd(a);return d} -l.Ne=function(a){if(vb(this,!0)){if(!this.la.Ib){dd(this);this.X&&this.X.start(this.Y.oe,cd(this));this.la.Ib=!0;this.la.yi=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.pd(!0),a&&this.X.wd(!0))}this.Y.Bh>=this.Y.Id&&gd(this,!0);this.Y.Pf=0;this.Y.Bg=ta();this.Y.Ie&&(a=this.Y.Bg-this.Y.Ie,a>this.Y.Dj&&(this.Y.oe+=a,this.Y.oe>this.Y.Bg&&(this.Y.oe=this.Y.Bg)));try{do{var c=this.la.Xe?1:this.Y.bn;if(this.N){hd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.De){var f= -(cd(d.F,d.ka)-e.vd)/d.gb|0,g=id(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var m=k.ua-cd(k.F,k.ka);0m&&(a=m)}c=a}try{this.wf(c)}catch(t){if("number"!=typeof t)throw t;}var n=this.fb-this.A;this.Ub+=n;this.Y.Pf+=n;fd(this,0,!0);bd(this,n);this.Y.Of-=n;0>=this.Y.Of&&(this.Y.Of+=this.Y.Fj,this.X&&jd(this.X));this.Y.Nf-=n;0>=this.Y.Nf&&(this.Y.Nf+=this.Y.Ej,this.X&&this.X.pd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.Ah; -break}}while(this.la.Ib)}catch(t){this.Wb();ad(this);this.X&&this.X.stop(ta(),cd(this));vb(this,!1);zb(this,t.stack||t.message);return}c=setTimeout;d=this.Ai;this.Y.Ie=ta();e=this.Y.Dj;this.Y.Pf&&(e=Math.round(e*this.Y.Pf/this.Y.Ah));e-=this.Y.Ie-this.Y.Bg;if(f=this.Y.Ie-this.Y.oe)this.Y.ne=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&hd(this.N,!0),dd(this));if(0>e||this.Y.nee&&(this.Y.oe-=e),e=0;this.Y.Bh+=this.Y.Pf;this.Y.Ie+=e;c(d,e)}else ad(this),this.X&&this.X.stop(ta(), -cd(this))};l.wf=function(){return 0};l.Wb=function(a){wb(this,!0);this.fb-=this.A;this.A=0;fd(this,this.Ub);this.Ub=0;if(this.la.Ib){this.la.Ib=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.complete=a};function ad(a,b){a.X&&(jd(a.X,b),a.X.pd(b))} -function kd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.kc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Tc=2;this.R=this.Ba=65535;this.X=this.uh;this.ga=this.ij;this.qa=this.kj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.$f=0,this.C=null,this.df=!1,this.N=Array(32),this.B=[]);ld(this,!0,d)}function md(a,b){a.B.push(b);return[a.B.length,1]}l=kd.prototype; -l.uh=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};l.zg=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,nd(this,c,a,b);6>this.id&&E.call(e,b&&3==this.id?10:13,a&65532)}return-1};l.Xm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -l.Wm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=nd(this,c,a),-1!==a&&(a+=this.$f),a;E.call(b,13,a|2);return-1};l.ij=function(a){return this.Aa+a|0};l.kj=function(a){return this.Aa+a|0};l.hj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.tg()};l.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.tg()};l.tg=function(){E.call(this.F,13,0);return-1};l.jj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.ug()}; -l.tl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.ug()};l.ug=function(){E.call(this.F,13,0);return-1};function sd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ld(a,!0)}function td(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ld(a,!0)} -function nd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ld(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,m=e.na(b+6),n=c&65528;if(80386<=e.ja){var t=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.df=!1;if(q&&1==c&&a.B.length){var A=a.B[a.$f-1];if(A&&!A())return-1}var F=c&3,C=(g&24576)>>13,A=-1,D,L;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(A=H(e),ud(e,H(e),!0),I(e,A),a.df=!0),A=0);else{if(256==h||2304==h)return vd(a,c,q)?a.Aa:-1;if(1024==h)A=2,L=0,Fh||2048==(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,12,c&65532),-1;break; -case 4:q=h&-513;if(!n||256!=q&&2304!=q)return E.call(e,13,c&65532),-1;2304==q&&(a.Zi=k+e.na(k+102)|0,a.ml=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=m,a.Xb=b,ld(a,!0,!0,!1));return k} -function vd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,M(d)),d.jb(g+16,Cd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,J(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.wa.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Dd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Ed(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ld(a,b,c,d){void 0===c&&(c=!!(a.F.$a&1));a.bd=!1;if(c)if(a.load=a.zg,a.Cj=a.Wm,a.mc=a.hj,a.nc=a.jj,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Tc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.tg,a.nc=a.ug;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.tg);if(a.type&2048||!(a.type&512))a.nc=a.ug;1024==(a.type&3072)&&(a.mc==a.hj&&(a.mc=a.sl),a.nc==a.jj&&(a.nc=a.tl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&(c= -a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Tc=a.ba,a.Ba=a.R)}else a.load=a.uh,a.Cj=a.Xm,a.mc=a.ij,a.nc=a.kj,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Gd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Wc.call(this,a,b);this.ag=61442;this.Cc=1792;this.Zf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Cb:Bb;this.W=Hd;this.eg=Id;this.kg=Jd;this.lg=Kd;if(80186<=this.ja&&(this.W=Hd.slice(),this.eg=Id.slice(),this.kg=Jd.slice(),this.ra=31,this.W[15]=Ld,this.W[96]=Md,this.W[97]=Nd,this.W[98]=Od,this.W[99]=Ld,this.W[100]=Ld,this.W[101]= -Ld,this.W[102]=Ld,this.W[103]=Ld,this.W[104]=Pd,this.W[105]=Qd,this.W[106]=Rd,this.W[107]=Sd,this.W[108]=Td,this.W[109]=Xd,this.W[110]=Yd,this.W[111]=Zd,this.W[192]=ee,this.W[193]=fe,this.W[200]=ge,this.W[201]=he,this.W[241]=ie,this.eg[7]=je,this.kg[7]=je,80286<=this.ja)){this.ag=2;this.Cc|=28672;this.Cd=0;this.W[15]=ke;this.tc=le.slice();for(a=0;a=this.Uc&&(this.tc[166]=te,this.tc[167]=ue)}}this.Hd=[];this.je=[];this.le=0;Zc(this);this.la.complete=this.la.nj=!1;this.Wg=0;this.kd=this.sa=[];this.La=this.Sb=this.Ea=this.Fd=this.hd=this.Gb=this.Db=0;ve(this)}jb(Gd,Wc);function we(a,b,c,d){b=(d?a.kd:a.sa)[b>>>a.La];c?--b.Ae||Oc(b):--b.ze||Pc(b);d&&Xb(a)} -function xe(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Sb(a.ke,a.ha);for(b=0;ba.me&&(a.dg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function Xb(a){a.$a&-2147483648&&xe(a)} -function Nc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||ye.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||ye.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b&=-4096;var m;0>2;b.zb=g;b.B=h>>2;Ab&&ic&&c.da&&!c.controller&&!c.ze&&!c.Ae?(b.Za=c.Za,b.de=c.de,b.da=c.da,fc(b,Vc)):(b.ga=c?Gc(32):0,b.V=c?Gc(96):0,fc(b,Sc));Sb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ze(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}l=Gd.prototype;l.reset=function(){this.la.Ib&&this.Wb();ve(this);Zc(this);this.la.error=!1}; -function Ae(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=J(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function Be(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:I(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function ve(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.mg=0;a.L=0;a.$a=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.qb=-1;a.bc=a.sb=-1;a.qe=a.U=-1;a.wa=new kd(a,1,"CS");a.vb=new kd(a,2,"DS");a.Xa=new kd(a,2,"ES");a.ta=new kd(a,3,"SS");I(a,0);ud(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.$a=16;a.ti=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ee=[null,null,null,null,null,null,0,0];a.Nb=new kd(a,2,"FS");a.Ob=new kd(a,2,"GS");ze(a)}a.rf=new kd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Ed(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new kd(a,5,"LDT",!0);a.Sa=new kd(a,4,"TSS",!0);a.Da=new kd(a,6,"VER",!0);Ed(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.wa.Ta>>>0)+1}Dd(a,0);wd(a)} -function Ce(a){2==a.Tc?(a.cc=a.na,a.Oa=De,a.Ya=Ee,a.Jb=Fe,2==a.ba?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=Le,a.ea=Me,a.ya=Ne)):(a.cc=a.oa,a.Oa=Oe,a.Ya=Pe,a.Jb=Qe,2==a.ba?(a.V=cf,a.ea=df,a.ya=ef):(a.V=ff,a.ea=gf,a.ya=hf))}function xd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,jf(a))}function jf(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Tc?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=cf,a.ea=df,a.ya=ef)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Tc?(a.V=Le,a.ea=Me,a.ya=Ne):(a.V=ff,a.ea=gf,a.ya=hf))} -function kf(a){a.Tc=a.wa.Tc;a.Ba=a.wa.Ba;Ce(a);a.ba=a.wa.ba;a.R=a.wa.R;jf(a);a.Ia&=-3073}l.vj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Cd(this)|0};function lf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function mf(a,b,c){c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function nf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])} -function of(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Ea,f,a):(g=a.sa[g>>>a.La],f?--g.Ae||Oc(g):--g.ze||Pc(g))}c>>=2;d>>=4}}function Lc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function wd(a,b,c){void 0===b&&(b=!!(a.$a&1));void 0===c&&(c=!!(a.ca&131072));a.lg=b&&!c?pf:Kd;ld(a.wa,!1,b,c);ld(a.vb,!1,b,c);ld(a.ta,!1,b,c);ld(a.Xa,!1,b,c);80386<=a.ja&&(ld(a.Nb,!1,b,c),ld(a.Ob,!1,b,c));kf(a)} -l.save=function(){var a=new qf(this);a.set(0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.$a,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ti),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ee))):g=null;b=[b,c,d,e,f,g,Cd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));a.set(1,b);a.set(2,[this.ka.kc, -this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);a.set(3,[0,this.uc,this.Y.Wd]);a.set(4,oc(this.ga,!!(this.$a&-2147483648)));return a.data()}; -l.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.$a=d[0],this.Ec=d[1],this.zd=d[2],this.Mc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.ti=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ee=d[12]),wd(this));Dd(this,b[6]);var d=!1,e;a:{e=this.ga; -var f=a[4],g;for(g=0;g>>0)+(a.wa.Ta>>>0)+1;a.pa=a.wa.Lb;kf(a)}function Ed(a,b,c,d){var e=a.wa;e.$f=b;e.C=d;b=e.load(c);return-1!==b?(tf(a,b+(a.wa.$f&a.wa.R)),a.wa.df):null} -function uf(a,b){b=(a.Ha>>>0)+b;b>a.hf&&(8088>=a.ja||a.wa.Ta==a.wa.Ba?b=a.wa.Aa+(b-a.hf&a.R):E.call(a,13,0));return b|0}function vf(a){a.Ha=a.qe}function J(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function I(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function wf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&xf(a),g&2&&yf(a),g&4&&zf(a),g&8&&Af(a),g&16&&Bf(a),g&32&&Cf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.sd=c;a.Xc=d;a.resultType=e} -function Df(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?Ef(a):Ff(a);e?Gf(a):Hf(a);return b}function If(a,b,c,d){c&d?Ef(a):Ff(a);(b^c)&d?Gf(a):Hf(a)}function Jf(a){return xf(a)?1:0}function xf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.sd)&(a.sd^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function yf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function zf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.sd)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function Af(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function Bf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function Cf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Ff(a){a.resultType&=-2;a.ca&=-2}function Kf(a){a.resultType&=-5;a.ca&=-17}function Lf(a){a.resultType&=-9;a.ca&=-65}function Hf(a){a.resultType&=-33;a.ca&=-2049}function Ef(a){a.resultType&=-2;a.ca|=1}function Mf(a){a.resultType&=-5;a.ca|=16}function Nf(a){a.resultType&=-9;a.ca|=64}function Gf(a){a.resultType&=-33;a.ca|=2048} -function Cd(a){return a.ca&-2262|xf(a)|yf(a)|zf(a)|Af(a)|Bf(a)|Cf(a)}function Of(a,b){b|=a.$a&1|65520;a.$a=a.$a&-65536|b&65535;a.$a&1&&wd(a,!0)}function Dd(a,b,c){a.$a&1||(b&=~a.Zf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.ag;a.ca&256&&(a.ua|=2,a.S|=4)} -function Pf(a,b,c,d){var e=0;if(a.$a&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.Zi)for(var f=a.Sa.Zi+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+v(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),E.call(a,13,0),!1):!0} -l.Pb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Wg++;a=!0;break;default:a=this.parent.Pb.call(this,a,b,c)}return a}; -function Qf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Nc(a,b,!1,!0));if(e){var f=b&a.Ea;if(!c||1==c)return e.re(f,b);if(2==c)return f>>this.La].pc(a&this.Ea,a)}; -l.na=function(a){var b=a&this.Ea,c=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(b>>this.La;if(b>>this.La].sc(a&this.Ea,b&255,a)}; -l.jb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;c>8&255,a+1))};l.nb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(c>>=8}}; -function Rf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Rf(a,a.ka,b)}function Sf(a,b){return Rf(a,a.Ka,b)}function Tf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function Q(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Uf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Vf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Wf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Xf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Yf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function yd(a,b,c){return a.tb(b.mc(c,a.ba))}l.xa=function(){var a=uf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Zf(a){var b=uf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=uf(a,a.Tc),c=a.cc(a.Ha);a.Ha=b;return c} -l.Ma=function(){var a=uf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};l.T=function(){var a=uf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function H(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Sg-a.fa|0;0>c&&0<=(a.Sg^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?I(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&E.call(a,12,0));return b} -function zd(a,b,c,d){c=a.fa-c|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function K(a,b){var c=a.fa-a.ba|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));a.rc(c,b);a.fa=c} -function $f(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=bg(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5; -cg.call(this,f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);cg.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(dg(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;ig(this);jg(this,a[b++]);for(c=0;c=kg&&lg(a,13))}function ig(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=kg?mg(a,13):a.ya&0||cg.call(a.F,2),!0;a=a.N;a.ja>=kg&&lg(a,13);return!1}function xg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ig(a)} -function gg(a){return a.ma|a.B<<11}function yg(a,b){return isFinite(b)?!0:!xg(a,Infinity===b?8:16)}function zg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,yg(a,d)||(d=null));return d}function Ag(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,yg(a,d)||(d=null));return d}function Bg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,yg(a,d)||(d=null));return d}function Cg(a,b,c){var d=null;null==b||null==c||!c&&xg(a,2)||(d=b/c,yg(a,d)||(d=null));return d} -function Dg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:b||(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Eg(a,b,c){if(null==b)return null;var d=a.jc&3072;d?d=1024==d||3072==d&&0=c){if(xg(a,1))return null;d=-c}else if(d<-c){if(xg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function Fg(a,b){var c=3;a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Gg(a){var b=a.B+0&7;return a.C&1<>16}function Lg(a){return a.F.oa(a.F.D)}function Mg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Ng(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Og(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}l.xi=function(){this.F.nb(this.F.D,this.L[0])};l.Wk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};l.Yk=eg.prototype.xi;l.Xk=eg.prototype.Wk;function Pg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])} -function Qg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767;b=b[0]>>>11|c<<21;c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,b=c=0));a.L[0]=b;a.L[1]=c|(d|e)<<20;return a.W[0]}function Jg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Rg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Sg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ig(a);jg(a,d.tb(b+=d.ba));!(d.$a&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba} -function Wg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,gg(a));c.rc(b+=c.ba,hg(a));if(!(c.$a&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Xg=Math.log(10)/Math.LN2,Yg=Math.LOG2E,Zg=Math.PI,$g=Math.log(2)/Math.LN10,ah=Math.LN2,bh=Math.pow(2,63);function ch(){this.ma&=-32896;ig(this)} -function dh(){Dg(this,U(this,0),U(this,this.A))}function eh(){Dg(this,U(this,0),U(this,this.A))&&Tg(this)}function fh(){eh.call(this)}function gh(){V(this,0,Cg(this,U(this,0),Mg(this)))}function hh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Ug(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Tg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!xg(this,1))b=Math.sqrt(a),yg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,Eg(this,U(this,0),bh))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Ug(this,a)},6:function(){var a=Eg(this,Tg(this));null!=a&&(this.ga[0]= -Sg(a,8),this.ga[1]=Sg(a/1E8,8),this.ga[2]=Sg(a/1E16,2),0>a&&(this.ga[2]|=32768),Pg(this))},7:function(){null!=Eg(this,U(this,0),bh)&&(this.Wk(),Tg(this))},48:function(){hh.call(this);Tg(this)},49:uh,50:ph,51:ph,52:sh}},wh=[ch,ih,jh,kh,lh,mh,qh,nh,rh,sh];Xa(function(){for(var a=tb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Ij;(bd)&&E.call(this,5);this.S|=2;return a}function Fh(a,b){var c=0;if(b){Lf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Nf(this);this.A-=11+3*c;return a}function Gh(a,b){var c=0;if(b){Lf(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Nf(this);this.A-=11+3*c;return a} -function Hh(a,b){a&1<<(b&(2==this.ba?15:31))?Ef(this):Ff(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ih(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a^b}function Jh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a&~b}function Kh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a|b} -function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=6;this.S|=2;return a}function Mh(a,b){if(-1===this.D)return Ih.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a^b} -function Nh(a,b){if(-1===this.D)return Jh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a&~b}function Oh(a,b){if(-1===this.D)return Kh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a|b} -function Ph(a,b){wf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a}function Qh(a,b){wf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a} -function Rh(a){if(this.Tb){var b=this.Tb,c=this.mg,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=vh[c][f]){if(0>wh.indexOf(e)){var f=b.F,g=f.qe;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.wa.Z;b.V=g-f.wa.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Sh(a){if(80186>this.ja)return W.call(this,a);E.call(this,13,0);return a}function je(a){E.call(this,6);return a} -function W(a){me.call(this);return a}function Th(a,b){a=Uh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return a}function Vh(a,b){a=this.Ma();a=2==this.ba?Uh.call(this,a,b):Wh.call(this,a,b);80386>this.ja&&(this.A-=12);return a}function Xh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Yh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.va=~this.va+(this.ia?0:1)|0)} -function Uh(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767a?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return a&65535}function Wh(a,b){Xh.call(this,a,b);this.va!=this.ia>>31?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return this.ia}function Zh(a,b){this.A-=14+(-1===this.D?0:2);Lf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Nf(this),a=this.Da.wb&-256,2=this.pa)&&this.Da.Gc>=(b&3))return Nf(this),this.Da.Ta;Lf(this);return a}function fi(a,b){if(-1===this.D)return me.call(this),a;ud(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.sk:this.B.rk:this.B.pk;return b}function yi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function zi(a,b){return b} -function Ai(a,b){a=this.L>>3&7;switch(a){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=a&&5!=a)E.call(this,6);else switch(a){case 1:this.aa=this.I;break;case 4:this.aa=J(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return gi.call(this,0,b)} -function Bi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.wa.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}E.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:E.call(this,6),b=a}-1!==this.C&&xd(this,2);return gi.call(this,0,b)} -function Yh(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.ia=d<<16|e&65535;this.va=f+((d>>>16)+b*a)|0}else this.ia=a*b|0,this.va=0}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,128)}function Di(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,this.Ga)&this.R} -function Ei(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Fi(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Gi(){return Cf(this)?1:0}function Hi(){return xf(this)?1:0}function Ii(){return xf(this)?0:1}function Ji(){return Af(this)?1:0}function Ki(){return Af(this)?0:1}function Li(){return xf(this)||Af(this)?1:0} -function Mi(){return xf(this)||Af(this)?0:1}function Ni(){return Bf(this)?1:0}function Oi(){return Bf(this)?0:1}function Pi(){return yf(this)?1:0}function Qi(){return yf(this)?0:1}function Ri(){return!Bf(this)!=!Cf(this)?1:0}function Si(){return!Bf(this)!=!Cf(this)?0:1}function Ti(){return Af(this)||!Bf(this)!=!Cf(this)?1:0}function Ui(){return Af(this)||!Bf(this)!=!Cf(this)?0:1}function Vi(a,b){return Wi.call(this,a,b,this.xa())}function Xi(a,b){return Yi.call(this,a,b,this.xa())} -function Zi(a,b){return Wi.call(this,a,b,this.I&31)}function $i(a,b){return Yi.call(this,a,b,this.I&31)}function aj(a,b){return bj.call(this,a,b,this.xa())}function cj(a,b){return dj.call(this,a,b,this.xa())}function ej(a,b){return bj.call(this,a,b,this.I&31)}function fj(a,b){return dj.call(this,a,b,this.I&31)}function gj(a,b){var c=a-b|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function hj(a,b){var c=a-b|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ij(a,b){Df(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Wf:this.B.Wf;this.S|=2;return a}function jj(a,b){Df(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Wf:this.B.Wf;this.S|=2;return a}function kj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function mj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.li}else this.C=this.D,Wf(this,a),this.A-=this.B.ki;return b} -function nj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:I(this,J(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.li}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ki;return b} -function oj(a,b){a^=b;Df(this,a,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return a}function pj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a^b,this.Ga)&this.R}function qj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function rj(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R} -function sj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=qj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.va=a[0];return!0}function tj(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R} -function uj(a){this.$a=a;wd(this);this.$a&-2147483648?xe(this):ze(this)}function Fd(a){this.Od=a;Xb(this)}function vj(a){this.S|=1;this.Ya.call(this,a);this.A-=-1===this.D?4:5}function Wi(a,b,c){if(c){16>>16-c)&65535;Df(this,a,32768,d&32768)}return a}function Yi(a,b,c){if(c){var d=a<>>32-c;Df(this,a,-2147483648,d&-2147483648)}return a} -function bj(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;Df(this,a,32768,d&1)}return a}function dj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;Df(this,a,-2147483648,d&1)}return a}function wj(){this.A-=-1===this.D?2:this.B.Fk;return 1}function xj(){var a=this.I&255;this.A-=(-1===this.D?this.B.ci:this.B.bi)+(a<this.qb?(-1!=this.bc&&(this.bc!==this.wa.Z&&(this.wa.Lb=this.bc&3,sf(this,this.bc)),this.bc=-1),this.qe!==this.Ha&&tf(this,this.qe),-1!=this.sb&&(this.sb!==this.ta.Z&&ud(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&I(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.qb?(b=0,a=8):(b=0,a=-1,ve(this),e=d=!1)):tf(this,this.qe);var f=a,g=b,h=32,k=Qf(this,this.Ha);204!=k||this.Sd||(d=!1);this.ca&131072&&(6== -f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);z(this,h|-2147483648)&&(d=!0);if(z(this,h)||d){var m=this.la.Ib,f="Fault "+u(f)+(null!=g?" ("+v(g)+")":"")+" on opcode "+u(k);d&&m&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=m,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.qb=a,Cj.call(this,a,b,c),this.qe=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;} -function ye(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);E.call(this,14,a)}function Ej(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.H+this.K);this.C=this.D;break;case 1:b=P(this,this.H+this.J);this.C=this.D;break;case 2:b=Sf(this,this.P+this.K);this.C=this.D;break;case 3:b=Sf(this,this.P+this.J);this.C=this.D;break;case 4:b=P(this,this.K);this.C=this.D;break;case 5:b=P(this,this.J);this.C=this.D;break;case 6:b=P(this,T(this));this.C=this.D;break;case 7:b=P(this,this.H);this.C=this.D;break;case 64:b=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=P(this,this.K+this.T());this.C=this.D;break;case 69:b=P(this,this.J+this.T());this.C=this.D;break;case 70:b=Sf(this,this.P+this.T());this.C=this.D;break;case 71:b=P(this,this.H+this.T());this.C=this.D;break;case 128:b=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=P(this,this.K+T(this));this.C=this.D;break;case 133:b=P(this,this.J+T(this));this.C=this.D;break;case 134:b=Sf(this,this.P+T(this));this.C=this.D;break;case 135:b=P(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this, -a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.H+this.K);this.C=this.D;break;case 1:c=P(this,this.H+this.J);this.C=this.D;break;case 2:c=Sf(this,this.P+this.K);this.C=this.D;break;case 3:c=Sf(this,this.P+this.J);this.C=this.D;break;case 4:c=P(this,this.K);this.C=this.D;break;case 5:c=P(this,this.J);this.C=this.D;break;case 6:c=P(this,T(this));this.C=this.D;break;case 7:c=P(this,this.H);this.C=this.D;break;case 64:c=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=P(this,this.K+this.T());this.C=this.D;break;case 69:c=P(this,this.J+this.T());this.C=this.D;break;case 70:c=Sf(this,this.P+this.T());this.C=this.D;break;case 71:c=P(this,this.H+this.T());this.C=this.D;break;case 128:c=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=P(this,this.K+T(this));this.C=this.D;break;case 133:c=P(this,this.J+T(this));this.C=this.D;break;case 134:c=Sf(this,this.P+T(this));this.C=this.D;break;case 135:c=P(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this,a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ie(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=Q(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Uf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Uf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=Q(this,this.K);this.A-=this.B.Jc;break;case 5:c=Q(this,this.J);this.A-=this.B.Jc;break;case 6:c=Q(this,T(this));this.A-=this.B.Jd;break;case 7:c=Q(this,this.H);this.A-=this.B.Jc;break;case 64:c=Q(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=Q(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Uf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Uf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=Q(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=Q(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Uf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=Q(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=Q(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=Q(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Uf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Uf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=Q(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=Q(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Uf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=Q(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Je(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Uf(this,this.P+this.K);this.C=this.D;break;case 3:b=Uf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Uf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Uf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this, -a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ke(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Uf(this,this.P+this.K);this.C=this.D;break;case 3:c=Uf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Uf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Uf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this,a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Vf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Vf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Vf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Vf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Vf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Vf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Vf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Vf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Vf(this,this.P+this.K);this.C=this.D;break;case 3:b=Vf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Vf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Vf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this, -a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Vf(this,this.P+this.K);this.C=this.D;break;case 3:c=Vf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Vf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Vf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this, -a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.G);break;case 1:c=P(this,this.I);break;case 2:c=P(this,this.M);break;case 3:c=P(this,this.H);break;case 4:c=P(this,Gj.call(this,0));break;case 5:c=P(this,T(this));break;case 6:c=P(this,this.K);break;case 7:c=P(this,this.J);break;case 64:c=P(this,this.G+this.T());break;case 65:c=P(this,this.I+this.T());break;case 66:c=P(this,this.M+this.T());break;case 67:c=P(this,this.H+this.T());break;case 68:c=P(this,Gj.call(this,1)+this.T()); -break;case 69:c=Sf(this,this.P+this.T());break;case 70:c=P(this,this.K+this.T());break;case 71:c=P(this,this.J+this.T());break;case 128:c=P(this,this.G+T(this));break;case 129:c=P(this,this.I+T(this));break;case 130:c=P(this,this.M+T(this));break;case 131:c=P(this,this.H+T(this));break;case 132:c=P(this,Gj.call(this,2)+T(this));break;case 133:c=Sf(this,this.P+T(this));break;case 134:c=P(this,this.K+T(this));break;case 135:c=P(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.G);this.C=this.D;break;case 1:b=P(this,this.I);this.C=this.D;break;case 2:b=P(this,this.M);this.C=this.D;break;case 3:b=P(this,this.H);this.C=this.D;break;case 4:b=P(this,Gj.call(this,0));this.C=this.D;break;case 5:b=P(this,T(this));this.C=this.D;break;case 6:b=P(this,this.K);this.C=this.D;break;case 7:b=P(this,this.J);this.C=this.D;break;case 64:b=P(this,this.G+this.T());this.C=this.D;break;case 65:b=P(this,this.I+this.T()); -this.C=this.D;break;case 66:b=P(this,this.M+this.T());this.C=this.D;break;case 67:b=P(this,this.H+this.T());this.C=this.D;break;case 68:b=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Sf(this,this.P+this.T());this.C=this.D;break;case 70:b=P(this,this.K+this.T());this.C=this.D;break;case 71:b=P(this,this.J+this.T());this.C=this.D;break;case 128:b=P(this,this.G+T(this));this.C=this.D;break;case 129:b=P(this,this.I+T(this));this.C=this.D;break;case 130:b=P(this,this.M+T(this));this.C= -this.D;break;case 131:b=P(this,this.H+T(this));this.C=this.D;break;case 132:b=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Sf(this,this.P+T(this));this.C=this.D;break;case 134:b=P(this,this.K+T(this));this.C=this.D;break;case 135:b=P(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.G);this.C=this.D;break;case 1:c=P(this,this.I);this.C=this.D;break;case 2:c=P(this,this.M);this.C=this.D;break;case 3:c=P(this,this.H);this.C=this.D;break;case 4:c=P(this,Gj.call(this,0));this.C=this.D;break;case 5:c=P(this,T(this));this.C=this.D;break;case 6:c=P(this,this.K);this.C=this.D;break;case 7:c=P(this,this.J);this.C=this.D;break;case 64:c=P(this,this.G+this.T());this.C=this.D;break;case 65:c=P(this,this.I+this.T()); -this.C=this.D;break;case 66:c=P(this,this.M+this.T());this.C=this.D;break;case 67:c=P(this,this.H+this.T());this.C=this.D;break;case 68:c=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Sf(this,this.P+this.T());this.C=this.D;break;case 70:c=P(this,this.K+this.T());this.C=this.D;break;case 71:c=P(this,this.J+this.T());this.C=this.D;break;case 128:c=P(this,this.G+T(this));this.C=this.D;break;case 129:c=P(this,this.I+T(this));this.C=this.D;break;case 130:c=P(this,this.M+T(this));this.C= -this.D;break;case 131:c=P(this,this.H+T(this));this.C=this.D;break;case 132:c=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Sf(this,this.P+T(this));this.C=this.D;break;case 134:c=P(this,this.K+T(this));this.C=this.D;break;case 135:c=P(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function cf(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Gj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Gj.call(this,1)+this.T()); -break;case 69:c=Uf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Gj.call(this,2)+T(this));break;case 133:c=Uf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function df(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Uf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Uf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ef(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Uf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Uf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ff(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Gj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Gj.call(this,1)+this.T()); -break;case 69:c=Vf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Gj.call(this,2)+T(this));break;case 133:c=Vf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function gf(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Gj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Vf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Vf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function hf(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Gj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Vf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Vf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}a=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function Gj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=J(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||zf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||zf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?Ef(this):Ff(this);b?Mf(this):Kf(this);this.A-=this.B.Je},function(){this.G=tj.call(this,this.G)},function(){this.I=tj.call(this,this.I)},function(){this.M=tj.call(this,this.M)},function(){this.H=tj.call(this,this.H)},function(){I(this,tj.call(this, -J(this)))},function(){this.P=tj.call(this,this.P)},function(){this.K=tj.call(this,this.K)},function(){this.J=tj.call(this,this.J)},function(){this.G=rj.call(this,this.G)},function(){this.I=rj.call(this,this.I)},function(){this.M=rj.call(this,this.M)},function(){this.H=rj.call(this,this.H)},function(){I(this,rj.call(this,J(this)))},function(){this.P=rj.call(this,this.P)},function(){this.K=rj.call(this,this.K)},function(){this.J=rj.call(this,this.J)},function(){K(this,this.G&this.R);this.A-=this.B.Rc}, -function(){K(this,this.I&this.R);this.A-=this.B.Rc},function(){K(this,this.M&this.R);this.A-=this.B.Rc},function(){K(this,this.H&this.R);this.A-=this.B.Rc},function(){K(this,J(this)-2&65535);this.A-=this.B.Rc},function(){K(this,this.P&this.R);this.A-=this.B.Rc},function(){K(this,this.K&this.R);this.A-=this.B.Rc},function(){K(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|H(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|H(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|H(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|H(this);this.A-=this.B.zc},function(){I(this,J(this)&~this.R|H(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|H(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|H(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|H(this);this.A-=this.B.zc},Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,function(){this.ya.call(this,mk,this.Ma);this.A-=-1===this.C? -1:this.B.Jg},Xj,function(){this.ya.call(this,mk,this.T);this.A-=-1===this.C?1:this.B.Jg},function(){this.Ya.call(this,ij)},function(){this.ea.call(this,jj)},function(){this.Oa.call(this,mj)},function(){this.V.call(this,nj)},Zj,ak,bk,ck,function(){this.S|=1;this.ea.call(this,Bi)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.V.call(this,ai)},function(){var a;this.V.call(this,Ai);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;Bd(this,a);break;case 1:a=this.I;this.I=this.aa;sf(this,a);break; -case 2:a=this.M;this.M=this.aa;ud(this,a);break;case 3:a=this.H;this.H=this.aa;Ad(this,a);break;case 4:a=J(this);I(this,this.aa);80386<=this.ja?this.Nb.load(a):Bd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):sf(this,a);break;case 6:a=this.K;this.K=this.aa;ud(this,a);break;case 7:a=this.J,this.J=this.aa,Ad(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=H(this);this.ya.call(this,nk,Aj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=J(this);this.G=this.G&~this.R|b&this.R;I(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.Kj},function(){Bj.call(this,this.Ma(),Zf(this));this.A-=this.B.Nj},function(){this.A-=3},function(){var a=Cd(this);a&131072&&3>this.Pa?E.call(this, -13,0):(K(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=H(this),a=a&65535|this.ca&-65536;Dd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?Ef(this):Ff(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Mf(this):Kf(this);a&64?Nf(this):Lf(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.fc},function(){this.G=this.G&-65281|(Cd(this)&213)<<8;this.A-= -this.B.fc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Sh},function(){this.G=this.G&~this.R|yd(this,this.ka,T(this));this.A-=this.B.Sh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Th},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Th},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=yd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Rf(this,this.ka,this.K),f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh, -this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Tf(this,this.ka,this.K&c),f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){Df(this,this.G&this.xa(),128);this.A-=this.B.Je},function(){Df(this,this.G&this.Ma(),this.Ga);this.A-=this.B.Je},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&& -(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&&(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh, -this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=yd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&255,f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&this.R,f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.fc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.fc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.fc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.fc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.fc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.fc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.fc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.fc},function(){I(this,J(this)&~this.R|this.Ma());this.A-=this.B.fc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.fc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.fc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.fc},gk,hk,gk,hk,function(){this.V.call(this,bi)},function(){this.V.call(this,$h)},function(){this.S|= -1;this.Jb.call(this,ok,this.xa)},function(){this.S|=1;this.ya.call(this,ok,this.Ma)},ik,jk,ik,jk,function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=this.B.dk;this.qb=-1;Cj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var b;a:{b=this.Hd[a];if(void 0!==b)for(var c=0;cthis.Pa)E.call(this,13,0);else{var a=this.B.ek;this.qb=-1;Cj.call(this,4,null,a)}else this.A-=this.B.fk},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.bk;if(this.$a&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);vd(this.wa,a,!1)}else{var a=this.pa,b=H(this),c=H(this),d=H(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=H(this),f=H(this),g=H(this),h=H(this),k=H(this),m=H(this);wd(this,!0,!0);ud(this, -f);I(this,e);Bd(this,g);Ad(this,h);this.Nb.load(k);this.Ob.load(m)}null!=Ed(this,b,c,!1)&&(Dd(this,d,a),this.le&&nf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,dk,wj)},function(){this.ya.call(this,2==this.ba?ek:fk,wj)},function(){this.Jb.call(this,dk,xj)},function(){this.ya.call(this,2==this.ba?ek:fk,xj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;Df(this,this.G,128);this.A-=this.B.Hj}else Fj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;wf(this,a,b,c,191);this.A-=this.B.Gj},function(){this.G=this.G&-256|(xf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Rf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Gk},function(){kk.call(this,216)},function(){kk.call(this,217)},function(){kk.call(this,218)},function(){kk.call(this,219)},function(){kk.call(this,220)},function(){kk.call(this,221)},function(){kk.call(this,222)},function(){kk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!Af(this)?(O(this,M(this)+a),this.A-=this.B.mk):this.A-=this.B.Ph},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&Af(this)?(O(this,M(this)+a),this.A-=this.B.Qh):this.A-=this.B.Rh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,M(this)+a),this.A-=this.B.lk):this.A-=this.B.Ph},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Rh:(O(this,M(this)+a),this.A-=this.B.Qh)},function(){var a=this.xa(); -Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,1,!1)&&(zc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.xa();Pf(this,a,this.ba,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.Ma(),b=M(this),a=b+a;K(this,b);O(this,a); -this.A-=this.B.Lj},function(){var a=this.Ma();O(this,M(this)+a);this.A-=this.B.Lh},function(){Ed(this,this.Ma(),Zf(this));this.A-=this.B.hk},function(){var a=this.T();O(this,M(this)+a);this.A-=this.B.Lh},function(){var a=this.M&65535;Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,1,!1)&& -(zc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Xh)},function(){var a=this.M&65535;Pf(this,a,2,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Xh)},lk,lk,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ca&131072?E.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(vf(this),this.ha.Wb()):this.ca&512||(this.ha&&vf(this),this.Wb()))},function(){xf(this)?Ff(this):Ef(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -qk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,rk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.va&this.R)},function(){Ff(this);this.A-=2},function(){Ef(this);this.A-=2},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca&=-513,this.A-=this.B.Jj)},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Id,zj)},function(){this.ya.call(this,Jd,zj)}],Yj=[zh,Ci,xh,Ei,Bh,gj,oj,Ph],mk=[Ah,Di,yh,Fi,Ch,hj,pj,Qh],nk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.yk;return b},Sh,Sh,Sh,Sh,Sh,Sh,Sh],ok=[function(a,b){this.A-=-1===this.C?this.B.qk:this.B.nk;return b},W,W,W,W,W,W,W],dk=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<>8-b)&255):d=a<<7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;If(this,c,d,128)}return c}, -function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=9)?(c=(a<>9-b)&255,d=a<>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;8>>b-1,a=b>>>1&255,Df(this,a,128,b&1,a&128);return a},W,function(a,b){if(b&=this.ra)9>24>>b-1,a=b>>1&255,Df(this,a,128,b&1);return a}],ek=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<>16-b)&65535):d=a<<15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=17)?(c=(a<>17-b)&65535,d=a<>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;16>>b-1,a=b>>>1&65535,Df(this,a,32768,b&1,a&32768);return a},W,function(a,b){if(b&=this.ra)17>16>>b-1,a=b>>1&65535,Df(this,a,32768,b&1);return a}],fk=[function(a,b){var c=a;if(b&=this.ra)c=a<>>32-b,If(this,c,a<>>b|d;If(this,c,d,-2147483648)}return c},function(a,b){var c=a;if(b&=this.ra)c=Jf(this),c=a<>>32-b>>>1,If(this,c,a<>>b|c<<32-b|a<<32-b<<1,If(this,c,a<<32-b,-2147483648);return c},function(a,b){var c=a;if(b&=this.ra)a<<=b-1,c=a<<1,Df(this,c,-2147483648,a&-2147483648,(c^a)&-2147483648);return c},function(a,b){if(b&=this.ra)b=a>>>b-1,a=b>>>1,Df(this,a,-2147483648, -b&1,a&-2147483648);return a},W,function(a,b){if(b&=this.ra)b=a>>b-1,a=b>>1,Df(this,a,-2147483648,b&1);return a}],qk=[function(a,b){b=this.xa();Df(this,a&b,128);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Vf:this.B.Uf;return a^255},function(a){var b=-a|0;wf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Vf:this.B.Uf;return b&255},function(a){this.ia=(this.G&255)*a&65535;this.ia&65280?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-= --1===this.D?this.B.uk:this.B.tk;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.Zj:this.B.Yj;this.S|=2;return a},function(a,b){if(!a)return Fj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d= -(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Fj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.Vj:this.B.Uj;this.S|=2;return a}],rk=[function(a,b){b=this.Ma();Df(this,a&b,this.Ga);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Vf:this.B.Uf;return a^this.R},function(a){var b=-a|0;wf(this,0,a,b,this.Ga|63,!0);this.A-=-1===this.D?this.B.Vf:this.B.Uf;return b&this.R},function(a,b){2==this.ba? -(b=this.G&65535,b=b*a|0,this.ia=b&65535,this.va=b>>16&65535):(Yh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.va=0));this.va?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.wk:this.B.vk;this.S|=2;return a},function(a,b){2==this.ba?(b=this.G&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.ia=b&65535,this.va=b>>16&65535,b=32767b):(Xh.call(this,a,this.G),b=this.va!=this.ia>>31);b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D? -this.B.ak:this.B.$j;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Fj.call(this),a;this.ia=c&65535;this.va=b%a&65535}else{if(!sj.call(this,this.G,this.M,a))return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Tj:this.B.Sj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086== -this.ja&&-32768==d)return Fj.call(this),a;this.ia=d&65535;this.va=b%c&65535}else{b=this.G;var c=this.M,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!sj.call(this,b,c,d)||this.ia>2147483647+e||this.va>2147483647+f?b=!1:(e&&(this.ia=-this.ia),f&&(this.va=-this.va),b=!0);if(!b)return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Xj:this.B.Wj;this.S|=2;return a}],Id=[function(a){var b=a+1|0;wf(this,a,1,b,190);this.A-=-1===this.D?this.B.Tf:this.B.Sf; -return b&255},function(a){var b=a-1|0;wf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&255},W,W,W,W,W,W],Jd=[function(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Tf:this.B.Sf;return b&this.R},function(a){K(this,M(this));O(this,a);this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);this.U= -this.fa;Bj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.Mj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.jk:this.B.ik;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);Ed(this,a,this.na(this.D+this.ba));this.A-=this.B.gk;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));K(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Ak;this.S|=2;return a},W];function te(){this.V.call(this,lj);this.A-=-1===this.D?6:13} -function ue(){this.ea.call(this,kj);this.A-=-1===this.D?12:19}var le=Array(256);le[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.lg,zj)};le[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,sk,zj)};le[2]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,Zh)};le[3]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,ei)}; -le[5]=function(){this.pa?E.call(this,13,0,0,!0):(Of(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),td(this.Xa,2102,this.na(2084)),td(this.wa,2108,this.na(2082)),td(this.ta,2114,this.na(2080)),td(this.vb,2120,this.na(2078)),Dd(this,this.na(2072)),O(this,this.na(2074)),I(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Sd=this.Mc+this.na(2142),td(this.Bc,2132,this.na(2076)),td(this.Sa,2144,this.na(2070)),this.A-=195)};le[6]=function(){this.pa?E.call(this,13,0):(this.$a&=-9,this.A-=2)};le[11]=Ld;le[166]=Ld;le[255]=Ld;var N=[];N[5]=Ld; -N[7]=function(){if(this.pa)E.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){uj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Dd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Sd=this.Mc+this.oa(a+104);sd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));sd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);sd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));sd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));sd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));sd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));sd(this.wa,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));sd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));I(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};N[16]=Zj;N[17]=ak;N[18]=bk;N[19]=ck;N[32]=function(){if(this.pa)E.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.$a;break;case 2:a=this.se;break;case 3:a=this.Od;break;default:me.call(this);return}Be(this,b&7,a);this.A-=6}};N[33]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(Be(this,a&7,this.Ja[b]),this.A-=22)}}; -N[34]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=Ae(this,a&7);switch((a&56)>>3){case 0:uj.call(this,b);this.A-=10;break;case 2:this.se=b;this.A-=4;break;case 3:Fd.call(this,b);this.A-=5;break;default:me.call(this)}}};N[35]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(a=Ae(this,a&7),a!=this.Ja[b]&&(of(this,!1),this.Ja[b]=a,of(this,!0)),this.A-=4>b?22:14)}}; -N[36]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(Be(this,a&7,this.Ee[b]),this.A-=12)}};N[38]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(this.Ee[b]=Ae(this,a&7),this.A-=12)}};N[128]=function(){var a=this.Ma();Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[129]=function(){var a=this.Ma();Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[130]=function(){var a=this.Ma();xf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[131]=function(){var a=this.Ma();xf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[132]=function(){var a=this.Ma();Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[133]=function(){var a=this.Ma();Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[134]=function(){var a=this.Ma();xf(this)||Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -N[135]=function(){var a=this.Ma();xf(this)||Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[136]=function(){var a=this.Ma();Bf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[137]=function(){var a=this.Ma();Bf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[138]=function(){var a=this.Ma();yf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[139]=function(){var a=this.Ma();yf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[140]=function(){var a=this.Ma();!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[141]=function(){var a=this.Ma();!Bf(this)==!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[142]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[143]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[144]=function(){vj.call(this,Gi)}; -N[145]=function(){vj.call(this,Gi)};N[146]=function(){vj.call(this,Hi)};N[147]=function(){vj.call(this,Ii)};N[148]=function(){vj.call(this,Ji)};N[149]=function(){vj.call(this,Ki)};N[150]=function(){vj.call(this,Li)};N[151]=function(){vj.call(this,Mi)};N[152]=function(){vj.call(this,Ni)};N[153]=function(){vj.call(this,Oi)};N[154]=function(){vj.call(this,Pi)};N[155]=function(){vj.call(this,Qi)};N[156]=function(){vj.call(this,Ri)};N[157]=function(){vj.call(this,Si)};N[158]=function(){vj.call(this,Ti)}; -N[159]=function(){vj.call(this,Ui)};N[160]=function(){zd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ke};N[161]=function(){this.U=this.fa;var a=H(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};N[163]=function(){this.ea.call(this,Lh);-1!==this.D&&(this.A-=6)};N[164]=function(){this.ea.call(this,2==this.ba?Vi:Xi);this.A-=-1===this.D?3:7};N[165]=function(){this.ea.call(this,2==this.ba?Zi:$i);this.A-=-1===this.D?3:7};N[168]=function(){zd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ke}; -N[169]=function(){this.U=this.fa;var a=H(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};N[171]=function(){this.ea.call(this,Oh);-1!==this.D&&(this.A-=5)};N[172]=function(){this.ea.call(this,2==this.ba?aj:cj);this.A-=-1===this.D?3:7};N[173]=function(){this.ea.call(this,2==this.ba?ej:fj);this.A-=-1===this.D?3:7};N[175]=function(){this.V.call(this,2==this.ba?Uh:Wh)};N[178]=function(){this.V.call(this,fi)};N[179]=function(){this.ea.call(this,Nh);-1!==this.D&&(this.A-=5)}; -N[180]=function(){this.V.call(this,ci)};N[181]=function(){this.V.call(this,di)}; -N[182]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};N[183]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};N[186]=function(){this.ya.call(this,tk,this.xa)};N[187]=function(){this.ea.call(this,Mh);-1!==this.D&&(this.A-=5)}; -N[188]=function(){this.V.call(this,Fh)};N[189]=function(){this.V.call(this,Gh)}; -N[190]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};N[191]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var pf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Nf(this), -a;Lf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Nf(this),a;Lf(this);return a},W,W],Kd=[je,je,je,je,je,je,W,W],sk=[function(a){if(-1===this.D)E.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)E.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc;80286== -this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.$a},W,function(a){this.ca&131072? -E.call(this,6):(Of(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},W],tk=[W,W,W,W,Hh,Kh,Jh,Ih]; -function X(a){bb.call(this,"ChipSet",a,X,32768);var b=a.model;b&&!uk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja=kg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Ea=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Ea=new this.sb));this.reset(!0);xb(this)}jb(X);var vk=5150.9,kg=5170,uk={5150:5150,5160:5160,5170:kg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={jl:1,ONE:0,Io:64,Go:128,xo:192,Lc:192,Xg:6},Dk={Ho:16,to:32,yo:48,Lc:48,Xg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"FPU"}; -Ek[5150][0][Ak]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak]; -Ek[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"FPU"};Ek[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];l=X.prototype; -l.Pb=function(a,b,c){switch(b){case xk:return this.qa[b]=c,Fk(this,0,b),!0;case Bk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Fk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;qc(b,this,Gk);yc(b,this,Hk);this.jab;b++){var c=13>=b?Sk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+u(b)+"]: "+u(c)}e.ha.O(a)})}lf(c,26,this.Pm.bind(this))}; -l.hc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(a){var b;Tk(this);this.L=Array(this.cb);for(b=0;b=kg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Xk(this)&&(this.fa|=16);3==+Yk(this,Ak,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -l.save=function(){var a=new qf(this);a.set(0,[this.C]);for(var b=[],c=0;c=kg&&(a.set(5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),a.set(6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()}; -l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Tk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function sl(a,b,c,d,e){var f=a.L[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Dc[b&3];b.vg&&b.mh&&b.Lg?(c&&(b.done=c),b.Ge||Dl(a,b,!0)):c&&c(!0)} -function Dl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.uj=b.wg=!1);for(var d=!1;0<=b.count&&(c=b.qg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.mh.call(b.vg,b.Lg,-1,function(e,g){0>e&&(b.uj||(b.uj=!0),e=255);b.Ge||a.ga.qc(c,e);(d=g)&&setTimeout(function(){El(b)||Dl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.mh.call(b.vg,b.Lg,c)&&(b.wg=!0)):0!=b.type&&(b.wg=!0)),!d&&!El(b););} -function El(a){if(!a.wg&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.nf=c||0,Hl(a))}function lg(a,b){var c=a.vc[b>>3];b=1<<(b&7);c.lc&b&&(c.lc&=~b,Hl(a))}function Hl(a,b){var c,d=-1;1>=1),ed(a.F,e))),b||2!=c||cl(a))}function Ol(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Pl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;if(d&=48){e+=c;var h=a.V[e];h.ig=d;h.mode=g;h.gh=f;h.Fc=[0,0];h.Ab=[0,0];h.Be=[0,0];h.td=!1;h.af=!1;h.De=!1;h.ef=!1;Ll(a,e);b||c||lg(a,0);b||2!=c||255!=a.vc[0].Ad||77!=a.W||(b=a.V[0],b.$c[0]= -b.Fc[0],b.$c[1]=b.Fc[1],b.vd=cd(a.F,a.ka))}else Ql(a,e+c)}}function Nl(a,b){a=a.V[b];(b=a.Fc[1]<<8|a.Fc[0])||(b=1==a.md?256:65536);return b}function id(a,b){a=a.V[b];(b=a.$c[1]<<8|a.$c[0])||(b=1==a.md?256:65536);return b}function Ql(a,b){Rk(a,b);var c=a.V[b];c.Be[0]=c.Ab[0];c.Be[1]=c.Ab[1];c.af=!0;Ll(a,b)}function Ll(a,b){a=a.V[b];a.Ed=32==a.ig?1:0;a.md=48==a.ig?2:1} -function Rk(a,b,c){var d=a.V[b];if(d.De&&(2!=b||a.W&1)){var e=cd(a.F,a.ka),f=(e-d.vd)/a.gb|0;0>f&&(d.vd=e,f=0);var g=Nl(a,b),h=id(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.De=!1,b||mg(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.vd=0)}return d} -function hd(a,b){for(var c=0;c=kg){b=a.F.Y.Id;c=cd(a.F,a.ka);null==a.fb&&(a.Ga=cd(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Id/a.Jb),bl(a));c>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,mg(a,8)),a.ua=c+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,mg(a,8)));var d=c-a.Ga,e=Math.floor(d/b);if(e&&!(a.A[11]&128)){for(;e--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;var f; -f=a.A[9];var g=va[a.A[8]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[7]>f&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,mg(a,8))}a.Ga=c-d%b}}l=X.prototype;l.ym=function(a,b){var c=this.Ya;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Rl(this.B)));x(this,a,null,b,"PPI_A",c);return c};l.Yn=function(a,b,c){x(this,a,b,c,"PPI_A");this.Ya=b};l.zm=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -l.Zn=function(a,b,c){x(this,a,b,c,"PPI_B");Sl(this,b)};function Sl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Tl(a.B,!(b&128),!!(b&64));c!=d&&cl(a,c)}l.Am=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Rk(this,2).td&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};l.$n=function(a,b,c){x(this,a,b,c,"PPI_C");this.qb=b};l.Bm=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -l.ao=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};l.Kl=function(a,b){var c=this.B?Rl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.va&=-2;return c};l.hn=function(a,b,c){x(this,a,b,c,"8041_KBD")};l.Jl=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};l.gn=function(a,b,c){x(this,a,b,c,"8041_CTRL");Sl(this,b)};l.Ll=function(a,b){var c=this.va;x(this,a,null,b,"8041_STATUS",c);return c}; -l.Ml=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ul(this.B);return c}; -l.kn=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Vl(this,b);break;case 209:Wl(this,b);break;default:if(Vl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;z(a)&&y(a,"sendCmd("+u(c)+")");switch(a.V||c){case 255:d=250;Xl(a);break;case 243:a.V&&(c=0);Yl(a,250);a.V=c;break;case 237:a.V&&(c=0);Yl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Zl(this,d)}}this.ea=b;this.N&=-9}; -l.Nl=function(a,b){var c=this.W&-209|(cd(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};l.mn=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Sl(this,b)};l.Ol=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);a=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return a}; -l.jn=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Zl(this,this.aa);break;case 173:Vl(this,this.aa|16);break;case 174:Vl(this,this.aa&-17);this.B&&Ul(this.B);break;case 170:this.B&&(a=this.B,a.A=[],z(a)&&y(a,"scan codes flushed"));Vl(this,this.aa|16);Zl(this,85);Wl(this,3);break;case 171:Zl(this,0);break;case 192:Zl(this,this.fa);break;case 208:Zl(this,this.Ka);break;case 224:Zl(this,this.aa&16?0: -1);break;case 240:a&1&&ve(this.F)}};function Vl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Tl(a.B,!!(b&8),!(b&16))}function Zl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Wl(a,b){a.Ka=b;Tb(a.ga,!!(b&2));b&1||ve(a.F)}function $l(a,b){a.ja=c?Sk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+u(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&lg(this,8),d&64&&this.A[11]&64&&bl(this));return d}; -l.Bn=function(a,b,c){var d=this.pa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+u(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&bl(this)};l.Nk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};l.Ln=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};l.Mn=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&fg(this.Tb)}; -l.Pm=function(a){if(z(this,16)&&pk(this.ha,26,a)){var b=this.F.G>>8;mf(this.F,a,function(a,d){return function(c){d=cd(a.F)-d;var e,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,m=a.F.M>>8;if(2==b||3==b)e=" CH(hour)="+v(h)+" CL(min)="+u(g)+" DH(sec)="+u(m);else if(4==b||5==b)e=" CX(year)="+v(a.F.I)+" DH(month)="+u(m)+" DL(day)="+u(k);g=a.ha;h=d;g.message("INT "+u(26)+": C="+(xf(g.F)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,cd(this.F)))}return!0}; -function cl(a,b){if(a.Ea)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Nl(a,2));if(20>c||2E4>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};cm.prototype.gc=function(){return!0}; -function dm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Qd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;al(a)}}else w("No RAM allocated")}; -l.save=function(){var a=new qf(this);this.controller&&a.set(0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function jm(a){this.N=a;this.C=lm;this.ha=mm;this.B=nm;this.A=null}var km=-2134900736,lm=65535,mm=2575,nm=2,om=[null,0],pm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];l=jm.prototype;l.save=function(){return[this.C,this.B]}; -l.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};l.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};l.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.N.ga;if(b&1)this.A&&(dc(a,917504,131072,this.A),this.A=null);else{this.A||(this.A=ec(a,917504,131072));var c=ec(a,16646144,131072);dc(a,917504,131072,c,b&2?1:hc)}this.C=this.C&-256|b}};l.wj=function(){return om};l.nh=function(){return pm}; -Xa(function(){for(var a=tb(document,"pcx86","ram"),b=0;b"]]=10804;Y[p["/"]]=53;Y[p["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[tm]=7470;Y[4008]=7494;Y[4046]=3677523; -Y[4045]=3677522;Y[4013]=3677468;l=qm.prototype; -l.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.X&&e.X.wd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")}; -function rm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=sm.indexOf(a.ja),0>c&&(c=0));if(b=sm[c])a.ra=parseInt(b.substr(2),10)}function Xl(a){y(a,"keyboard reset",65792);a.A=[];Yl(a,170)}function Tl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&am(a,!0);a.W&&a.ea&&(Xl(a),a.ea=!1)}function Yl(a,b){a.N&&(a.A.unshift(b),a.U=!0,$l(a.N,b))} -function Ul(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&$l(a.N,b));z(a)&&y(a,b?"scan code "+u(b)+" available":"no scan codes available")}function Rl(a){var b=0;a.A.length&&(b=a.A[0]);z(a)&&y(a,"scan code "+u(b)+" delivered");return b}function am(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in xm)d="led-"+g,e=xm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function zm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){um[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Pe=b,d.xc=a.xc,Dm(a,b,!0),e++),0b.Kd){if(!b.Hf){Bm(a,b.Pe);return}b.Hf=!1;c=a.ua}else c=1==b.Kd++?500:100;b.Zk=setTimeout(function(a){return function(){Fm(a,b)}}(a),c)}} -function Hm(a,b,c){var d=b;if(b>=p.ue&&b<=p.ng)!(a.xc&515)==c&&(d=b+(p.ve-p.ue));else if(b>=p.ve&&b<=p.z)!!(a.xc&515)==c&&(d=b-(p.ve-p.ue));else if(!!(a.xc&3)==c){if(a=da[b])d=a}else if(a=ca[b])d=a;return d}l.Mg=function(a){a||(this.xc&=-256)}; -function ym(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hm(a,g,!0);a.kh&&h==p["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Am(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=p.ue&&b<=p.ng||b>=p.ve&&b<=p.z;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+u(f)+" buffered"),e.A.push(f), -1==e.A.length&&e.N&&$l(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Xa(function(){for(var a=tb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Hc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Qg=c[4]>>8&255;this.mb=c[5];this.wh=Zm;this.pg=an;if(5<=b){this.wh=$m;this.pg=bn;(b=c[6])||(b=[!1,0,Array(20),0,3==f? -0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Dd],Array(this.Dd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ze=b[0];this.Nd=b[1];this.Sc=b[2];this.$g=cn;this.Tg=b[3];this.vf=b[4];this.hg=b[5];this.ae=b[6];this.Me=b[7];this.bh=dn;this.Qk=b[8];this.Rk=b[9];this.$d=b[10];this.Zd=b[11];this.ah=en;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Dd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.mi&255};gn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};gn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};gn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.yh,c=this.controller.xh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -gn[0]=function(a,b){a+=this.C;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[32]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[96]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b&=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[160]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b|=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[224]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b^=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)};gn[4]=function(a,b){var c=(a&-4)+this.C;a=(a&3)<<3;b=b<>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Mb;b=this.controller.Xf&b|this.controller.Fb&~b;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Qg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ze;c[1]=a.Nd;c[2]=a.Sc;c[3]=a.Tg;c[4]=a.vf;c[5]=a.hg;c[6]=a.ae;c[7]=a.Me;c[8]=a.Qk;c[9]=a.Rk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=m}f.length>3;for(c=0;c=d&&(A=d,g=!0);break; -case "p":0<=d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(L):fa(L>>(F<<3),8));g&&(f+=C-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+u(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.pg),5<=b.Ua&&(jn(b," GRC",b.$d,b.Zd,b.ah),jn(b," SEQ",b.ae,b.Me,b.bh),jn(b," ATC",b.Nd,b.Sc, -b.$g),jn(b," ATCINDX",b.Nd),b.ha.O(" ATCDATA: "+b.Ze),jn(b," FEAT",b.hg),jn(b," MISC",b.vf),jn(b," STATUS0",b.Tg)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.fd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.Cg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Jb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Ye();a=!0}this.X&&this.X.focus()}return a}; -function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.kh=b)}l.Fe=function(a){var b=!1;this.X&&(a?this.X.Fe&&(this.X.Fe(),this.V&&this.V.Yf(!0),b=!0):this.X.$k&&(this.X.$k(),this.V&&this.V.Yf(!1),b=!0),this.X&&this.X.focus());return b};l.Yf=function(a){this.V&&(this.V.Yf(a),this.B&&(this.B.kh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.bl)}; -function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Cc=a.lg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.so=function(){a.Gd=!0;a.V.he(wn,!0)})}l.Mg=function(a){this.B&&this.B.Mg(a)}; -function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ke)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Hd;f=b.timeStamp-a.lg;!0===c?(a.Hd=500f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.Kf(c,b,a.uc,a.Cc)}}l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(){var a=!0,b=0;this.N&&(b=+Yk(this.N,Ak,void 0));this.ja||(this.Ua=3==b?1:3);this.va=3;switch(this.Ua){case hm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.va=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.qd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Dd),xn(this));Xn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;Yn(this,this.va);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);nc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.qd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}l.save=function(){var a=new qf(this);a.set(0,hn(this.qd));a.set(1,hn(this.Wc));a.set(2,[this.ya,this.va,this.Ga]);a.set(3,hn(this.A));return a.data()}; -l.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Hc&&xn(this);Xn(this);if(!Zn(this))return!1;$n(this);return!0}; -function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)gm(a,f,[6144,0]);else if(2048==f.length)gm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&xb(a)}} -function ao(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;de;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.Ca[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Sc[15]?c.Sc:Um;for(e=0;16>e;e++)f=b[e]&63,k?(f|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(f&=-49,f|=(c.Sc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.Ca[e]=[g,h,f,255]}a.qb=!0}return a.Ca}function gm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function Xn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){b=0;var d=a.Tb?a.Tb:8,e=ao(a);null!=a.Jb[0]&&bo(a,3,a.Jb[0],b,d,8,a.Uc,e)&&(c=!0);b=a.Tb?0:2048;d=a.Tb?a.Tb:9;null!=a.Jb[1]&&(bo(a,1,a.Jb[1],b,d,14,a.Uc,Pm,Qm)&&(c=!0),a.Tb&&bo(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,e)&&(c=!0))}return c}function bo(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(co(a,b,c,d,e,f,g,h,k)&&(m=!0),a.ro&&co(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m} -function co(a,b,c,d,e,f,g,h,k){var m=!1,n=b&1?0:1,t=a.Oa[b],q=16>h.length?h.length:16;t||(t={Pc:e<ga||!L?ga:8,Pa=Ja.createImageData(m.Pc,m.Qc);for(Da=0;256>Da;Da++){for(Ka=0;Ka=ga-2,Rc=S[Ka>(8<=Wa&&192<=Da&&223>=Da?7:Wa)?A:ab;eo(Pa,Ge,Wd,He);C&&eo(Pa,Ge+1,Wd,He)}Ja.putImageData(Pa,(Da&15)*m.Pc,(Da>>4)*m.Qc)}m.Re[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);m.Yi[F]=A;m.Zg[F]=la;m=!0}}a.Oa[b]=t;return m}function fo(a){0a.cb&&(a.cb=0):a.cb=-1} -function $n(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)go(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(go(a),a.ua=c);d=d-b+1;if(a.mg!=b||a.Ee!=d)a.mg=b,a.Ee=d;a.Ya=e+1;fo(a)}}} -function go(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&ho(a,c,d,b,a.gb),ho(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function io(a){var b,c=a.C;a.hf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.Zd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==hm&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.Me[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function jo(a,b){var c=a.C;return c&&null!=b&&b!=c.Cg?(c.Vg(b),a.ga.Vg(c.ob,c.ac,c.nh(),!0),!0):!1} -function Zn(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -m?13:14:480<=f&&(d=3==a.ya?17:18):d=m?7-d:6:d-=m?2:0);c=io(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ga=null,null==d&&(d=a.va);if(!Yn(a,d,b))return!1;jo(a,c);return!0} -function Yn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Wg=0;a.Ga=b;a.qb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){go(a);if(a.ob){if(!gc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Ub(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.dg=a.L*a.W|0;a.ag=a.dg/ -a.hd|0;a.Ub=a.ag;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Zf&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),a.Zf||(a.Ja=b.Pc,a.Ka=b.Qc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Pc,a.tc=a.W*b.Qc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me= -0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0>1,a.Cd-=b);0>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ko(a,!0);un(a)}return!0}function eo(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function lo(a){a.Pa=-1;a.Ea=!1;var b=a.ag;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ko(a,b){b||(a.qb=!1);lo(a)} -function ho(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Re[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Re[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ea.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.mg,g=a.Ee,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Re[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ea.fillStyle=h.Re[d],a.ea.fillRect(b,c+f,a.Ja,g)))} -function un(a,b){if(a.la.ic){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Nd&32&&(c=!0));if(c||b){if(b)lo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Wg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.dg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(mo(a,d)&8||d.qf&&d.qf=a.Ga&&(m<<= -1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.Ea){b=a.ga;for(var n=!0,t=c>>>b.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;m=a.C.fd&32;5<=a.Ua&&(m=a.C.Sc[16]&8);b=a.ua-a.C.Ld;m&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(q&255)<<8;var D=e,L=16;m>=h))>>(L-=h);eo(a.sb,m++,n,b[ga])}m>A&&(A=m);n=C&&(C=n+1)}k+=2;d++;if(m>=a.L){m=0;n+=2;if(n>a.W)break;n==a.W&&(n=1,k=c+a.sd)}}a.Ea= -!0;ta.L?a.Db-a.L-q>>3:0;c>=8;b>t&&(t=b);m=F&&(F=m+1)}c+=C;if(b>=a.L){b=0;if(++m>a.W)break;c+=D}}q||(a.Ea=!0);na.L?a.Db-a.L-F>>3:0;cD&&(L=D)):(q<<=F,L-=F,a.Ea=!1):(a.Ea&&q===a.fa[d]?(h+=L,L=0):a.fa[d]=q,d++);if(L){hn&&(n=h);b=A&&(A=b+1)}if(h>=a.L){h=0;if(++b>a.W)break;c+=C}}F||(a.Ea=!0);ma&&(b.Eh=a,a=-a|0);a%b.zh>b.an&&(c|=1);a%b.Ch>b.cn&&(c|=9);b.ni=a/b.Ch|0;return c}l.um=function(a,b){return no(this,this.pa,a,b)};l.Vn=function(a,b,c){var d=this.pa;d.Qg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};l.tm=function(a,b){return oo(this,this.pa,a,b)};l.Un=function(a,b,c){po(this,this.pa,a,b,c)};l.vm=function(a,b){return qo(this,this.pa,b)};l.Wn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.fd=b;Zn(this,!1)}; -l.wm=function(a,b){return ro(this,this.pa,b)};l.Mk=function(a,b,c){this.A.hg=this.A.hg&-4|b&3;x(this,a,b,c,"FEAT")};l.Tl=function(a,b){a=this.A.Nd;b&&!z(this)||x(this,960,null,b,"ATC.INDX",a);return a};l.kl=function(a,b){a=this.A.Sc[this.A.Nd&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.$g[this.A.Nd&31],a);return a}; -l.Lk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.Ze){d.Ze=!1;var f=d.Nd&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.$g[f]),d.Sc[f]=b,ko(this,!1)}else d.Nd=b,x(this,a,b,c,"ATC.INDX"),d.Ze=!0,b&32&&!e&&Xn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,ko(this)),d.qf=0}; -l.Gm=function(a,b){a=0;if(5==this.Ua)a=3-((this.A.vf&12)>>2),a=(this.Vc&1<>this.A.Kc&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]",a);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=Ca().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||eb.aspect);f&&.3<=f&&3.33>=f&&(Va("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");La("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);sb(d,c)}}); -function so(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;bb.call(this,"ParallelPort",a,so,4194304);a=a.binding;"console"==a?this.B="":rb(this,a,to)}jb(so);var to="buffer";l=so.prototype;l.Pb=function(a,b,c){switch(b){case to:return this.qa[b]=this.A=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");qc(b,this,uo,this.X);yc(b,this,vo,this.X);xb(this)};l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){wo(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;a.set(0,c);return a.data()};l.restore=function(a){return wo(this,a[0])}; -function wo(a,b){var c=0;b||(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Df=b[c];return!0}l.hm=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};l.Fm=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};l.dm=function(a,b){var c=this.Df;x(this,a,null,b,"CTRL",c);return c}; -l.Hn=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+u(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);xo(this)};l.Cn=function(a,b,c){x(this,a,b,c,"CTRL");this.Df=b;xo(this)}; -function xo(a){a.N&&a.C&&(a.Df&16&&!(a.Yb&64)?mg(a.N,a.C):lg(a.N,a.C))}var uo={0:so.prototype.hm,1:so.prototype.Fm,2:so.prototype.dm},vo={0:so.prototype.Hn,2:so.prototype.Cn};Xa(function(){for(var a=tb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=qa(b[0]);if(c!=this.xd)return;b=qa(b[1]);if(this.ia=ob(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}}; -l.hc=function(a,b){if(!b)if(this.zj(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){Co(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.va;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;a.set(0,c);return a.data()};l.restore=function(a){return Co(this,a[0])}; -function Co(a,b){var c=0;b||(b=[0,0,384,0,1,0,0,96,48,[]]);a.va=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}l.gg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};l.pm=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c}; -l.qm=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};l.sm=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};l.rm=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};l.xm=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c}; -l.eo=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Ea&&!this.ea&&c&&(a=String.fromCharCode(this.Ea)+a),this.L.value+=a,this.L.scrollTop= -this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};l.Rn=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};l.Sn=function(a,b,c){x(this,a,b,c,"LCR");this.B=b}; -l.Tn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.gg([77,77]),y(a,"serial mouse ID sent")),Eo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Fo(a),a.Hc=c),a.C=b)}; -var Ao={0:yo.prototype.Cm,1:yo.prototype.om,2:yo.prototype.pm,3:yo.prototype.qm,4:yo.prototype.sm,5:yo.prototype.rm,6:yo.prototype.xm},Bo={0:yo.prototype.eo,1:yo.prototype.Rn,3:yo.prototype.Sn,4:yo.prototype.Tn};Xa(function(){for(var a=tb(document,"pcx86","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Kf(c,d,a.L,a.V)}} -l.he=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Ko(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Ko(this,c);return}}y(this,c+": ignored")}};l.Kf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Ko(this,null,c,d))}; -function Ko(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+u(e)+","+u(f)+","+u(g)+"]",0,!0);a.N.gg([e,f,g]);a.U=a.W=0}Xa(function(){for(var a=tb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return cp(a.za,f,e,c);for(e=d=0;c--;)d|=ap(a,b++,1)<=e.oi&&a<=e.Ik){d=a-=e.oi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.jg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ka(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=hp(this,b),this.xg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ma(b,"/")&& -(c="dir"),f=Ba()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!Aa(f,null,!0,function(a,b,c){ip(g,a,b,c)})}; -function ip(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.X&&!a.X.la.ic;if(a.xg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,jp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{mb(a.controller.ce,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var t=k.data;if(void 0===t){var q=k.bytes;if(void 0!==q&&q.length){for(var A= -m<<2,F=q.length;Fb;b++){if(128==cp(a,e,c+0,1)){d.bg=cp(a,e,c+8,4);(e=bp(a,d.bg))&&(f=!0);break}c+=16}if(!f)return}d.Jf||(d.Jf=cp(a,e,19,2)||cp(a,e,32,4),d.If=cp(a,e,14,2),d.th=d.If+cp(a,e,22,2)*cp(a,e,16,1),d.Dh=cp(a,e,17,2),d.Eg=cp(a,e,13,1));d.rh=d.th+((32*d.Dh+(d.Va-1))/d.Va|0);d.$m=(d.Jf-d.rh)/d.Eg|0;d.Gg=4084>=d.$m?12:16;d.Gl=12==d.Gg?4086:65526;b=[];for(e=d.th;e>=8;f+=2;if(k)for(;m--;)ap(d,f,1),254>=k?(n=k,t=ap(d,f+1),f+=3):(n=ap(d,f+3,1),t=ap(d,f+4),f+=6),d.yd[n]&&(d.yd[n].we[h]=[t]),d.A[h]=[n,t],h++;else h+=m}(g=dp(e,Yo,c))&&ep(e,g+c);g=dp(e,Zo,c);h=dp(e,Wo,c);g&&h&&ep(e,g,g+h)}}}} -function mp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Mo=d+"\\";for(var k=0;kF)break;for(var C=q.rh+(F-2)*q.Eg,D=0;D>3,1),d?e=16==b.Gg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function bp(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function gp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Hl=b;a.Il=c;a.ud=a.Zc=0;a.Wa=!1;return a} -function hp(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;b+="&machine="+a.controller.gf();b+="&user="+a.controller.ie();return Ba()+"/api/v1/disk?"+b} -function op(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.ie();Aa(Ba()+"/api/v1/disk?"+h,null,f,function(h,m,n){h=[b,c,d,e,f,g];var k=!1,q=h[0],A=h[1],F=h[2],C=h[3];if(!n){m=JSON.parse(m);for(k=0;C--;){var D=a.seek(q,A,F,!0);if(!D)break;kp(D,m,k);k+=D.length;F++}k=h[4]}(h=h[5])&&h(n,k)})}else g&&g(-1,!1)} -function pp(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.ie();h.data=JSON.stringify(f);Aa(Ba()+"/api/v1/disk",h,g,function(f,h,n){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],A=k[3],k=k[4];a.fa=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}l.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -l.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.ud+a.Zc&&(a.Zc+=f-(a.ud+a.Zc)+1):(a.ud=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):jp(this);return b}; -l.toJSON=function(){var a;a=0;for(var b;b=bp(this,a++);)up(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function up(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function vp(a){bb.call(this,"FDC",a,vp,524288);this.dmaRead=this.el;this.dmaWrite=this.fl;this.dmaFormat=this.vl;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!La("Mobi")&&window&&"FileReader"in window}jb(vp);aa={}; -var wp={3:{Ud:3,ge:0,name:aa.Fo},4:{Ud:2,ge:1,name:aa.Do},5:{Ud:9,ge:7,name:aa.Jo},6:{Ud:9,ge:7,name:aa.zo},7:{Ud:2,ge:0,name:aa.Bo},8:{Ud:1,ge:2,name:aa.Eo},10:{Ud:2,ge:7,name:aa.Ao},13:{Ud:6,ge:7,name:aa.wo},15:{Ud:3,ge:0,name:aa.Co}};l=vp.prototype; -l.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&xp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&yp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&((a=d.A[ea(a.value,10)])? -(a=a.za)?(a=Na(tp(a),"octet-stream",!0,a.Ug.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(this.ia)return this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;yp(d,ja(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Yc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}zp(this);qc(b,this,Ap);yc(b,this,Bp);Cp(this,"None","",!0);this.ia&&Cp(this,"Local Disk","?");Cp(this,"Remote Disk","??");Dp(this)||xb(this)}; -l.hc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.lh){this.B=[];for(a=0;ag.za.restore(A)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e} -function Fp(a){var b=0,c=[];c[b++]=a.hb;c[b++]=0;c[b++]=a.ma;c[b++]=a.V;c[b++]=a.L;c[b++]=a.C;c[b++]=a.aa;for(var d=b++,e=0,f=[],g=0;gGp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.Tk=c,a.Oe=d,Hp(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ce||e),a.Fg=f[0],a.Qf=f[1],a.Rf=f[2],this.X&&this.X.wd()):a.bf=!1;a.Ce&&(a.Ce=!1,--this.ea||xb(this));xp(this,a.hb)}; -function Cp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -l.Jn=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=wp[a].Ud){b=!1;this.L=0;a=Jp(this);var d,e,f,g,h=a&31;switch(h){case 3:Jp(this);Jp(this);Kp(this);break;case 4:c=Jp(this);this.hb=c&3;d=this.A[this.hb];Kp(this);Lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Jp(this);e=Jp(this);f=d.xb=Jp(this);g=Jp(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Jp(this);d.Hb=128<>2&1,c=Jp(this),d.Qb+=c-d.ee,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ee=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Kp(this),b=!0}0>>8);Lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Lp(a,e+k);Lp(a,f);Lp(a,g);Lp(a,h)}function Jp(a){var b=a.V[a.L];a.L++;return b}function Kp(a){a.L=a.C=0}function Lp(a,b){a.V[a.C++]=b}l.el=function(a,b,c){void 0===b||0>b?this.Le(a,c):c(-1,!1)};l.fl=function(a,b){return void 0!==b&&0<=b?Np(a,b):-1}; -l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.Cb)a=-1;else{a.ld[a.We++]=b;if(a.We==a.ld.length){a.Qb=a.ld[0];a.kb=a.ld[1];a.xb=a.ld[2];a.Hb=128<Np(a,a.cj)){a=-1;break a}a.sg++}a.sg>=a.fe&&(b=-1);a=b}else a=-1;return a};l.Le=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Op(a)}while(1)}b(c,!1,d,e)}; -function Np(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Op(a)}while(1);return b}function Op(a){a.xb++;a.xb>=a.Rf+1&&(a.xb=1,a.kb++,a.kb>=a.Qf&&(a.kb=0,a.Qb++))}var Ap={1009:vp.prototype.jm,1012:vp.prototype.lm,1013:vp.prototype.im,1015:vp.prototype.km},Bp={1010:vp.prototype.Kn,1013:vp.prototype.Jn,1015:vp.prototype.In}; -Xa(function(){for(var a=tb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(A=!1),A&&void 0!==k.eb&&(k.pb=k.za.seek(k.be,k.kb,k.xb+k.rg)));A||(e=!1);null!=a.pa&& -1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e} -function Yp(a){var b=0,c=[];a.ia?(c[b++]=a.W,c[b++]=a.Pa,c[b++]=a.aa,c[b++]=a.Ca,c[b++]=a.ya,c[b++]=a.va,c[b++]=a.ra,c[b++]=a.ma,c[b++]=a.Da,c[b++]=[a.fa,a.hb]):(c[b++]=a.pa,c[b++]=a.ma,c[b++]=a.V,c[b++]=a.L,c[b++]=a.C,c[b++]=a.Oa,c[b++]=a.Ka,c[b++]=a.Ja,c[b++]=a.ka);for(var d=0,e=[],f=0;f=this.C&&(this.L=this.C=0,this.ma&=-15);return c};l.ho=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,$p(this))};l.Mm=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Le(a.B,function(b){0<=b?(bq(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}l.il=function(a,b){return aq(this,a,b)|aq(this,a,b)<<8}; -function cq(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>dq(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}l.qn=function(a,b,c){cq(this,a,b&255,c);cq(this,a,b>>8&255,c)};l.Sl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};l.vn=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};l.Ul=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -l.tn=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};l.Vl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};l.un=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};l.Ql=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};l.pn=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};l.Pl=function(a,b){var c=this.va;x(this,a,null,b,"CYLHI",c);return c};l.on=function(a,b,c){x(this,a,b,c,"CYLHI");this.va=b};l.Rl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -l.rn=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};l.Wl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};l.nn=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&lg(this.N,14);eq(this)};l.sn=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b}; -function eq(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.va&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.be=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Le(k,function(b){0<=b&&a.N?(bq(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&bq(a)} -function bq(a){!a.N||a.fa&2||mg(a.N,14,120)} -function $p(a){a.L=0;var b=fq(a),c=fq(a),d=c&32,e=d>>5,f=c&31,g=fq(a),h=fq(a),k=g<<2&768|h,m=g&63,n=fq(a),t=fq(a),q=a.A[e];q&&(q.be=k,q.kb=f,q.xb=m,q.Hb=n*q.Va);switch(b){case 3:gq(a,q?q.errorCode:4);hq(a,c);hq(a,g);hq(a,h);hq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=fq(a));)q&&cb?this.Le(a,c):c(-1,!1)};l.hl=function(a,b){return void 0!==b&&0<=b?dq(a,b):-1}; -l.wl=function(a,b){void 0!==b&&0<=b?(a.ebdq(a,a.cj)){a=-1;break a}a.sg++}a.sg>=a.fe&&(b=-1);a=b}else a=-1;return a}; -function iq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaRead",b);ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function jq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaWrite",b);ul(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function kq(a,b,c){b.errorCode=4;b.Ue&&b.Ue.length==b.Hb||(b.Ue=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,Cl(a.N,3,a,"dmaWriteBuffer",b),ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -l.Le=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.be,a.kb,a.xb+a.rg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,lq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function dq(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.be,a.kb,a.xb+a.rg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;lq(a)}while(1);return b}function lq(a){a.xb++;var b=1-a.rg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.be++))}l.Nm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1}; -var Tp={800:Pp.prototype.Lm,801:Pp.prototype.Mm,802:Pp.prototype.Km},Sp={496:Pp.prototype.il,497:Pp.prototype.Sl,498:Pp.prototype.Ul,499:Pp.prototype.Vl,500:Pp.prototype.Ql,501:Pp.prototype.Pl,502:Pp.prototype.Rl,503:Pp.prototype.Wl},Vp={800:Pp.prototype.ho,801:Pp.prototype.ko,802:Pp.prototype.jo,803:Pp.prototype.io,807:Pp.prototype.pi,811:Pp.prototype.pi,815:Pp.prototype.pi},Up={496:Pp.prototype.qn,497:Pp.prototype.vn,498:Pp.prototype.tn,499:Pp.prototype.un,500:Pp.prototype.pn,501:Pp.prototype.on, -502:Pp.prototype.rn,503:Pp.prototype.nn,1014:Pp.prototype.sn};Xa(function(){for(var a=tb(document,"pcx86","hdc"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};mq.prototype.oh=function(){return-1};mq.prototype.ph=function(){}; -mq.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};mq.prototype.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.va?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function oq(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function pq(a,b,c){var d;if(b){b=qq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);ec&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function uq(a,b){if(b)return sq(a,b,a.ya[b]);var c=0;for(b in a.ya)sq(a,b,a.ya[b]),c++;return 0>2;this.Ba=b.Dg;this.bc=new kd(this.F,7,"DBG");this.Ga=Mq;80186<=this.F.ja&&(this.Ga=Mq.slice(),this.Ga[15]=Kq,80286<=this.F.ja&&(this.Ga[15]=Lq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Qq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=rq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Rq(d, -b,2),d.O("dumpSel("+v(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Da)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=Sq[a.type];e&&(c=e[0],b=e[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+v(a.Aa&65535)+" off="+v(a.Ta):"base="+r(a.Aa,d.Da)+" limit="+Tq(a.Ta))+" type="+u(a.type>>8)+" ("+c+") ext="+v(a.ext&-65296)+ -" dpl="+u(a.Gc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=rq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=wq(d,0,b);var c=d.Qa(a,1),e=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Uq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+v(k)+' "'+Vq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Qq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=rq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Rq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+v(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Da));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?Wq:Xq,m,n,t,q;for(q in k)m=k[q],n=a.Aa+m,t=Qf(d.F,n,2),2304==c&&(t|=Qf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=v(m)+" "+pa(q+":",11)+r(t,e);if(2304==c)for(q=0,m=t>>>16;mq;)n=a.Aa+m,t=Qf(d.F,n,2),b+="\n"+v(m)+" ports "+v(q)+"-"+v(q+15)+": "+ha(t,2),q+=16,m+=2;d.O(b)}}});this.L=null;this.sb=0;this.fb=!1;lf(this.F,48,this.Qm.bind(this));lf(this.F,65,this.Rm.bind(this)); -this.ka=null;lf(this.F,104,this.Sm.bind(this));xb(this)};function Yq(a,b,c,d,e,f){b=Vq(a,b);var g=Rq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Zq(a,b,c);e[b+h]=0;fm(a,b,c,d,0,null,g,e)} -function $q(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=wq(a,a.oa(b,4),a.na(b,2));b=wq(a,a.oa(b,4),a.na(b,2));b=Vq(a,b).toUpperCase();var k=Vq(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Zq(a,k,e);c[k+m]=g;fm(a,k,e,f,g,null,h,c)}function ar(a,b,c){c=Vq(a,c).toUpperCase();br(a,c,b)} -l.Qm=function(){var a=this.F;if(null!=this.L&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=wq(this,J(a)+12,a.ta.Z);switch(this.oa(d)){case 336:$q(this,wq(this,a.H,b),!c,!!this.L)}}return!0}; -l.Rm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.L)return 79==c&&mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.L=!0):(y(a,"INT 0x41 monitoring enabled",128),a.L=!1)}}(this)),!0;switch(c){case 79:this.L&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Yq(this,wq(this,h,k),d+1,e,!(g&1),!!this.L);break;case 82:br(this,null,d); -break;case 127:this.L&&(b.G=b.G&-65536|(this.fb?0:1));break;case 131:this.L&&(a=wq(this,b.M,e),this.sb++?(this.O("TRAPFAULT failed"),cr(this,this.B,a,!0,!0),this.sb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+v(d)+" error="+r(b.K,8,!0)+" addr="+dr(a)),this.Rd(this.B,a,!0),yq(this,!0)));break;case 141:this.L&&(b.G=b.G&-65536|1);break;case 336:$q(this,wq(this,b.H,f),!g,!!this.L);break;case 338:ar(this,d,wq(this,b.J,f))}this.fb=!1;return!this.L}; -l.Sm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.wa.Z<<4)+10)||1111835735==b.oa((b.wa.Z<<4)+95))return!0;mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.L=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=md(b.wa,this.rl.bind(this)))&& -(b.J=a[0],Bd(b,a[1]));break;case 72:br(this,null,e);break;case 80:32==c?Yq(this,wq(this,h,k),0,f,!0,!!this.ka):128>c?Yq(this,wq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):$q(this,wq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};l.rl=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -l.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Aq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ld(a,!0,!0,!1)}}return a}l.cc=function(a,b,c){var d=a&&a.Fa;if(null==d&&(d=-1,a)){var e=Rq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Fa=d)}return d};l.Qa=function(a,b){var c=255,d=this.cc(a,!1,1);-1!==d&&(c=Qf(this.F,d,1,5==a.type)|0,b&&fr(this,a,b));return c}; -l.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};l.na=function(a,b){var c=65535,d=this.cc(a,!1,2);-1!==d&&(c=Qf(this.F,d,2,5==a.type),b&&fr(this,a,b));return c};l.oa=function(a,b){var c=-1,d=this.cc(a,!1,4);-1!==d&&(c=Qf(this.F,d,4,5==a.type),b&&fr(this,a,b));return c};l.qc=function(a,b,c,d){var e=this.cc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].xf(e&f.A,b&255,e)}c&&fr(this,a,c);d||ad(this.F,!0)}}; -l.jb=function(a,b,c){var d=this.cc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):nc(this.ga,d,b),c&&fr(this,a,c),ad(this.F,!0))};function wq(a,b,c,d,e,f,g){return gr(a,{},b,c,d,e,f,g)}function gr(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Fa=e;b.type=f||(er(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Tc;b.Vd=!1;return b}function hr(a){return[a.Ra,a.Z,a.Fa,a.Vd,a.Rb,a.oc,a.Ve,a.jh]}function ir(a){return{Ra:a[0],Z:a[1],Fa:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ve:a[6],jh:a[7]}} -function jr(a,b,c){if(null!=b.Z&&(a=Rq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=pq(a,b,void 0),f=null):(f=pq(a,b,void 0),null==f&&(g=null)):(h=pq(a,b.substring(0,f),void 0),g=pq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=wq(a,g,h,f,c),d||jr(a,e,!0)||(a.O("invalid offset: "+dr(e)),e=null));return e}function lr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ll=a.Ng(b.Sk=c[2]))}l.Pk=function(a,b){var c=kr(this,b);return a.replace("["+b+"]",c?r(this.tb(c),c.Rb?8:4):"undefined")}; -function fr(a,b,c){c=c||1;null!=b.Fa&&(b.Fa+=c);null!=b.Z&&(b.Ra+=c,jr(a,b)||(b.Ra=0,b.Fa=null))}function Uq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function dr(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Fa):b+Uq(a.Ra,a.Z,a.oc)} -function Vq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Nc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Yb[c],6==c&&(d=d.Bd,h+=" -> "+Yb[d.type]),d&&a.O(r(d.id,8)+" %"+r(f<c&&(c=ya(Iq,a.substr(b,2))));return c}; -function nr(a,b){var c=0,d=a.ph(b);if(null!=d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -l.ph=function(a){var b;if(0<=a){var c=this.F;switch(a){case 0:b=c.G&255;break;case 1:b=c.I&255;break;case 2:b=c.M&255;break;case 3:b=c.H&255;break;case 4:b=c.G>>8&255;break;case 5:b=c.I>>8&255;break;case 6:b=c.M>>8&255;break;case 7:b=c.H>>8&255;break;case 8:b=c.G&65535;break;case 9:b=c.I&65535;break;case 10:b=c.M&65535;break;case 11:b=c.H&65535;break;case 12:b=J(c)&65535;break;case 13:b=c.P&65535;break;case 14:b=c.K&65535;break;case 15:b=c.J&65535;break;case 22:b=M(c)&65535;break;case 23:b=Cd(c); -break;case 16:b=c.Xa.Z;break;case 17:b=c.wa.Z;break;case 18:b=c.ta.Z;break;case 19:b=c.vb.Z;break;default:if(80286==this.F.ja)32==a&&(b=c.$a);else if(80386<=this.F.ja)switch(a){case 24:b=c.G;break;case 25:b=c.I;break;case 26:b=c.M;break;case 27:b=c.H;break;case 28:b=J(c);break;case 29:b=c.P;break;case 30:b=c.K;break;case 31:b=c.J;break;case 32:b=c.$a;break;case 33:b=c.ti;break;case 34:b=c.se;break;case 35:b=c.Od;break;case 20:b=c.Nb.Z;break;case 21:b=c.Ob.Z;break;case 56:b=M(c)}}}return b}; -function or(a,b){b=qq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.oh(b,c+1),0<=e&&(b=b.substr(0,c)+nr(a,e)+b.substr(c+1+Iq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ea(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=kr(a,e))?(d=e+' "'+Vq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=kr(a,e))?(fr(a,d),d= -e+' "'+Vq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+dr(wq(this,M(this.F),this.F.wa.Z))+" (%"+r(this.F.Ha)+")");this.Pa&&a==this.Pa||(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F&&(a=this.F,a.fb-=a.A,a.A=0,a.Y.mf=0,ad(a)))}; -function pk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Cq.indexOf(b),!d)){var g=Bq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Db[b])&&g[e]||"")&&(g=" "+or(a,g)),a.message("INT "+u(b)+": AH="+u(e)+" at "+Uq(c-2-a.F.wa.Aa,a.F.wa.Z)+g));return d} -function ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.wa.Z,e-=a.F.wa.Aa),a.message(b.xd+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+u(d):"")+")"+(null!=g?": "+u(g):"")+(null!=e?" at "+Uq(e,h):""))}l.qh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.pd();if(this.qb){var a=this.qb;this.qb=null;Aq(this,a)}}; -function yq(a,b){var c;if(ag(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Rd(e&f.Ea,a==this.fa);g&&Xb(f)}}d&&(a.push(b),c?(null!=b.Fa&&(b.Z=null),b.Vd=!0):(ur(this,a,a.length-1,"set"),yq(this)));return d}; -function cr(a,b,c,d,e){for(var f=!1,g=vr(a,a.cc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+q;(217==f||219==f)&&52<=A&&(A=q<<4|g&7);(q=Oq[f])&&(t=q[A]);t&&(n=Fq,k=t,m=k[0])}m>=n.length&&(g=a.Qa(b,1),k=Pq[m-n.length][g>>3&7],m=k[0]);n=n[m];q=k.length-1;t="";b.Rb&&(18==m? -n="CWDE":28==m?n="CDQ":104<=m&&107>=m&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)q=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=-1,A=!0,F=1;F<=q;F++){var C,D;C="";D=k[F];if(void 0!==D){0>f&&(f=D>>14);80==m&&(2==f?t="[%800]":3==f&&(t="ES:["+(b.oc?"E":"")+"DI]"));var L=D&15;if(L)if(8==L)A=!1;else{var G=D&240;if(128<=G)if(0>g&&(g=a.Qa(b,1)),160>G){G=a;C=D;var ga=q;D=b;var S="",ab=g>>6,la=g&7;if(3>ab){L=!n.indexOf("FI");if(!ab&&(!D.oc&&6==la||D.oc&&5==la))ab=2;else{if(D.oc)if(4!=la)la+= -8;else{var S=G,Ja=ab,Da=D,Wa=S.Qa(Da,1),Ka=Wa>>6,Vb=Wa>>3&7,Wa=Wa&7,Pa="";if(Ja||5!=Wa)Pa=Jq[Wa+8];4!=Vb&&(Pa&&(Pa+="+"),Pa+=Jq[Vb+8],Ka&&(Pa+="*"+(1<>24),2)):S+("+"+r(G,2))):2==ab&&(S&&(S+="+"),D.oc?(G=G.oa(D,4),S+=r(G)):(G=G.na(D,2),S+=r(G,4)));S="["+S+"]";if(1==ga){G="";C&=15;4==C&&(C=D.Rb?5:3);switch(C){case 7:G="FAR";break;case 1:G="BYTE";break;case 3:if(L){G="INT16";break}G="WORD"; -break;case 5:G="DWORD";break;case 11:if(L){G="INT32";break}case 11:G="REAL32";break;case 12:if(L){G="INT64";break}case 12:G="REAL64";break;case 13:G="REAL80";break;case 14:G="BCD80"}G&&(S=G+" "+S)}}else S=zr(G,la,C,D);C=S}else C=160==G?zr(a,g&7,D,b):zr(a,g>>3&7,D,b);else if(16==G)C="1";else if(G)32==G?(b.oc?(C=8,D=a.oa(b,4)):(C=4,D=a.na(b,2)),C="["+r(D,C)+"]"):48==G?(C=1==L?a.Qa(b,1)<<24>>24:a.tb(b,!0),D=b.Ra+C&(b.Rb?-1:65535),C=r(D,b.Rb?8:4),D=Ar(a,wq(a,D,b.Z)),D[0]&&(C+=" ("+D[0]+")")):96==G?C= -9==L?"ST":10==L?"ST("+(g&7)+")":zr(a,(D&3840)>>8,D,b):112==G?C=zr(a,(D&3840)>>8,192,b):64==G?C="DS:[SI]":80==G&&(C="ES:[DI]");else{C=a;L=D;G=b;D=" ";switch(L&15){case 1:L&12288&&(D=r(C.Qa(G,1),2));break;case 2:D=r(C.Qa(G,1)<<24>>24,G.Rb?8:4);break;case 4:if(G.Rb){D=r(C.oa(G,4));break}case 3:D=r(C.na(G,2),4);break;case 7:G=wq(C,C.tb(G,!0),C.na(G,2),null,G.type,G.Rb,G.oc);D=dr(G);C=Ar(C,G);C[0]&&(D+=" ("+C[0]+")");break;default:D="imm("+v(L)+")"}C=D}if(!C||!C.length){t="INVALID";break}0a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return Iq[b]} -function Cr(a,b){switch(b){case "V":a=Cf(a.F);break;case "D":a=a.F.ca&1024;break;case "I":a=a.F.ca&512;break;case "T":a=a.F.ca&256;break;case "S":a=Bf(a.F);break;case "Z":a=Af(a.F);break;case "A":a=zf(a.F);break;case "P":a=yf(a.F);break;case "C":a=xf(a.F);break;default:a=0}return b+(a?"1":"0")+" "}function Tq(a){return r(a,a&-65536?8:4)}function Dr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+Er(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+"\n");c+=Fr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Fr(a,"GD",null,a.F.Ec,a.F.zd)+" "+Fr(a,"ID", -null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+Dr(a,32);80386<=a.F.ja&&(c+=Dr(a,34)+Dr(a,35))}else 80386<=a.F.ja&&(c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+" ");return c+=Dr(a,23)+Cr(a,"V")+Cr(a,"D")+Cr(a,"I")+Cr(a,"T")+Cr(a,"S")+Cr(a,"Z")+Cr(a,"A")+Cr(a,"P")+Cr(a,"C")}l.lj=function(a,b){return a[0]>b[0]?1:a[0]>>0,n],C=sa(A,q,a.lj);0>C&&A.splice(-(C+1),0,q)}F&&(t.a=F.replace(/''/g,'"'))}a.N.push({jg:b,dn:c,Z:d,Ra:e,Fa:f,Vm:g,Qd:h,Xi:m})} -function br(a,b,c){for(var d=0;d>>0,f=a.cc(b)>>>0,g=0;g>>0,n=h.Fa;null!=n&&(n>>>=0);var t=h.Vm;48==k&&(k=40);if(k==b.Z&&e>=m&&e=n&&fc?(a.O("out of data at address "+dr(b)),n=!0):(a.qc(b,c,1,!0),m++)})})(a,g);ad(a.F, -!0);a.O(m+" bytes read at "+b)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function qr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1f;f++){var g=c,e=null;if(f=a.Ja&&(h=null);switch(h){case "AL":a.F.G=a.F.G& --256|g&255;break;case "AH":a.F.G=a.F.G&-65281|g<<8&255;break;case "AX":a.F.G=a.F.G&-65536|g&65535;break;case "BL":a.F.H=a.F.H&-256|g&255;break;case "BH":a.F.H=a.F.H&-65281|g<<8&255;break;case "BX":a.F.H=a.F.H&-65536|g&65535;break;case "CL":a.F.I=a.F.I&-256|g&255;break;case "CH":a.F.I=a.F.I&-65281|g<<8&255;break;case "CX":a.F.I=a.F.I&-65536|g&65535;break;case "DL":a.F.M=a.F.M&-256|g&255;break;case "DH":a.F.M=a.F.M&-65281|g<<8&255;break;case "DX":a.F.M=a.F.M&-65536|g&65535;break;case "SP":I(a.F,J(a.F)& --65536|g&65535);break;case "BP":a.F.P=a.F.P&-65536|g&65535;break;case "SI":a.F.K=a.F.K&-65536|g&65535;break;case "DI":a.F.J=a.F.J&-65536|g&65535;break;case "DS":Ad(a.F,g);break;case "ES":Bd(a.F,g);break;case "SS":ud(a.F,g);break;case "CS":sf(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "IP":case "EIP":O(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "PC":case "PS":Dd(a.F,g);break;case "C":g?Ef(a.F):Ff(a.F);break;case "P":g?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&=-3,e.ca&=-5);break;case "A":g? -Mf(a.F):Kf(a.F);break;case "Z":g?Nf(a.F):Lf(a.F);break;case "S":g?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":g?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":g?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":g?Gf(a.F):Hf(a.F);break;default:var k=!0;if(80286<=a.F.ja)switch(k=!1,h){case "MS":Of(a.F,g);break;case "TR":-1===a.F.Sa.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.F.ja)switch(k=!1,h){case "EAX":a.F.G=g;break;case "EBX":a.F.H=g;break; -case "ECX":a.F.I=g;break;case "EDX":a.F.M=g;break;case "ESP":I(a.F,g);break;case "EBP":a.F.P=g;break;case "ESI":a.F.K=g;break;case "EDI":a.F.J=g;break;case "FS":a.F.Nb.load(g);break;case "GS":a.F.Ob.load(g);break;case "CR0":a.F.$a=g;uj.call(a.F,g);break;case "CR2":a.F.se=g;break;case "CR3":a.F.Od=g;Fd.call(a.F,g);break;default:k=!0}}if(k){a.O("unknown register: "+e);return}}if(!f){a.O("invalid value: "+b);return}ad(a.F);a.O("updated registers:")}}a.O(Gr(a,d));c&&(a.aa=wq(a,M(a.F),a.F.wa.Z),rr(a,dr(a.aa)))}} -function Nr(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(or(a,c[2])):pq(a,b,!0)}function Or(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=yr(a,b,g,f);b.jh||d||d++;a.O(f);a.aa=b;e-=b.Fa-k;c++}}} -l.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function xr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.va&&(a.O("ended assemble at "+dr(a.ua)),a.aa=a.ua,a.va=!1),b="";else if(!c){var e=">> ";a.F.$a&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(yb(a)&&0n||"z">>20;za.$i=a.F.Od+za.Jk;za.yb=ae.sa[(za.$i&ae.Gb)>>>ae.La];za.Aj=za.yb.Md(za.Jk);za.Kk=(Re&4190208)>>>10;za.aj=(za.Aj&-4096)+za.Kk;za.zb=ae.sa[(za.aj&ae.Gb)>>>ae.La];za.Bj=za.zb.Md(za.Kk);za.nl=(za.Bj&-4096)+(Re&4095)}if($d=za){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Re),od=od+(" %%"+mr($d.$i,$d.Aj)),od=od+(" %%"+mr($d.aj,$d.Bj,!0)), -od=od+(" %%"+r($d.nl));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==la){if("disk"==Ja){S[0]="l";S[1]="json";Mr(a,S);break a}for(ab in Eb)if(S[1]==ab){var yn=a.cb[ab];yn?(S.shift(),S.shift(),yn(S)):a.O("no dump registered for "+Ja);break a}Ja||(la=a.Cc||"db")}else a.Cc=la;if("dh"==la){var zn=Ja,An=Da,Bn="",Cn=0,Zb=a.Ea,sc=a.ia;if(sc.length){var Lb=+zn||a.Ub,Se=+An||10;isNaN(Lb)?Lb=Se:Bn="more ";Lb>sc.length&&(a.O("note: only "+sc.length+" available"),Lb=sc.length); -Zb-=Lb;0>Zb&&(null==sc[sc.length-1].Z?(Lb=Zb+Lb,Zb=0):Zb+=sc.length);var ii=[];"call"==An&&(Se=1E5,ii=["CALL"]);for(void 0!==zn&&a.O(Lb+" instructions earlier:");0=sc.length&&(Zb=0);a.Ub=Lb;Cn++;Se--}}Cn||(a.O("no "+Bn+"history available"),a.Ub=void 0)}else if("di"==la){S.shift(); -var ji=S[0];if(ji){var Ue=rq(a,ji);if(void 0===Ue||0>Ue||255>> -0,65536>4||1;ks--&&0qg?String.fromCharCode(qg):".";pg--}Ve&&(Ve+="\n");Ve+=Ja+" "+li+(0==Xe?" "+In:"")}Ve&&a.O(Ve);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var rg=1,Jn=255,Kn=a.Qa,Ln=a.qc;"ew"== -g[0]&&(rg=2,Jn=65535,Kn=a.na,Ln=a.jb);var Mn=rg<<1,Nn=g[1];if(null==Nn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var sg=kr(a,Nn);if(sg)for(var tg=2;tgri;){for(var tc=null,ps=256;Uc.Ra>>>0>>0;){$e.Ra=a.tb(Uc,!0);if(null==Uc.Fa||!ps--)break;$e.Z=Pn;if(tc=Or(a,$e))break;$e.Z=a.tb(Uc);if(tc=Or(a,$e,!0)){Pn=a.tb(Uc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bTr){if(d.load(this.aa)){this.X=new qf(this,"1.30.1","failsafe");this.X.load()&&(Zr(this,d),a=2,$r(this.X));this.X.set("timestamp",ua());as(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yr(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): -("error"==f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ia("user",""),this.B=null)):this.O(f+": "+g),$r(d),d.load()?(c=Yr(d),e=!0):c=!1))}e&&Xr(this,c?d:null)}else 2==a&&d.clear()}else Xr(this);delete this.aa;delete this.ea}e=nb(this.id);for(f=0;fa[1];a=a[2];this.va=!0;this.la.ic=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(bs(this,this.F,b,c,a),this.F.Cf());this.ka&&(Zr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function Zr(a,b){if(Ea("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ie();b=b.toString();var d={app:"PCx86",ver:"1.30.1"};d.url=a.ua;d.user=c;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Qr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new qf(a,"1.30.1"),g=new qf(a,"1.30.1","validate"),h=ua();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",Ca());a.F&&a.F.gc&&(c&&a.F.Wb(),d=a.F.gc(b,c),"object"===typeof d&&f.set(a.F.id,d),c&&(a.F.la.ic=!1,!1===d&&(e=null)));for(var h=nb(a.id),k=0;k>>b.La;d=d+e-1>>>b.La;c.ih=0;for(c.Td=0;f<=d;)e=b.sa[f],c.ih+=e.size,e.size&&(c.Yg.push(wa(Nb,f,0,0,e.type)),c.Td++),f++;a.A=c;a.ya=a.A.Td*a.ga.Sb/691200;d=0;a.A.fj=0;a.A.Bf||(a.A.Bf=[]);e=-1;b=0;for(var g=-1,c=0;c>1),g=f.y+(f.A>>1),h=f.A,f.ad>1,b.U+=(b.W>>1)-2,Pb(b,e),b.ra&&(b.N.restore(),b.ra=!1)}}else Pb(a,"This space intentionally left blank");a.context.drawImage(a.aa,0,0,a.aa.width,a.aa.height,a.sb,a.Jb,a.Ya,a.fb);a.Ja=!1}} -Xa(function(){for(var a=tb(document,"pcx86-machine"),b=0;bf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PCx86$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ts(a,b,c)}})}else c(a,null)} -function us(a,b,c,d){function e(a){if(void 0===h){var b=g&&tb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--fs||Za(!0));k=!1}var g,h,k=!0;fs++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));n.appendChild(t)}c|| -(c="/versions/pcx86/1.30.1/components.xsl");m=function(d,h){h?gs(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--fs||Za(!0)):f("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),--fs||Za(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?gs(b,a,d,!0,e,m):hs(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}function vs(a,b,c,d){Za(!1);return us(a,b,c,d)}window.embedPC=vs;window.embedPCx86=vs;window.enableEvents=Za;window.sendEvent=$a; -function ws(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){xs(b,d)}):xs(null,d)}else w("Error ("+c+") requesting "+a)} -function xs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n')+"...\n",a=a+(' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.30.3/document.css b/versions/pcx86/1.30.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.30.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.30.3/document.xsl b/versions/pcx86/1.30.3/document.xsl deleted file mode 100644 index dbb3ae30f..000000000 --- a/versions/pcx86/1.30.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.30.3/machine.xsl b/versions/pcx86/1.30.3/machine.xsl deleted file mode 100644 index e474cbd9b..000000000 --- a/versions/pcx86/1.30.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.3/manifest.xsl b/versions/pcx86/1.30.3/manifest.xsl deleted file mode 100644 index fab2465e3..000000000 --- a/versions/pcx86/1.30.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.30.3/outline.xsl b/versions/pcx86/1.30.3/outline.xsl deleted file mode 100644 index 702611d69..000000000 --- a/versions/pcx86/1.30.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.3/pcx86-dbg.js b/versions/pcx86/1.30.3/pcx86-dbg.js deleted file mode 100644 index 6d0679799..000000000 --- a/versions/pcx86/1.30.3/pcx86-dbg.js +++ /dev/null @@ -1,868 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/interrupts.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86seg.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86fpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86func.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86help.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86mods.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86ops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86op0f.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/parallelport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/mouse.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/fdc.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/hdc.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/save.js (C) Jeff Parsons 2012-2016 -*/ -var l,aa,ba={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],5242880:[256,2,40,256],10485760:[512,2,40,256]},p={uo:1,dl:3,vo:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ue:65,Bi:66,Ci:67, -Di:68,E:69,Ei:70,Fi:71,Gi:72,Hi:73,Ii:74,Ji:75,Ki:76,Li:77,Mi:78,Ni:79,Oi:80,Q:81,Pi:82,Qi:83,Ri:84,Si:85,Ti:86,Ui:87,Vi:88,Wi:89,og:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ve:97,ol:98,ql:99,d:100,e:101,Al:102,Bl:103,Cl:104,Dl:105,Tm:106,k:107,Um:108,Ym:109,n:110,en:111,p:112,q:113,r:114,lo:115,t:116,oo:117,po:118,qo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"];ca[192]=p["`"];ca[219]=p["["]; -ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"];da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"]; -function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=1;return c}function ha(a,b,c){var d="";if(!b||4>=8;return(c?"0b":"")+d} -function ia(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d}function r(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)} -function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function sa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var va=[31,28,31,30,31,30,31,31,30,31,30,31]; -function wa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.vh|g<>a.shift}function ya(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.xd=this.id:(this.ce=this.id.substr(0,b),this.xd=this.id.substr(b+1));this[a]=c;this.la={ready:!1,Ff:!1,hh:!1,ic:!1,error:!1};this.zg=null;this.la.error=!1;this.qa={};this.ha=null;this.wc=d||0;cb.push(this)}var db=void 0,eb={}; -if(window){db||(db=window.location.search.substr(1));for(var fb,gb=/\+/g,hb=/([^&=]+)=?([^&]*)/g;fb=hb.exec(db);)eb[decodeURIComponent(fb[1].replace(gb," "))]=decodeURIComponent(fb[2].replace(gb," "))}function ib(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 jb(a,b){b||(b=bb);a.prototype=ib(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var lb=window.PCjs.Machines||(window.PCjs.Machines={}),cb=window.PCjs.Components||(window.PCjs.Components=[])}else lb={},cb=[];function mb(a,b,c){lb[a]&&b&&(lb[a][b]=c)}function nb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Hb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Hb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}l=Fb.prototype;l.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)}; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};l.hc=function(a,b){b||Kb();return!0};l.gc=function(){return!0};l.he=function(a,b){a.button||(this.ea=b?0:-1,Mb(this,a,b))};l.Kf=function(a){Mb(this,a)}; -function Mb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Se)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ob(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Pb(a,"Mouse over memory to dump");else for(Pb(a,r(b,8,!0),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Pb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Pb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.qb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}l.pd=function(){};function Qb(a,b,c,d){a.A.Bf[a.A.fj++]={El:b,Td:c,type:d};return wa(Nb,b,c,0,d)}function Ob(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Ea=f||"white")} -function Pb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Ea;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Kb(){for(var a=!1,b=tb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Sb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Fa)return k.Qe+=k.Fa-f,k.Fa=f,!0;if(f>=k.Fa+k.Qe){n=k.size-(f-m);n>g&&(n=g);k.Qe=f-k.Fa+n;f=m+a.Sb;g-=n;h++;continue}}return Wb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Sb(f,a.ha,k);a.sa[h++]=f;f=m+a.Sb;g-=n}return 0>=g?(Xb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Yb[d]+" at "+r(b)),!0):Wb(a,2,b,c)} -var Nb,$b={Hk:20,count:8,Ko:1,type:3},ac=0,bc;for(bc in $b){var cc=$b[bc];$b[bc]={vh:(1<>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -l.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function mc(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].gg(c,b):a.sa[d++].re(c,b)|a.sa[d&a.ga].re(0,b+1)<<8}l.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};l.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function nc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].zi(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))} -l.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};l.xj=function(){return null}; -function oc(a,b){var c=0,d=[],e=!a.X&&a.Eg==a.Gb;e||Tb(a,!0);for(var f=0;f>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&Ac(a.ha,b,k)}else a.ha&&(ub(a.ha,a,b,k,e),a.V&&Ac(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Wb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var Bc;if(Ab){var Cc=new ArrayBuffer(2);(new DataView(Cc)).setUint16(0,256,!0);Bc=256===(new Uint16Array(Cc))[0]}else Bc=!1;var ic=Bc; -function B(a,b,c,d,e,f){this.id=Dc+=2;this.da=null;this.C=0;this.Fa=a;this.Qe=b;this.size=c||0;this.type=d||Ec;this.N=d==hc;this.controller=null;this.F=f;Sb(this);this.Wa=this.tj=!1;if(c)if(e)this.controller=e,a=e.wj(a),this.da=a[0],this.C=a[1],fc(this,e.nh());else if(Ab)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Za=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),fc(this,ic?jc:kc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,qh:function(a){this.Fa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ab)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b,c){this.sc(a++,b&255,c++); -this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Ea:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2;a=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2;a=(a&3)<<3;24>a?this.da[c]=this.da[c]&~(65535<>8);this.Wa=!0},Wc:function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<>>32-a}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a)||this.F&&Lc(this.F,b,1,!1);return this.re(a,b)},qb:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,b,2,!1);return this.gg(a,b)},Pa:function(a,b){this.ha&&null!=this.Fa&& -Kc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,b,4,!1);return this.si(a,b)},bc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a)||this.F&&Lc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,c,2,!0);this.N?this.L(a,b,c):this.zi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=this.ga; -this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V; -this.Bd.yf(a,b,c)},Ka:function(a,b){return Nc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Nc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Nc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Nc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Nc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Nc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Za[a]},aa:function(a){return this.Za[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Za[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>> -2]},Ub:function(a,b){this.Za[a]=b;this.Wa=!0},ra:function(a,b){this.Za[a]=b;this.Wa=!0},uc:function(a,b){this.Za[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Sb(a,b,c){a.ha=b;a.ze=a.Ae=0;c&&(c.F&&(a.F=c.F),(a.ze=c.ze)&&Hc(a,Ic,!1),(a.Ae=c.Ae)&&Jc(a,Ic,!1))} -function Oc(a){a.sc=a.N?a.L:a.xf;a.zf=a.N?a.W:a.zi;a.yf=a.N?a.U:a.ua}function Pc(a){a.pc=a.re;a.sf=a.gg;a.Md=a.si}function Jc(a,b,c){c&&a.Ae||(a.sc=!a.N&&b[1]||a.L,a.zf=!a.N&&b[3]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[1]||a.L,a.zi=b[3]||a.W,a.ua=b[5]||a.U}function Hc(a,b,c){c&&a.ze||(a.pc=b[0]||a.ia,a.sf=b[2]||a.ka,a.Md=b[4]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.gg=b[2]||a.ka,a.si=b[4]||a.ea}function fc(a,b,c){b||(b=5==a.type?Qc:6==a.type?Sc:Tc);Hc(a,b,c);Jc(a,b,c)} -var Tc=[],lc=[B.prototype.Ea,B.prototype.tc,B.prototype.sb,B.prototype.Cd,B.prototype.Ya,B.prototype.Wc],Ic=[B.prototype.Da,B.prototype.bc,B.prototype.qb,B.prototype.sd,B.prototype.Pa,B.prototype.Vc],Sc=[B.prototype.Ja,B.prototype.Cc,B.prototype.Jb,B.prototype.Gd,B.prototype.fb,B.prototype.hd],Qc=[B.prototype.Ka,B.prototype.Uc,B.prototype.xd,B.prototype.Hd,B.prototype.gb,B.prototype.jd]; -if(Ab)var kc=[B.prototype.Ca,B.prototype.Ub,B.prototype.Tb,B.prototype.qd,B.prototype.Oa,B.prototype.ce],jc=[B.prototype.aa,B.prototype.ra,B.prototype.pa,B.prototype.ya,B.prototype.fa,B.prototype.va],Vc=[B.prototype.Ga,B.prototype.uc,B.prototype.Db,B.prototype.Fd,B.prototype.cb,B.prototype.Xc]; -function Wc(a,b){bb.call(this,"CPU",a,Wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Y={};this.Y.Id=b;this.Y.Wd=c;this.Y.Bg=Math.round(this.Y.Id/1E4)/100;this.Y.He=this.Y.Bg*this.Y.Wd;this.la.Ib=!1;this.la.yi=!1;this.la.Cf=a.autoStart;this.la.oj=!1;this.la.Xe=!1;this.Y.Lf=this.Y.kf=0;this.Y.Nf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.Ai=this.Ne.bind(this);xb(this)}jb(Wc);var Xc=["power","reset"];l=Wc.prototype; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=cd(a)&&(a.Y.jf=a.Y.lf=-1,$c(a),a.Wb(),c=!0);c&&a.O(cd(a)+" cycles: checksum="+r(a.Y.Lf))}} -l.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.ic)a=!0;else{var b=null,c,h=nb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.Bg&&(c=Math.round(c/a.Y.Wd));return c}function Zc(a){a.Y.ne=0;a.uc=a.Ub=a.fb=a.A=0;$c(a);dd(a,1)} -function dd(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.ne/a.Y.He?b=1:d=!0;a.Y.Wd=b;b=a.Y.Bg*a.Y.Wd;if(a.Y.He!=b){a.Y.He=b;b=a.Y.He.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.wd()}fd(a,a.Ub);a.Ub=0;a.Y.oe=ta();a.Y.Ie=0;gd(a);return d} -l.Ne=function(a){if(vb(this,!0)){if(!this.la.Ib){dd(this);this.X&&this.X.start(this.Y.oe,cd(this));this.la.Ib=!0;this.la.yi=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.pd(!0),a&&this.X.wd(!0))}this.Y.Bh>=this.Y.Id&&gd(this,!0);this.Y.Qf=0;this.Y.Cg=ta();this.Y.Ie&&(a=this.Y.Cg-this.Y.Ie,a>this.Y.Dj&&(this.Y.oe+=a,this.Y.oe>this.Y.Cg&&(this.Y.oe=this.Y.Cg)));try{do{var c=this.la.Xe?1:this.Y.bn;if(this.N){hd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.De){var f= -(cd(d.F,d.ka)-e.vd)/d.gb|0,g=id(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var m=k.ua-cd(k.F,k.ka);0m&&(a=m)}c=a}try{this.wf(c)}catch(t){if("number"!=typeof t)throw t;}var n=this.fb-this.A;this.Ub+=n;this.Y.Qf+=n;fd(this,0,!0);bd(this,n);this.Y.Pf-=n;0>=this.Y.Pf&&(this.Y.Pf+=this.Y.Fj,this.X&&jd(this.X));this.Y.Of-=n;0>=this.Y.Of&&(this.Y.Of+=this.Y.Ej,this.X&&this.X.pd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.Ah; -break}}while(this.la.Ib)}catch(t){this.Wb();ad(this);this.X&&this.X.stop(ta(),cd(this));vb(this,!1);zb(this,t.stack||t.message);return}c=setTimeout;d=this.Ai;this.Y.Ie=ta();e=this.Y.Dj;this.Y.Qf&&(e=Math.round(e*this.Y.Qf/this.Y.Ah));e-=this.Y.Ie-this.Y.Cg;if(f=this.Y.Ie-this.Y.oe)this.Y.ne=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&hd(this.N,!0),dd(this));if(0>e||this.Y.nee&&(this.Y.oe-=e),e=0;this.Y.Bh+=this.Y.Qf;this.Y.Ie+=e;c(d,e)}else ad(this),this.X&&this.X.stop(ta(), -cd(this))};l.wf=function(){return 0};l.Wb=function(a){wb(this,!0);this.fb-=this.A;this.A=0;fd(this,this.Ub);this.Ub=0;if(this.la.Ib){this.la.Ib=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.complete=a};function ad(a,b){a.X&&(jd(a.X,b),a.X.pd(b))} -function kd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.kc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Tc=2;this.R=this.Ba=65535;this.X=this.uh;this.ga=this.ij;this.qa=this.kj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.ag=0,this.C=null,this.df=!1,this.N=Array(32),this.B=[]);ld(this,!0,d)}function md(a,b){a.B.push(b);return[a.B.length,1]}l=kd.prototype; -l.uh=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};l.Ag=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,nd(this,c,a,b);6>this.id&&E.call(e,b&&3==this.id?10:13,a&65532)}return-1};l.Xm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -l.Wm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=nd(this,c,a),-1!==a&&(a+=this.ag),a;E.call(b,13,a|2);return-1};l.ij=function(a){return this.Aa+a|0};l.kj=function(a){return this.Aa+a|0};l.hj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.ug()};l.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.ug()};l.ug=function(){E.call(this.F,13,0);return-1};l.jj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.vg()}; -l.tl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.vg()};l.vg=function(){E.call(this.F,13,0);return-1};function sd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ld(a,!0)}function td(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ld(a,!0)} -function nd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ld(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,m=e.na(b+6),n=c&65528;if(80386<=e.ja){var t=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.df=!1;if(q&&1==c&&a.B.length){var A=a.B[a.ag-1];if(A&&!A())return-1}var F=c&3,C=(g&24576)>>13,A=-1,D,L;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(A=H(e),ud(e,H(e),!0),I(e,A),a.df=!0),A=0);else{if(256==h||2304==h)return vd(a,c,q)?a.Aa:-1;if(1024==h)A=2,L=0,Fh||2048==(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,12,c&65532),-1;break; -case 4:q=h&-513;if(!n||256!=q&&2304!=q)return E.call(e,13,c&65532),-1;2304==q&&(a.Zi=k+e.na(k+102)|0,a.ml=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=m,a.Xb=b,ld(a,!0,!0,!1));return k} -function vd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,M(d)),d.jb(g+16,Cd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,J(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.wa.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Dd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Ed(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ld(a,b,c,d){void 0===c&&(c=!!(a.F.$a&1));a.bd=!1;if(c)if(a.load=a.Ag,a.Cj=a.Wm,a.mc=a.hj,a.nc=a.jj,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Tc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.ug,a.nc=a.vg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.ug);if(a.type&2048||!(a.type&512))a.nc=a.vg;1024==(a.type&3072)&&(a.mc==a.hj&&(a.mc=a.sl),a.nc==a.jj&&(a.nc=a.tl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&(c= -a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Tc=a.ba,a.Ba=a.R)}else a.load=a.uh,a.Cj=a.Xm,a.mc=a.ij,a.nc=a.kj,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Gd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Wc.call(this,a,b);this.bg=61442;this.Cc=1792;this.$f=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Cb:Bb;this.W=Hd;this.fg=Id;this.lg=Jd;this.mg=Kd;if(80186<=this.ja&&(this.W=Hd.slice(),this.fg=Id.slice(),this.lg=Jd.slice(),this.ra=31,this.W[15]=Ld,this.W[96]=Md,this.W[97]=Nd,this.W[98]=Od,this.W[99]=Ld,this.W[100]=Ld,this.W[101]= -Ld,this.W[102]=Ld,this.W[103]=Ld,this.W[104]=Pd,this.W[105]=Qd,this.W[106]=Rd,this.W[107]=Sd,this.W[108]=Td,this.W[109]=Xd,this.W[110]=Yd,this.W[111]=Zd,this.W[192]=ee,this.W[193]=fe,this.W[200]=ge,this.W[201]=he,this.W[241]=ie,this.fg[7]=je,this.lg[7]=je,80286<=this.ja)){this.bg=2;this.Cc|=28672;this.Cd=0;this.W[15]=ke;this.tc=le.slice();for(a=0;a=this.Uc&&(this.tc[166]=te,this.tc[167]=ue)}}this.Hd=[];this.je=[];this.le=0;Zc(this);this.la.complete=this.la.nj=!1;this.Wg=0;this.kd=this.sa=[];this.La=this.Sb=this.Ea=this.Fd=this.hd=this.Gb=this.Db=0;ve(this)}jb(Gd,Wc);function we(a,b,c,d){b=(d?a.kd:a.sa)[b>>>a.La];c?--b.Ae||Oc(b):--b.ze||Pc(b);d&&Xb(a)} -function xe(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Sb(a.ke,a.ha);for(b=0;ba.me&&(a.eg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function Xb(a){a.$a&-2147483648&&xe(a)} -function Nc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||ye.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||ye.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b&=-4096;var m;0>2;b.zb=g;b.B=h>>2;Ab&&ic&&c.da&&!c.controller&&!c.ze&&!c.Ae?(b.Za=c.Za,b.de=c.de,b.da=c.da,fc(b,Vc)):(b.ga=c?Gc(32):0,b.V=c?Gc(96):0,fc(b,Sc));Sb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ze(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}l=Gd.prototype;l.reset=function(){this.la.Ib&&this.Wb();ve(this);Zc(this);this.la.error=!1}; -function Ae(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=J(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function Be(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:I(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function ve(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.ng=0;a.L=0;a.$a=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.qb=-1;a.bc=a.sb=-1;a.qe=a.U=-1;a.wa=new kd(a,1,"CS");a.vb=new kd(a,2,"DS");a.Xa=new kd(a,2,"ES");a.ta=new kd(a,3,"SS");I(a,0);ud(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.$a=16;a.ti=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ee=[null,null,null,null,null,null,0,0];a.Nb=new kd(a,2,"FS");a.Ob=new kd(a,2,"GS");ze(a)}a.rf=new kd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Ed(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new kd(a,5,"LDT",!0);a.Sa=new kd(a,4,"TSS",!0);a.Da=new kd(a,6,"VER",!0);Ed(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.wa.Ta>>>0)+1}Dd(a,0);wd(a)} -function Ce(a){2==a.Tc?(a.cc=a.na,a.Oa=De,a.Ya=Ee,a.Jb=Fe,2==a.ba?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=Le,a.ea=Me,a.ya=Ne)):(a.cc=a.oa,a.Oa=Oe,a.Ya=Pe,a.Jb=Qe,2==a.ba?(a.V=cf,a.ea=df,a.ya=ef):(a.V=ff,a.ea=gf,a.ya=hf))}function xd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,jf(a))}function jf(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Tc?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=cf,a.ea=df,a.ya=ef)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Tc?(a.V=Le,a.ea=Me,a.ya=Ne):(a.V=ff,a.ea=gf,a.ya=hf))} -function kf(a){a.Tc=a.wa.Tc;a.Ba=a.wa.Ba;Ce(a);a.ba=a.wa.ba;a.R=a.wa.R;jf(a);a.Ia&=-3073}l.vj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Cd(this)|0};function lf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function mf(a,b,c){c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function nf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])} -function of(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Ea,f,a):(g=a.sa[g>>>a.La],f?--g.Ae||Oc(g):--g.ze||Pc(g))}c>>=2;d>>=4}}function Lc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function wd(a,b,c){void 0===b&&(b=!!(a.$a&1));void 0===c&&(c=!!(a.ca&131072));a.mg=b&&!c?pf:Kd;ld(a.wa,!1,b,c);ld(a.vb,!1,b,c);ld(a.ta,!1,b,c);ld(a.Xa,!1,b,c);80386<=a.ja&&(ld(a.Nb,!1,b,c),ld(a.Ob,!1,b,c));kf(a)} -l.save=function(){var a=new qf(this);a.set(0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.$a,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ti),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ee))):g=null;b=[b,c,d,e,f,g,Cd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));a.set(1,b);a.set(2,[this.ka.kc, -this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);a.set(3,[0,this.uc,this.Y.Wd]);a.set(4,oc(this.ga,!!(this.$a&-2147483648)));return a.data()}; -l.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.$a=d[0],this.Ec=d[1],this.zd=d[2],this.Mc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.ti=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ee=d[12]),wd(this));Dd(this,b[6]);var d=!1,e;a:{e=this.ga; -var f=a[4],g;for(g=0;g>>0)+(a.wa.Ta>>>0)+1;a.pa=a.wa.Lb;kf(a)}function Ed(a,b,c,d){var e=a.wa;e.ag=b;e.C=d;b=e.load(c);return-1!==b?(tf(a,b+(a.wa.ag&a.wa.R)),a.wa.df):null} -function uf(a,b){b=(a.Ha>>>0)+b;b>a.hf&&(8088>=a.ja||a.wa.Ta==a.wa.Ba?b=a.wa.Aa+(b-a.hf&a.R):E.call(a,13,0));return b|0}function vf(a){a.Ha=a.qe}function J(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function I(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function wf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&xf(a),g&2&&yf(a),g&4&&zf(a),g&8&&Af(a),g&16&&Bf(a),g&32&&Cf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.sd=c;a.Xc=d;a.resultType=e} -function Df(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?Ef(a):Ff(a);e?Gf(a):Hf(a);return b}function If(a,b,c,d){c&d?Ef(a):Ff(a);(b^c)&d?Gf(a):Hf(a)}function Jf(a){return xf(a)?1:0}function xf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.sd)&(a.sd^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function yf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function zf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.sd)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function Af(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function Bf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function Cf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Ff(a){a.resultType&=-2;a.ca&=-2}function Kf(a){a.resultType&=-5;a.ca&=-17}function Lf(a){a.resultType&=-9;a.ca&=-65}function Hf(a){a.resultType&=-33;a.ca&=-2049}function Ef(a){a.resultType&=-2;a.ca|=1}function Mf(a){a.resultType&=-5;a.ca|=16}function Nf(a){a.resultType&=-9;a.ca|=64}function Gf(a){a.resultType&=-33;a.ca|=2048} -function Cd(a){return a.ca&-2262|xf(a)|yf(a)|zf(a)|Af(a)|Bf(a)|Cf(a)}function Of(a,b){b|=a.$a&1|65520;a.$a=a.$a&-65536|b&65535;a.$a&1&&wd(a,!0)}function Dd(a,b,c){a.$a&1||(b&=~a.$f);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.bg;a.ca&256&&(a.ua|=2,a.S|=4)} -function Pf(a,b,c,d){var e=0;if(a.$a&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.Zi)for(var f=a.Sa.Zi+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+v(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),E.call(a,13,0),!1):!0} -l.Pb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Wg++;a=!0;break;default:a=this.parent.Pb.call(this,a,b,c)}return a}; -function Qf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Nc(a,b,!1,!0));if(e){var f=b&a.Ea;if(!c||1==c)return e.re(f,b);if(2==c)return f>>this.La].pc(a&this.Ea,a)}; -l.na=function(a){var b=a&this.Ea,c=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(b>>this.La;if(b>>this.La].sc(a&this.Ea,b&255,a)}; -l.jb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;c>8&255,a+1))};l.nb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(c>>=8}}; -function Rf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Rf(a,a.ka,b)}function Sf(a,b){return Rf(a,a.Ka,b)}function Tf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function Q(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Uf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Vf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Wf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Xf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Yf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function yd(a,b,c){return a.tb(b.mc(c,a.ba))}l.xa=function(){var a=uf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Zf(a){var b=uf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=uf(a,a.Tc),c=a.cc(a.Ha);a.Ha=b;return c} -l.Ma=function(){var a=uf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};l.T=function(){var a=uf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function H(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Sg-a.fa|0;0>c&&0<=(a.Sg^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?I(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&E.call(a,12,0));return b} -function zd(a,b,c,d){c=a.fa-c|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function K(a,b){var c=a.fa-a.ba|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));a.rc(c,b);a.fa=c} -function $f(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=bg(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5; -cg.call(this,f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);cg.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(dg(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;ig(this);jg(this,a[b++]);for(c=0;c=kg&&lg(a,13))}function ig(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=kg?mg(a,13):a.ya&0||cg.call(a.F,2),!0;a=a.N;a.ja>=kg&&lg(a,13);return!1}function xg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ig(a)} -function gg(a){return a.ma|a.B<<11}function yg(a,b){return isFinite(b)?!0:!xg(a,Infinity===b?8:16)}function zg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,yg(a,d)||(d=null));return d}function Ag(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,yg(a,d)||(d=null));return d}function Bg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,yg(a,d)||(d=null));return d}function Cg(a,b,c){var d=null;null==b||null==c||!c&&xg(a,2)||(d=b/c,yg(a,d)||(d=null));return d} -function Dg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:b||(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Eg(a,b,c){if(null==b)return null;var d=a.jc&3072;d?d=1024==d||3072==d&&0=c){if(xg(a,1))return null;d=-c}else if(d<-c){if(xg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function Fg(a,b){var c=3;a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Gg(a){var b=a.B+0&7;return a.C&1<>16}function Lg(a){return a.F.oa(a.F.D)}function Mg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Ng(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Og(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}l.xi=function(){this.F.nb(this.F.D,this.L[0])};l.Wk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};l.Yk=eg.prototype.xi;l.Xk=eg.prototype.Wk;function Pg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])} -function Qg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767;b=b[0]>>>11|c<<21;c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,b=c=0));a.L[0]=b;a.L[1]=c|(d|e)<<20;return a.W[0]}function Jg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Rg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Sg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ig(a);jg(a,d.tb(b+=d.ba));!(d.$a&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba} -function Wg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,gg(a));c.rc(b+=c.ba,hg(a));if(!(c.$a&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Xg=Math.log(10)/Math.LN2,Yg=Math.LOG2E,Zg=Math.PI,$g=Math.log(2)/Math.LN10,ah=Math.LN2,bh=Math.pow(2,63);function ch(){this.ma&=-32896;ig(this)} -function dh(){Dg(this,U(this,0),U(this,this.A))}function eh(){Dg(this,U(this,0),U(this,this.A))&&Tg(this)}function fh(){eh.call(this)}function gh(){V(this,0,Cg(this,U(this,0),Mg(this)))}function hh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Ug(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Tg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!xg(this,1))b=Math.sqrt(a),yg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,Eg(this,U(this,0),bh))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Ug(this,a)},6:function(){var a=Eg(this,Tg(this));null!=a&&(this.ga[0]= -Sg(a,8),this.ga[1]=Sg(a/1E8,8),this.ga[2]=Sg(a/1E16,2),0>a&&(this.ga[2]|=32768),Pg(this))},7:function(){null!=Eg(this,U(this,0),bh)&&(this.Wk(),Tg(this))},48:function(){hh.call(this);Tg(this)},49:uh,50:ph,51:ph,52:sh}},wh=[ch,ih,jh,kh,lh,mh,qh,nh,rh,sh];Xa(function(){for(var a=tb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Ij;(bd)&&E.call(this,5);this.S|=2;return a}function Fh(a,b){var c=0;if(b){Lf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Nf(this);this.A-=11+3*c;return a}function Gh(a,b){var c=0;if(b){Lf(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Nf(this);this.A-=11+3*c;return a} -function Hh(a,b){a&1<<(b&(2==this.ba?15:31))?Ef(this):Ff(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ih(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a^b}function Jh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a&~b}function Kh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a|b} -function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=6;this.S|=2;return a}function Mh(a,b){if(-1===this.D)return Ih.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a^b} -function Nh(a,b){if(-1===this.D)return Jh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a&~b}function Oh(a,b){if(-1===this.D)return Kh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a|b} -function Ph(a,b){wf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a}function Qh(a,b){wf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a} -function Rh(a){if(this.Tb){var b=this.Tb,c=this.ng,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=vh[c][f]){if(0>wh.indexOf(e)){var f=b.F,g=f.qe;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.wa.Z;b.V=g-f.wa.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Sh(a){if(80186>this.ja)return W.call(this,a);E.call(this,13,0);return a}function je(a){E.call(this,6);return a} -function W(a){me.call(this);return a}function Th(a,b){a=Uh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return a}function Vh(a,b){a=this.Ma();a=2==this.ba?Uh.call(this,a,b):Wh.call(this,a,b);80386>this.ja&&(this.A-=12);return a}function Xh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Yh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.va=~this.va+(this.ia?0:1)|0)} -function Uh(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767a?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return a&65535}function Wh(a,b){Xh.call(this,a,b);this.va!=this.ia>>31?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return this.ia}function Zh(a,b){this.A-=14+(-1===this.D?0:2);Lf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Nf(this),a=this.Da.wb&-256,2=this.pa)&&this.Da.Gc>=(b&3))return Nf(this),this.Da.Ta;Lf(this);return a}function fi(a,b){if(-1===this.D)return me.call(this),a;ud(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.sk:this.B.rk:this.B.pk;return b}function yi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function zi(a,b){return b} -function Ai(a,b){a=this.L>>3&7;switch(a){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=a&&5!=a)E.call(this,6);else switch(a){case 1:this.aa=this.I;break;case 4:this.aa=J(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return gi.call(this,0,b)} -function Bi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.wa.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}E.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:E.call(this,6),b=a}-1!==this.C&&xd(this,2);return gi.call(this,0,b)} -function Yh(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.ia=d<<16|e&65535;this.va=f+((d>>>16)+b*a)|0}else this.ia=a*b|0,this.va=0}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,128)}function Di(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,this.Ga)&this.R} -function Ei(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Fi(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Gi(){return Cf(this)?1:0}function Hi(){return xf(this)?1:0}function Ii(){return xf(this)?0:1}function Ji(){return Af(this)?1:0}function Ki(){return Af(this)?0:1}function Li(){return xf(this)||Af(this)?1:0} -function Mi(){return xf(this)||Af(this)?0:1}function Ni(){return Bf(this)?1:0}function Oi(){return Bf(this)?0:1}function Pi(){return yf(this)?1:0}function Qi(){return yf(this)?0:1}function Ri(){return!Bf(this)!=!Cf(this)?1:0}function Si(){return!Bf(this)!=!Cf(this)?0:1}function Ti(){return Af(this)||!Bf(this)!=!Cf(this)?1:0}function Ui(){return Af(this)||!Bf(this)!=!Cf(this)?0:1}function Vi(a,b){return Wi.call(this,a,b,this.xa())}function Xi(a,b){return Yi.call(this,a,b,this.xa())} -function Zi(a,b){return Wi.call(this,a,b,this.I&31)}function $i(a,b){return Yi.call(this,a,b,this.I&31)}function aj(a,b){return bj.call(this,a,b,this.xa())}function cj(a,b){return dj.call(this,a,b,this.xa())}function ej(a,b){return bj.call(this,a,b,this.I&31)}function fj(a,b){return dj.call(this,a,b,this.I&31)}function gj(a,b){var c=a-b|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function hj(a,b){var c=a-b|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ij(a,b){Df(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Xf:this.B.Xf;this.S|=2;return a}function jj(a,b){Df(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Xf:this.B.Xf;this.S|=2;return a}function kj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function mj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.li}else this.C=this.D,Wf(this,a),this.A-=this.B.ki;return b} -function nj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:I(this,J(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.li}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ki;return b} -function oj(a,b){a^=b;Df(this,a,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return a}function pj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a^b,this.Ga)&this.R}function qj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function rj(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R} -function sj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=qj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.va=a[0];return!0}function tj(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R} -function uj(a){this.$a=a;wd(this);this.$a&-2147483648?xe(this):ze(this)}function Fd(a){this.Od=a;Xb(this)}function vj(a){this.S|=1;this.Ya.call(this,a);this.A-=-1===this.D?4:5}function Wi(a,b,c){if(c){16>>16-c)&65535;Df(this,a,32768,d&32768)}return a}function Yi(a,b,c){if(c){var d=a<>>32-c;Df(this,a,-2147483648,d&-2147483648)}return a} -function bj(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;Df(this,a,32768,d&1)}return a}function dj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;Df(this,a,-2147483648,d&1)}return a}function wj(){this.A-=-1===this.D?2:this.B.Fk;return 1}function xj(){var a=this.I&255;this.A-=(-1===this.D?this.B.ci:this.B.bi)+(a<this.qb?(-1!=this.bc&&(this.bc!==this.wa.Z&&(this.wa.Lb=this.bc&3,sf(this,this.bc)),this.bc=-1),this.qe!==this.Ha&&tf(this,this.qe),-1!=this.sb&&(this.sb!==this.ta.Z&&ud(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&I(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.qb?(b=0,a=8):(b=0,a=-1,ve(this),e=d=!1)):tf(this,this.qe);var f=a,g=b,h=32,k=Qf(this,this.Ha);204!=k||this.Sd||(d=!1);this.ca&131072&&(6== -f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);z(this,h|-2147483648)&&(d=!0);if(z(this,h)||d){var m=this.la.Ib,f="Fault "+u(f)+(null!=g?" ("+v(g)+")":"")+" on opcode "+u(k);d&&m&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=m,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.qb=a,Cj.call(this,a,b,c),this.qe=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;} -function ye(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);E.call(this,14,a)}function Ej(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.H+this.K);this.C=this.D;break;case 1:b=P(this,this.H+this.J);this.C=this.D;break;case 2:b=Sf(this,this.P+this.K);this.C=this.D;break;case 3:b=Sf(this,this.P+this.J);this.C=this.D;break;case 4:b=P(this,this.K);this.C=this.D;break;case 5:b=P(this,this.J);this.C=this.D;break;case 6:b=P(this,T(this));this.C=this.D;break;case 7:b=P(this,this.H);this.C=this.D;break;case 64:b=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=P(this,this.K+this.T());this.C=this.D;break;case 69:b=P(this,this.J+this.T());this.C=this.D;break;case 70:b=Sf(this,this.P+this.T());this.C=this.D;break;case 71:b=P(this,this.H+this.T());this.C=this.D;break;case 128:b=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=P(this,this.K+T(this));this.C=this.D;break;case 133:b=P(this,this.J+T(this));this.C=this.D;break;case 134:b=Sf(this,this.P+T(this));this.C=this.D;break;case 135:b=P(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this, -a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.H+this.K);this.C=this.D;break;case 1:c=P(this,this.H+this.J);this.C=this.D;break;case 2:c=Sf(this,this.P+this.K);this.C=this.D;break;case 3:c=Sf(this,this.P+this.J);this.C=this.D;break;case 4:c=P(this,this.K);this.C=this.D;break;case 5:c=P(this,this.J);this.C=this.D;break;case 6:c=P(this,T(this));this.C=this.D;break;case 7:c=P(this,this.H);this.C=this.D;break;case 64:c=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=P(this,this.K+this.T());this.C=this.D;break;case 69:c=P(this,this.J+this.T());this.C=this.D;break;case 70:c=Sf(this,this.P+this.T());this.C=this.D;break;case 71:c=P(this,this.H+this.T());this.C=this.D;break;case 128:c=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=P(this,this.K+T(this));this.C=this.D;break;case 133:c=P(this,this.J+T(this));this.C=this.D;break;case 134:c=Sf(this,this.P+T(this));this.C=this.D;break;case 135:c=P(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this,a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ie(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=Q(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Uf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Uf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=Q(this,this.K);this.A-=this.B.Jc;break;case 5:c=Q(this,this.J);this.A-=this.B.Jc;break;case 6:c=Q(this,T(this));this.A-=this.B.Jd;break;case 7:c=Q(this,this.H);this.A-=this.B.Jc;break;case 64:c=Q(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=Q(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Uf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Uf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=Q(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=Q(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Uf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=Q(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=Q(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=Q(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Uf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Uf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=Q(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=Q(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Uf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=Q(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Je(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Uf(this,this.P+this.K);this.C=this.D;break;case 3:b=Uf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Uf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Uf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this, -a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ke(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Uf(this,this.P+this.K);this.C=this.D;break;case 3:c=Uf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Uf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Uf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this,a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Vf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Vf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Vf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Vf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Vf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Vf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Vf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Vf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Vf(this,this.P+this.K);this.C=this.D;break;case 3:b=Vf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Vf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Vf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this, -a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Vf(this,this.P+this.K);this.C=this.D;break;case 3:c=Vf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Vf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Vf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this, -a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.G);break;case 1:c=P(this,this.I);break;case 2:c=P(this,this.M);break;case 3:c=P(this,this.H);break;case 4:c=P(this,Gj.call(this,0));break;case 5:c=P(this,T(this));break;case 6:c=P(this,this.K);break;case 7:c=P(this,this.J);break;case 64:c=P(this,this.G+this.T());break;case 65:c=P(this,this.I+this.T());break;case 66:c=P(this,this.M+this.T());break;case 67:c=P(this,this.H+this.T());break;case 68:c=P(this,Gj.call(this,1)+this.T()); -break;case 69:c=Sf(this,this.P+this.T());break;case 70:c=P(this,this.K+this.T());break;case 71:c=P(this,this.J+this.T());break;case 128:c=P(this,this.G+T(this));break;case 129:c=P(this,this.I+T(this));break;case 130:c=P(this,this.M+T(this));break;case 131:c=P(this,this.H+T(this));break;case 132:c=P(this,Gj.call(this,2)+T(this));break;case 133:c=Sf(this,this.P+T(this));break;case 134:c=P(this,this.K+T(this));break;case 135:c=P(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.G);this.C=this.D;break;case 1:b=P(this,this.I);this.C=this.D;break;case 2:b=P(this,this.M);this.C=this.D;break;case 3:b=P(this,this.H);this.C=this.D;break;case 4:b=P(this,Gj.call(this,0));this.C=this.D;break;case 5:b=P(this,T(this));this.C=this.D;break;case 6:b=P(this,this.K);this.C=this.D;break;case 7:b=P(this,this.J);this.C=this.D;break;case 64:b=P(this,this.G+this.T());this.C=this.D;break;case 65:b=P(this,this.I+this.T()); -this.C=this.D;break;case 66:b=P(this,this.M+this.T());this.C=this.D;break;case 67:b=P(this,this.H+this.T());this.C=this.D;break;case 68:b=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Sf(this,this.P+this.T());this.C=this.D;break;case 70:b=P(this,this.K+this.T());this.C=this.D;break;case 71:b=P(this,this.J+this.T());this.C=this.D;break;case 128:b=P(this,this.G+T(this));this.C=this.D;break;case 129:b=P(this,this.I+T(this));this.C=this.D;break;case 130:b=P(this,this.M+T(this));this.C= -this.D;break;case 131:b=P(this,this.H+T(this));this.C=this.D;break;case 132:b=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Sf(this,this.P+T(this));this.C=this.D;break;case 134:b=P(this,this.K+T(this));this.C=this.D;break;case 135:b=P(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.G);this.C=this.D;break;case 1:c=P(this,this.I);this.C=this.D;break;case 2:c=P(this,this.M);this.C=this.D;break;case 3:c=P(this,this.H);this.C=this.D;break;case 4:c=P(this,Gj.call(this,0));this.C=this.D;break;case 5:c=P(this,T(this));this.C=this.D;break;case 6:c=P(this,this.K);this.C=this.D;break;case 7:c=P(this,this.J);this.C=this.D;break;case 64:c=P(this,this.G+this.T());this.C=this.D;break;case 65:c=P(this,this.I+this.T()); -this.C=this.D;break;case 66:c=P(this,this.M+this.T());this.C=this.D;break;case 67:c=P(this,this.H+this.T());this.C=this.D;break;case 68:c=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Sf(this,this.P+this.T());this.C=this.D;break;case 70:c=P(this,this.K+this.T());this.C=this.D;break;case 71:c=P(this,this.J+this.T());this.C=this.D;break;case 128:c=P(this,this.G+T(this));this.C=this.D;break;case 129:c=P(this,this.I+T(this));this.C=this.D;break;case 130:c=P(this,this.M+T(this));this.C= -this.D;break;case 131:c=P(this,this.H+T(this));this.C=this.D;break;case 132:c=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Sf(this,this.P+T(this));this.C=this.D;break;case 134:c=P(this,this.K+T(this));this.C=this.D;break;case 135:c=P(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function cf(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Gj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Gj.call(this,1)+this.T()); -break;case 69:c=Uf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Gj.call(this,2)+T(this));break;case 133:c=Uf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function df(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Uf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Uf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ef(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Uf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Uf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ff(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Gj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Gj.call(this,1)+this.T()); -break;case 69:c=Vf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Gj.call(this,2)+T(this));break;case 133:c=Vf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function gf(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Gj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Vf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Vf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function hf(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Gj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Vf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Vf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}a=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function Gj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=J(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||zf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||zf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?Ef(this):Ff(this);b?Mf(this):Kf(this);this.A-=this.B.Je},function(){this.G=tj.call(this,this.G)},function(){this.I=tj.call(this,this.I)},function(){this.M=tj.call(this,this.M)},function(){this.H=tj.call(this,this.H)},function(){I(this,tj.call(this, -J(this)))},function(){this.P=tj.call(this,this.P)},function(){this.K=tj.call(this,this.K)},function(){this.J=tj.call(this,this.J)},function(){this.G=rj.call(this,this.G)},function(){this.I=rj.call(this,this.I)},function(){this.M=rj.call(this,this.M)},function(){this.H=rj.call(this,this.H)},function(){I(this,rj.call(this,J(this)))},function(){this.P=rj.call(this,this.P)},function(){this.K=rj.call(this,this.K)},function(){this.J=rj.call(this,this.J)},function(){K(this,this.G&this.R);this.A-=this.B.Rc}, -function(){K(this,this.I&this.R);this.A-=this.B.Rc},function(){K(this,this.M&this.R);this.A-=this.B.Rc},function(){K(this,this.H&this.R);this.A-=this.B.Rc},function(){K(this,J(this)-2&65535);this.A-=this.B.Rc},function(){K(this,this.P&this.R);this.A-=this.B.Rc},function(){K(this,this.K&this.R);this.A-=this.B.Rc},function(){K(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|H(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|H(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|H(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|H(this);this.A-=this.B.zc},function(){I(this,J(this)&~this.R|H(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|H(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|H(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|H(this);this.A-=this.B.zc},Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,function(){this.ya.call(this,mk,this.Ma);this.A-=-1===this.C? -1:this.B.Jg},Xj,function(){this.ya.call(this,mk,this.T);this.A-=-1===this.C?1:this.B.Jg},function(){this.Ya.call(this,ij)},function(){this.ea.call(this,jj)},function(){this.Oa.call(this,mj)},function(){this.V.call(this,nj)},Zj,ak,bk,ck,function(){this.S|=1;this.ea.call(this,Bi)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.V.call(this,ai)},function(){var a;this.V.call(this,Ai);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;Bd(this,a);break;case 1:a=this.I;this.I=this.aa;sf(this,a);break; -case 2:a=this.M;this.M=this.aa;ud(this,a);break;case 3:a=this.H;this.H=this.aa;Ad(this,a);break;case 4:a=J(this);I(this,this.aa);80386<=this.ja?this.Nb.load(a):Bd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):sf(this,a);break;case 6:a=this.K;this.K=this.aa;ud(this,a);break;case 7:a=this.J,this.J=this.aa,Ad(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=H(this);this.ya.call(this,nk,Aj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=J(this);this.G=this.G&~this.R|b&this.R;I(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.Kj},function(){Bj.call(this,this.Ma(),Zf(this));this.A-=this.B.Nj},function(){this.A-=3},function(){var a=Cd(this);a&131072&&3>this.Pa?E.call(this, -13,0):(K(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=H(this),a=a&65535|this.ca&-65536;Dd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?Ef(this):Ff(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Mf(this):Kf(this);a&64?Nf(this):Lf(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.fc},function(){this.G=this.G&-65281|(Cd(this)&213)<<8;this.A-= -this.B.fc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Sh},function(){this.G=this.G&~this.R|yd(this,this.ka,T(this));this.A-=this.B.Sh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Th},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Th},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=yd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Rf(this,this.ka,this.K),f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh, -this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Tf(this,this.ka,this.K&c),f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){Df(this,this.G&this.xa(),128);this.A-=this.B.Je},function(){Df(this,this.G&this.Ma(),this.Ga);this.A-=this.B.Je},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&& -(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&&(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh, -this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=yd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&255,f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&this.R,f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.fc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.fc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.fc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.fc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.fc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.fc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.fc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.fc},function(){I(this,J(this)&~this.R|this.Ma());this.A-=this.B.fc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.fc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.fc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.fc},gk,hk,gk,hk,function(){this.V.call(this,bi)},function(){this.V.call(this,$h)},function(){this.S|= -1;this.Jb.call(this,ok,this.xa)},function(){this.S|=1;this.ya.call(this,ok,this.Ma)},ik,jk,ik,jk,function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=this.B.dk;this.qb=-1;Cj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var b;a:{b=this.Hd[a];if(void 0!==b)for(var c=0;cthis.Pa)E.call(this,13,0);else{var a=this.B.ek;this.qb=-1;Cj.call(this,4,null,a)}else this.A-=this.B.fk},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.bk;if(this.$a&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);vd(this.wa,a,!1)}else{var a=this.pa,b=H(this),c=H(this),d=H(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=H(this),f=H(this),g=H(this),h=H(this),k=H(this),m=H(this);wd(this,!0,!0);ud(this, -f);I(this,e);Bd(this,g);Ad(this,h);this.Nb.load(k);this.Ob.load(m)}null!=Ed(this,b,c,!1)&&(Dd(this,d,a),this.le&&nf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,dk,wj)},function(){this.ya.call(this,2==this.ba?ek:fk,wj)},function(){this.Jb.call(this,dk,xj)},function(){this.ya.call(this,2==this.ba?ek:fk,xj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;Df(this,this.G,128);this.A-=this.B.Hj}else Fj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;wf(this,a,b,c,191);this.A-=this.B.Gj},function(){this.G=this.G&-256|(xf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Rf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Gk},function(){kk.call(this,216)},function(){kk.call(this,217)},function(){kk.call(this,218)},function(){kk.call(this,219)},function(){kk.call(this,220)},function(){kk.call(this,221)},function(){kk.call(this,222)},function(){kk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!Af(this)?(O(this,M(this)+a),this.A-=this.B.mk):this.A-=this.B.Ph},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&Af(this)?(O(this,M(this)+a),this.A-=this.B.Qh):this.A-=this.B.Rh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,M(this)+a),this.A-=this.B.lk):this.A-=this.B.Ph},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Rh:(O(this,M(this)+a),this.A-=this.B.Qh)},function(){var a=this.xa(); -Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,1,!1)&&(zc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.xa();Pf(this,a,this.ba,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.Ma(),b=M(this),a=b+a;K(this,b);O(this,a); -this.A-=this.B.Lj},function(){var a=this.Ma();O(this,M(this)+a);this.A-=this.B.Lh},function(){Ed(this,this.Ma(),Zf(this));this.A-=this.B.hk},function(){var a=this.T();O(this,M(this)+a);this.A-=this.B.Lh},function(){var a=this.M&65535;Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,1,!1)&& -(zc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Xh)},function(){var a=this.M&65535;Pf(this,a,2,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Xh)},lk,lk,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ca&131072?E.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(vf(this),this.ha.Wb()):this.ca&512||(this.ha&&vf(this),this.Wb()))},function(){xf(this)?Ff(this):Ef(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -qk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,rk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.va&this.R)},function(){Ff(this);this.A-=2},function(){Ef(this);this.A-=2},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca&=-513,this.A-=this.B.Jj)},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Id,zj)},function(){this.ya.call(this,Jd,zj)}],Yj=[zh,Ci,xh,Ei,Bh,gj,oj,Ph],mk=[Ah,Di,yh,Fi,Ch,hj,pj,Qh],nk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.yk;return b},Sh,Sh,Sh,Sh,Sh,Sh,Sh],ok=[function(a,b){this.A-=-1===this.C?this.B.qk:this.B.nk;return b},W,W,W,W,W,W,W],dk=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<>8-b)&255):d=a<<7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;If(this,c,d,128)}return c}, -function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=9)?(c=(a<>9-b)&255,d=a<>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;8>>b-1,a=b>>>1&255,Df(this,a,128,b&1,a&128);return a},W,function(a,b){if(b&=this.ra)9>24>>b-1,a=b>>1&255,Df(this,a,128,b&1);return a}],ek=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<>16-b)&65535):d=a<<15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=17)?(c=(a<>17-b)&65535,d=a<>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;16>>b-1,a=b>>>1&65535,Df(this,a,32768,b&1,a&32768);return a},W,function(a,b){if(b&=this.ra)17>16>>b-1,a=b>>1&65535,Df(this,a,32768,b&1);return a}],fk=[function(a,b){var c=a;if(b&=this.ra)c=a<>>32-b,If(this,c,a<>>b|d;If(this,c,d,-2147483648)}return c},function(a,b){var c=a;if(b&=this.ra)c=Jf(this),c=a<>>32-b>>>1,If(this,c,a<>>b|c<<32-b|a<<32-b<<1,If(this,c,a<<32-b,-2147483648);return c},function(a,b){var c=a;if(b&=this.ra)a<<=b-1,c=a<<1,Df(this,c,-2147483648,a&-2147483648,(c^a)&-2147483648);return c},function(a,b){if(b&=this.ra)b=a>>>b-1,a=b>>>1,Df(this,a,-2147483648, -b&1,a&-2147483648);return a},W,function(a,b){if(b&=this.ra)b=a>>b-1,a=b>>1,Df(this,a,-2147483648,b&1);return a}],qk=[function(a,b){b=this.xa();Df(this,a&b,128);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Wf:this.B.Vf;return a^255},function(a){var b=-a|0;wf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Wf:this.B.Vf;return b&255},function(a){this.ia=(this.G&255)*a&65535;this.ia&65280?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-= --1===this.D?this.B.uk:this.B.tk;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.Zj:this.B.Yj;this.S|=2;return a},function(a,b){if(!a)return Fj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d= -(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Fj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.Vj:this.B.Uj;this.S|=2;return a}],rk=[function(a,b){b=this.Ma();Df(this,a&b,this.Ga);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Wf:this.B.Vf;return a^this.R},function(a){var b=-a|0;wf(this,0,a,b,this.Ga|63,!0);this.A-=-1===this.D?this.B.Wf:this.B.Vf;return b&this.R},function(a,b){2==this.ba? -(b=this.G&65535,b=b*a|0,this.ia=b&65535,this.va=b>>16&65535):(Yh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.va=0));this.va?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.wk:this.B.vk;this.S|=2;return a},function(a,b){2==this.ba?(b=this.G&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.ia=b&65535,this.va=b>>16&65535,b=32767b):(Xh.call(this,a,this.G),b=this.va!=this.ia>>31);b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D? -this.B.ak:this.B.$j;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Fj.call(this),a;this.ia=c&65535;this.va=b%a&65535}else{if(!sj.call(this,this.G,this.M,a))return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Tj:this.B.Sj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086== -this.ja&&-32768==d)return Fj.call(this),a;this.ia=d&65535;this.va=b%c&65535}else{b=this.G;var c=this.M,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!sj.call(this,b,c,d)||this.ia>2147483647+e||this.va>2147483647+f?b=!1:(e&&(this.ia=-this.ia),f&&(this.va=-this.va),b=!0);if(!b)return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Xj:this.B.Wj;this.S|=2;return a}],Id=[function(a){var b=a+1|0;wf(this,a,1,b,190);this.A-=-1===this.D?this.B.Uf:this.B.Tf; -return b&255},function(a){var b=a-1|0;wf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Uf:this.B.Tf;return b&255},W,W,W,W,W,W],Jd=[function(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Uf:this.B.Tf;return b&this.R},function(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Uf:this.B.Tf;return b&this.R},function(a){K(this,M(this));O(this,a);this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);this.U= -this.fa;Bj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.Mj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.jk:this.B.ik;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);Ed(this,a,this.na(this.D+this.ba));this.A-=this.B.gk;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));K(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Ak;this.S|=2;return a},W];function te(){this.V.call(this,lj);this.A-=-1===this.D?6:13} -function ue(){this.ea.call(this,kj);this.A-=-1===this.D?12:19}var le=Array(256);le[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.mg,zj)};le[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,sk,zj)};le[2]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,Zh)};le[3]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,ei)}; -le[5]=function(){this.pa?E.call(this,13,0,0,!0):(Of(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),td(this.Xa,2102,this.na(2084)),td(this.wa,2108,this.na(2082)),td(this.ta,2114,this.na(2080)),td(this.vb,2120,this.na(2078)),Dd(this,this.na(2072)),O(this,this.na(2074)),I(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Sd=this.Mc+this.na(2142),td(this.Bc,2132,this.na(2076)),td(this.Sa,2144,this.na(2070)),this.A-=195)};le[6]=function(){this.pa?E.call(this,13,0):(this.$a&=-9,this.A-=2)};le[11]=Ld;le[166]=Ld;le[255]=Ld;var N=[];N[5]=Ld; -N[7]=function(){if(this.pa)E.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){uj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Dd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Sd=this.Mc+this.oa(a+104);sd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));sd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);sd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));sd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));sd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));sd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));sd(this.wa,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));sd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));I(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};N[16]=Zj;N[17]=ak;N[18]=bk;N[19]=ck;N[32]=function(){if(this.pa)E.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.$a;break;case 2:a=this.se;break;case 3:a=this.Od;break;default:me.call(this);return}Be(this,b&7,a);this.A-=6}};N[33]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(Be(this,a&7,this.Ja[b]),this.A-=22)}}; -N[34]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=Ae(this,a&7);switch((a&56)>>3){case 0:uj.call(this,b);this.A-=10;break;case 2:this.se=b;this.A-=4;break;case 3:Fd.call(this,b);this.A-=5;break;default:me.call(this)}}};N[35]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(a=Ae(this,a&7),a!=this.Ja[b]&&(of(this,!1),this.Ja[b]=a,of(this,!0)),this.A-=4>b?22:14)}}; -N[36]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(Be(this,a&7,this.Ee[b]),this.A-=12)}};N[38]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(this.Ee[b]=Ae(this,a&7),this.A-=12)}};N[128]=function(){var a=this.Ma();Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[129]=function(){var a=this.Ma();Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[130]=function(){var a=this.Ma();xf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[131]=function(){var a=this.Ma();xf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[132]=function(){var a=this.Ma();Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[133]=function(){var a=this.Ma();Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[134]=function(){var a=this.Ma();xf(this)||Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -N[135]=function(){var a=this.Ma();xf(this)||Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[136]=function(){var a=this.Ma();Bf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[137]=function(){var a=this.Ma();Bf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[138]=function(){var a=this.Ma();yf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[139]=function(){var a=this.Ma();yf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[140]=function(){var a=this.Ma();!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[141]=function(){var a=this.Ma();!Bf(this)==!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[142]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[143]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[144]=function(){vj.call(this,Gi)}; -N[145]=function(){vj.call(this,Gi)};N[146]=function(){vj.call(this,Hi)};N[147]=function(){vj.call(this,Ii)};N[148]=function(){vj.call(this,Ji)};N[149]=function(){vj.call(this,Ki)};N[150]=function(){vj.call(this,Li)};N[151]=function(){vj.call(this,Mi)};N[152]=function(){vj.call(this,Ni)};N[153]=function(){vj.call(this,Oi)};N[154]=function(){vj.call(this,Pi)};N[155]=function(){vj.call(this,Qi)};N[156]=function(){vj.call(this,Ri)};N[157]=function(){vj.call(this,Si)};N[158]=function(){vj.call(this,Ti)}; -N[159]=function(){vj.call(this,Ui)};N[160]=function(){zd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ke};N[161]=function(){this.U=this.fa;var a=H(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};N[163]=function(){this.ea.call(this,Lh);-1!==this.D&&(this.A-=6)};N[164]=function(){this.ea.call(this,2==this.ba?Vi:Xi);this.A-=-1===this.D?3:7};N[165]=function(){this.ea.call(this,2==this.ba?Zi:$i);this.A-=-1===this.D?3:7};N[168]=function(){zd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ke}; -N[169]=function(){this.U=this.fa;var a=H(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};N[171]=function(){this.ea.call(this,Oh);-1!==this.D&&(this.A-=5)};N[172]=function(){this.ea.call(this,2==this.ba?aj:cj);this.A-=-1===this.D?3:7};N[173]=function(){this.ea.call(this,2==this.ba?ej:fj);this.A-=-1===this.D?3:7};N[175]=function(){this.V.call(this,2==this.ba?Uh:Wh)};N[178]=function(){this.V.call(this,fi)};N[179]=function(){this.ea.call(this,Nh);-1!==this.D&&(this.A-=5)}; -N[180]=function(){this.V.call(this,ci)};N[181]=function(){this.V.call(this,di)}; -N[182]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};N[183]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};N[186]=function(){this.ya.call(this,tk,this.xa)};N[187]=function(){this.ea.call(this,Mh);-1!==this.D&&(this.A-=5)}; -N[188]=function(){this.V.call(this,Fh)};N[189]=function(){this.V.call(this,Gh)}; -N[190]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};N[191]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var pf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Nf(this), -a;Lf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Nf(this),a;Lf(this);return a},W,W],Kd=[je,je,je,je,je,je,W,W],sk=[function(a){if(-1===this.D)E.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)E.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc;80286== -this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.$a},W,function(a){this.ca&131072? -E.call(this,6):(Of(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},W],tk=[W,W,W,W,Hh,Kh,Jh,Ih]; -function X(a){bb.call(this,"ChipSet",a,X,32768);var b=a.model;b&&!uk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja=kg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Ea=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Ea=new this.sb));this.reset(!0);xb(this)}jb(X);var vk=5150.9,kg=5170,uk={5150:5150,5160:5160,5170:kg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={jl:1,ONE:0,Io:64,Go:128,xo:192,Lc:192,Xg:6},Dk={Ho:16,to:32,yo:48,Lc:48,Xg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"FPU"}; -Ek[5150][0][Ak]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak]; -Ek[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"FPU"};Ek[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];l=X.prototype; -l.Pb=function(a,b,c){switch(b){case xk:return this.qa[b]=c,Fk(this,0,b),!0;case Bk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Fk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;qc(b,this,Gk);yc(b,this,Hk);this.jab;b++){var c=13>=b?Sk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+u(b)+"]: "+u(c)}e.ha.O(a)})}lf(c,26,this.Pm.bind(this))}; -l.hc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(a){var b;Tk(this);this.L=Array(this.cb);for(b=0;b=kg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Xk(this)&&(this.fa|=16);3==+Yk(this,Ak,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -l.save=function(){var a=new qf(this);a.set(0,[this.C]);for(var b=[],c=0;c=kg&&(a.set(5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),a.set(6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()}; -l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Tk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function sl(a,b,c,d,e){var f=a.L[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Dc[b&3];b.wg&&b.mh&&b.Lg?(c&&(b.done=c),b.Ge||Dl(a,b,!0)):c&&c(!0)} -function Dl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.uj=b.xg=!1);for(var d=!1;0<=b.count&&(c=b.rg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.mh.call(b.wg,b.Lg,-1,function(e,g){0>e&&(b.uj||(b.uj=!0),e=255);b.Ge||a.ga.qc(c,e);(d=g)&&setTimeout(function(){El(b)||Dl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.mh.call(b.wg,b.Lg,c)&&(b.xg=!0)):0!=b.type&&(b.xg=!0)),!d&&!El(b););} -function El(a){if(!a.xg&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.nf=c||0,Hl(a))}function lg(a,b){var c=a.vc[b>>3];b=1<<(b&7);c.lc&b&&(c.lc&=~b,Hl(a))}function Hl(a,b){var c,d=-1;1>=1),ed(a.F,e))),b||2!=c||cl(a))}function Ol(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Pl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;if(d&=48){e+=c;var h=a.V[e];h.jg=d;h.mode=g;h.gh=f;h.Fc=[0,0];h.Ab=[0,0];h.Be=[0,0];h.td=!1;h.af=!1;h.De=!1;h.ef=!1;Ll(a,e);b||c||lg(a,0);b||2!=c||255!=a.vc[0].Ad||77!=a.W||(b=a.V[0],b.$c[0]= -b.Fc[0],b.$c[1]=b.Fc[1],b.vd=cd(a.F,a.ka))}else Ql(a,e+c)}}function Nl(a,b){a=a.V[b];(b=a.Fc[1]<<8|a.Fc[0])||(b=1==a.md?256:65536);return b}function id(a,b){a=a.V[b];(b=a.$c[1]<<8|a.$c[0])||(b=1==a.md?256:65536);return b}function Ql(a,b){Rk(a,b);var c=a.V[b];c.Be[0]=c.Ab[0];c.Be[1]=c.Ab[1];c.af=!0;Ll(a,b)}function Ll(a,b){a=a.V[b];a.Ed=32==a.jg?1:0;a.md=48==a.jg?2:1} -function Rk(a,b,c){var d=a.V[b];if(d.De&&(2!=b||a.W&1)){var e=cd(a.F,a.ka),f=(e-d.vd)/a.gb|0;0>f&&(d.vd=e,f=0);var g=Nl(a,b),h=id(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.De=!1,b||mg(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.vd=0)}return d} -function hd(a,b){for(var c=0;c=kg){b=a.F.Y.Id;c=cd(a.F,a.ka);null==a.fb&&(a.Ga=cd(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Id/a.Jb),bl(a));c>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,mg(a,8)),a.ua=c+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,mg(a,8)));var d=c-a.Ga,e=Math.floor(d/b);if(e&&!(a.A[11]&128)){for(;e--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;var f; -f=a.A[9];var g=va[a.A[8]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[7]>f&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,mg(a,8))}a.Ga=c-d%b}}l=X.prototype;l.ym=function(a,b){var c=this.Ya;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Rl(this.B)));x(this,a,null,b,"PPI_A",c);return c};l.Yn=function(a,b,c){x(this,a,b,c,"PPI_A");this.Ya=b};l.zm=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -l.Zn=function(a,b,c){x(this,a,b,c,"PPI_B");Sl(this,b)};function Sl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Tl(a.B,!(b&128),!!(b&64));c!=d&&cl(a,c)}l.Am=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Rk(this,2).td&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};l.$n=function(a,b,c){x(this,a,b,c,"PPI_C");this.qb=b};l.Bm=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -l.ao=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};l.Kl=function(a,b){var c=this.B?Rl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.va&=-2;return c};l.hn=function(a,b,c){x(this,a,b,c,"8041_KBD")};l.Jl=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};l.gn=function(a,b,c){x(this,a,b,c,"8041_CTRL");Sl(this,b)};l.Ll=function(a,b){var c=this.va;x(this,a,null,b,"8041_STATUS",c);return c}; -l.Ml=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ul(this.B);return c}; -l.kn=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Vl(this,b);break;case 209:Wl(this,b);break;default:if(Vl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;z(a)&&y(a,"sendCmd("+u(c)+")");switch(a.V||c){case 255:d=250;Xl(a);break;case 243:a.V&&(c=0);Yl(a,250);a.V=c;break;case 237:a.V&&(c=0);Yl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Zl(this,d)}}this.ea=b;this.N&=-9}; -l.Nl=function(a,b){var c=this.W&-209|(cd(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};l.mn=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Sl(this,b)};l.Ol=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);a=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return a}; -l.jn=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Zl(this,this.aa);break;case 173:Vl(this,this.aa|16);break;case 174:Vl(this,this.aa&-17);this.B&&Ul(this.B);break;case 170:this.B&&(a=this.B,a.A=[],z(a)&&y(a,"scan codes flushed"));Vl(this,this.aa|16);Zl(this,85);Wl(this,3);break;case 171:Zl(this,0);break;case 192:Zl(this,this.fa);break;case 208:Zl(this,this.Ka);break;case 224:Zl(this,this.aa&16?0: -1);break;case 240:a&1&&ve(this.F)}};function Vl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Tl(a.B,!!(b&8),!(b&16))}function Zl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Wl(a,b){a.Ka=b;Tb(a.ga,!!(b&2));b&1||ve(a.F)}function $l(a,b){a.ja=c?Sk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+u(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&lg(this,8),d&64&&this.A[11]&64&&bl(this));return d}; -l.Bn=function(a,b,c){var d=this.pa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+u(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&bl(this)};l.Nk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};l.Ln=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};l.Mn=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&fg(this.Tb)}; -l.Pm=function(a){if(z(this,16)&&pk(this.ha,26,a)){var b=this.F.G>>8;mf(this.F,a,function(a,d){return function(c){d=cd(a.F)-d;var e,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,m=a.F.M>>8;if(2==b||3==b)e=" CH(hour)="+v(h)+" CL(min)="+u(g)+" DH(sec)="+u(m);else if(4==b||5==b)e=" CX(year)="+v(a.F.I)+" DH(month)="+u(m)+" DL(day)="+u(k);g=a.ha;h=d;g.message("INT "+u(26)+": C="+(xf(g.F)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,cd(this.F)))}return!0}; -function cl(a,b){if(a.Ea)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Nl(a,2));if(20>c||2E4>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};cm.prototype.gc=function(){return!0}; -function dm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Qd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;al(a)}}else w("No RAM allocated")}; -l.save=function(){var a=new qf(this);this.controller&&a.set(0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function jm(a){this.N=a;this.C=lm;this.ha=mm;this.B=nm;this.A=null}var km=-2134900736,lm=65535,mm=2575,nm=2,om=[null,0],pm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];l=jm.prototype;l.save=function(){return[this.C,this.B]}; -l.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};l.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};l.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.N.ga;if(b&1)this.A&&(dc(a,917504,131072,this.A),this.A=null);else{this.A||(this.A=ec(a,917504,131072));var c=ec(a,16646144,131072);dc(a,917504,131072,c,b&2?1:hc)}this.C=this.C&-256|b}};l.wj=function(){return om};l.nh=function(){return pm}; -Xa(function(){for(var a=tb(document,"pcx86","ram"),b=0;b"]]=10804;Y[p["/"]]=53;Y[p["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[tm]=7470;Y[4008]=7494;Y[4046]=3677523; -Y[4045]=3677522;Y[4013]=3677468;l=qm.prototype; -l.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.X&&e.X.wd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")}; -function rm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=sm.indexOf(a.ja),0>c&&(c=0));if(b=sm[c])a.ra=parseInt(b.substr(2),10)}function Xl(a){y(a,"keyboard reset",65792);a.A=[];Yl(a,170)}function Tl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&am(a,!0);a.W&&a.ea&&(Xl(a),a.ea=!1)}function Yl(a,b){a.N&&(a.A.unshift(b),a.U=!0,$l(a.N,b))} -function Ul(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&$l(a.N,b));z(a)&&y(a,b?"scan code "+u(b)+" available":"no scan codes available")}function Rl(a){var b=0;a.A.length&&(b=a.A[0]);z(a)&&y(a,"scan code "+u(b)+" delivered");return b}function am(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in xm)d="led-"+g,e=xm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function zm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){um[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Pe=b,d.xc=a.xc,Dm(a,b,!0),e++),0b.Kd){if(!b.Hf){Bm(a,b.Pe);return}b.Hf=!1;c=a.ua}else c=1==b.Kd++?500:100;b.Zk=setTimeout(function(a){return function(){Fm(a,b)}}(a),c)}} -function Hm(a,b,c){var d=b;if(b>=p.ue&&b<=p.og)!(a.xc&515)==c&&(d=b+(p.ve-p.ue));else if(b>=p.ve&&b<=p.z)!!(a.xc&515)==c&&(d=b-(p.ve-p.ue));else if(!!(a.xc&3)==c){if(a=da[b])d=a}else if(a=ca[b])d=a;return d}l.Mg=function(a){a||(this.xc&=-256)}; -function ym(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hm(a,g,!0);a.kh&&h==p["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Am(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=p.ue&&b<=p.og||b>=p.ve&&b<=p.z;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+u(f)+" buffered"),e.A.push(f), -1==e.A.length&&e.N&&$l(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Xa(function(){for(var a=tb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Hc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Qg=c[4]>>8&255;this.mb=c[5];this.wh=Zm;this.qg=an;if(5<=b){this.wh=$m;this.qg=bn;(b=c[6])||(b=[!1,0,Array(20),0,3==f? -0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Dd],Array(this.Dd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ze=b[0];this.Nd=b[1];this.Sc=b[2];this.$g=cn;this.Tg=b[3];this.vf=b[4];this.ig=b[5];this.ae=b[6];this.Me=b[7];this.bh=dn;this.Qk=b[8];this.Rk=b[9];this.$d=b[10];this.Zd=b[11];this.ah=en;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Dd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.mi&255};gn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};gn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};gn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.yh,c=this.controller.xh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -gn[0]=function(a,b){a+=this.C;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[32]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[96]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b&=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[160]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b|=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[224]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b^=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)};gn[4]=function(a,b){var c=(a&-4)+this.C;a=(a&3)<<3;b=b<>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Mb;b=this.controller.Yf&b|this.controller.Fb&~b;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Qg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ze;c[1]=a.Nd;c[2]=a.Sc;c[3]=a.Tg;c[4]=a.vf;c[5]=a.ig;c[6]=a.ae;c[7]=a.Me;c[8]=a.Qk;c[9]=a.Rk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=m}f.length>3;for(c=0;c=d&&(A=d,g=!0);break; -case "p":0<=d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(L):fa(L>>(F<<3),8));g&&(f+=C-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+u(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.qg),5<=b.Ua&&(jn(b," GRC",b.$d,b.Zd,b.ah),jn(b," SEQ",b.ae,b.Me,b.bh),jn(b," ATC",b.Nd,b.Sc, -b.$g),jn(b," ATCINDX",b.Nd),b.ha.O(" ATCDATA: "+b.Ze),jn(b," FEAT",b.ig),jn(b," MISC",b.vf),jn(b," STATUS0",b.Tg)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.fd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.Dg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Jb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Ye();a=!0}this.X&&this.X.focus()}return a}; -function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.kh=b)}l.Fe=function(a){var b=!1;this.X&&(a?this.X.Fe&&(this.X.Fe(),this.V&&this.V.Zf(!0),b=!0):this.X.$k&&(this.X.$k(),this.V&&this.V.Zf(!1),b=!0),this.X&&this.X.focus());return b};l.Zf=function(a){this.V&&(this.V.Zf(a),this.B&&(this.B.kh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.bl)}; -function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Cc=a.mg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.so=function(){a.Gd=!0;a.V.he(wn,!0)})}l.Mg=function(a){this.B&&this.B.Mg(a)}; -function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ke)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Hd;f=b.timeStamp-a.mg;!0===c?(a.Hd=500f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.Kf(c,b,a.uc,a.Cc)}}l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(){var a=!0,b=0;this.N&&(b=+Yk(this.N,Ak,void 0));this.ja||(this.Ua=3==b?1:3);this.va=3;switch(this.Ua){case hm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.va=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.qd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Dd),xn(this));Xn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;Yn(this,this.va);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);nc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.qd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}l.save=function(){var a=new qf(this);a.set(0,hn(this.qd));a.set(1,hn(this.Wc));a.set(2,[this.ya,this.va,this.Ga]);a.set(3,hn(this.A));return a.data()}; -l.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Hc&&xn(this);Xn(this);if(!Zn(this))return!1;$n(this);return!0}; -function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)gm(a,f,[6144,0]);else if(2048==f.length)gm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&xb(a)}} -function ao(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;de;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.Ca[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Sc[15]?c.Sc:Um;for(e=0;16>e;e++)f=b[e]&63,k?(f|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(f&=-49,f|=(c.Sc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.Ca[e]=[g,h,f,255]}a.qb=!0}return a.Ca}function gm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function Xn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){b=0;var d=a.Tb?a.Tb:8,e=ao(a);null!=a.Jb[0]&&bo(a,3,a.Jb[0],b,d,8,a.Uc,e)&&(c=!0);b=a.Tb?0:2048;d=a.Tb?a.Tb:9;null!=a.Jb[1]&&(bo(a,1,a.Jb[1],b,d,14,a.Uc,Pm,Qm)&&(c=!0),a.Tb&&bo(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,e)&&(c=!0))}return c}function bo(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(co(a,b,c,d,e,f,g,h,k)&&(m=!0),a.ro&&co(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m} -function co(a,b,c,d,e,f,g,h,k){var m=!1,n=b&1?0:1,t=a.Oa[b],q=16>h.length?h.length:16;t||(t={Pc:e<ga||!L?ga:8,Pa=Ja.createImageData(m.Pc,m.Qc);for(Da=0;256>Da;Da++){for(Ka=0;Ka=ga-2,Rc=S[Ka>(8<=Wa&&192<=Da&&223>=Da?7:Wa)?A:ab;eo(Pa,Ge,Wd,He);C&&eo(Pa,Ge+1,Wd,He)}Ja.putImageData(Pa,(Da&15)*m.Pc,(Da>>4)*m.Qc)}m.Re[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);m.Yi[F]=A;m.Zg[F]=la;m=!0}}a.Oa[b]=t;return m}function fo(a){0a.cb&&(a.cb=0):a.cb=-1} -function $n(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)go(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(go(a),a.ua=c);d=d-b+1;if(a.ng!=b||a.Ee!=d)a.ng=b,a.Ee=d;a.Ya=e+1;fo(a)}}} -function go(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&ho(a,c,d,b,a.gb),ho(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function io(a){var b,c=a.C;a.hf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.Zd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==hm&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.Me[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function jo(a,b){var c=a.C;return c&&null!=b&&b!=c.Dg?(c.Vg(b),a.ga.Vg(c.ob,c.ac,c.nh(),!0),!0):!1} -function Zn(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -m?13:14:480<=f&&(d=3==a.ya?17:18):d=m?7-d:6:d-=m?2:0);c=io(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ga=null,null==d&&(d=a.va);if(!Yn(a,d,b))return!1;jo(a,c);return!0} -function Yn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Wg=0;a.Ga=b;a.qb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){go(a);if(a.ob){if(!gc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Ub(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.eg=a.L*a.W|0;a.bg=a.eg/ -a.hd|0;a.Ub=a.bg;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.$f&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),a.$f||(a.Ja=b.Pc,a.Ka=b.Qc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Pc,a.tc=a.W*b.Qc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me= -0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0>1,a.Cd-=b);0>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ko(a,!0);un(a)}return!0}function eo(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function lo(a){a.Pa=-1;a.Ea=!1;var b=a.bg;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ko(a,b){b||(a.qb=!1);lo(a)} -function ho(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Re[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Re[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ea.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.ng,g=a.Ee,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Re[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ea.fillStyle=h.Re[d],a.ea.fillRect(b,c+f,a.Ja,g)))} -function un(a,b){if(a.la.ic){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Nd&32&&(c=!0));if(c||b){if(b)lo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Wg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.eg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(mo(a,d)&8||d.qf&&d.qf=a.Ga&&(m<<= -1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.Ea){b=a.ga;for(var n=!0,t=c>>>b.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;m=a.C.fd&32;5<=a.Ua&&(m=a.C.Sc[16]&8);b=a.ua-a.C.Ld;m&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(q&255)<<8;var D=e,L=16;m>=h))>>(L-=h);eo(a.sb,m++,n,b[ga])}m>A&&(A=m);n=C&&(C=n+1)}k+=2;d++;if(m>=a.L){m=0;n+=2;if(n>a.W)break;n==a.W&&(n=1,k=c+a.sd)}}a.Ea= -!0;ta.L?a.Db-a.L-q>>3:0;c>=8;b>t&&(t=b);m=F&&(F=m+1)}c+=C;if(b>=a.L){b=0;if(++m>a.W)break;c+=D}}q||(a.Ea=!0);na.L?a.Db-a.L-F>>3:0;cD&&(L=D)):(q<<=F,L-=F,a.Ea=!1):(a.Ea&&q===a.fa[d]?(h+=L,L=0):a.fa[d]=q,d++);if(L){hn&&(n=h);b=A&&(A=b+1)}if(h>=a.L){h=0;if(++b>a.W)break;c+=C}}F||(a.Ea=!0);ma&&(b.Eh=a,a=-a|0);a%b.zh>b.an&&(c|=1);a%b.Ch>b.cn&&(c|=9);b.ni=a/b.Ch|0;return c}l.um=function(a,b){return no(this,this.pa,a,b)};l.Vn=function(a,b,c){var d=this.pa;d.Qg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};l.tm=function(a,b){return oo(this,this.pa,a,b)};l.Un=function(a,b,c){po(this,this.pa,a,b,c)};l.vm=function(a,b){return qo(this,this.pa,b)};l.Wn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.fd=b;Zn(this,!1)}; -l.wm=function(a,b){return ro(this,this.pa,b)};l.Mk=function(a,b,c){this.A.ig=this.A.ig&-4|b&3;x(this,a,b,c,"FEAT")};l.Tl=function(a,b){a=this.A.Nd;b&&!z(this)||x(this,960,null,b,"ATC.INDX",a);return a};l.kl=function(a,b){a=this.A.Sc[this.A.Nd&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.$g[this.A.Nd&31],a);return a}; -l.Lk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.Ze){d.Ze=!1;var f=d.Nd&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.$g[f]),d.Sc[f]=b,ko(this,!1)}else d.Nd=b,x(this,a,b,c,"ATC.INDX"),d.Ze=!0,b&32&&!e&&Xn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,ko(this)),d.qf=0}; -l.Gm=function(a,b){a=0;if(5==this.Ua)a=3-((this.A.vf&12)>>2),a=(this.Vc&1<>this.A.Kc&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]",a);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=Ca().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||eb.aspect);f&&.3<=f&&3.33>=f&&(Va("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");La("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);sb(d,c)}}); -function so(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;bb.call(this,"ParallelPort",a,so,4194304);a=a.binding;"console"==a?this.B="":rb(this,a,to)}jb(so);var to="buffer";l=so.prototype;l.Pb=function(a,b,c){switch(b){case to:return this.qa[b]=this.A=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");qc(b,this,uo,this.X);yc(b,this,vo,this.X);xb(this)};l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){wo(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;a.set(0,c);return a.data()};l.restore=function(a){return wo(this,a[0])}; -function wo(a,b){var c=0;b||(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Df=b[c];return!0}l.hm=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};l.Fm=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};l.dm=function(a,b){var c=this.Df;x(this,a,null,b,"CTRL",c);return c}; -l.Hn=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+u(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);xo(this)};l.Cn=function(a,b,c){x(this,a,b,c,"CTRL");this.Df=b;xo(this)}; -function xo(a){a.N&&a.C&&(a.Df&16&&!(a.Yb&64)?mg(a.N,a.C):lg(a.N,a.C))}var uo={0:so.prototype.hm,1:so.prototype.Fm,2:so.prototype.dm},vo={0:so.prototype.Hn,2:so.prototype.Cn};Xa(function(){for(var a=tb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=qa(b[0]);if(c!=this.xd)return;b=qa(b[1]);if(this.ia=ob(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}}; -l.hc=function(a,b){if(!b)if(this.zj(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){Co(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.va;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;a.set(0,c);return a.data()};l.restore=function(a){return Co(this,a[0])}; -function Co(a,b){var c=0;b||(b=[0,0,384,0,1,0,0,96,48,[]]);a.va=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}l.hg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};l.pm=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c}; -l.qm=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};l.sm=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};l.rm=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};l.xm=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c}; -l.eo=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Ea&&!this.ea&&c&&(a=String.fromCharCode(this.Ea)+a),this.L.value+=a,this.L.scrollTop= -this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};l.Rn=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};l.Sn=function(a,b,c){x(this,a,b,c,"LCR");this.B=b}; -l.Tn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.hg([77,77]),y(a,"serial mouse ID sent")),Eo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Fo(a),a.Hc=c),a.C=b)}; -var Ao={0:yo.prototype.Cm,1:yo.prototype.om,2:yo.prototype.pm,3:yo.prototype.qm,4:yo.prototype.sm,5:yo.prototype.rm,6:yo.prototype.xm},Bo={0:yo.prototype.eo,1:yo.prototype.Rn,3:yo.prototype.Sn,4:yo.prototype.Tn};Xa(function(){for(var a=tb(document,"pcx86","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Kf(c,d,a.L,a.V)}} -l.he=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Ko(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Ko(this,c);return}}y(this,c+": ignored")}};l.Kf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Ko(this,null,c,d))}; -function Ko(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+u(e)+","+u(f)+","+u(g)+"]",0,!0);a.N.hg([e,f,g]);a.U=a.W=0}Xa(function(){for(var a=tb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return cp(a.za,f,e,c);for(e=d=0;c--;)d|=ap(a,b++,1)<=e.oi&&a<=e.Ik){d=a-=e.oi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.kg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ka(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=hp(this,b),this.yg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ma(b, -"/")&&(c="dir"),f=Ba()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!Aa(f,null,!0,function(a,b,c){ip(g,a,b,c)})}; -function ip(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.X&&!a.X.la.ic;if(a.yg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,jp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{mb(a.controller.ce,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var t=k.data;if(void 0===t){var q=k.bytes;if(void 0!==q&&q.length){for(var A= -m<<2,F=q.length;Fb;b++){if(128==cp(a,e,c+0,1)){d.cg=cp(a,e,c+8,4);(e=bp(a,d.cg))&&(f=!0);break}c+=16}if(!f)return}d.Jf||(d.Jf=cp(a,e,19,2)||cp(a,e,32,4),d.If=cp(a,e,14,2),d.th=d.If+cp(a,e,22,2)*cp(a,e,16,1),d.Dh=cp(a,e,17,2),d.Mf=cp(a,e,13,1));d.rh=d.th+((32*d.Dh+(d.Va-1))/d.Va|0);d.$m=(d.Jf-d.rh)/d.Mf|0;d.Gg=4084>=d.$m?12:16;d.Gl=12==d.Gg?4086:65526;b=[];for(e=d.th;e>=8;f+=2;if(k)for(;m--;)ap(d,f,1),254>=k?(n=k,t=ap(d,f+1),f+=3):(n=ap(d,f+3,1),t=ap(d,f+4),f+=6),d.yd[n]&&(d.yd[n].we[h]=[t]),d.A[h]=[n,t],h++;else h+=m}(g=dp(e,Yo,c))&&ep(e,g+c);g=dp(e,Zo,c);h=dp(e,Wo,c);g&&h&&ep(e,g,g+h)}}}} -function mp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Mo=d+"\\";for(var k=0;kF)break;for(var C=q.rh+(F-2)*q.Mf,D=0;D>3,1),d?e=16==b.Gg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function bp(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function gp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Hl=b;a.Il=c;a.ud=a.Zc=0;a.Wa=!1;return a} -function hp(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;b+="&machine="+a.controller.gf();b+="&user="+a.controller.ie();return Ba()+"/api/v1/disk?"+b} -function op(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.ie();Aa(Ba()+"/api/v1/disk?"+h,null,f,function(h,m,n){h=[b,c,d,e,f,g];var k=!1,q=h[0],A=h[1],F=h[2],C=h[3];if(!n){m=JSON.parse(m);for(k=0;C--;){var D=a.seek(q,A,F,!0);if(!D)break;kp(D,m,k);k+=D.length;F++}k=h[4]}(h=h[5])&&h(n,k)})}else g&&g(-1,!1)} -function pp(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.ie();h.data=JSON.stringify(f);Aa(Ba()+"/api/v1/disk",h,g,function(f,h,n){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],A=k[3],k=k[4];a.fa=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}l.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -l.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.ud+a.Zc&&(a.Zc+=f-(a.ud+a.Zc)+1):(a.ud=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):jp(this);return b}; -l.toJSON=function(){var a;a=0;for(var b;b=bp(this,a++);)up(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function up(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function vp(a){bb.call(this,"FDC",a,vp,524288);this.dmaRead=this.el;this.dmaWrite=this.fl;this.dmaFormat=this.vl;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!La("Mobi")&&window&&"FileReader"in window}jb(vp);aa={}; -var wp={3:{Ud:3,ge:0,name:aa.Fo},4:{Ud:2,ge:1,name:aa.Do},5:{Ud:9,ge:7,name:aa.Jo},6:{Ud:9,ge:7,name:aa.zo},7:{Ud:2,ge:0,name:aa.Bo},8:{Ud:1,ge:2,name:aa.Eo},10:{Ud:2,ge:7,name:aa.Ao},13:{Ud:6,ge:7,name:aa.wo},15:{Ud:3,ge:0,name:aa.Co}};l=vp.prototype; -l.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&xp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&yp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&& -((a=d.A[ea(a.value,10)||0])?(a=a.za)?(a=Na(tp(a),"octet-stream",!0,a.Ug.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(this.ia)return this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;yp(d,ja(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Yc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}zp(this);qc(b,this,Ap);yc(b,this,Bp);Cp(this,"None","",!0);this.ia&&Cp(this,"Local Disk","?");Cp(this,"Remote Disk","??");Dp(this)||xb(this)}; -l.hc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.lh){this.B=[];for(a=0;ag.za.restore(A)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e} -function Fp(a){var b=0,c=[];c[b++]=a.hb;c[b++]=0;c[b++]=a.ma;c[b++]=a.V;c[b++]=a.L;c[b++]=a.C;c[b++]=a.aa;for(var d=b++,e=0,f=[],g=0;gGp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.Tk=c,a.Oe=d,Hp(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ce||e),a.Fg=f[0],a.Rf=f[1],a.Sf=f[2],this.X&&this.X.wd()):a.bf=!1;a.Ce&&(a.Ce=!1,--this.ea||xb(this));xp(this,a.hb)}; -function Cp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -l.Jn=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=wp[a].Ud){b=!1;this.L=0;a=Jp(this);var d,e,f,g,h=a&31;switch(h){case 3:Jp(this);Jp(this);Kp(this);break;case 4:c=Jp(this);this.hb=c&3;d=this.A[this.hb];Kp(this);Lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Jp(this);e=Jp(this);f=d.xb=Jp(this);g=Jp(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Jp(this);d.Hb=128<>2&1,c=Jp(this),d.Qb+=c-d.ee,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ee=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Kp(this),b=!0}0>>8);Lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Lp(a,e+k);Lp(a,f);Lp(a,g);Lp(a,h)}function Jp(a){var b=a.V[a.L];a.L++;return b}function Kp(a){a.L=a.C=0}function Lp(a,b){a.V[a.C++]=b}l.el=function(a,b,c){void 0===b||0>b?this.Le(a,c):c(-1,!1)};l.fl=function(a,b){return void 0!==b&&0<=b?Np(a,b):-1}; -l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.Cb)a=-1;else{a.ld[a.We++]=b;if(a.We==a.ld.length){a.Qb=a.ld[0];a.kb=a.ld[1];a.xb=a.ld[2];a.Hb=128<Np(a,a.cj)){a=-1;break a}a.tg++}a.tg>=a.fe&&(b=-1);a=b}else a=-1;return a};l.Le=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Op(a)}while(1)}b(c,!1,d,e)}; -function Np(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Op(a)}while(1);return b}function Op(a){a.xb++;a.xb>=a.Sf+1&&(a.xb=1,a.kb++,a.kb>=a.Rf&&(a.kb=0,a.Qb++))}var Ap={1009:vp.prototype.jm,1012:vp.prototype.lm,1013:vp.prototype.im,1015:vp.prototype.km},Bp={1010:vp.prototype.Kn,1013:vp.prototype.Jn,1015:vp.prototype.In}; -Xa(function(){for(var a=tb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(A=!1),A&&void 0!==k.eb&&(k.pb=k.za.seek(k.be,k.kb,k.xb+k.sg)));A||(e=!1);null!=a.pa&& -1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e} -function Yp(a){var b=0,c=[];a.ia?(c[b++]=a.W,c[b++]=a.Pa,c[b++]=a.aa,c[b++]=a.Ca,c[b++]=a.ya,c[b++]=a.va,c[b++]=a.ra,c[b++]=a.ma,c[b++]=a.Da,c[b++]=[a.fa,a.hb]):(c[b++]=a.pa,c[b++]=a.ma,c[b++]=a.V,c[b++]=a.L,c[b++]=a.C,c[b++]=a.Oa,c[b++]=a.Ka,c[b++]=a.Ja,c[b++]=a.ka);for(var d=0,e=[],f=0;f=this.C&&(this.L=this.C=0,this.ma&=-15);return c};l.ho=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,$p(this))};l.Mm=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Le(a.B,function(b){0<=b?(bq(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}l.il=function(a,b){return aq(this,a,b)|aq(this,a,b)<<8}; -function cq(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>dq(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}l.qn=function(a,b,c){cq(this,a,b&255,c);cq(this,a,b>>8&255,c)};l.Sl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};l.vn=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};l.Ul=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -l.tn=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};l.Vl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};l.un=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};l.Ql=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};l.pn=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};l.Pl=function(a,b){var c=this.va;x(this,a,null,b,"CYLHI",c);return c};l.on=function(a,b,c){x(this,a,b,c,"CYLHI");this.va=b};l.Rl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -l.rn=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};l.Wl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};l.nn=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&lg(this.N,14);eq(this)};l.sn=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b}; -function eq(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.va&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.be=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Le(k,function(b){0<=b&&a.N?(bq(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&bq(a)} -function bq(a){!a.N||a.fa&2||mg(a.N,14,120)} -function $p(a){a.L=0;var b=fq(a),c=fq(a),d=c&32,e=d>>5,f=c&31,g=fq(a),h=fq(a),k=g<<2&768|h,m=g&63,n=fq(a),t=fq(a),q=a.A[e];q&&(q.be=k,q.kb=f,q.xb=m,q.Hb=n*q.Va);switch(b){case 3:gq(a,q?q.errorCode:4);hq(a,c);hq(a,g);hq(a,h);hq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=fq(a));)q&&cb?this.Le(a,c):c(-1,!1)};l.hl=function(a,b){return void 0!==b&&0<=b?dq(a,b):-1}; -l.wl=function(a,b){void 0!==b&&0<=b?(a.ebdq(a,a.cj)){a=-1;break a}a.tg++}a.tg>=a.fe&&(b=-1);a=b}else a=-1;return a}; -function iq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaRead",b);ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function jq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaWrite",b);ul(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function kq(a,b,c){b.errorCode=4;b.Ue&&b.Ue.length==b.Hb||(b.Ue=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,Cl(a.N,3,a,"dmaWriteBuffer",b),ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -l.Le=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.be,a.kb,a.xb+a.sg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,lq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function dq(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.be,a.kb,a.xb+a.sg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;lq(a)}while(1);return b}function lq(a){a.xb++;var b=1-a.sg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.be++))}l.Nm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1}; -var Tp={800:Pp.prototype.Lm,801:Pp.prototype.Mm,802:Pp.prototype.Km},Sp={496:Pp.prototype.il,497:Pp.prototype.Sl,498:Pp.prototype.Ul,499:Pp.prototype.Vl,500:Pp.prototype.Ql,501:Pp.prototype.Pl,502:Pp.prototype.Rl,503:Pp.prototype.Wl},Vp={800:Pp.prototype.ho,801:Pp.prototype.ko,802:Pp.prototype.jo,803:Pp.prototype.io,807:Pp.prototype.pi,811:Pp.prototype.pi,815:Pp.prototype.pi},Up={496:Pp.prototype.qn,497:Pp.prototype.vn,498:Pp.prototype.tn,499:Pp.prototype.un,500:Pp.prototype.pn,501:Pp.prototype.on, -502:Pp.prototype.rn,503:Pp.prototype.nn,1014:Pp.prototype.sn};Xa(function(){for(var a=tb(document,"pcx86","hdc"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};mq.prototype.oh=function(){return-1};mq.prototype.ph=function(){}; -mq.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};mq.prototype.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.va?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function oq(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function pq(a,b,c){var d;if(b){b=qq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);ec&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function uq(a,b){if(b)return sq(a,b,a.ya[b]);var c=0;for(b in a.ya)sq(a,b,a.ya[b]),c++;return 0>2;this.Ba=b.Eg;this.bc=new kd(this.F,7,"DBG");this.Ga=Mq;80186<=this.F.ja&&(this.Ga=Mq.slice(),this.Ga[15]=Kq,80286<=this.F.ja&&(this.Ga[15]=Lq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Qq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=rq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Rq(d, -b,2),d.O("dumpSel("+v(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Da)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=Sq[a.type];e&&(c=e[0],b=e[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+v(a.Aa&65535)+" off="+v(a.Ta):"base="+r(a.Aa,d.Da)+" limit="+Tq(a.Ta))+" type="+u(a.type>>8)+" ("+c+") ext="+v(a.ext&-65296)+ -" dpl="+u(a.Gc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=rq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=wq(d,0,b);var c=d.Qa(a,1),e=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Uq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+v(k)+' "'+Vq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Qq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=rq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Rq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+v(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Da));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?Wq:Xq,m,n,t,q;for(q in k)m=k[q],n=a.Aa+m,t=Qf(d.F,n,2),2304==c&&(t|=Qf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=v(m)+" "+pa(q+":",11)+r(t,e);if(2304==c)for(q=0,m=t>>>16;mq;)n=a.Aa+m,t=Qf(d.F,n,2),b+="\n"+v(m)+" ports "+v(q)+"-"+v(q+15)+": "+ha(t,2),q+=16,m+=2;d.O(b)}}});this.L=null;this.sb=0;this.fb=!1;lf(this.F,48,this.Qm.bind(this));lf(this.F,65,this.Rm.bind(this)); -this.ka=null;lf(this.F,104,this.Sm.bind(this));xb(this)};function Yq(a,b,c,d,e,f){b=Vq(a,b);var g=Rq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Zq(a,b,c);e[b+h]=0;fm(a,b,c,d,0,null,g,e)} -function $q(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=wq(a,a.oa(b,4),a.na(b,2));b=wq(a,a.oa(b,4),a.na(b,2));b=Vq(a,b).toUpperCase();var k=Vq(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Zq(a,k,e);c[k+m]=g;fm(a,k,e,f,g,null,h,c)}function ar(a,b,c){c=Vq(a,c).toUpperCase();br(a,c,b)} -l.Qm=function(){var a=this.F;if(null!=this.L&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=wq(this,J(a)+12,a.ta.Z);switch(this.oa(d)){case 336:$q(this,wq(this,a.H,b),!c,!!this.L)}}return!0}; -l.Rm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.L)return 79==c&&mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.L=!0):(y(a,"INT 0x41 monitoring enabled",128),a.L=!1)}}(this)),!0;switch(c){case 79:this.L&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Yq(this,wq(this,h,k),d+1,e,!(g&1),!!this.L);break;case 82:br(this,null,d); -break;case 127:this.L&&(b.G=b.G&-65536|(this.fb?0:1));break;case 131:this.L&&(a=wq(this,b.M,e),this.sb++?(this.O("TRAPFAULT failed"),cr(this,this.B,a,!0,!0),this.sb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+v(d)+" error="+r(b.K,8,!0)+" addr="+dr(a)),this.Rd(this.B,a,!0),yq(this,!0)));break;case 141:this.L&&(b.G=b.G&-65536|1);break;case 336:$q(this,wq(this,b.H,f),!g,!!this.L);break;case 338:ar(this,d,wq(this,b.J,f))}this.fb=!1;return!this.L}; -l.Sm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.wa.Z<<4)+10)||1111835735==b.oa((b.wa.Z<<4)+95))return!0;mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.L=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=md(b.wa,this.rl.bind(this)))&& -(b.J=a[0],Bd(b,a[1]));break;case 72:br(this,null,e);break;case 80:32==c?Yq(this,wq(this,h,k),0,f,!0,!!this.ka):128>c?Yq(this,wq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):$q(this,wq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};l.rl=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -l.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Aq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ld(a,!0,!0,!1)}}return a}l.cc=function(a,b,c){var d=a&&a.Fa;if(null==d&&(d=-1,a)){var e=Rq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Fa=d)}return d};l.Qa=function(a,b){var c=255,d=this.cc(a,!1,1);-1!==d&&(c=Qf(this.F,d,1,5==a.type)|0,b&&fr(this,a,b));return c}; -l.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};l.na=function(a,b){var c=65535,d=this.cc(a,!1,2);-1!==d&&(c=Qf(this.F,d,2,5==a.type),b&&fr(this,a,b));return c};l.oa=function(a,b){var c=-1,d=this.cc(a,!1,4);-1!==d&&(c=Qf(this.F,d,4,5==a.type),b&&fr(this,a,b));return c};l.qc=function(a,b,c,d){var e=this.cc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].xf(e&f.A,b&255,e)}c&&fr(this,a,c);d||ad(this.F,!0)}}; -l.jb=function(a,b,c){var d=this.cc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):nc(this.ga,d,b),c&&fr(this,a,c),ad(this.F,!0))};function wq(a,b,c,d,e,f,g){return gr(a,{},b,c,d,e,f,g)}function gr(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Fa=e;b.type=f||(er(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Tc;b.Vd=!1;return b}function hr(a){return[a.Ra,a.Z,a.Fa,a.Vd,a.Rb,a.oc,a.Ve,a.jh]}function ir(a){return{Ra:a[0],Z:a[1],Fa:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ve:a[6],jh:a[7]}} -function jr(a,b,c){if(null!=b.Z&&(a=Rq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=pq(a,b,void 0),f=null):(f=pq(a,b,void 0),null==f&&(g=null)):(h=pq(a,b.substring(0,f),void 0),g=pq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=wq(a,g,h,f,c),d||jr(a,e,!0)||(a.O("invalid offset: "+dr(e)),e=null));return e}function lr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ll=a.Ng(b.Sk=c[2]))}l.Pk=function(a,b){var c=kr(this,b);return a.replace("["+b+"]",c?r(this.tb(c),c.Rb?8:4):"undefined")}; -function fr(a,b,c){c=c||1;null!=b.Fa&&(b.Fa+=c);null!=b.Z&&(b.Ra+=c,jr(a,b)||(b.Ra=0,b.Fa=null))}function Uq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function dr(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Fa):b+Uq(a.Ra,a.Z,a.oc)} -function Vq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Nc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Yb[c],6==c&&(d=d.Bd,h+=" -> "+Yb[d.type]),d&&a.O(r(d.id,8)+" %"+r(f<c&&(c=ya(Iq,a.substr(b,2))));return c}; -function nr(a,b){var c=0,d=a.ph(b);if(null!=d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -l.ph=function(a){var b;if(0<=a){var c=this.F;switch(a){case 0:b=c.G&255;break;case 1:b=c.I&255;break;case 2:b=c.M&255;break;case 3:b=c.H&255;break;case 4:b=c.G>>8&255;break;case 5:b=c.I>>8&255;break;case 6:b=c.M>>8&255;break;case 7:b=c.H>>8&255;break;case 8:b=c.G&65535;break;case 9:b=c.I&65535;break;case 10:b=c.M&65535;break;case 11:b=c.H&65535;break;case 12:b=J(c)&65535;break;case 13:b=c.P&65535;break;case 14:b=c.K&65535;break;case 15:b=c.J&65535;break;case 22:b=M(c)&65535;break;case 23:b=Cd(c); -break;case 16:b=c.Xa.Z;break;case 17:b=c.wa.Z;break;case 18:b=c.ta.Z;break;case 19:b=c.vb.Z;break;default:if(80286==this.F.ja)32==a&&(b=c.$a);else if(80386<=this.F.ja)switch(a){case 24:b=c.G;break;case 25:b=c.I;break;case 26:b=c.M;break;case 27:b=c.H;break;case 28:b=J(c);break;case 29:b=c.P;break;case 30:b=c.K;break;case 31:b=c.J;break;case 32:b=c.$a;break;case 33:b=c.ti;break;case 34:b=c.se;break;case 35:b=c.Od;break;case 20:b=c.Nb.Z;break;case 21:b=c.Ob.Z;break;case 56:b=M(c)}}}return b}; -function or(a,b){b=qq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.oh(b,c+1),0<=e&&(b=b.substr(0,c)+nr(a,e)+b.substr(c+1+Iq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ea(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=kr(a,e))?(d=e+' "'+Vq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=kr(a,e))?(fr(a,d),d= -e+' "'+Vq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+dr(wq(this,M(this.F),this.F.wa.Z))+" (%"+r(this.F.Ha)+")");this.Pa&&a==this.Pa||(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F&&(a=this.F,a.fb-=a.A,a.A=0,a.Y.mf=0,ad(a)))}; -function pk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Cq.indexOf(b),!d)){var g=Bq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Db[b])&&g[e]||"")&&(g=" "+or(a,g)),a.message("INT "+u(b)+": AH="+u(e)+" at "+Uq(c-2-a.F.wa.Aa,a.F.wa.Z)+g));return d} -function ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.wa.Z,e-=a.F.wa.Aa),a.message(b.xd+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+u(d):"")+")"+(null!=g?": "+u(g):"")+(null!=e?" at "+Uq(e,h):""))}l.qh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.pd();if(this.qb){var a=this.qb;this.qb=null;Aq(this,a)}}; -function yq(a,b){var c;if(ag(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Rd(e&f.Ea,a==this.fa);g&&Xb(f)}}d&&(a.push(b),c?(null!=b.Fa&&(b.Z=null),b.Vd=!0):(ur(this,a,a.length-1,"set"),yq(this)));return d}; -function cr(a,b,c,d,e){for(var f=!1,g=vr(a,a.cc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+q;(217==f||219==f)&&52<=A&&(A=q<<4|g&7);(q=Oq[f])&&(t=q[A]);t&&(n=Fq,k=t,m=k[0])}m>=n.length&&(g=a.Qa(b,1),k=Pq[m-n.length][g>>3&7],m=k[0]);n=n[m];q=k.length-1;t="";b.Rb&&(18==m? -n="CWDE":28==m?n="CDQ":104<=m&&107>=m&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)q=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=-1,A=!0,F=1;F<=q;F++){var C,D;C="";D=k[F];if(void 0!==D){0>f&&(f=D>>14);80==m&&(2==f?t="[%800]":3==f&&(t="ES:["+(b.oc?"E":"")+"DI]"));var L=D&15;if(L)if(8==L)A=!1;else{var G=D&240;if(128<=G)if(0>g&&(g=a.Qa(b,1)),160>G){G=a;C=D;var ga=q;D=b;var S="",ab=g>>6,la=g&7;if(3>ab){L=!n.indexOf("FI");if(!ab&&(!D.oc&&6==la||D.oc&&5==la))ab=2;else{if(D.oc)if(4!=la)la+= -8;else{var S=G,Ja=ab,Da=D,Wa=S.Qa(Da,1),Ka=Wa>>6,Vb=Wa>>3&7,Wa=Wa&7,Pa="";if(Ja||5!=Wa)Pa=Jq[Wa+8];4!=Vb&&(Pa&&(Pa+="+"),Pa+=Jq[Vb+8],Ka&&(Pa+="*"+(1<>24),2)):S+("+"+r(G,2))):2==ab&&(S&&(S+="+"),D.oc?(G=G.oa(D,4),S+=r(G)):(G=G.na(D,2),S+=r(G,4)));S="["+S+"]";if(1==ga){G="";C&=15;4==C&&(C=D.Rb?5:3);switch(C){case 7:G="FAR";break;case 1:G="BYTE";break;case 3:if(L){G="INT16";break}G="WORD"; -break;case 5:G="DWORD";break;case 11:if(L){G="INT32";break}case 11:G="REAL32";break;case 12:if(L){G="INT64";break}case 12:G="REAL64";break;case 13:G="REAL80";break;case 14:G="BCD80"}G&&(S=G+" "+S)}}else S=zr(G,la,C,D);C=S}else C=160==G?zr(a,g&7,D,b):zr(a,g>>3&7,D,b);else if(16==G)C="1";else if(G)32==G?(b.oc?(C=8,D=a.oa(b,4)):(C=4,D=a.na(b,2)),C="["+r(D,C)+"]"):48==G?(C=1==L?a.Qa(b,1)<<24>>24:a.tb(b,!0),D=b.Ra+C&(b.Rb?-1:65535),C=r(D,b.Rb?8:4),D=Ar(a,wq(a,D,b.Z)),D[0]&&(C+=" ("+D[0]+")")):96==G?C= -9==L?"ST":10==L?"ST("+(g&7)+")":zr(a,(D&3840)>>8,D,b):112==G?C=zr(a,(D&3840)>>8,192,b):64==G?C="DS:[SI]":80==G&&(C="ES:[DI]");else{C=a;L=D;G=b;D=" ";switch(L&15){case 1:L&12288&&(D=r(C.Qa(G,1),2));break;case 2:D=r(C.Qa(G,1)<<24>>24,G.Rb?8:4);break;case 4:if(G.Rb){D=r(C.oa(G,4));break}case 3:D=r(C.na(G,2),4);break;case 7:G=wq(C,C.tb(G,!0),C.na(G,2),null,G.type,G.Rb,G.oc);D=dr(G);C=Ar(C,G);C[0]&&(D+=" ("+C[0]+")");break;default:D="imm("+v(L)+")"}C=D}if(!C||!C.length){t="INVALID";break}0a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return Iq[b]} -function Cr(a,b){switch(b){case "V":a=Cf(a.F);break;case "D":a=a.F.ca&1024;break;case "I":a=a.F.ca&512;break;case "T":a=a.F.ca&256;break;case "S":a=Bf(a.F);break;case "Z":a=Af(a.F);break;case "A":a=zf(a.F);break;case "P":a=yf(a.F);break;case "C":a=xf(a.F);break;default:a=0}return b+(a?"1":"0")+" "}function Tq(a){return r(a,a&-65536?8:4)}function Dr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+Er(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+"\n");c+=Fr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Fr(a,"GD",null,a.F.Ec,a.F.zd)+" "+Fr(a,"ID", -null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+Dr(a,32);80386<=a.F.ja&&(c+=Dr(a,34)+Dr(a,35))}else 80386<=a.F.ja&&(c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+" ");return c+=Dr(a,23)+Cr(a,"V")+Cr(a,"D")+Cr(a,"I")+Cr(a,"T")+Cr(a,"S")+Cr(a,"Z")+Cr(a,"A")+Cr(a,"P")+Cr(a,"C")}l.lj=function(a,b){return a[0]>b[0]?1:a[0]>>0,n],C=sa(A,q,a.lj);0>C&&A.splice(-(C+1),0,q)}F&&(t.a=F.replace(/''/g,'"'))}a.N.push({kg:b,dn:c,Z:d,Ra:e,Fa:f,Vm:g,Qd:h,Xi:m})} -function br(a,b,c){for(var d=0;d>>0,f=a.cc(b)>>>0,g=0;g>>0,n=h.Fa;null!=n&&(n>>>=0);var t=h.Vm;48==k&&(k=40);if(k==b.Z&&e>=m&&e=n&&fc?(a.O("out of data at address "+dr(b)),n=!0):(a.qc(b,c,1,!0),m++)})})(a,g);ad(a.F, -!0);a.O(m+" bytes read at "+b)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function qr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1f;f++){var g=c,e=null;if(f=a.Ja&&(h=null);switch(h){case "AL":a.F.G=a.F.G& --256|g&255;break;case "AH":a.F.G=a.F.G&-65281|g<<8&255;break;case "AX":a.F.G=a.F.G&-65536|g&65535;break;case "BL":a.F.H=a.F.H&-256|g&255;break;case "BH":a.F.H=a.F.H&-65281|g<<8&255;break;case "BX":a.F.H=a.F.H&-65536|g&65535;break;case "CL":a.F.I=a.F.I&-256|g&255;break;case "CH":a.F.I=a.F.I&-65281|g<<8&255;break;case "CX":a.F.I=a.F.I&-65536|g&65535;break;case "DL":a.F.M=a.F.M&-256|g&255;break;case "DH":a.F.M=a.F.M&-65281|g<<8&255;break;case "DX":a.F.M=a.F.M&-65536|g&65535;break;case "SP":I(a.F,J(a.F)& --65536|g&65535);break;case "BP":a.F.P=a.F.P&-65536|g&65535;break;case "SI":a.F.K=a.F.K&-65536|g&65535;break;case "DI":a.F.J=a.F.J&-65536|g&65535;break;case "DS":Ad(a.F,g);break;case "ES":Bd(a.F,g);break;case "SS":ud(a.F,g);break;case "CS":sf(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "IP":case "EIP":O(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "PC":case "PS":Dd(a.F,g);break;case "C":g?Ef(a.F):Ff(a.F);break;case "P":g?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&=-3,e.ca&=-5);break;case "A":g? -Mf(a.F):Kf(a.F);break;case "Z":g?Nf(a.F):Lf(a.F);break;case "S":g?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":g?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":g?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":g?Gf(a.F):Hf(a.F);break;default:var k=!0;if(80286<=a.F.ja)switch(k=!1,h){case "MS":Of(a.F,g);break;case "TR":-1===a.F.Sa.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.F.ja)switch(k=!1,h){case "EAX":a.F.G=g;break;case "EBX":a.F.H=g;break; -case "ECX":a.F.I=g;break;case "EDX":a.F.M=g;break;case "ESP":I(a.F,g);break;case "EBP":a.F.P=g;break;case "ESI":a.F.K=g;break;case "EDI":a.F.J=g;break;case "FS":a.F.Nb.load(g);break;case "GS":a.F.Ob.load(g);break;case "CR0":a.F.$a=g;uj.call(a.F,g);break;case "CR2":a.F.se=g;break;case "CR3":a.F.Od=g;Fd.call(a.F,g);break;default:k=!0}}if(k){a.O("unknown register: "+e);return}}if(!f){a.O("invalid value: "+b);return}ad(a.F);a.O("updated registers:")}}a.O(Gr(a,d));c&&(a.aa=wq(a,M(a.F),a.F.wa.Z),rr(a,dr(a.aa)))}} -function Nr(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(or(a,c[2])):pq(a,b,!0)}function Or(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=yr(a,b,g,f);b.jh||d||d++;a.O(f);a.aa=b;e-=b.Fa-k;c++}}} -l.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function xr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.va&&(a.O("ended assemble at "+dr(a.ua)),a.aa=a.ua,a.va=!1),b="";else if(!c){var e=">> ";a.F.$a&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(yb(a)&&0n||"z">>20;za.$i=a.F.Od+za.Jk;za.yb=ae.sa[(za.$i&ae.Gb)>>>ae.La];za.Aj=za.yb.Md(za.Jk);za.Kk=(Re&4190208)>>>10;za.aj=(za.Aj&-4096)+za.Kk;za.zb=ae.sa[(za.aj&ae.Gb)>>>ae.La];za.Bj=za.zb.Md(za.Kk);za.nl=(za.Bj&-4096)+(Re&4095)}if($d=za){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Re),od=od+(" %%"+mr($d.$i,$d.Aj)),od=od+(" %%"+mr($d.aj,$d.Bj,!0)), -od=od+(" %%"+r($d.nl));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==la){if("disk"==Ja){S[0]="l";S[1]="json";Mr(a,S);break a}for(ab in Eb)if(S[1]==ab){var yn=a.cb[ab];yn?(S.shift(),S.shift(),yn(S)):a.O("no dump registered for "+Ja);break a}Ja||(la=a.Cc||"db")}else a.Cc=la;if("dh"==la){var zn=Ja,An=Da,Bn="",Cn=0,Zb=a.Ea,sc=a.ia;if(sc.length){var Lb=+zn||a.Ub,Se=+An||10;isNaN(Lb)?Lb=Se:Bn="more ";Lb>sc.length&&(a.O("note: only "+sc.length+" available"),Lb=sc.length); -Zb-=Lb;0>Zb&&(null==sc[sc.length-1].Z?(Lb=Zb+Lb,Zb=0):Zb+=sc.length);var ii=[];"call"==An&&(Se=1E5,ii=["CALL"]);for(void 0!==zn&&a.O(Lb+" instructions earlier:");0=sc.length&&(Zb=0);a.Ub=Lb;Cn++;Se--}}Cn||(a.O("no "+Bn+"history available"),a.Ub=void 0)}else if("di"==la){S.shift(); -var ji=S[0];if(ji){var Ue=rq(a,ji);if(void 0===Ue||0>Ue||255>> -0,65536>4||1;ks--&&0qg?String.fromCharCode(qg):".";pg--}Ve&&(Ve+="\n");Ve+=Ja+" "+li+(0==Xe?" "+In:"")}Ve&&a.O(Ve);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var rg=1,Jn=255,Kn=a.Qa,Ln=a.qc;"ew"== -g[0]&&(rg=2,Jn=65535,Kn=a.na,Ln=a.jb);var Mn=rg<<1,Nn=g[1];if(null==Nn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var sg=kr(a,Nn);if(sg)for(var tg=2;tgri;){for(var tc=null,ps=256;Uc.Ra>>>0>>0;){$e.Ra=a.tb(Uc,!0);if(null==Uc.Fa||!ps--)break;$e.Z=Pn;if(tc=Or(a,$e))break;$e.Z=a.tb(Uc);if(tc=Or(a,$e,!0)){Pn=a.tb(Uc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bTr){if(d.load(this.aa)){this.X=new qf(this,"1.30.3","failsafe");this.X.load()&&(Zr(this,d),a=2,$r(this.X));this.X.set("timestamp",ua());as(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yr(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): -("error"==f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ia("user",""),this.B=null)):this.O(f+": "+g),$r(d),d.load()?(c=Yr(d),e=!0):c=!1))}e&&Xr(this,c?d:null)}else 2==a&&d.clear()}else Xr(this);delete this.aa;delete this.ea}e=nb(this.id);for(f=0;fa[1];a=a[2];this.va=!0;this.la.ic=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(bs(this,this.F,b,c,a),this.F.Cf());this.ka&&(Zr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function Zr(a,b){if(Ea("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ie();b=b.toString();var d={app:"PCx86",ver:"1.30.3"};d.url=a.ua;d.user=c;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Qr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new qf(a,"1.30.3"),g=new qf(a,"1.30.3","validate"),h=ua();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",Ca());a.F&&a.F.gc&&(c&&a.F.Wb(),d=a.F.gc(b,c),"object"===typeof d&&f.set(a.F.id,d),c&&(a.F.la.ic=!1,!1===d&&(e=null)));for(var h=nb(a.id),k=0;k>>b.La;d=d+e-1>>>b.La;c.ih=0;for(c.Td=0;f<=d;)e=b.sa[f],c.ih+=e.size,e.size&&(c.Yg.push(wa(Nb,f,0,0,e.type)),c.Td++),f++;a.A=c;a.ya=a.A.Td*a.ga.Sb/691200;d=0;a.A.fj=0;a.A.Bf||(a.A.Bf=[]);e=-1;b=0;for(var g=-1,c=0;c>1),g=f.y+(f.A>>1),h=f.A,f.ad>1,b.U+=(b.W>>1)-2,Pb(b,e),b.ra&&(b.N.restore(),b.ra=!1)}}else Pb(a,"This space intentionally left blank");a.context.drawImage(a.aa,0,0,a.aa.width,a.aa.height,a.sb,a.Jb,a.Ya,a.fb);a.Ja=!1}} -Xa(function(){for(var a=tb(document,"pcx86-machine"),b=0;bf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PCx86$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ts(a,b,c)}})}else c(a,null)} -function us(a,b,c,d){function e(a){if(void 0===h){var b=g&&tb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--fs||Za(!0));k=!1}var g,h,k=!0;fs++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));n.appendChild(t)}c|| -(c="/versions/pcx86/1.30.3/components.xsl");m=function(d,h){h?gs(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--fs||Za(!0)):f("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),--fs||Za(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?gs(b,a,d,!0,e,m):hs(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}function vs(a,b,c,d){Za(!1);return us(a,b,c,d)}window.embedPC=vs;window.embedPCx86=vs;window.enableEvents=Za;window.sendEvent=$a; -function ws(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){xs(b,d)}):xs(null,d)}else w("Error ("+c+") requesting "+a)} -function xs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n')+"...\n",a=a+(' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.30.4/document.css b/versions/pcx86/1.30.4/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.30.4/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.30.4/document.xsl b/versions/pcx86/1.30.4/document.xsl deleted file mode 100644 index da5792072..000000000 --- a/versions/pcx86/1.30.4/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.30.4/machine.xsl b/versions/pcx86/1.30.4/machine.xsl deleted file mode 100644 index fe34c2631..000000000 --- a/versions/pcx86/1.30.4/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.4/manifest.xsl b/versions/pcx86/1.30.4/manifest.xsl deleted file mode 100644 index 5e36ca7fa..000000000 --- a/versions/pcx86/1.30.4/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.30.4/outline.xsl b/versions/pcx86/1.30.4/outline.xsl deleted file mode 100644 index dbdf6b19c..000000000 --- a/versions/pcx86/1.30.4/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.4/pcx86-dbg.js b/versions/pcx86/1.30.4/pcx86-dbg.js deleted file mode 100644 index cd3b3f3d8..000000000 --- a/versions/pcx86/1.30.4/pcx86-dbg.js +++ /dev/null @@ -1,868 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/interrupts.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86seg.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86fpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86func.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86help.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86mods.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86ops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/x86op0f.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/chipset.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/video.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/parallelport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/mouse.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/fdc.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/hdc.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pcx86/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/save.js (C) Jeff Parsons 2012-2016 -*/ -var l,aa,ba={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},p={uo:1,dl:3,vo:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64, -ue:65,Bi:66,Ci:67,Di:68,E:69,Ei:70,Fi:71,Gi:72,Hi:73,Ii:74,Ji:75,Ki:76,Li:77,Mi:78,Ni:79,Oi:80,Q:81,Pi:82,Qi:83,Ri:84,Si:85,Ti:86,Ui:87,Vi:88,Wi:89,og:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ve:97,ol:98,ql:99,d:100,e:101,Al:102,Bl:103,Cl:104,Dl:105,Tm:106,k:107,Um:108,Ym:109,n:110,en:111,p:112,q:113,r:114,lo:115,t:116,oo:117,po:118,qo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,wo:127},ca={};ca[186]=p[";"];ca[187]=p["="];ca[188]=p[","];ca[189]=p["-"];ca[190]=p["."];ca[191]=p["/"]; -ca[192]=p["`"];ca[219]=p["["];ca[220]=p["\\"];ca[221]=p["]"];ca[222]=p["'"];ca[173]=p["-"];var da={};da[p["1"]]=p["!"];da[p["2"]]=p["@"];da[p["3"]]=p["#"];da[p["4"]]=p.$;da[p["5"]]=p["%"];da[p["6"]]=p["^"];da[p["7"]]=p["&"];da[p["8"]]=p["*"];da[p["9"]]=p["("];da[p["0"]]=p[")"];da[186]=p[":"];da[187]=p["+"];da[188]=p["<"];da[189]=p._;da[190]=p[">"];da[191]=p["?"];da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"]; -function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=1;return c}function ha(a,b,c){var d="";if(!b||4>=8;return(c?"0b":"")+d} -function ia(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d}function r(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)} -function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function sa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var va=[31,28,31,30,31,30,31,31,30,31,30,31]; -function wa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.vh|g<>a.shift}function ya(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;cb?this.xd=this.id:(this.ce=this.id.substr(0,b),this.xd=this.id.substr(b+1));this[a]=c;this.la={ready:!1,Ff:!1,hh:!1,ic:!1,error:!1};this.zg=null;this.la.error=!1;this.qa={};this.ha=null;this.wc=d||0;cb.push(this)}var db=void 0,eb={}; -if(window){db||(db=window.location.search.substr(1));for(var fb,gb=/\+/g,hb=/([^&=]+)=?([^&]*)/g;fb=hb.exec(db);)eb[decodeURIComponent(fb[1].replace(gb," "))]=decodeURIComponent(fb[2].replace(gb," "))}function ib(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 jb(a,b){b||(b=bb);a.prototype=ib(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var lb=window.PCjs.Machines||(window.PCjs.Machines={}),cb=window.PCjs.Components||(window.PCjs.Components=[])}else lb={},cb=[];function mb(a,b,c){lb[a]&&b&&(lb[a][b]=c)}function nb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Hb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Hb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}l=Fb.prototype;l.Pb=function(a,b,c,d){return this.X&&this.X.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)}; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.B=Jb(a,"Keyboard")};l.hc=function(a,b){b||Kb();return!0};l.gc=function(){return!0};l.he=function(a,b){a.button||(this.ea=b?0:-1,Mb(this,a,b))};l.Kf=function(a){Mb(this,a)}; -function Mb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.ea||(a.ea=Math.abs(a.L-d)>Math.abs(a.V-b)?1:2),1==a.ea?b=a.V:2==a.ea&&(d=a.L));a.L=d;a.V=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Se)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ob(a,378,a.ia,a.ka);a.pa=a.Da.width/24|0;if(null==b)Pb(a,"Mouse over memory to dump");else for(Pb(a,r(b,8,!0),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ga;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].re(k&h.A,k);Pb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Pb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.qb,a.Db,a.Pa,a.cb)}a.Ca= -c}}}l.pd=function(){};function Qb(a,b,c,d){a.A.Bf[a.A.fj++]={El:b,Td:c,type:d};return wa(Nb,b,c,0,d)}function Ob(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Ea=f||"white")} -function Pb(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Ea;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Kb(){for(var a=!1,b=tb(document,"pcx86","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Sb=1<>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new B;Sb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Fa)return k.Qe+=k.Fa-f,k.Fa=f,!0;if(f>=k.Fa+k.Qe){n=k.size-(f-m);n>g&&(n=g);k.Qe=f-k.Fa+n;f=m+a.Sb;g-=n;h++;continue}}return Wb(a,1,f,g)}f=new B(f,n,a.Sb,d,e);Sb(f,a.ha,k);a.sa[h++]=f;f=m+a.Sb;g-=n}return 0>=g?(Xb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Yb[d]+" at "+r(b)),!0):Wb(a,2,b,c)} -var Nb,$b={Hk:20,count:8,Lo:1,type:3},ac=0,bc;for(bc in $b){var cc=$b[bc];$b[bc]={vh:(1<>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].pc(a&this.A,a)}; -l.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function mc(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].gg(c,b):a.sa[d++].re(c,b)|a.sa[d&a.ga].re(0,b+1)<<8}l.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};l.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function nc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].zi(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))} -l.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};l.xj=function(){return null}; -function oc(a,b){var c=0,d=[],e=!a.X&&a.Eg==a.Gb;e||Tb(a,!0);for(var f=0;f>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&Ac(a.ha,b,k)}else a.ha&&(ub(a.ha,a,b,k,e),a.V&&Ac(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Wb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var Bc;if(Ab){var Cc=new ArrayBuffer(2);(new DataView(Cc)).setUint16(0,256,!0);Bc=256===(new Uint16Array(Cc))[0]}else Bc=!1;var ic=Bc; -function B(a,b,c,d,e,f){this.id=Dc+=2;this.da=null;this.C=0;this.Fa=a;this.Qe=b;this.size=c||0;this.type=d||Ec;this.N=d==hc;this.controller=null;this.F=f;Sb(this);this.Wa=this.tj=!1;if(c)if(e)this.controller=e,a=e.wj(a),this.da=a[0],this.C=a[1],fc(this,e.nh());else if(Ab)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Za=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),fc(this,ic?jc:kc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} -B.prototype={constructor:B,parent:null,qh:function(a){this.Fa=a},save:function(){var a,b;if(this.controller)a=null;else if(Ab)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b,c){this.sc(a++,b&255,c++); -this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Ea:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},Ya:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2;a=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2;a=(a&3)<<3;24>a?this.da[c]=this.da[c]&~(65535<>8);this.Wa=!0},Wc:function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<>>32-a}else this.da[c]=b;this.Wa=!0},Da:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a)||this.F&&Lc(this.F,b,1,!1);return this.re(a,b)},qb:function(a,b){this.ha&&null!=this.Fa&&Kc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,b,2,!1);return this.gg(a,b)},Pa:function(a,b){this.ha&&null!=this.Fa&& -Kc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,b,4,!1);return this.si(a,b)},bc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a)||this.F&&Lc(this.F,c,1,!0);this.N?this.L(a,b,c):this.xf(a,b,c)},sd:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,2)||this.F&&Lc(this.F,c,2,!0);this.N?this.L(a,b,c):this.zi(a,b,c)},Vc:function(a,b,c){this.ha&&null!=this.Fa&&Mc(this.ha,this.Fa+a,4)||this.F&&Lc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|=this.ga; -this.zb.da[this.B]|=this.ga;return this.Bd.pc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.sf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.ga;return this.Bd.Md(a,b)},Cc:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.sc(a,b,c)},Gd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V;this.Bd.zf(a,b,c)},hd:function(a,b,c){this.yb.da[this.A]|=this.ga;this.zb.da[this.B]|=this.V; -this.Bd.yf(a,b,c)},Ka:function(a,b){return Nc(this.F,b,!1).pc(a,b)},xd:function(a,b){return Nc(this.F,b,!1).sf(a,b)},gb:function(a,b){return Nc(this.F,b,!1).Md(a,b)},Uc:function(a,b,c){Nc(this.F,c,!0).sc(a,b,c)},Hd:function(a,b,c){Nc(this.F,c,!0).zf(a,b,c)},jd:function(a,b,c){Nc(this.F,c,!0).yf(a,b,c)},Ca:function(a){return this.Za[a]},aa:function(a){return this.Za[a]},Ga:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.pc=this.aa;return this.Za[a]},Tb:function(a){return this.qa.getUint16(a, -!0)},pa:function(a){return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Za[a]|this.Za[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Za[a]|this.Za[a+1]<<8|this.Za[a+2]<<16|this.Za[a+3]<<24:this.da[a>> -2]},Ub:function(a,b){this.Za[a]=b;this.Wa=!0},ra:function(a,b){this.Za[a]=b;this.Wa=!0},uc:function(a,b){this.Za[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Za[a]=b,this.Za[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a, -b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Za[a]=b,this.Za[a+1]=b>>8,this.Za[a+2]=b>>16,this.Za[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Sb(a,b,c){a.ha=b;a.ze=a.Ae=0;c&&(c.F&&(a.F=c.F),(a.ze=c.ze)&&Hc(a,Ic,!1),(a.Ae=c.Ae)&&Jc(a,Ic,!1))} -function Oc(a){a.sc=a.N?a.L:a.xf;a.zf=a.N?a.W:a.zi;a.yf=a.N?a.U:a.ua}function Pc(a){a.pc=a.re;a.sf=a.gg;a.Md=a.si}function Jc(a,b,c){c&&a.Ae||(a.sc=!a.N&&b[1]||a.L,a.zf=!a.N&&b[3]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[1]||a.L,a.zi=b[3]||a.W,a.ua=b[5]||a.U}function Hc(a,b,c){c&&a.ze||(a.pc=b[0]||a.ia,a.sf=b[2]||a.ka,a.Md=b[4]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.gg=b[2]||a.ka,a.si=b[4]||a.ea}function fc(a,b,c){b||(b=5==a.type?Qc:6==a.type?Sc:Tc);Hc(a,b,c);Jc(a,b,c)} -var Tc=[],lc=[B.prototype.Ea,B.prototype.tc,B.prototype.sb,B.prototype.Cd,B.prototype.Ya,B.prototype.Wc],Ic=[B.prototype.Da,B.prototype.bc,B.prototype.qb,B.prototype.sd,B.prototype.Pa,B.prototype.Vc],Sc=[B.prototype.Ja,B.prototype.Cc,B.prototype.Jb,B.prototype.Gd,B.prototype.fb,B.prototype.hd],Qc=[B.prototype.Ka,B.prototype.Uc,B.prototype.xd,B.prototype.Hd,B.prototype.gb,B.prototype.jd]; -if(Ab)var kc=[B.prototype.Ca,B.prototype.Ub,B.prototype.Tb,B.prototype.qd,B.prototype.Oa,B.prototype.ce],jc=[B.prototype.aa,B.prototype.ra,B.prototype.pa,B.prototype.ya,B.prototype.fa,B.prototype.va],Vc=[B.prototype.Ga,B.prototype.uc,B.prototype.Db,B.prototype.Fd,B.prototype.cb,B.prototype.Xc]; -function Wc(a,b){bb.call(this,"CPU",a,Wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Y={};this.Y.Id=b;this.Y.Wd=c;this.Y.Bg=Math.round(this.Y.Id/1E4)/100;this.Y.He=this.Y.Bg*this.Y.Wd;this.la.Ib=!1;this.la.yi=!1;this.la.Cf=a.autoStart;this.la.oj=!1;this.la.Xe=!1;this.Y.Lf=this.Y.kf=0;this.Y.Nf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.Ai=this.Ne.bind(this);xb(this)}jb(Wc);var Xc=["power","reset"];l=Wc.prototype; -l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=cd(a)&&(a.Y.jf=a.Y.lf=-1,$c(a),a.Wb(),c=!0);c&&a.O(cd(a)+" cycles: checksum="+r(a.Y.Lf))}} -l.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.X)if(a=d.X,a.la.ic)a=!0;else{var b=null,c,h=nb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.Bg&&(c=Math.round(c/a.Y.Wd));return c}function Zc(a){a.Y.ne=0;a.uc=a.Ub=a.fb=a.A=0;$c(a);dd(a,1)} -function dd(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.ne/a.Y.He?b=1:d=!0;a.Y.Wd=b;b=a.Y.Bg*a.Y.Wd;if(a.Y.He!=b){a.Y.He=b;b=a.Y.He.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.X&&a.X.wd()}fd(a,a.Ub);a.Ub=0;a.Y.oe=ta();a.Y.Ie=0;gd(a);return d} -l.Ne=function(a){if(vb(this,!0)){if(!this.la.Ib){dd(this);this.X&&this.X.start(this.Y.oe,cd(this));this.la.Ib=!0;this.la.yi=!0;this.N&&this.N.start();var b=this.qa.run;b&&(b.textContent="Halt");this.X&&(this.X.pd(!0),a&&this.X.wd(!0))}this.Y.Bh>=this.Y.Id&&gd(this,!0);this.Y.Qf=0;this.Y.Cg=ta();this.Y.Ie&&(a=this.Y.Cg-this.Y.Ie,a>this.Y.Dj&&(this.Y.oe+=a,this.Y.oe>this.Y.Cg&&(this.Y.oe=this.Y.Cg)));try{do{var c=this.la.Xe?1:this.Y.bn;if(this.N){hd(this.N);var d=this.N;a=c;var e=d.V[0];if(e.De){var f= -(cd(d.F,d.ka)-e.vd)/d.gb|0,g=id(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var m=k.ua-cd(k.F,k.ka);0m&&(a=m)}c=a}try{this.wf(c)}catch(t){if("number"!=typeof t)throw t;}var n=this.fb-this.A;this.Ub+=n;this.Y.Qf+=n;fd(this,0,!0);bd(this,n);this.Y.Pf-=n;0>=this.Y.Pf&&(this.Y.Pf+=this.Y.Fj,this.X&&jd(this.X));this.Y.Of-=n;0>=this.Y.Of&&(this.Y.Of+=this.Y.Ej,this.X&&this.X.pd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.Ah; -break}}while(this.la.Ib)}catch(t){this.Wb();ad(this);this.X&&this.X.stop(ta(),cd(this));vb(this,!1);zb(this,t.stack||t.message);return}c=setTimeout;d=this.Ai;this.Y.Ie=ta();e=this.Y.Dj;this.Y.Qf&&(e=Math.round(e*this.Y.Qf/this.Y.Ah));e-=this.Y.Ie-this.Y.Cg;if(f=this.Y.Ie-this.Y.oe)this.Y.ne=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&hd(this.N,!0),dd(this));if(0>e||this.Y.nee&&(this.Y.oe-=e),e=0;this.Y.Bh+=this.Y.Qf;this.Y.Ie+=e;c(d,e)}else ad(this),this.X&&this.X.stop(ta(), -cd(this))};l.wf=function(){return 0};l.Wb=function(a){wb(this,!0);this.fb-=this.A;this.A=0;fd(this,this.Ub);this.Ub=0;if(this.la.Ib){this.la.Ib=!1;this.N&&this.N.stop();var b=this.qa.run;b&&(b.textContent="Run")}this.la.complete=a};function ad(a,b){a.X&&(jd(a.X,b),a.X.pd(b))} -function kd(a,b,c,d){this.F=a;this.ha=a.ha;this.id=b;this.kc=c||"";this.Z=0;this.Ta=65535;this.Zb=this.Ta+1;this.Lb=this.Gc=this.ext=this.wb=this.type=this.Aa=0;this.Xb=-1;this.ba=this.Tc=2;this.R=this.Ba=65535;this.X=this.uh;this.ga=this.ij;this.qa=this.kj;this.A={Z:-1,Aa:0,Ta:0,wb:0,type:0,ext:0,Xb:-1};1==this.id&&(this.ag=0,this.C=null,this.df=!1,this.N=Array(32),this.B=[]);ld(this,!0,d)}function md(a,b){a.B.push(b);return[a.B.length,1]}l=kd.prototype; -l.uh=function(a){this.Z=a&65535;return this.Aa=this.Z<<4};l.Ag=function(a,b){var c,d,e=this.F;a&=65535;a&4?(c=e.Bc.Aa,d=c+e.Bc.Ta|0):(c=e.Ec,d=e.zd);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,nd(this,c,a,b);6>this.id&&E.call(e,b&&3==this.id?10:13,a&65532)}return-1};l.Xm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; -l.Wm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Sd-c|0))return this.C=!0,a=nd(this,c,a),-1!==a&&(a+=this.ag),a;E.call(b,13,a|2);return-1};l.ij=function(a){return this.Aa+a|0};l.kj=function(a){return this.Aa+a|0};l.hj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.ug()};l.sl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.ug()};l.ug=function(){E.call(this.F,13,0);return-1};l.jj=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.vg()}; -l.tl=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.vg()};l.vg=function(){E.call(this.F,13,0);return-1};function sd(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&ld(a,!0)}function td(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&ld(a,!0)} -function nd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,ld(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,m=e.na(b+6),n=c&65528;if(80386<=e.ja){var t=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case 1:var q=a.C;a.df=!1;if(q&&1==c&&a.B.length){var A=a.B[a.ag-1];if(A&&!A())return-1}var F=c&3,C=(g&24576)>>13,A=-1,D,L;n||b>=e.Ec&& -b=a.Lb&&(F>a.Lb&&(A=H(e),ud(e,H(e),!0),I(e,A),a.df=!0),A=0);else{if(256==h||2304==h)return vd(a,c,q)?a.Aa:-1;if(1024==h)A=2,L=0,Fh||2048==(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return E.call(e,13,c&65532),-1;if(!(g&32768))return E.call(e,12,c&65532),-1;break; -case 4:q=h&-513;if(!n||256!=q&&2304!=q)return E.call(e,13,c&65532),-1;2304==q&&(a.Zi=k+e.na(k+102)|0,a.ml=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=m,a.Xb=b,ld(a,!0,!0,!1));return k} -function vd(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return E.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,M(d)),d.jb(g+16,Cd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,J(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ -34,d.Xa.Z),d.jb(g+36,d.wa.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),Dd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),Ed(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; -function ld(a,b,c,d){void 0===c&&(c=!!(a.F.$a&1));a.bd=!1;if(c)if(a.load=a.Ag,a.Cj=a.Wm,a.mc=a.hj,a.nc=a.jj,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Tc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.ug,a.nc=a.vg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.ug);if(a.type&2048||!(a.type&512))a.nc=a.vg;1024==(a.type&3072)&&(a.mc==a.hj&&(a.mc=a.sl),a.nc==a.jj&&(a.nc=a.tl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&(c= -a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Tc=a.ba,a.Ba=a.R)}else a.load=a.uh,a.Cj=a.Xm,a.mc=a.ij,a.nc=a.kj,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1} -function Gd(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Wc.call(this,a,b);this.bg=61442;this.Cc=1792;this.$f=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Cb:Bb;this.W=Hd;this.fg=Id;this.lg=Jd;this.mg=Kd;if(80186<=this.ja&&(this.W=Hd.slice(),this.fg=Id.slice(),this.lg=Jd.slice(),this.ra=31,this.W[15]=Ld,this.W[96]=Md,this.W[97]=Nd,this.W[98]=Od,this.W[99]=Ld,this.W[100]=Ld,this.W[101]= -Ld,this.W[102]=Ld,this.W[103]=Ld,this.W[104]=Pd,this.W[105]=Qd,this.W[106]=Rd,this.W[107]=Sd,this.W[108]=Td,this.W[109]=Xd,this.W[110]=Yd,this.W[111]=Zd,this.W[192]=ee,this.W[193]=fe,this.W[200]=ge,this.W[201]=he,this.W[241]=ie,this.fg[7]=je,this.lg[7]=je,80286<=this.ja)){this.bg=2;this.Cc|=28672;this.Cd=0;this.W[15]=ke;this.tc=le.slice();for(a=0;a=this.Uc&&(this.tc[166]=te,this.tc[167]=ue)}}this.Hd=[];this.je=[];this.le=0;Zc(this);this.la.complete=this.la.nj=!1;this.Wg=0;this.kd=this.sa=[];this.La=this.Sb=this.Ea=this.Fd=this.hd=this.Gb=this.Db=0;ve(this)}jb(Gd,Wc);function we(a,b,c,d){b=(d?a.kd:a.sa)[b>>>a.La];c?--b.Ae||Oc(b):--b.ze||Pc(b);d&&Xb(a)} -function xe(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Sb(a.ke,a.ha);for(b=0;ba.me&&(a.eg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function Xb(a){a.$a&-2147483648&&xe(a)} -function Nc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||ye.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||ye.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||ye.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b&=-4096;var m;0>2;b.zb=g;b.B=h>>2;Ab&&ic&&c.da&&!c.controller&&!c.ze&&!c.Ae?(b.Za=c.Za,b.de=c.de,b.da=c.da,fc(b,Vc)):(b.ga=c?Gc(32):0,b.V=c?Gc(96):0,fc(b,Sc));Sb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function ze(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}l=Gd.prototype;l.reset=function(){this.la.Ib&&this.Wb();ve(this);Zc(this);this.la.error=!1}; -function Ae(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=J(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function Be(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:I(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} -function ve(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.ng=0;a.L=0;a.$a=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.qb=-1;a.bc=a.sb=-1;a.qe=a.U=-1;a.wa=new kd(a,1,"CS");a.vb=new kd(a,2,"DS");a.Xa=new kd(a,2,"ES");a.ta=new kd(a,3,"SS");I(a,0);ud(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.$a=16;a.ti=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0, -0];a.Ee=[null,null,null,null,null,null,0,0];a.Nb=new kd(a,2,"FS");a.Ob=new kd(a,2,"GS");ze(a)}a.rf=new kd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Ed(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new kd(a,5,"LDT",!0);a.Sa=new kd(a,4,"TSS",!0);a.Da=new kd(a,6,"VER",!0);Ed(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.hf=(b>>>0)+(a.wa.Ta>>>0)+1}Dd(a,0);wd(a)} -function Ce(a){2==a.Tc?(a.cc=a.na,a.Oa=De,a.Ya=Ee,a.Jb=Fe,2==a.ba?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=Le,a.ea=Me,a.ya=Ne)):(a.cc=a.oa,a.Oa=Oe,a.Ya=Pe,a.Jb=Qe,2==a.ba?(a.V=cf,a.ea=df,a.ya=ef):(a.V=ff,a.ea=gf,a.ya=hf))}function xd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,jf(a))}function jf(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Tc?(a.V=Ie,a.ea=Je,a.ya=Ke):(a.V=cf,a.ea=df,a.ya=ef)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Tc?(a.V=Le,a.ea=Me,a.ya=Ne):(a.V=ff,a.ea=gf,a.ya=hf))} -function kf(a){a.Tc=a.wa.Tc;a.Ba=a.wa.Ba;Ce(a);a.ba=a.wa.ba;a.R=a.wa.R;jf(a);a.Ia&=-3073}l.vj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Cd(this)|0};function lf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function mf(a,b,c){c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function nf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])} -function of(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Ea,f,a):(g=a.sa[g>>>a.La],f?--g.Ae||Oc(g):--g.ze||Pc(g))}c>>=2;d>>=4}}function Lc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} -function wd(a,b,c){void 0===b&&(b=!!(a.$a&1));void 0===c&&(c=!!(a.ca&131072));a.mg=b&&!c?pf:Kd;ld(a.wa,!1,b,c);ld(a.vb,!1,b,c);ld(a.ta,!1,b,c);ld(a.Xa,!1,b,c);80386<=a.ja&&(ld(a.Nb,!1,b,c),ld(a.Ob,!1,b,c));kf(a)} -l.save=function(){var a=new qf(this);a.set(0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.$a,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.ti),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ee))):g=null;b=[b,c,d,e,f,g,Cd(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));a.set(1,b);a.set(2,[this.ka.kc, -this.Ka.kc,this.S,this.Ia,this.ua,this.D,this.C]);a.set(3,[0,this.uc,this.Y.Wd]);a.set(4,oc(this.ga,!!(this.$a&-2147483648)));return a.data()}; -l.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.$a=d[0],this.Ec=d[1],this.zd=d[2],this.Mc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.ti=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ee=d[12]),wd(this));Dd(this,b[6]);var d=!1,e;a:{e=this.ga; -var f=a[4],g;for(g=0;g>>0)+(a.wa.Ta>>>0)+1;a.pa=a.wa.Lb;kf(a)}function Ed(a,b,c,d){var e=a.wa;e.ag=b;e.C=d;b=e.load(c);return-1!==b?(tf(a,b+(a.wa.ag&a.wa.R)),a.wa.df):null} -function uf(a,b){b=(a.Ha>>>0)+b;b>a.hf&&(8088>=a.ja||a.wa.Ta==a.wa.Ba?b=a.wa.Aa+(b-a.hf&a.R):E.call(a,13,0));return b|0}function vf(a){a.Ha=a.qe}function J(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function I(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function wf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&xf(a),g&2&&yf(a),g&4&&zf(a),g&8&&Af(a),g&16&&Bf(a),g&32&&Cf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.sd=c;a.Xc=d;a.resultType=e} -function Df(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?Ef(a):Ff(a);e?Gf(a):Hf(a);return b}function If(a,b,c,d){c&d?Ef(a):Ff(a);(b^c)&d?Gf(a):Hf(a)}function Jf(a){return xf(a)?1:0}function xf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.sd)&(a.sd^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function yf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} -function zf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.sd)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function Af(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function Bf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} -function Cf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.sd^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function Ff(a){a.resultType&=-2;a.ca&=-2}function Kf(a){a.resultType&=-5;a.ca&=-17}function Lf(a){a.resultType&=-9;a.ca&=-65}function Hf(a){a.resultType&=-33;a.ca&=-2049}function Ef(a){a.resultType&=-2;a.ca|=1}function Mf(a){a.resultType&=-5;a.ca|=16}function Nf(a){a.resultType&=-9;a.ca|=64}function Gf(a){a.resultType&=-33;a.ca|=2048} -function Cd(a){return a.ca&-2262|xf(a)|yf(a)|zf(a)|Af(a)|Bf(a)|Cf(a)}function Of(a,b){b|=a.$a&1|65520;a.$a=a.$a&-65536|b&65535;a.$a&1&&wd(a,!0)}function Dd(a,b,c){a.$a&1||(b&=~a.$f);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.bg;a.ca&256&&(a.ua|=2,a.S|=4)} -function Pf(a,b,c,d){var e=0;if(a.$a&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.Zi)for(var f=a.Sa.Zi+(b>>>3),e=(1<>>=8,f++;return e?(z(a,256)&&y(a,"checkIOPM("+v(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),E.call(a,13,0),!1):!0} -l.Pb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Wg++;a=!0;break;default:a=this.parent.Pb.call(this,a,b,c)}return a}; -function Qf(a,b,c,d){var e=(d?a.kd:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Nc(a,b,!1,!0));if(e){var f=b&a.Ea;if(!c||1==c)return e.re(f,b);if(2==c)return f>>this.La].pc(a&this.Ea,a)}; -l.na=function(a){var b=a&this.Ea,c=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(b>>this.La;if(b>>this.La].sc(a&this.Ea,b&255,a)}; -l.jb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;c>8&255,a+1))};l.nb=function(a,b){var c=a&this.Ea,d=(a&this.Db)>>>this.La;this.A-=this.B.Kg;if(c>>=8}}; -function Rf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Rf(a,a.ka,b)}function Sf(a,b){return Rf(a,a.Ka,b)}function Tf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.mc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function Q(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Uf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,2);return a.S&1?0:a.na(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)} -function Vf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.mc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Wf(a,b){a.S&2||a.qc(a.$b.nc(a.Ca,1),b)}function Xf(a,b){a.S&2||a.jb(a.$b.nc(a.Ca,2),b)}function Yf(a,b){a.S&2||a.nb(a.$b.nc(a.Ca,4),b)}function yd(a,b,c){return a.tb(b.mc(c,a.ba))}l.xa=function(){var a=uf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Zf(a){var b=uf(a,2),c=a.na(a.Ha);a.Ha=b;return c}function T(a){var b=uf(a,a.Tc),c=a.cc(a.Ha);a.Ha=b;return c} -l.Ma=function(){var a=uf(this,this.ba),b=this.tb(this.Ha);this.Ha=a;return b};l.T=function(){var a=uf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function H(a){var b=a.tb(a.fa);a.fa=a.fa+a.ba|0;var c=a.Sg-a.fa|0;0>c&&0<=(a.Sg^a.fa)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?I(a,a.fa-a.ta.Aa&a.ta.Ba):-1>c&&E.call(a,12,0));return b} -function zd(a,b,c,d){c=a.fa-c|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.fa=c}function K(a,b){var c=a.fa-a.ba|0;0>(c-a.qd|0)&&0<=(a.qd^c)&&(8088>=a.ja||!a.ta.bd&&a.ta.Ta==a.ta.Ba||a.ta.bd&&!a.ta.Ta?(I(a,c-a.ta.Aa&a.ta.Ba),c=a.fa):E.call(a,12,0));a.rc(c,b);a.fa=c} -function $f(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ja)2this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=bg(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5; -cg.call(this,f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);cg.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(dg(this.ha,this.Ha,c)){this.Wb();break}c=1}this.S=0;this.W[this.xa()].call(this)}while(0>11;ig(this);jg(this,a[b++]);for(c=0;c=kg&&lg(a,13))}function ig(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=kg?mg(a,13):a.ya&0||cg.call(a.F,2),!0;a=a.N;a.ja>=kg&&lg(a,13);return!1}function xg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ig(a)} -function gg(a){return a.ma|a.B<<11}function yg(a,b){return isFinite(b)?!0:!xg(a,Infinity===b?8:16)}function zg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,yg(a,d)||(d=null));return d}function Ag(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,yg(a,d)||(d=null));return d}function Bg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,yg(a,d)||(d=null));return d}function Cg(a,b,c){var d=null;null==b||null==c||!c&&xg(a,2)||(d=b/c,yg(a,d)||(d=null));return d} -function Dg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:b||(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function Eg(a,b,c){if(null==b)return null;var d=a.jc&3072;d?d=1024==d||3072==d&&0=c){if(xg(a,1))return null;d=-c}else if(d<-c){if(xg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} -function Fg(a,b){var c=3;a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Gg(a){var b=a.B+0&7;return a.C&1<>16}function Lg(a){return a.F.oa(a.F.D)}function Mg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Ng(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.W[0]} -function Og(a){a.ga[0]=a.F.oa(a.F.D);a.ga[1]=a.F.oa(a.F.D+4);a.ga[2]=a.F.na(a.F.D+8);return a.ga}l.xi=function(){this.F.nb(this.F.D,this.L[0])};l.Wk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};l.Yk=eg.prototype.xi;l.Xk=eg.prototype.Wk;function Pg(a){a.F.nb(a.F.D,a.ga[0]);a.F.nb(a.F.D+4,a.ga[1]);a.F.jb(a.F.D+8,a.ga[2])} -function Qg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767;b=b[0]>>>11|c<<21;c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,b=c=0));a.L[0]=b;a.L[1]=c|(d|e)<<20;return a.W[0]}function Jg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ga[0]=b<<11;a.ga[1]=e;a.ga[2]=c>>16&32768|d;return a.ga}function Rg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Sg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ig(a);jg(a,d.tb(b+=d.ba));!(d.$a&1)||d.ca&131072?(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ia=c&2047,a.V|=(c&-4096)<<4,a.ea=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.fa=-1):(a.V=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ea=c&65535,a.ia=c>>16&2047,a.U=d.tb(b+=d.ba),a.fa=d.tb(b+=d.ba)&65535);return b+d.ba} -function Wg(a,b){var c=a.F;c.rc(b,a.jc);c.rc(b+=c.ba,gg(a));c.rc(b+=c.ba,hg(a));if(!(c.$a&1)||c.ca&131072){var d=(a.ea<<4)+a.V;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ia);d=(a.fa<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.V),c.rc(b+=c.ba,a.ea|a.ia<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.fa);return b+c.ba}var Xg=Math.log(10)/Math.LN2,Yg=Math.LOG2E,Zg=Math.PI,$g=Math.log(2)/Math.LN10,ah=Math.LN2,bh=Math.pow(2,63);function ch(){this.ma&=-32896;ig(this)} -function dh(){Dg(this,U(this,0),U(this,this.A))}function eh(){Dg(this,U(this,0),U(this,this.A))&&Tg(this)}function fh(){eh.call(this)}function gh(){V(this,0,Cg(this,U(this,0),Mg(this)))}function hh(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Ug(this,this.W[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this, -1)*Math.log(U(this,0)+1)/Math.LN2)&&Tg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!xg(this,1))b=Math.sqrt(a),yg(this,b)||(b=null);V(this,0,b)},116:function(){V(this,0,Eg(this,U(this,0),bh))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&V(this,0,a*Math.pow(2,0>>0);Ug(this,a)},6:function(){var a=Eg(this,Tg(this));null!=a&&(this.ga[0]= -Sg(a,8),this.ga[1]=Sg(a/1E8,8),this.ga[2]=Sg(a/1E16,2),0>a&&(this.ga[2]|=32768),Pg(this))},7:function(){null!=Eg(this,U(this,0),bh)&&(this.Wk(),Tg(this))},48:function(){hh.call(this);Tg(this)},49:uh,50:ph,51:ph,52:sh}},wh=[ch,ih,jh,kh,lh,mh,qh,nh,rh,sh];Xa(function(){for(var a=tb(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Ij;(bd)&&E.call(this,5);this.S|=2;return a}function Fh(a,b){var c=0;if(b){Lf(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Nf(this);this.A-=11+3*c;return a}function Gh(a,b){var c=0;if(b){Lf(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Nf(this);this.A-=11+3*c;return a} -function Hh(a,b){a&1<<(b&(2==this.ba?15:31))?Ef(this):Ff(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ih(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a^b}function Jh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a&~b}function Kh(a,b){b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=-1===this.D?6:8;return a|b} -function Lh(a,b){if(-1===this.D)return Hh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=6;this.S|=2;return a}function Mh(a,b){if(-1===this.D)return Ih.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a^b} -function Nh(a,b){if(-1===this.D)return Jh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a&~b}function Oh(a,b){if(-1===this.D)return Kh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Tf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?Ef(this):Ff(this);this.A-=8;return a|b} -function Ph(a,b){wf(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a}function Qh(a,b){wf(this,a,b,a-b|0,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Ih:this.B.Vb;this.S|=2;return a} -function Rh(a){if(this.Tb){var b=this.Tb,c=this.ng,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=vh[c][f]){if(0>wh.indexOf(e)){var f=b.F,g=f.qe;8087==b.ja&&(f.Ia&16&&g++,f.Ia&32&&g++);b.ea=f.wa.Z;b.V=g-f.wa.Aa;-1!==f.D&&(b.fa=f.$b.Z,b.U=f.D-f.$b.Aa);b.ia=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Sh(a){if(80186>this.ja)return W.call(this,a);E.call(this,13,0);return a}function je(a){E.call(this,6);return a} -function W(a){me.call(this);return a}function Th(a,b){a=Uh.call(this,this.T(),b);80386>this.ja&&(this.A-=12);return a}function Vh(a,b){a=this.Ma();a=2==this.ba?Uh.call(this,a,b):Wh.call(this,a,b);80386>this.ja&&(this.A-=12);return a}function Xh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Yh.call(this,a,b);c&&(this.ia=~this.ia+1|0,this.va=~this.va+(this.ia?0:1)|0)} -function Uh(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767a?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return a&65535}function Wh(a,b){Xh.call(this,a,b);this.va!=this.ia>>31?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.A-=-1===this.D?9:12;return this.ia}function Zh(a,b){this.A-=14+(-1===this.D?0:2);Lf(this);-1!==this.Da.load(b)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(b&3)&&(Nf(this),a=this.Da.wb&-256,2=this.pa)&&this.Da.Gc>=(b&3))return Nf(this),this.Da.Ta;Lf(this);return a}function fi(a,b){if(-1===this.D)return me.call(this),a;ud(this,this.na(this.D+this.ba));this.A-=this.B.pf;return b} -function gi(a,b){this.A-=-1===this.C?-1===this.D?this.B.sk:this.B.rk:this.B.pk;return b}function yi(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function zi(a,b){return b} -function Ai(a,b){a=this.L>>3&7;switch(a){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ja||80386==this.ja&&4!=a&&5!=a)E.call(this,6);else switch(a){case 1:this.aa=this.I;break;case 4:this.aa=J(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return gi.call(this,0,b)} -function Bi(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.wa.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ja){b=this.Nb.Z;break}E.call(this,6);b=a;break;case 5:if(80386<=this.ja){b=this.Ob.Z;break}default:E.call(this,6),b=a}-1!==this.C&&xd(this,2);return gi.call(this,0,b)} -function Yh(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.ia=d<<16|e&65535;this.va=f+((d>>>16)+b*a)|0}else this.ia=a*b|0,this.va=0}function Ci(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,128)}function Di(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a|b,this.Ga)&this.R} -function Ei(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function Fi(a,b){var c=a-b-Jf(this)|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Gi(){return Cf(this)?1:0}function Hi(){return xf(this)?1:0}function Ii(){return xf(this)?0:1}function Ji(){return Af(this)?1:0}function Ki(){return Af(this)?0:1}function Li(){return xf(this)||Af(this)?1:0} -function Mi(){return xf(this)||Af(this)?0:1}function Ni(){return Bf(this)?1:0}function Oi(){return Bf(this)?0:1}function Pi(){return yf(this)?1:0}function Qi(){return yf(this)?0:1}function Ri(){return!Bf(this)!=!Cf(this)?1:0}function Si(){return!Bf(this)!=!Cf(this)?0:1}function Ti(){return Af(this)||!Bf(this)!=!Cf(this)?1:0}function Ui(){return Af(this)||!Bf(this)!=!Cf(this)?0:1}function Vi(a,b){return Wi.call(this,a,b,this.xa())}function Xi(a,b){return Yi.call(this,a,b,this.xa())} -function Zi(a,b){return Wi.call(this,a,b,this.I&31)}function $i(a,b){return Yi.call(this,a,b,this.I&31)}function aj(a,b){return bj.call(this,a,b,this.xa())}function cj(a,b){return dj.call(this,a,b,this.xa())}function ej(a,b){return bj.call(this,a,b,this.I&31)}function fj(a,b){return dj.call(this,a,b,this.I&31)}function gj(a,b){var c=a-b|0;wf(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} -function hj(a,b){var c=a-b|0;wf(this,a,b,c,this.Ga|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ij(a,b){Df(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Xf:this.B.Xf;this.S|=2;return a}function jj(a,b){Df(this,a&b,this.Ga);this.A-=-1===this.C?-1===this.D?this.B.ji:this.B.Xf:this.B.Xf;this.S|=2;return a}function kj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function mj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.li}else this.C=this.D,Wf(this,a),this.A-=this.B.ki;return b} -function nj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:I(this,J(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.li}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ki;return b} -function oj(a,b){a^=b;Df(this,a,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return a}function pj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return Df(this,a^b,this.Ga)&this.R}function qj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function rj(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R} -function sj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=qj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.va=a[0];return!0}function tj(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R} -function uj(a){this.$a=a;wd(this);this.$a&-2147483648?xe(this):ze(this)}function Fd(a){this.Od=a;Xb(this)}function vj(a){this.S|=1;this.Ya.call(this,a);this.A-=-1===this.D?4:5}function Wi(a,b,c){if(c){16>>16-c)&65535;Df(this,a,32768,d&32768)}return a}function Yi(a,b,c){if(c){var d=a<>>32-c;Df(this,a,-2147483648,d&-2147483648)}return a} -function bj(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;Df(this,a,32768,d&1)}return a}function dj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;Df(this,a,-2147483648,d&1)}return a}function wj(){this.A-=-1===this.D?2:this.B.Fk;return 1}function xj(){var a=this.I&255;this.A-=(-1===this.D?this.B.ci:this.B.bi)+(a<this.qb?(-1!=this.bc&&(this.bc!==this.wa.Z&&(this.wa.Lb=this.bc&3,sf(this,this.bc)),this.bc=-1),this.qe!==this.Ha&&tf(this,this.qe),-1!=this.sb&&(this.sb!==this.ta.Z&&ud(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.fa&&I(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.qb?(b=0,a=8):(b=0,a=-1,ve(this),e=d=!1)):tf(this,this.qe);var f=a,g=b,h=32,k=Qf(this,this.Ha);204!=k||this.Sd||(d=!1);this.ca&131072&&(6== -f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ha&&1048575>=this.Ha&&(d=!1);z(this,h|-2147483648)&&(d=!0);if(z(this,h)||d){var m=this.la.Ib,f="Fault "+u(f)+(null!=g?" ("+v(g)+")":"")+" on opcode "+u(k);d&&m&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=m,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.qb=a,Cj.call(this,a,b,c),this.qe=this.Ha,this.S=1==a?this.S|8192:this.S|4096,a;} -function ye(a,b,c){this.se=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);E.call(this,14,a)}function Ej(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& --256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Ee(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.H+this.K);this.C=this.D;break;case 1:b=P(this,this.H+this.J);this.C=this.D;break;case 2:b=Sf(this,this.P+this.K);this.C=this.D;break;case 3:b=Sf(this,this.P+this.J);this.C=this.D;break;case 4:b=P(this,this.K);this.C=this.D;break;case 5:b=P(this,this.J);this.C=this.D;break;case 6:b=P(this,T(this));this.C=this.D;break;case 7:b=P(this,this.H);this.C=this.D;break;case 64:b=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=P(this,this.K+this.T());this.C=this.D;break;case 69:b=P(this,this.J+this.T());this.C=this.D;break;case 70:b=Sf(this,this.P+this.T());this.C=this.D;break;case 71:b=P(this,this.H+this.T());this.C=this.D;break;case 128:b=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=P(this,this.K+T(this));this.C=this.D;break;case 133:b=P(this,this.J+T(this));this.C=this.D;break;case 134:b=Sf(this,this.P+T(this));this.C=this.D;break;case 135:b=P(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; -case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this, -a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Fe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.H+this.K);this.C=this.D;break;case 1:c=P(this,this.H+this.J);this.C=this.D;break;case 2:c=Sf(this,this.P+this.K);this.C=this.D;break;case 3:c=Sf(this,this.P+this.J);this.C=this.D;break;case 4:c=P(this,this.K);this.C=this.D;break;case 5:c=P(this,this.J);this.C=this.D;break;case 6:c=P(this,T(this));this.C=this.D;break;case 7:c=P(this,this.H);this.C=this.D;break;case 64:c=P(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=P(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Sf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Sf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=P(this,this.K+this.T());this.C=this.D;break;case 69:c=P(this,this.J+this.T());this.C=this.D;break;case 70:c=Sf(this,this.P+this.T());this.C=this.D;break;case 71:c=P(this,this.H+this.T());this.C=this.D;break;case 128:c=P(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=P(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Sf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Sf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=P(this,this.K+T(this));this.C=this.D;break;case 133:c=P(this,this.J+T(this));this.C=this.D;break;case 134:c=Sf(this,this.P+T(this));this.C=this.D;break;case 135:c=P(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; -case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Wf(this,a);this.A-=this.B.dd;break;case 1:case 2:Wf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Wf(this,a);this.A-=this.B.Jc;break;case 6:Wf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Wf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Wf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Wf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} -function Ie(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=Q(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Uf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Uf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=Q(this,this.K);this.A-=this.B.Jc;break;case 5:c=Q(this,this.J);this.A-=this.B.Jc;break;case 6:c=Q(this,T(this));this.A-=this.B.Jd;break;case 7:c=Q(this,this.H);this.A-=this.B.Jc;break;case 64:c=Q(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=Q(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Uf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Uf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=Q(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=Q(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Uf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=Q(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=Q(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=Q(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Uf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Uf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=Q(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=Q(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Uf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=Q(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; -case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function Je(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Uf(this,this.P+this.K);this.C=this.D;break;case 3:b=Uf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Uf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Uf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535; -break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this, -a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break; -case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Ke(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Uf(this,this.P+this.K);this.C=this.D;break;case 3:c=Uf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Uf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Uf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Uf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Uf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Uf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Uf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535; -break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Xf(this,a);this.A-=this.B.dd;break;case 1:case 2:Xf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Xf(this,a);this.A-=this.B.Jc;break;case 6:Xf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Xf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Xf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Xf(this, -a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} -function Le(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.dd;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.ed;break;case 2:c=Vf(this,this.P+this.K);this.A-=this.B.ed;break;case 3:c=Vf(this,this.P+this.J);this.A-=this.B.dd;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Jd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); -this.A-=this.B.dc;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.ec;break;case 66:c=Vf(this,this.P+this.K+this.T());this.A-=this.B.ec;break;case 67:c=Vf(this,this.P+this.J+this.T());this.A-=this.B.dc;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Vf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= -this.B.dc;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.ec;break;case 130:c=Vf(this,this.P+this.K+T(this));this.A-=this.B.ec;break;case 131:c=Vf(this,this.P+this.J+T(this));this.A-=this.B.dc;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Vf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= -this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this,a);break; -case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function Me(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Vf(this,this.P+this.K);this.C=this.D;break;case 3:b=Vf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Vf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:b=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Vf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break; -case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this, -a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Ne(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Vf(this,this.P+this.K);this.C=this.D;break;case 3:c=Vf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; -case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Vf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Vf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Vf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); -this.C=this.D;break;case 130:c=Vf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Vf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Vf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break; -case 198:c=this.K;break;case 199:c=this.J}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Yf(this,a);this.A-=this.B.dd;break;case 1:case 2:Yf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Yf(this,a);this.A-=this.B.Jc;break;case 6:Yf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Yf(this,a);this.A-=this.B.dc;break;case 65:case 66:case 129:case 130:Yf(this,a);this.A-=this.B.ec;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Yf(this, -a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} -function Oe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=P(this,this.G);break;case 1:c=P(this,this.I);break;case 2:c=P(this,this.M);break;case 3:c=P(this,this.H);break;case 4:c=P(this,Gj.call(this,0));break;case 5:c=P(this,T(this));break;case 6:c=P(this,this.K);break;case 7:c=P(this,this.J);break;case 64:c=P(this,this.G+this.T());break;case 65:c=P(this,this.I+this.T());break;case 66:c=P(this,this.M+this.T());break;case 67:c=P(this,this.H+this.T());break;case 68:c=P(this,Gj.call(this,1)+this.T()); -break;case 69:c=Sf(this,this.P+this.T());break;case 70:c=P(this,this.K+this.T());break;case 71:c=P(this,this.J+this.T());break;case 128:c=P(this,this.G+T(this));break;case 129:c=P(this,this.I+T(this));break;case 130:c=P(this,this.M+T(this));break;case 131:c=P(this,this.H+T(this));break;case 132:c=P(this,Gj.call(this,2)+T(this));break;case 133:c=Sf(this,this.P+T(this));break;case 134:c=P(this,this.K+T(this));break;case 135:c=P(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& -255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} -function Pe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=P(this,this.G);this.C=this.D;break;case 1:b=P(this,this.I);this.C=this.D;break;case 2:b=P(this,this.M);this.C=this.D;break;case 3:b=P(this,this.H);this.C=this.D;break;case 4:b=P(this,Gj.call(this,0));this.C=this.D;break;case 5:b=P(this,T(this));this.C=this.D;break;case 6:b=P(this,this.K);this.C=this.D;break;case 7:b=P(this,this.J);this.C=this.D;break;case 64:b=P(this,this.G+this.T());this.C=this.D;break;case 65:b=P(this,this.I+this.T()); -this.C=this.D;break;case 66:b=P(this,this.M+this.T());this.C=this.D;break;case 67:b=P(this,this.H+this.T());this.C=this.D;break;case 68:b=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Sf(this,this.P+this.T());this.C=this.D;break;case 70:b=P(this,this.K+this.T());this.C=this.D;break;case 71:b=P(this,this.J+this.T());this.C=this.D;break;case 128:b=P(this,this.G+T(this));this.C=this.D;break;case 129:b=P(this,this.I+T(this));this.C=this.D;break;case 130:b=P(this,this.M+T(this));this.C= -this.D;break;case 131:b=P(this,this.H+T(this));this.C=this.D;break;case 132:b=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Sf(this,this.P+T(this));this.C=this.D;break;case 134:b=P(this,this.K+T(this));this.C=this.D;break;case 135:b=P(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= -this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= -this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function Qe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=P(this,this.G);this.C=this.D;break;case 1:c=P(this,this.I);this.C=this.D;break;case 2:c=P(this,this.M);this.C=this.D;break;case 3:c=P(this,this.H);this.C=this.D;break;case 4:c=P(this,Gj.call(this,0));this.C=this.D;break;case 5:c=P(this,T(this));this.C=this.D;break;case 6:c=P(this,this.K);this.C=this.D;break;case 7:c=P(this,this.J);this.C=this.D;break;case 64:c=P(this,this.G+this.T());this.C=this.D;break;case 65:c=P(this,this.I+this.T()); -this.C=this.D;break;case 66:c=P(this,this.M+this.T());this.C=this.D;break;case 67:c=P(this,this.H+this.T());this.C=this.D;break;case 68:c=P(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Sf(this,this.P+this.T());this.C=this.D;break;case 70:c=P(this,this.K+this.T());this.C=this.D;break;case 71:c=P(this,this.J+this.T());this.C=this.D;break;case 128:c=P(this,this.G+T(this));this.C=this.D;break;case 129:c=P(this,this.I+T(this));this.C=this.D;break;case 130:c=P(this,this.M+T(this));this.C= -this.D;break;case 131:c=P(this,this.H+T(this));this.C=this.D;break;case 132:c=P(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Sf(this,this.P+T(this));this.C=this.D;break;case 134:c=P(this,this.K+T(this));this.C=this.D;break;case 135:c=P(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= -this.H>>8&255;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Wf(this,a)}} -function cf(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Gj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Gj.call(this,1)+this.T()); -break;case 69:c=Uf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Gj.call(this,2)+T(this));break;case 133:c=Uf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& -65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=J(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= -this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:I(this,J(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} -function df(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Uf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= -this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Uf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=J(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; -case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=J(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)& --65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ef(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Gj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); -this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Uf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= -this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Uf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=J(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; -case 199:c=this.J&65535;break;default:c=0}a=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:I(this,J(this)&-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Xf(this,a)}} -function ff(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Gj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Gj.call(this,1)+this.T()); -break;case 69:c=Vf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Gj.call(this,2)+T(this));break;case 133:c=Vf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; -case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=J(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:I(this, -a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} -function gf(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Gj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); -this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Vf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= -this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Vf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> -3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function hf(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Gj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); -this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Gj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Vf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= -this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Gj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Vf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}a=a[this.L>> -3&7].call(this,c,b.call(this));switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Yf(this,a)}} -function Gj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=J(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||zf(this)?(c+=6,80286<=this.ja&&255>8&255;9<(c&15)||zf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?Ef(this):Ff(this);b?Mf(this):Kf(this);this.A-=this.B.Je},function(){this.G=tj.call(this,this.G)},function(){this.I=tj.call(this,this.I)},function(){this.M=tj.call(this,this.M)},function(){this.H=tj.call(this,this.H)},function(){I(this,tj.call(this, -J(this)))},function(){this.P=tj.call(this,this.P)},function(){this.K=tj.call(this,this.K)},function(){this.J=tj.call(this,this.J)},function(){this.G=rj.call(this,this.G)},function(){this.I=rj.call(this,this.I)},function(){this.M=rj.call(this,this.M)},function(){this.H=rj.call(this,this.H)},function(){I(this,rj.call(this,J(this)))},function(){this.P=rj.call(this,this.P)},function(){this.K=rj.call(this,this.K)},function(){this.J=rj.call(this,this.J)},function(){K(this,this.G&this.R);this.A-=this.B.Rc}, -function(){K(this,this.I&this.R);this.A-=this.B.Rc},function(){K(this,this.M&this.R);this.A-=this.B.Rc},function(){K(this,this.H&this.R);this.A-=this.B.Rc},function(){K(this,J(this)-2&65535);this.A-=this.B.Rc},function(){K(this,this.P&this.R);this.A-=this.B.Rc},function(){K(this,this.K&this.R);this.A-=this.B.Rc},function(){K(this,this.J&this.R);this.A-=this.B.Rc},function(){this.G=this.G&~this.R|H(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|H(this);this.A-=this.B.zc},function(){this.M= -this.M&~this.R|H(this);this.A-=this.B.zc},function(){this.H=this.H&~this.R|H(this);this.A-=this.B.zc},function(){I(this,J(this)&~this.R|H(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|H(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|H(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|H(this);this.A-=this.B.zc},Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,function(){this.ya.call(this,mk,this.Ma);this.A-=-1===this.C? -1:this.B.Jg},Xj,function(){this.ya.call(this,mk,this.T);this.A-=-1===this.C?1:this.B.Jg},function(){this.Ya.call(this,ij)},function(){this.ea.call(this,jj)},function(){this.Oa.call(this,mj)},function(){this.V.call(this,nj)},Zj,ak,bk,ck,function(){this.S|=1;this.ea.call(this,Bi)},function(){this.S|=1;this.ka=this.Ka=this.rf;this.V.call(this,ai)},function(){var a;this.V.call(this,Ai);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;Bd(this,a);break;case 1:a=this.I;this.I=this.aa;sf(this,a);break; -case 2:a=this.M;this.M=this.aa;ud(this,a);break;case 3:a=this.H;this.H=this.aa;Ad(this,a);break;case 4:a=J(this);I(this,this.aa);80386<=this.ja?this.Nb.load(a):Bd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ja?this.Ob.load(a):sf(this,a);break;case 6:a=this.K;this.K=this.aa;ud(this,a);break;case 7:a=this.J,this.J=this.aa,Ad(this,a)}},function(){this.S|=1;this.U=this.fa;this.aa=H(this);this.ya.call(this,nk,Aj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R| -this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=J(this);this.G=this.G&~this.R|b&this.R;I(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G& -~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.Kj},function(){Bj.call(this,this.Ma(),Zf(this));this.A-=this.B.Nj},function(){this.A-=3},function(){var a=Cd(this);a&131072&&3>this.Pa?E.call(this, -13,0):(K(this,a&-196609),this.A-=this.B.Rc)},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=H(this),a=a&65535|this.ca&-65536;Dd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?Ef(this):Ff(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Mf(this):Kf(this);a&64?Nf(this):Lf(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.fc},function(){this.G=this.G&-65281|(Cd(this)&213)<<8;this.A-= -this.B.fc},function(){var a=this.G&-256,b;b=T(this);b=this.Qa(this.ka.mc(b,1));this.G=a|b;this.A-=this.B.Sh},function(){this.G=this.G&~this.R|yd(this,this.ka,T(this));this.A-=this.B.Sh},function(){var a=T(this),b=this.G;this.qc(this.ka.nc(a,1),b);this.A-=this.B.Th},function(){var a=T(this),b=this.G;this.rc(this.ka.nc(a,this.ba),b);this.A-=this.B.Th},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=this.Qa(this.ka.mc(this.K& -c,1));this.qc(this.Xa.nc(this.J&c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Uh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Wh,this.Ia&256||(this.A-=this.B.Vh));if(a--){var e=yd(this,this.ka,this.K&c);this.rc(this.Xa.nc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I- -b&c;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh,this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Rf(this,this.ka,this.K),f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Fh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Hh, -this.Ia&256||(this.A-=this.B.Gh));if(a--){var e=Tf(this,this.ka,this.K&c),f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){Df(this,this.G&this.xa(),128);this.A-=this.B.Je},function(){Df(this,this.G&this.Ma(),this.Ga);this.A-=this.B.Je},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&& -(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.qc(this.Xa.nc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ia&2048)!=(103!=this.Qa(this.Ha))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.ei;this.Ia&192&&(a=this.I&c,b=1,d=this.B.gi,this.Ia&256||(this.A-=this.B.fi));if(a--){var e=this.G;this.rc(this.Xa.nc(this.J&c,this.ba),e);this.J= -this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh,this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=this.Qa(this.ka.mc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Mh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.Oh, -this.Ia&256||(this.A-=this.B.Nh));if(a--){var e=yd(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&255,f=Rf(this,this.Xa,this.J);this.C=this.D;Ph.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-= -d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Zh;this.Ia&192&&(a=this.I&c,b=1,d=this.B.ai,this.Ia&256||(this.A-=this.B.$h));if(a--){var e=this.G&this.R,f=Tf(this,this.Xa,this.J&c);this.C=this.D;Qh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&Af(this)==(this.Ia&64)&&(vf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.fc},function(){this.I= -this.I&-256|this.xa();this.A-=this.B.fc},function(){this.M=this.M&-256|this.xa();this.A-=this.B.fc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.fc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.fc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.fc},function(){this.I=this.I& -~this.R|this.Ma();this.A-=this.B.fc},function(){this.M=this.M&~this.R|this.Ma();this.A-=this.B.fc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.fc},function(){I(this,J(this)&~this.R|this.Ma());this.A-=this.B.fc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.fc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.fc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.fc},gk,hk,gk,hk,function(){this.V.call(this,bi)},function(){this.V.call(this,$h)},function(){this.S|= -1;this.Jb.call(this,ok,this.xa)},function(){this.S|=1;this.ya.call(this,ok,this.Ma)},ik,jk,ik,jk,function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var a=this.B.dk;this.qb=-1;Cj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{var b;a:{b=this.Hd[a];if(void 0!==b)for(var c=0;cthis.Pa)E.call(this,13,0);else{var a=this.B.ek;this.qb=-1;Cj.call(this,4,null,a)}else this.A-=this.B.fk},function(){if(this.ca&131072&&3>this.Pa)E.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.fa;this.A-=this.B.bk;if(this.$a&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);vd(this.wa,a,!1)}else{var a=this.pa,b=H(this),c=H(this),d=H(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=H(this),f=H(this),g=H(this),h=H(this),k=H(this),m=H(this);wd(this,!0,!0);ud(this, -f);I(this,e);Bd(this,g);Ad(this,h);this.Nb.load(k);this.Ob.load(m)}null!=Ed(this,b,c,!1)&&(Dd(this,d,a),this.le&&nf(this,this.Ha))}this.sb=this.U=-1}},function(){this.Jb.call(this,dk,wj)},function(){this.ya.call(this,2==this.ba?ek:fk,wj)},function(){this.Jb.call(this,dk,xj)},function(){this.ya.call(this,2==this.ba?ek:fk,xj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;Df(this,this.G,128);this.A-=this.B.Hj}else Fj.call(this)},function(){var a=this.G&255,b=(this.G>> -8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;wf(this,a,b,c,191);this.A-=this.B.Gj},function(){this.G=this.G&-256|(xf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Rf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Gk},function(){kk.call(this,216)},function(){kk.call(this,217)},function(){kk.call(this,218)},function(){kk.call(this,219)},function(){kk.call(this,220)},function(){kk.call(this,221)},function(){kk.call(this,222)},function(){kk.call(this,223)},function(){var a=this.T(), -b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!Af(this)?(O(this,M(this)+a),this.A-=this.B.mk):this.A-=this.B.Ph},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&Af(this)?(O(this,M(this)+a),this.A-=this.B.Qh):this.A-=this.B.Rh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,M(this)+a),this.A-=this.B.lk):this.A-=this.B.Ph},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Rh:(O(this,M(this)+a),this.A-=this.B.Qh)},function(){var a=this.xa(); -Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-2)&255,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-2)&this.R,this.A-=this.B.Kh)},function(){var a=this.xa();Pf(this,a,1,!1)&&(zc(this.ga,a,1,this.G&255,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.xa();Pf(this,a,this.ba,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-2),this.A-=this.B.Yh)},function(){var a=this.Ma(),b=M(this),a=b+a;K(this,b);O(this,a); -this.A-=this.B.Lj},function(){var a=this.Ma();O(this,M(this)+a);this.A-=this.B.Lh},function(){Ed(this,this.Ma(),Zf(this));this.A-=this.B.hk},function(){var a=this.T();O(this,M(this)+a);this.A-=this.B.Lh},function(){var a=this.M&65535;Pf(this,a,1,!0)&&(this.G=this.G&-256|rc(this.ga,a,1,this.Ha-1)&255,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|rc(this.ga,a,this.ba,this.Ha-1)&this.R,this.A-=this.B.Jh)},function(){var a=this.M&65535;Pf(this,a,1,!1)&& -(zc(this.ga,a,1,this.G&255,this.Ha-1),this.A-=this.B.Xh)},function(){var a=this.M&65535;Pf(this,a,2,!1)&&(zc(this.ga,a,this.ba,this.G&this.R,this.Ha-1),this.A-=this.B.Xh)},lk,lk,function(){this.S|=132;this.A-=this.B.nd},function(){this.S|=68;this.A-=this.B.nd},function(){this.ca&131072?E.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&z(this,-2147483648)?(vf(this),this.ha.Wb()):this.ca&512||(this.ha&&vf(this),this.Wb()))},function(){xf(this)?Ff(this):Ef(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this, -qk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R)},function(){this.cb=!1;this.ya.call(this,rk,zj);this.cb&&(this.G=this.G&~this.R|this.ia&this.R,this.M=this.M&~this.R|this.va&this.R)},function(){Ff(this);this.A-=2},function(){Ef(this);this.A-=2},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca&=-513,this.A-=this.B.Jj)},function(){this.pa>this.Pa?E.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this, -Id,zj)},function(){this.ya.call(this,Jd,zj)}],Yj=[zh,Ci,xh,Ei,Bh,gj,oj,Ph],mk=[Ah,Di,yh,Fi,Ch,hj,pj,Qh],nk=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.yk;return b},Sh,Sh,Sh,Sh,Sh,Sh,Sh],ok=[function(a,b){this.A-=-1===this.C?this.B.qk:this.B.nk;return b},W,W,W,W,W,W,W],dk=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<>8-b)&255):d=a<<7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;If(this,c,d,128)}return c}, -function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=9)?(c=(a<>9-b)&255,d=a<>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;If(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;8>>b-1,a=b>>>1&255,Df(this,a,128,b&1,a&128);return a},W,function(a,b){if(b&=this.ra)9>24>>b-1,a=b>>1&255,Df(this,a,128,b&1);return a}],ek=[function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<>16-b)&65535):d=a<<15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=Jf(this);(b%=17)?(c=(a<>17-b)&65535,d=a<>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;If(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.ra){var d=0;16>>b-1,a=b>>>1&65535,Df(this,a,32768,b&1,a&32768);return a},W,function(a,b){if(b&=this.ra)17>16>>b-1,a=b>>1&65535,Df(this,a,32768,b&1);return a}],fk=[function(a,b){var c=a;if(b&=this.ra)c=a<>>32-b,If(this,c,a<>>b|d;If(this,c,d,-2147483648)}return c},function(a,b){var c=a;if(b&=this.ra)c=Jf(this),c=a<>>32-b>>>1,If(this,c,a<>>b|c<<32-b|a<<32-b<<1,If(this,c,a<<32-b,-2147483648);return c},function(a,b){var c=a;if(b&=this.ra)a<<=b-1,c=a<<1,Df(this,c,-2147483648,a&-2147483648,(c^a)&-2147483648);return c},function(a,b){if(b&=this.ra)b=a>>>b-1,a=b>>>1,Df(this,a,-2147483648, -b&1,a&-2147483648);return a},W,function(a,b){if(b&=this.ra)b=a>>b-1,a=b>>1,Df(this,a,-2147483648,b&1);return a}],qk=[function(a,b){b=this.xa();Df(this,a&b,128);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Wf:this.B.Vf;return a^255},function(a){var b=-a|0;wf(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Wf:this.B.Vf;return b&255},function(a){this.ia=(this.G&255)*a&65535;this.ia&65280?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-= --1===this.D?this.B.uk:this.B.tk;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ia=b&65535;127b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.Zj:this.B.Yj;this.S|=2;return a},function(a,b){if(!a)return Fj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d= -(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ja&&-128==d)return Fj.call(this),a;this.ia=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.Vj:this.B.Uj;this.S|=2;return a}],rk=[function(a,b){b=this.Ma();Df(this,a&b,this.Ga);this.A-=-1===this.D?this.B.ii:this.B.hi;this.S|=2;return a},W,function(a){this.A-=-1===this.D?this.B.Wf:this.B.Vf;return a^this.R},function(a){var b=-a|0;wf(this,0,a,b,this.Ga|63,!0);this.A-=-1===this.D?this.B.Wf:this.B.Vf;return b&this.R},function(a,b){2==this.ba? -(b=this.G&65535,b=b*a|0,this.ia=b&65535,this.va=b>>16&65535):(Yh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.va=0));this.va?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D?this.B.wk:this.B.vk;this.S|=2;return a},function(a,b){2==this.ba?(b=this.G&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.ia=b&65535,this.va=b>>16&65535,b=32767b):(Xh.call(this,a,this.G),b=this.va!=this.ia>>31);b?(Ef(this),Gf(this)):(Ff(this),Hf(this));this.cb=!0;this.A-=-1===this.D? -this.B.ak:this.B.$j;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Fj.call(this),a;this.ia=c&65535;this.va=b%a&65535}else{if(!sj.call(this,this.G,this.M,a))return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Tj:this.B.Sj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Fj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086== -this.ja&&-32768==d)return Fj.call(this),a;this.ia=d&65535;this.va=b%c&65535}else{b=this.G;var c=this.M,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!sj.call(this,b,c,d)||this.ia>2147483647+e||this.va>2147483647+f?b=!1:(e&&(this.ia=-this.ia),f&&(this.va=-this.va),b=!0);if(!b)return Fj.call(this),a;this.ia|=0;this.va|=0}this.cb=!0;this.A-=-1===this.D?this.B.Xj:this.B.Wj;this.S|=2;return a}],Id=[function(a){var b=a+1|0;wf(this,a,1,b,190);this.A-=-1===this.D?this.B.Uf:this.B.Tf; -return b&255},function(a){var b=a-1|0;wf(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Uf:this.B.Tf;return b&255},W,W,W,W,W,W],Jd=[function(a){var b=a+1|0;wf(this,a,1,b,this.Ga|62);this.A-=-1===this.D?this.B.Uf:this.B.Tf;return b&this.R},function(a){var b=a-1|0;wf(this,a,1,b,this.Ga|62,!0);this.A-=-1===this.D?this.B.Uf:this.B.Tf;return b&this.R},function(a){K(this,M(this));O(this,a);this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);this.U= -this.fa;Bj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.Mj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.jk:this.B.ik;this.S|=2;return a},function(a){if(-1===this.D)return W.call(this,a);Ed(this,a,this.na(this.D+this.ba));this.A-=this.B.gk;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));K(this,b);this.A-=-1===this.D?this.B.Rc:this.B.Ak;this.S|=2;return a},W];function te(){this.V.call(this,lj);this.A-=-1===this.D?6:13} -function ue(){this.ea.call(this,kj);this.A-=-1===this.D?12:19}var le=Array(256);le[0]=function(){16>(this.Qa(this.Ha)&56)&&(this.S|=1);this.ya.call(this,this.mg,zj)};le[1]=function(){this.Qa(this.Ha)&16||(this.S|=1);this.ya.call(this,sk,zj)};le[2]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,Zh)};le[3]=function(){!(this.$a&1)||this.ca&131072?E.call(this,6):this.V.call(this,ei)}; -le[5]=function(){this.pa?E.call(this,13,0,0,!0):(Of(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),td(this.Xa,2102,this.na(2084)),td(this.wa,2108,this.na(2082)),td(this.ta,2114,this.na(2080)),td(this.vb,2120,this.na(2078)),Dd(this,this.na(2072)),O(this,this.na(2074)),I(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.zd=this.Ec+this.na(2130),this.Mc=this.na(2138)| -this.Qa(2140)<<16,this.Sd=this.Mc+this.na(2142),td(this.Bc,2132,this.na(2076)),td(this.Sa,2144,this.na(2070)),this.A-=195)};le[6]=function(){this.pa?E.call(this,13,0):(this.$a&=-9,this.A-=2)};le[11]=Ld;le[166]=Ld;le[255]=Ld;var N=[];N[5]=Ld; -N[7]=function(){if(this.pa)E.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){uj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;Dd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.zd=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Sd=this.Mc+this.oa(a+104);sd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));sd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= -this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);sd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));sd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));sd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));sd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));sd(this.wa,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));sd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ -8));I(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};N[16]=Zj;N[17]=ak;N[18]=bk;N[19]=ck;N[32]=function(){if(this.pa)E.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.$a;break;case 2:a=this.se;break;case 3:a=this.Od;break;default:me.call(this);return}Be(this,b&7,a);this.A-=6}};N[33]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(Be(this,a&7,this.Ja[b]),this.A-=22)}}; -N[34]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=Ae(this,a&7);switch((a&56)>>3){case 0:uj.call(this,b);this.A-=10;break;case 2:this.se=b;this.A-=4;break;case 3:Fd.call(this,b);this.A-=5;break;default:me.call(this)}}};N[35]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?me.call(this):(a=Ae(this,a&7),a!=this.Ja[b]&&(of(this,!1),this.Ja[b]=a,of(this,!0)),this.A-=4>b?22:14)}}; -N[36]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(Be(this,a&7,this.Ee[b]),this.A-=12)}};N[38]=function(){if(this.pa)E.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?me.call(this):(this.Ee[b]=Ae(this,a&7),this.A-=12)}};N[128]=function(){var a=this.Ma();Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[129]=function(){var a=this.Ma();Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[130]=function(){var a=this.Ma();xf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[131]=function(){var a=this.Ma();xf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[132]=function(){var a=this.Ma();Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[133]=function(){var a=this.Ma();Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[134]=function(){var a=this.Ma();xf(this)||Af(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; -N[135]=function(){var a=this.Ma();xf(this)||Af(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[136]=function(){var a=this.Ma();Bf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[137]=function(){var a=this.Ma();Bf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[138]=function(){var a=this.Ma();yf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[139]=function(){var a=this.Ma();yf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)}; -N[140]=function(){var a=this.Ma();!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[141]=function(){var a=this.Ma();!Bf(this)==!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[142]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?(O(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};N[143]=function(){var a=this.Ma();Af(this)||!Bf(this)!=!Cf(this)?this.A-=this.B.bb:(O(this,M(this)+a),this.A-=this.B.ab)};N[144]=function(){vj.call(this,Gi)}; -N[145]=function(){vj.call(this,Gi)};N[146]=function(){vj.call(this,Hi)};N[147]=function(){vj.call(this,Ii)};N[148]=function(){vj.call(this,Ji)};N[149]=function(){vj.call(this,Ki)};N[150]=function(){vj.call(this,Li)};N[151]=function(){vj.call(this,Mi)};N[152]=function(){vj.call(this,Ni)};N[153]=function(){vj.call(this,Oi)};N[154]=function(){vj.call(this,Pi)};N[155]=function(){vj.call(this,Qi)};N[156]=function(){vj.call(this,Ri)};N[157]=function(){vj.call(this,Si)};N[158]=function(){vj.call(this,Ti)}; -N[159]=function(){vj.call(this,Ui)};N[160]=function(){zd(this,this.Nb.Z,this.ba,2);this.A-=this.B.Ke};N[161]=function(){this.U=this.fa;var a=H(this);this.Nb.load(a);this.A-=this.B.zc;this.U=-1};N[163]=function(){this.ea.call(this,Lh);-1!==this.D&&(this.A-=6)};N[164]=function(){this.ea.call(this,2==this.ba?Vi:Xi);this.A-=-1===this.D?3:7};N[165]=function(){this.ea.call(this,2==this.ba?Zi:$i);this.A-=-1===this.D?3:7};N[168]=function(){zd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ke}; -N[169]=function(){this.U=this.fa;var a=H(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};N[171]=function(){this.ea.call(this,Oh);-1!==this.D&&(this.A-=5)};N[172]=function(){this.ea.call(this,2==this.ba?aj:cj);this.A-=-1===this.D?3:7};N[173]=function(){this.ea.call(this,2==this.ba?ej:fj);this.A-=-1===this.D?3:7};N[175]=function(){this.V.call(this,2==this.ba?Uh:Wh)};N[178]=function(){this.V.call(this,fi)};N[179]=function(){this.ea.call(this,Nh);-1!==this.D&&(this.A-=5)}; -N[180]=function(){this.V.call(this,ci)};N[181]=function(){this.V.call(this,di)}; -N[182]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= --1===this.D?3:6};N[183]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};N[186]=function(){this.ya.call(this,tk,this.xa)};N[187]=function(){this.ea.call(this,Mh);-1!==this.D&&(this.A-=5)}; -N[188]=function(){this.V.call(this,Fh)};N[189]=function(){this.V.call(this,Gh)}; -N[190]=function(){this.Oa.call(this,yi);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& -this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};N[191]=function(){xd(this,2);this.V.call(this,zi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; -var pf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&2048!=(this.Da.wb&2560)&&(this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3)||7168==(this.Da.wb&7168)))return Nf(this), -a;Lf(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Da.load(a)&&512==(this.Da.wb&2560)&&this.Da.Gc>=this.pa&&this.Da.Gc>=(a&3))return Nf(this),a;Lf(this);return a},W,W],Kd=[je,je,je,je,je,je,W,W],sk=[function(a){if(-1===this.D)E.call(this,6);else{a=this.zd-this.Ec;var b=this.Ec;80286==this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)E.call(this,6);else{a=this.Sd-this.Mc;var b=this.Mc;80286== -this.ja?b|=-16777216:80386<=this.ja&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?E.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Sd=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.$a},W,function(a){this.ca&131072? -E.call(this,6):(Of(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},W],tk=[W,W,W,W,Hh,Kh,Jh,Ih]; -function X(a){bb.call(this,"ChipSet",a,X,32768);var b=a.model;b&&!uk[b]&&w("Unrecognized ChipSet model: "+b);this.ja=uk[b]||vk;this.C=[];b=wk(a[xk]);this.C[0]=[b,b];null==b&&(this.ia=[360,360],(b=a.floppies)&&b.length&&(this.ia=b),yk(this,zk,this.ia.length),yk(this,Ak,a.monitor||(this.ja=kg&&(this.cb=this.Da=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Ea=null,window&&(this.sb=window.AudioContext|| -window.webkitAudioContext),this.sb&&(this.Ea=new this.sb));this.reset(!0);xb(this)}jb(X);var vk=5150.9,kg=5170,uk={5150:5150,5160:5160,5170:kg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:vk,deskpro386:5180},xk="sw1",Bk="sw2",Ck={jl:1,ONE:0,Jo:64,Ho:128,yo:192,Lc:192,Xg:6},Dk={Io:16,to:32,zo:48,Lc:48,Xg:4},zk=1,Ak=4,Ek={5150:[{},{}]};Ek[5150][0][zk]={Lc:192,gd:{1:0,2:64,3:128,4:192},Pd:"Number of Floppy Drives"};Ek[5150][0][3]={Lc:2,gd:{0:0,1:2},Pd:"FPU"}; -Ek[5150][0][Ak]={Lc:48,gd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Pd:"Monitor Type"};Ek[5150][0][5]={Lc:12,gd:{16:0,32:4,48:8,64:12},Pd:"Base Memory (16Kb Increments)"};Ek[5150][1][6]={Lc:31,gd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Pd:"Expansion Memory (32Kb Increments)"};Ek[5160]=[{},{}];Ek[5160][0][zk]=Ek[5150][0][zk];Ek[5160][0][3]=Ek[5150][0][3];Ek[5160][0][Ak]=Ek[5150][0][Ak]; -Ek[5160][0][5]={Lc:12,gd:{64:0,128:4,192:8,256:12},Pd:"Base Memory (64Kb Increments)"};Ek[5160][1][6]=Ek[5150][1][6];Ek[5160.101]=[{},{}];Ek[5160.101][0][5]={Lc:143,gd:{128:1,256:130,512:8,640:141},Pd:"Base Memory (128Kb Increments)"};Ek[5160.101][0][3]={Lc:16,gd:{0:0,1:16},Pd:"FPU"};Ek[5160.101][1][2]={Lc:1,gd:{0:0,1:1},Pd:"Floppy Type"};Ek[5160.101][1][zk]=Ek[5150][0][zk];Ek[5160.101][1][Ak]=Ek[5150][0][Ak];l=X.prototype; -l.Pb=function(a,b,c){switch(b){case xk:return this.qa[b]=c,Fk(this,0,b),!0;case Bk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Fk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.Tb=Jb(a,"FPU");yk(this,3,this.Tb?1:0,!0);this.B=Jb(a,"Keyboard");this.gb=c.Y.Id/1193181;qc(b,this,Gk);yc(b,this,Hk);this.jab;b++){var c=13>=b?Sk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+u(b)+"]: "+u(c)}e.ha.O(a)})}lf(c,26,this.Pm.bind(this))}; -l.hc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(a){var b;Tk(this);this.L=Array(this.cb);for(b=0;b=kg){this.N=16;this.ea=0;this.aa=16;this.Ja=0;this.fa=160;512<=Xk(this)&&(this.fa|=16);3==+Yk(this,Ak,void 0)&&(this.fa|=64);5180==(this.ja|0)&&(this.fa|=12);this.Ka= -3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Zk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Yk(this,Ak,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} -l.save=function(){var a=new qf(this);a.set(0,[this.C]);for(var b=[],c=0;c=kg&&(a.set(5,[this.N,this.ea,this.aa,this.Ja,this.fa,this.Ka]),a.set(6,[this.ra[7],this.ra,this.pa,this.A,this.Ga,this.ua]));return a.data()}; -l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Tk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;jl(a,b,c,!0)}function kl(a,b,c){if(b=(a=Ek[a.ja|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ql(a,b,c,d,e,f){var g=a.L[b];z(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function rl(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;z(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function sl(a,b,c,d,e){var f=a.L[b];z(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function ul(a,b,c){b=a.L[b>>2].Dc[b&3];b.wg&&b.mh&&b.Lg?(c&&(b.done=c),b.Ge||Dl(a,b,!0)):c&&c(!0)} -function Dl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.uj=b.xg=!1);for(var d=!1;0<=b.count&&(c=b.rg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.mh.call(b.wg,b.Lg,-1,function(e,g){0>e&&(b.uj||(b.uj=!0),e=255);b.Ge||a.ga.qc(c,e);(d=g)&&setTimeout(function(){El(b)||Dl(a,b)},0)})}(c)):8==b.type?(c=a.ga.Qa(c),0>b.mh.call(b.wg,b.Lg,c)&&(b.xg=!0)):0!=b.type&&(b.xg=!0)),!d&&!El(b););} -function El(a){if(!a.xg&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.lc&b||(d.lc|=b,d.nf=c||0,Hl(a))}function lg(a,b){var c=a.vc[b>>3];b=1<<(b&7);c.lc&b&&(c.lc&=~b,Hl(a))}function Hl(a,b){var c,d=-1;1>=1),ed(a.F,e))),b||2!=c||cl(a))}function Ol(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} -function Pl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;if(d&=48){e+=c;var h=a.V[e];h.jg=d;h.mode=g;h.gh=f;h.Fc=[0,0];h.Ab=[0,0];h.Be=[0,0];h.td=!1;h.af=!1;h.De=!1;h.ef=!1;Ll(a,e);b||c||lg(a,0);b||2!=c||255!=a.vc[0].Ad||77!=a.W||(b=a.V[0],b.$c[0]= -b.Fc[0],b.$c[1]=b.Fc[1],b.vd=cd(a.F,a.ka))}else Ql(a,e+c)}}function Nl(a,b){a=a.V[b];(b=a.Fc[1]<<8|a.Fc[0])||(b=1==a.md?256:65536);return b}function id(a,b){a=a.V[b];(b=a.$c[1]<<8|a.$c[0])||(b=1==a.md?256:65536);return b}function Ql(a,b){Rk(a,b);var c=a.V[b];c.Be[0]=c.Ab[0];c.Be[1]=c.Ab[1];c.af=!0;Ll(a,b)}function Ll(a,b){a=a.V[b];a.Ed=32==a.jg?1:0;a.md=48==a.jg?2:1} -function Rk(a,b,c){var d=a.V[b];if(d.De&&(2!=b||a.W&1)){var e=cd(a.F,a.ka),f=(e-d.vd)/a.gb|0;0>f&&(d.vd=e,f=0);var g=Nl(a,b),h=id(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.De=!1,b||mg(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.vd=e,!b&&d.td&&mg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.vd=0)}return d} -function hd(a,b){for(var c=0;c=kg){b=a.F.Y.Id;c=cd(a.F,a.ka);null==a.fb&&(a.Ga=cd(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Id/a.Jb),bl(a));c>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,mg(a,8)),a.ua=c+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,mg(a,8)));var d=c-a.Ga,e=Math.floor(d/b);if(e&&!(a.A[11]&128)){for(;e--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1;var f; -f=a.A[9];var g=va[a.A[8]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[7]>f&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,mg(a,8))}a.Ga=c-d%b}}l=X.prototype;l.ym=function(a,b){var c=this.Ya;this.Ca&16&&(this.W&128?c=this.C[0][1]:this.B&&(c=Rl(this.B)));x(this,a,null,b,"PPI_A",c);return c};l.Yn=function(a,b,c){x(this,a,b,c,"PPI_A");this.Ya=b};l.zm=function(a,b){var c=this.W;x(this,a,null,b,"PPI_B",c);return c}; -l.Zn=function(a,b,c){x(this,a,b,c,"PPI_B");Sl(this,b)};function Sl(a,b){var c=!!(b&2),d=!!(a.W&2);a.W=b;a.B&&Tl(a.B,!(b&128),!!(b&64));c!=d&&cl(a,c)}l.Am=function(a,b){var c=0,c=5150==(this.ja|0)?this.W&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.W&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.W&1&&Rk(this,2).td&&(c=this.W&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};l.$n=function(a,b,c){x(this,a,b,c,"PPI_C");this.qb=b};l.Bm=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; -l.ao=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};l.Kl=function(a,b){var c=this.B?Rl(this.B):0;x(this,a,null,b,"8041_KBD",c);this.va&=-2;return c};l.hn=function(a,b,c){x(this,a,b,c,"8041_KBD")};l.Jl=function(a,b){var c=this.W;x(this,a,null,b,"8041_CTRL",c);return c};l.gn=function(a,b,c){x(this,a,b,c,"8041_CTRL");Sl(this,b)};l.Ll=function(a,b){var c=this.va;x(this,a,null,b,"8041_STATUS",c);return c}; -l.Ml=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Ul(this.B);return c}; -l.kn=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Vl(this,b);break;case 209:Wl(this,b);break;default:if(Vl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;z(a)&&y(a,"sendCmd("+u(c)+")");switch(a.V||c){case 255:d=250;Xl(a);break;case 243:a.V&&(c=0);Yl(a,250);a.V=c;break;case 237:a.V&&(c=0);Yl(a,250);a.V=c;break;default:y(a,"sendCmd(): unrecognized command")}Zl(this,d)}}this.ea=b;this.N&=-9}; -l.Nl=function(a,b){var c=this.W&-209|(cd(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};l.mn=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Sl(this,b)};l.Ol=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);a=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return a}; -l.jn=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Zl(this,this.aa);break;case 173:Vl(this,this.aa|16);break;case 174:Vl(this,this.aa&-17);this.B&&Ul(this.B);break;case 170:this.B&&(a=this.B,a.A=[],z(a)&&y(a,"scan codes flushed"));Vl(this,this.aa|16);Zl(this,85);Wl(this,3);break;case 171:Zl(this,0);break;case 192:Zl(this,this.fa);break;case 208:Zl(this,this.Ka);break;case 224:Zl(this,this.aa&16?0: -1);break;case 240:a&1&&ve(this.F)}};function Vl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Tl(a.B,!!(b&8),!(b&16))}function Zl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Wl(a,b){a.Ka=b;Tb(a.ga,!!(b&2));b&1||ve(a.F)}function $l(a,b){a.ja=c?Sk(this,c):this.A[c];z(this,4352)&&x(this,a,null,b,"CMOS.DATA["+u(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&lg(this,8),d&64&&this.A[11]&64&&bl(this));return d}; -l.Bn=function(a,b,c){var d=this.pa&63;z(this,4352)&&x(this,a,b,c,"CMOS.DATA["+u(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&bl(this)};l.Nk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};l.Ln=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};l.Mn=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&fg(this.Tb)}; -l.Pm=function(a){if(z(this,16)&&pk(this.ha,26,a)){var b=this.F.G>>8;mf(this.F,a,function(a,d){return function(c){d=cd(a.F)-d;var e,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,m=a.F.M>>8;if(2==b||3==b)e=" CH(hour)="+v(h)+" CL(min)="+u(g)+" DH(sec)="+u(m);else if(4==b||5==b)e=" CX(year)="+v(a.F.I)+" DH(month)="+u(m)+" DL(day)="+u(k);g=a.ha;h=d;g.message("INT "+u(26)+": C="+(xf(g.F)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,cd(this.F)))}return!0}; -function cl(a,b){if(a.Ea)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Nl(a,2));if(20>c||2E4>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};cm.prototype.gc=function(){return!0}; -function dm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Qd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, -" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;al(a)}}else w("No RAM allocated")}; -l.save=function(){var a=new qf(this);this.controller&&a.set(0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function jm(a){this.N=a;this.C=lm;this.ha=mm;this.B=nm;this.A=null}var km=-2134900736,lm=65535,mm=2575,nm=2,om=[null,0],pm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];l=jm.prototype;l.save=function(){return[this.C,this.B]}; -l.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};l.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};l.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.N.ga;if(b&1)this.A&&(dc(a,917504,131072,this.A),this.A=null);else{this.A||(this.A=ec(a,917504,131072));var c=ec(a,16646144,131072);dc(a,917504,131072,c,b&2?1:hc)}this.C=this.C&-256|b}};l.wj=function(){return om};l.nh=function(){return pm}; -Xa(function(){for(var a=tb(document,"pcx86","ram"),b=0;b"]]=10804;Y[p["/"]]=53;Y[p["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[tm]=7470;Y[4008]=7494;Y[4046]=3677523; -Y[4045]=3677522;Y[4013]=3677468;l=qm.prototype; -l.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= -c,c.onclick=function(){e.X&&e.X.wd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")}; -function rm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=sm.indexOf(a.ja),0>c&&(c=0));if(b=sm[c])a.ra=parseInt(b.substr(2),10)}function Xl(a){y(a,"keyboard reset",65792);a.A=[];Yl(a,170)}function Tl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&am(a,!0);a.W&&a.ea&&(Xl(a),a.ea=!1)}function Yl(a,b){a.N&&(a.A.unshift(b),a.U=!0,$l(a.N,b))} -function Ul(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&$l(a.N,b));z(a)&&y(a,b?"scan code "+u(b)+" available":"no scan codes available")}function Rl(a){var b=0;a.A.length&&(b=a.A[0]);z(a)&&y(a,"scan code "+u(b)+" delivered");return b}function am(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in xm)d="led-"+g,e=xm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} -function zm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){um[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Pe=b,d.xc=a.xc,Dm(a,b,!0),e++),0b.Kd){if(!b.Hf){Bm(a,b.Pe);return}b.Hf=!1;c=a.ua}else c=1==b.Kd++?500:100;b.Zk=setTimeout(function(a){return function(){Fm(a,b)}}(a),c)}} -function Hm(a,b,c){var d=b;if(b>=p.ue&&b<=p.og)!(a.xc&515)==c&&(d=b+(p.ve-p.ue));else if(b>=p.ve&&b<=p.z)!!(a.xc&515)==c&&(d=b-(p.ve-p.ue));else if(!!(a.xc&3)==c){if(a=da[b])d=a}else if(a=ca[b])d=a;return d}l.Mg=function(a){a||(this.xc&=-256)}; -function ym(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Hm(a,g,!0);a.kh&&h==p["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Am(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=p.ue&&b<=p.og||b>=p.ve&&b<=p.z;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(z(e)&&y(e,"scan code "+u(f)+" buffered"),e.A.push(f), -1==e.A.length&&e.N&&$l(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Xa(function(){for(var a=tb(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Zm:$m)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Dd=d||e[4];65536<=this.Dd&&720896<=this.ob&&(this.ac=Math.min(this.Dd>>2,32768));this.Hc=c[0];this.fd=c[1];this.tf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Qg=c[4]>>8&255;this.mb=c[5];this.wh=Zm;this.qg=an;if(5<=b){this.wh=$m;this.qg=bn;(b=c[6])||(b=[!1,0,Array(20),0,3==f? -0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Dd],Array(this.Dd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ze=b[0];this.Nd=b[1];this.Sc=b[2];this.$g=cn;this.Tg=b[3];this.vf=b[4];this.ig=b[5];this.ae=b[6];this.Me=b[7];this.bh=dn;this.Qk=b[8];this.Rk=b[9];this.$d=b[10];this.Zd=b[11];this.ah=en;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Dd>>2;if((this.rd=b[14])&&this.rd.length>this.controller.mi&255};gn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};gn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};gn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.yh,c=this.controller.xh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; -gn[0]=function(a,b){a+=this.C;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[32]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[96]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b&=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[160]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b|=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -gn[224]=function(a,b){a+=this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Yd|this.controller.pe;b^=this.controller.Fb;b=b&this.controller.Mb|this.controller.Fb&~this.controller.Mb;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)};gn[4]=function(a,b){var c=(a&-4)+this.C;a=(a&3)<<3;b=b<>this.controller.cd|b<<8-this.controller.cd&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Mb;b=this.controller.Yf&b|this.controller.Fb&~b;b=b&this.controller.rb|this.da[a]&~this.controller.rb;this.da[a]!=b&&(this.da[a]=b,this.Wa=!0)}; -function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Qg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Ze;c[1]=a.Nd;c[2]=a.Sc;c[3]=a.Tg;c[4]=a.vf;c[5]=a.ig;c[6]=a.ae;c[7]=a.Me;c[8]=a.Qk;c[9]=a.Rk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=m}f.length>3;for(c=0;c=d&&(A=d,g=!0);break; -case "p":0<=d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(L):fa(L>>(F<<3),8));g&&(f+=C-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+u(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.qg),5<=b.Ua&&(jn(b," GRC",b.$d,b.Zd,b.ah),jn(b," SEQ",b.ae,b.Me,b.bh),jn(b," ATC",b.Nd,b.Sc, -b.$g),jn(b," ATCINDX",b.Nd),b.ha.O(" ATCDATA: "+b.Ze),jn(b," FEAT",b.ig),jn(b," MISC",b.vf),jn(b," STATUS0",b.Tg)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.fd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.Dg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Jb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Ye();a=!0}this.X&&this.X.focus()}return a}; -function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.kh=b)}l.Fe=function(a){var b=!1;this.X&&(a?this.X.Fe&&(this.X.Fe(),this.V&&this.V.Zf(!0),b=!0):this.X.$k&&(this.X.$k(),this.V&&this.V.Zf(!1),b=!0),this.X&&this.X.focus());return b};l.Zf=function(a){this.V&&(this.V.Zf(a),this.B&&(this.B.kh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.bl)}; -function tn(a,b){var c=a.X;c&&!a.ke&&(c.addEventListener("touchstart",function(b){vn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){vn(a,b)},!0),c.addEventListener("touchend",function(b){vn(a,b,!1)},!1),a.ke=b,a.uc=a.Cc=a.mg=-1,a.Hd=!1,a.Xc=null,a.Gd=!1,a.so=function(){a.Gd=!0;a.V.he(wn,!0)})}l.Mg=function(a){this.B&&this.B.Mg(a)}; -function vn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Da/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.ke)d=d/(a.ra/3)|0,e=e/(a.Da/3)|0,1!=e?e?zm(a.B,1040,!0):zm(a.B,1038,!0):1!=d&&(d?zm(a.B,1039,!0):zm(a.B,1037,!0));else if(a.V){g=a.Hd;f=b.timeStamp-a.mg;!0===c?(a.Hd=500f){a.V.he(wn,!0);a.V.he(wn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.V.Kf(c,b,a.uc,a.Cc)}}l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0}; -l.reset=function(){var a=!0,b=0;this.N&&(b=+Yk(this.N,Ak,void 0));this.ja||(this.Ua=3==b?1:3);this.va=3;switch(this.Ua){case hm:b=7;break;case 5:var c=Om[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.va=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.qd=new Xm(this,1);this.aa=this.Wc=new Xm(this,3);5>this.Ua?this.A=new Xm:(this.A=new Xm(this,this.Ua,null,this.Dd),xn(this));Xn(this);this.Ga=null;this.cb=this.ua=-1;this.Pa=0;Yn(this,this.va);if(this.C.ob&&a){a=this.C.ob+ -this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);nc(this.ga,b,c|d<<8)}un(this,!0)}};function xn(a){a.A.vf&1?(a.pa=a.qd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}l.save=function(){var a=new qf(this);a.set(0,hn(this.qd));a.set(1,hn(this.Wc));a.set(2,[this.ya,this.va,this.Ga]);a.set(3,hn(this.A));return a.data()}; -l.restore=function(a){var b=a[2];this.ya=b[0];this.va=b[1];this.Ga=b[2];this.C=null;this.pa=this.qd=new Xm(this,1,a[0]);this.aa=this.Wc=new Xm(this,3,a[1]);this.A=new Xm(this,this.Ua,a[3],this.Dd);this.A.Hc&&xn(this);Xn(this);if(!Zn(this))return!1;$n(this);return!0}; -function Mm(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{mb(a.ce,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)gm(a,f,[6144,0]);else if(2048==f.length)gm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ea||a.ha)&&xb(a)}} -function ao(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=a.C.tf;if(a.C===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ca[0]=Rm[c&15];c=c&32?Tm:Sm;for(d=0;de;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.Ca[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Sc[15]?c.Sc:Um;for(e=0;16>e;e++)f=b[e]&63,k?(f|= -(c.Sc[20]&12)<<4,c.Sc[16]&128&&(f&=-49,f|=(c.Sc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.Ca[e]=[g,h,f,255]}a.qb=!0}return a.Ca}function gm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} -function Xn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){b=0;var d=a.Tb?a.Tb:8,e=ao(a);null!=a.Jb[0]&&bo(a,3,a.Jb[0],b,d,8,a.Uc,e)&&(c=!0);b=a.Tb?0:2048;d=a.Tb?a.Tb:9;null!=a.Jb[1]&&(bo(a,1,a.Jb[1],b,d,14,a.Uc,Pm,Qm)&&(c=!0),a.Tb&&bo(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,e)&&(c=!0))}return c}function bo(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(co(a,b,c,d,e,f,g,h,k)&&(m=!0),a.ro&&co(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m} -function co(a,b,c,d,e,f,g,h,k){var m=!1,n=b&1?0:1,t=a.Oa[b],q=16>h.length?h.length:16;t||(t={Pc:e<ga||!L?ga:8,Pa=Ja.createImageData(m.Pc,m.Qc);for(Da=0;256>Da;Da++){for(Ka=0;Ka=ga-2,Rc=S[Ka>(8<=Wa&&192<=Da&&223>=Da?7:Wa)?A:ab;eo(Pa,Ge,Wd,He);C&&eo(Pa,Ge+1,Wd,He)}Ja.putImageData(Pa,(Da&15)*m.Pc,(Da>>4)*m.Qc)}m.Re[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);m.Yi[F]=A;m.Zg[F]=la;m=!0}}a.Oa[b]=t;return m}function fo(a){0a.cb&&(a.cb=0):a.cb=-1} -function $n(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)go(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(go(a),a.ua=c);d=d-b+1;if(a.ng!=b||a.Ee!=d)a.ng=b,a.Ee=d;a.Ya=e+1;fo(a)}}} -function go(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&ho(a,c,d,b,a.gb),ho(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} -function io(a){var b,c=a.C;a.hf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.Zd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==hm&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.Me[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b} -function jo(a,b){var c=a.C;return c&&null!=b&&b!=c.Dg?(c.Vg(b),a.ga.Vg(c.ob,c.ac,c.nh(),!0),!0):!1} -function Zn(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= -m?13:14:480<=f&&(d=3==a.ya?17:18):d=m?7-d:6:d-=m?2:0);c=io(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ga=null,null==d&&(d=a.va);if(!Yn(a,d,b))return!1;jo(a,c);return!0} -function Yn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Wg=0;a.Ga=b;a.qb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){go(a);if(a.ob){if(!gc(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Ub(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.eg=a.L*a.W|0;a.bg=a.eg/ -a.hd|0;a.Ub=a.bg;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.$f&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),a.$f||(a.Ja=b.Pc,a.Ka=b.Qc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Pc,a.tc=a.W*b.Qc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me= -0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0>1,a.Cd-=b);0>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}ko(a,!0);un(a)}return!0}function eo(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function lo(a){a.Pa=-1;a.Ea=!1;var b=a.bg;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function ko(a,b){b||(a.qb=!1);lo(a)} -function ho(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Re[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Re[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ea.drawImage(h.Zg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.ng,g=a.Ee,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Re[d], -e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ea.fillStyle=h.Re[d],a.ea.fillRect(b,c+f,a.Ja,g)))} -function un(a,b){if(a.la.ic){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Nd&32&&(c=!0));if(c||b){if(b)lo(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Wg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.eg,h=a.ob,c=h,k=c+a.ac;19<=a.Ga&&(h=c=655360,k=c+65536);if(mo(a,d)&8||d.qf&&d.qf=a.Ga&&(m<<= -1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.Ea){b=a.ga;for(var n=!0,t=c>>>b.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;m=a.C.fd&32;5<=a.Ua&&(m=a.C.Sc[16]&8);b=a.ua-a.C.Ld;m&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(q&255)<<8;var D=e,L=16;m>=h))>>(L-=h);eo(a.sb,m++,n,b[ga])}m>A&&(A=m);n=C&&(C=n+1)}k+=2;d++;if(m>=a.L){m=0;n+=2;if(n>a.W)break;n==a.W&&(n=1,k=c+a.sd)}}a.Ea= -!0;ta.L?a.Db-a.L-q>>3:0;c>=8;b>t&&(t=b);m=F&&(F=m+1)}c+=C;if(b>=a.L){b=0;if(++m>a.W)break;c+=D}}q||(a.Ea=!0);na.L?a.Db-a.L-F>>3:0;cD&&(L=D)):(q<<=F,L-=F,a.Ea=!1):(a.Ea&&q===a.fa[d]?(h+=L,L=0):a.fa[d]=q,d++);if(L){hn&&(n=h);b=A&&(A=b+1)}if(h>=a.L){h=0;if(++b>a.W)break;c+=C}}F||(a.Ea=!0);ma&&(b.Eh=a,a=-a|0);a%b.zh>b.an&&(c|=1);a%b.Ch>b.cn&&(c|=9);b.ni=a/b.Ch|0;return c}l.um=function(a,b){return no(this,this.pa,a,b)};l.Vn=function(a,b,c){var d=this.pa;d.Qg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};l.tm=function(a,b){return oo(this,this.pa,a,b)};l.Un=function(a,b,c){po(this,this.pa,a,b,c)};l.vm=function(a,b){return qo(this,this.pa,b)};l.Wn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.fd=b;Zn(this,!1)}; -l.wm=function(a,b){return ro(this,this.pa,b)};l.Mk=function(a,b,c){this.A.ig=this.A.ig&-4|b&3;x(this,a,b,c,"FEAT")};l.Tl=function(a,b){a=this.A.Nd;b&&!z(this)||x(this,960,null,b,"ATC.INDX",a);return a};l.kl=function(a,b){a=this.A.Sc[this.A.Nd&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.$g[this.A.Nd&31],a);return a}; -l.Lk=function(a,b,c){var d=this.A,e=d.Nd&32;if(d.Ze){d.Ze=!1;var f=d.Nd&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.$g[f]),d.Sc[f]=b,ko(this,!1)}else d.Nd=b,x(this,a,b,c,"ATC.INDX"),d.Ze=!0,b&32&&!e&&Xn(this,!0)&&un(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Ld!=a&&(d.Ld=a,ko(this)),d.qf=0}; -l.Gm=function(a,b){a=0;if(5==this.Ua)a=3-((this.A.vf&12)>>2),a=(this.Vc&1<>this.A.Kc&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+u(this.A.od)+"]["+u(this.A.Kc)+"]",a);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=Ca().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= -(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||eb.aspect);f&&.3<=f&&3.33>=f&&(Va("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");La("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);sb(d,c)}}); -function so(a){this.V=a.adapter;switch(this.V){case 1:this.X=956;this.C=7;break;case 2:this.X=888;this.C=7;break;case 3:this.X=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;bb.call(this,"ParallelPort",a,so,4194304);a=a.binding;"console"==a?this.B="":rb(this,a,to)}jb(so);var to="buffer";l=so.prototype;l.Pb=function(a,b,c){switch(b){case to:return this.qa[b]=this.A=c,!0}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");qc(b,this,uo,this.X);yc(b,this,vo,this.X);xb(this)};l.hc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){wo(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Df;a.set(0,c);return a.data()};l.restore=function(a){return wo(this,a[0])}; -function wo(a,b){var c=0;b||(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Df=b[c];return!0}l.hm=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};l.Fm=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};l.dm=function(a,b){var c=this.Df;x(this,a,null,b,"CTRL",c);return c}; -l.Hn=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;a=!1;y(this,"transmitByte("+u(b)+")");this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Yb&=-65);xo(this)};l.Cn=function(a,b,c){x(this,a,b,c,"CTRL");this.Df=b;xo(this)}; -function xo(a){a.N&&a.C&&(a.Df&16&&!(a.Yb&64)?mg(a.N,a.C):lg(a.N,a.C))}var uo={0:so.prototype.hm,1:so.prototype.Fm,2:so.prototype.dm},vo={0:so.prototype.Hn,2:so.prototype.Cn};Xa(function(){for(var a=tb(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=qa(b[0]);if(c!=this.xd)return;b=qa(b[1]);if(this.ia=ob(b)){var d=this.ia.exports;if(d){var e=d.connect;e&&e.call(this.ia);if(this.ra=d.receiveData){this.status(this.ce+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}}; -l.hc=function(a,b){if(!b)if(this.zj(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.gc=function(a){return a?this.save():!0};l.reset=function(){Co(this)};l.save=function(){var a=new qf(this),b=0,c=[];c[b++]=this.va;c[b++]=this.Da;c[b++]=this.fa;c[b++]=this.pa;c[b++]=this.U;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.Ca;c[b]=this.aa;a.set(0,c);return a.data()};l.restore=function(a){return Co(this,a[0])}; -function Co(a,b){var c=0;b||(b=[0,0,384,0,1,0,0,96,48,[]]);a.va=b[c++];a.Da=b[c++];a.fa=b[c++];a.pa=b[c++];a.U=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.Ca=b[c++];a.aa=b[c];return!0}l.hg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.pa;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};l.pm=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c}; -l.qm=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};l.sm=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};l.rm=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};l.xm=function(a,b){var c=this.Ca;x(this,a,null,b,"MSR",c);return c}; -l.eo=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.fa=this.fa&-256|b;else{this.Da=b;this.A&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ra&&this.ra.call(this.ia,b)&&(a=!0);if(this.L)13==b?this.ea=0:8==b?(this.L.value=this.L.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Ea&&!this.ea&&c&&(a=String.fromCharCode(this.Ea)+a),this.L.value+=a,this.L.scrollTop= -this.L.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.A|=96)}};l.Rn=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.fa=this.fa&255|b<<8:this.pa=b};l.Sn=function(a,b,c){x(this,a,b,c,"LCR");this.B=b}; -l.Tn=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(a.N.hg([77,77]),y(a,"serial mouse ID sent")),Eo(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Fo(a),a.Hc=c),a.C=b)}; -var Ao={0:yo.prototype.Cm,1:yo.prototype.om,2:yo.prototype.pm,3:yo.prototype.qm,4:yo.prototype.sm,5:yo.prototype.rm,6:yo.prototype.xm},Bo={0:yo.prototype.eo,1:yo.prototype.Rn,3:yo.prototype.Sn,4:yo.prototype.Tn};Xa(function(){for(var a=tb(document,"pcx86","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.fa?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Kf(c,d,a.L,a.V)}} -l.he=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case wn:if(this.aa!=b){this.aa=b;Ko(this,c);return}break;case 2:if(this.ea!=b){this.ea=b;Ko(this,c);return}}y(this,c+": ignored")}};l.Kf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,Ko(this,null,c,d))}; -function Ko(a,b,c,d){var e=64|(a.aa?32:0)|(a.ea?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+u(e)+","+u(f)+","+u(g)+"]",0,!0);a.N.hg([e,f,g]);a.U=a.W=0}Xa(function(){for(var a=tb(document,"pcx86","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return cp(a.za,f,e,c);for(e=d=0;c--;)d|=ap(a,b++,1)<=e.oi&&a<=e.Ik){d=a-=e.oi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.kg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ka(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=hp(this,b),this.yg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ma(b, -"/")&&(c="dir"),f=Ba()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.cf?"":d)+"&format=json"));return!!Aa(f,null,!0,function(a,b,c){ip(g,a,b,c)})}; -function ip(a,b,c,d){var e=null;a.ff=!1;var f=0>d&&a.X&&!a.X.la.ic;if(a.yg)d?a.controller.Na('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,jp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ga+'" (error '+d+": "+b+")",f);else{mb(a.controller.ce,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var t=k.data;if(void 0===t){var q=k.bytes;if(void 0!==q&&q.length){for(var A= -m<<2,F=q.length;Fb;b++){if(128==cp(a,e,c+0,1)){d.cg=cp(a,e,c+8,4);(e=bp(a,d.cg))&&(f=!0);break}c+=16}if(!f)return}d.Jf||(d.Jf=cp(a,e,19,2)||cp(a,e,32,4),d.If=cp(a,e,14,2),d.th=d.If+cp(a,e,22,2)*cp(a,e,16,1),d.Dh=cp(a,e,17,2),d.Mf=cp(a,e,13,1));d.rh=d.th+((32*d.Dh+(d.Va-1))/d.Va|0);d.$m=(d.Jf-d.rh)/d.Mf|0;d.Gg=4084>=d.$m?12:16;d.Gl=12==d.Gg?4086:65526;b=[];for(e=d.th;e>=8;f+=2;if(k)for(;m--;)ap(d,f,1),254>=k?(n=k,t=ap(d,f+1),f+=3):(n=ap(d,f+3,1),t=ap(d,f+4),f+=6),d.yd[n]&&(d.yd[n].we[h]=[t]),d.A[h]=[n,t],h++;else h+=m}(g=dp(e,Yo,c))&&ep(e,g+c);g=dp(e,Zo,c);h=dp(e,Wo,c);g&&h&&ep(e,g,g+h)}}}} -function mp(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.No=d+"\\";for(var k=0;kF)break;for(var C=q.rh+(F-2)*q.Mf,D=0;D>3,1),d?e=16==b.Gg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} -function bp(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function gp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Hl=b;a.Il=c;a.ud=a.Zc=0;a.Wa=!1;return a} -function hp(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;b+="&machine="+a.controller.gf();b+="&user="+a.controller.ie();return Ba()+"/api/v1/disk?"+b} -function op(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.gf());h+="&user="+a.controller.ie();Aa(Ba()+"/api/v1/disk?"+h,null,f,function(h,m,n){h=[b,c,d,e,f,g];var k=!1,q=h[0],A=h[1],F=h[2],C=h[3];if(!n){m=JSON.parse(m);for(k=0;C--;){var D=a.seek(q,A,F,!0);if(!D)break;kp(D,m,k);k+=D.length;F++}k=h[4]}(h=h[5])&&h(n,k)})}else g&&g(-1,!1)} -function pp(a,b,c,d,e,f,g){if(a.N){var h={};a.fa=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.gf();h.user=a.controller.ie();h.data=JSON.stringify(f);Aa(Ba()+"/api/v1/disk",h,g,function(f,h,n){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],A=k[3],k=k[4];a.fa=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}l.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; -l.write=function(a,b,c){if(this.ff)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.ud+a.Zc&&(a.Zc+=f-(a.ud+a.Zc)+1):(a.ud=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.ff){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ga+": "+c):jp(this);return b}; -l.toJSON=function(){var a;a=0;for(var b;b=bp(this,a++);)up(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function up(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function vp(a){bb.call(this,"FDC",a,vp,524288);this.dmaRead=this.el;this.dmaWrite=this.fl;this.dmaFormat=this.vl;this.U=a.autoMount||null;this.fa=a.sortBy||"name";"none"==this.fa&&(this.fa=null);this.B=[];this.ia=!La("Mobi")&&window&&"FileReader"in window}jb(vp);aa={}; -var wp={3:{Ud:3,ge:0,name:aa.Go},4:{Ud:2,ge:1,name:aa.Eo},5:{Ud:9,ge:7,name:aa.Ko},6:{Ud:9,ge:7,name:aa.Ao},7:{Ud:2,ge:0,name:aa.Co},8:{Ud:1,ge:2,name:aa.Fo},10:{Ud:2,ge:7,name:aa.Bo},13:{Ud:6,ge:7,name:aa.xo},15:{Ud:3,ge:0,name:aa.Do}};l=vp.prototype; -l.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.fa){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&xp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&yp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&& -((a=d.A[ea(a.value,10)||0])?(a=a.za)?(a=Na(tp(a),"octet-stream",!0,a.Ug.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(this.ia)return this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;yp(d,ja(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -l.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Yc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}zp(this);qc(b,this,Ap);yc(b,this,Bp);Cp(this,"None","",!0);this.ia&&Cp(this,"Local Disk","?");Cp(this,"Remote Disk","??");Dp(this)||xb(this)}; -l.hc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.lh){this.B=[];for(a=0;ag.za.restore(A)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Qb,g.kb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.jc=b[c]||0;return e} -function Fp(a){var b=0,c=[];c[b++]=a.hb;c[b++]=0;c[b++]=a.ma;c[b++]=a.V;c[b++]=a.L;c[b++]=a.C;c[b++]=a.aa;for(var d=b++,e=0,f=[],g=0;gGp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;ha.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.Tk=c,a.Oe=d,Hp(this,c,d,b),f=b.info(),this.W|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ce||e),a.Fg=f[0],a.Rf=f[1],a.Sf=f[2],this.X&&this.X.wd()):a.bf=!1;a.Ce&&(a.Ce=!1,--this.ea||xb(this));xp(this,a.hb)}; -function Cp(a,b,c,d){if((a=a.qa.listDisks)&&a.options){for(var e=0;e=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; -l.Jn=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=wp[a].Ud){b=!1;this.L=0;a=Jp(this);var d,e,f,g,h=a&31;switch(h){case 3:Jp(this);Jp(this);Kp(this);break;case 4:c=Jp(this);this.hb=c&3;d=this.A[this.hb];Kp(this);Lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Qb=Jp(this);e=Jp(this);f=d.xb=Jp(this);g=Jp(this);d.Hb=128<>2&1;this.hb=c&3;d= -this.A[this.hb];c=d.Qb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Qb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Jp(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Qb;e=d.kb=b;f=1;g=Jp(this);d.Hb=128<>2&1,c=Jp(this),d.Qb+=c-d.ee,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.ee=c,d.Cb=32,d.Qb||(d.Cb|=268435456),Kp(this),b=!0}0>>8);Lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Lp(a,e+k);Lp(a,f);Lp(a,g);Lp(a,h)}function Jp(a){var b=a.V[a.L];a.L++;return b}function Kp(a){a.L=a.C=0}function Lp(a,b){a.V[a.C++]=b}l.el=function(a,b,c){void 0===b||0>b?this.Le(a,c):c(-1,!1)};l.fl=function(a,b){return void 0!==b&&0<=b?Np(a,b):-1}; -l.vl=function(a,b){if(void 0!==b&&0<=b)a:if(a.Cb)a=-1;else{a.ld[a.We++]=b;if(a.We==a.ld.length){a.Qb=a.ld[0];a.kb=a.ld[1];a.xb=a.ld[2];a.Hb=128<Np(a,a.cj)){a=-1;break a}a.tg++}a.tg>=a.fe&&(b=-1);a=b}else a=-1;return a};l.Le=function(a,b){var c=-1,d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(c=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Op(a)}while(1)}b(c,!1,d,e)}; -function Np(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Qb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Op(a)}while(1);return b}function Op(a){a.xb++;a.xb>=a.Sf+1&&(a.xb=1,a.kb++,a.kb>=a.Rf&&(a.kb=0,a.Qb++))}var Ap={1009:vp.prototype.jm,1012:vp.prototype.lm,1013:vp.prototype.im,1015:vp.prototype.km},Bp={1010:vp.prototype.Kn,1013:vp.prototype.Jn,1015:vp.prototype.In}; -Xa(function(){for(var a=tb(document,"pcx86","fdc"),b=0;bk.za.restore(g)&&(A=!1),A&&void 0!==k.eb&&(k.pb=k.za.seek(k.be,k.kb,k.xb+k.sg)));A||(e=!1);null!=a.pa&& -1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e} -function Yp(a){var b=0,c=[];a.ia?(c[b++]=a.W,c[b++]=a.Pa,c[b++]=a.aa,c[b++]=a.Ca,c[b++]=a.ya,c[b++]=a.va,c[b++]=a.ra,c[b++]=a.ma,c[b++]=a.Da,c[b++]=[a.fa,a.hb]):(c[b++]=a.pa,c[b++]=a.ma,c[b++]=a.V,c[b++]=a.L,c[b++]=a.C,c[b++]=a.Oa,c[b++]=a.Ka,c[b++]=a.Ja,c[b++]=a.ka);for(var d=0,e=[],f=0;f=this.C&&(this.L=this.C=0,this.ma&=-15);return c};l.ho=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,$p(this))};l.Mm=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,a.Le(a.B,function(b){0<=b?(bq(a),a.N&&5180==a.N.ja&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}l.il=function(a,b){return aq(this,a,b)|aq(this,a,b)<<8}; -function cq(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>dq(a.B,c))a.ma=1,a.W=16;else if(1==a.B.eb||a.B.eb==a.B.Va)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}l.qn=function(a,b,c){cq(this,a,b&255,c);cq(this,a,b>>8&255,c)};l.Sl=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};l.vn=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};l.Ul=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; -l.tn=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};l.Vl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};l.un=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};l.Ql=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};l.pn=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};l.Pl=function(a,b){var c=this.va;x(this,a,null,b,"CYLHI",c);return c};l.on=function(a,b,c){x(this,a,b,c,"CYLHI");this.va=b};l.Rl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; -l.rn=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};l.Wl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};l.nn=function(a,b,c){x(this,a,b,c,"COMMAND");this.Da=b;this.N&&lg(this.N,14);eq(this)};l.sn=function(a,b,c){x(this,a,b,c,"FDR");this.fa&4&&!(b&4)&&(this.W=1);this.fa=b}; -function eq(a){var b=!1,c=a.Da,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.va&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.be=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;a.Le(k,function(b){0<=b&&a.N?(bq(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&bq(a)} -function bq(a){!a.N||a.fa&2||mg(a.N,14,120)} -function $p(a){a.L=0;var b=fq(a),c=fq(a),d=c&32,e=d>>5,f=c&31,g=fq(a),h=fq(a),k=g<<2&768|h,m=g&63,n=fq(a),t=fq(a),q=a.A[e];q&&(q.be=k,q.kb=f,q.xb=m,q.Hb=n*q.Va);switch(b){case 3:gq(a,q?q.errorCode:4);hq(a,c);hq(a,g);hq(a,h);hq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=fq(a));)q&&cb?this.Le(a,c):c(-1,!1)};l.hl=function(a,b){return void 0!==b&&0<=b?dq(a,b):-1}; -l.wl=function(a,b){void 0!==b&&0<=b?(a.ebdq(a,a.cj)){a=-1;break a}a.tg++}a.tg>=a.fe&&(b=-1);a=b}else a=-1;return a}; -function iq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaRead",b);ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function jq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;Cl(a.N,3,a,"dmaWrite",b);ul(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} -function kq(a,b,c){b.errorCode=4;b.Ue&&b.Ue.length==b.Hb||(b.Ue=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,Cl(a.N,3,a,"dmaWriteBuffer",b),ul(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} -l.Le=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.be,a.kb,a.xb+a.sg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,lq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}; -function dq(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.be,a.kb,a.xb+a.sg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;lq(a)}while(1);return b}function lq(a){a.xb++;var b=1-a.sg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.be++))}l.Nm=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1}; -var Tp={800:Pp.prototype.Lm,801:Pp.prototype.Mm,802:Pp.prototype.Km},Sp={496:Pp.prototype.il,497:Pp.prototype.Sl,498:Pp.prototype.Ul,499:Pp.prototype.Vl,500:Pp.prototype.Ql,501:Pp.prototype.Pl,502:Pp.prototype.Rl,503:Pp.prototype.Wl},Vp={800:Pp.prototype.ho,801:Pp.prototype.ko,802:Pp.prototype.jo,803:Pp.prototype.io,807:Pp.prototype.pi,811:Pp.prototype.pi,815:Pp.prototype.pi},Up={496:Pp.prototype.qn,497:Pp.prototype.vn,498:Pp.prototype.tn,499:Pp.prototype.un,500:Pp.prototype.pn,501:Pp.prototype.on, -502:Pp.prototype.rn,503:Pp.prototype.nn,1014:Pp.prototype.sn};Xa(function(){for(var a=tb(document,"pcx86","hdc"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};mq.prototype.oh=function(){return-1};mq.prototype.ph=function(){}; -mq.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};mq.prototype.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.va?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function oq(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function pq(a,b,c){var d;if(b){b=qq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);ec&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function uq(a,b){if(b)return sq(a,b,a.ya[b]);var c=0;for(b in a.ya)sq(a,b,a.ya[b]),c++;return 0>2;this.Ba=b.Eg;this.bc=new kd(this.F,7,"DBG");this.Ga=Mq;80186<=this.F.ja&&(this.Ga=Mq.slice(),this.Ga[15]=Kq,80286<=this.F.ja&&(this.Ga[15]=Lq,80386<=this.F.ja&&(this.Ja=8)));Qk(this,64,function(a){Qq(d,d.F.kd,a[0])});Qk(this,4,function(a){if(a=a[0]){var b=rq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Rq(d, -b,2),d.O("dumpSel("+v(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Da)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=Sq[a.type];e&&(c=e[0],b=e[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+v(a.Aa&65535)+" off="+v(a.Ta):"base="+r(a.Aa,d.Da)+" limit="+Tq(a.Ta))+" type="+u(a.type>>8)+" ("+c+") ext="+v(a.ext&-65296)+ -" dpl="+u(a.Gc))}}else d.O("no selector")});Qk(this,134217728,function(a){var b;(a=a[0])&&(b=rq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+v(b)+")");b;){a=wq(d,0,b);var c=d.Qa(a,1),e=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Uq(0,b)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+v(k)+' "'+Vq(d,a,8)+'"');b+=1+k}});Qk(this,128,function(a){Qq(d,d.F.sa,a[0],d.F.sa!==d.F.kd)});Qk(this,8,function(a){a:{if(a=a[0]){var b=rq(d,a);if(void 0===b){d.O("invalid task selector: "+a); -break a}a=Rq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+v(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Da));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?Wq:Xq,m,n,t,q;for(q in k)m=k[q],n=a.Aa+m,t=Qf(d.F,n,2),2304==c&&(t|=Qf(d.F,n+2,2)<<16),b&&(b+="\n"),b+=v(m)+" "+pa(q+":",11)+r(t,e);if(2304==c)for(q=0,m=t>>>16;mq;)n=a.Aa+m,t=Qf(d.F,n,2),b+="\n"+v(m)+" ports "+v(q)+"-"+v(q+15)+": "+ha(t,2),q+=16,m+=2;d.O(b)}}});this.L=null;this.sb=0;this.fb=!1;lf(this.F,48,this.Qm.bind(this));lf(this.F,65,this.Rm.bind(this)); -this.ka=null;lf(this.F,104,this.Sm.bind(this));xb(this)};function Yq(a,b,c,d,e,f){b=Vq(a,b);var g=Rq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Zq(a,b,c);e[b+h]=0;fm(a,b,c,d,0,null,g,e)} -function $q(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=wq(a,a.oa(b,4),a.na(b,2));b=wq(a,a.oa(b,4),a.na(b,2));b=Vq(a,b).toUpperCase();var k=Vq(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Zq(a,k,e);c[k+m]=g;fm(a,k,e,f,g,null,h,c)}function ar(a,b,c){c=Vq(a,c).toUpperCase();br(a,c,b)} -l.Qm=function(){var a=this.F;if(null!=this.L&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=wq(this,J(a)+12,a.ta.Z);switch(this.oa(d)){case 336:$q(this,wq(this,a.H,b),!c,!!this.L)}}return!0}; -l.Rm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.L)return 79==c&&mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.L=!0):(y(a,"INT 0x41 monitoring enabled",128),a.L=!1)}}(this)),!0;switch(c){case 79:this.L&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Yq(this,wq(this,h,k),d+1,e,!(g&1),!!this.L);break;case 82:br(this,null,d); -break;case 127:this.L&&(b.G=b.G&-65536|(this.fb?0:1));break;case 131:this.L&&(a=wq(this,b.M,e),this.sb++?(this.O("TRAPFAULT failed"),cr(this,this.B,a,!0,!0),this.sb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+v(d)+" error="+r(b.K,8,!0)+" addr="+dr(a)),this.Rd(this.B,a,!0),yq(this,!0)));break;case 141:this.L&&(b.G=b.G&-65536|1);break;case 336:$q(this,wq(this,b.H,f),!g,!!this.L);break;case 338:ar(this,d,wq(this,b.J,f))}this.fb=!1;return!this.L}; -l.Sm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.wa.Z<<4)+10)||1111835735==b.oa((b.wa.Z<<4)+95))return!0;mf(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.L=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=md(b.wa,this.rl.bind(this)))&& -(b.J=a[0],Bd(b,a[1]));break;case 72:br(this,null,e);break;case 80:32==c?Yq(this,wq(this,h,k),0,f,!0,!!this.ka):128>c?Yq(this,wq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):$q(this,wq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};l.rl=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; -l.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Aq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;ld(a,!0,!0,!1)}}return a}l.cc=function(a,b,c){var d=a&&a.Fa;if(null==d&&(d=-1,a)){var e=Rq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.bd&&(b>>>0)+c>e.Zb||!e.bd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Fa=d)}return d};l.Qa=function(a,b){var c=255,d=this.cc(a,!1,1);-1!==d&&(c=Qf(this.F,d,1,5==a.type)|0,b&&fr(this,a,b));return c}; -l.tb=function(a,b){return a.Rb?this.oa(a,b?4:0):this.na(a,b?2:0)};l.na=function(a,b){var c=65535,d=this.cc(a,!1,2);-1!==d&&(c=Qf(this.F,d,2,5==a.type),b&&fr(this,a,b));return c};l.oa=function(a,b){var c=-1,d=this.cc(a,!1,4);-1!==d&&(c=Qf(this.F,d,4,5==a.type),b&&fr(this,a,b));return c};l.qc=function(a,b,c,d){var e=this.cc(a,!0,1);if(-1!==e){if(5!=a.type)this.F.qc(e,b);else{var f=this.ga;f.sa[(e&f.Gb)>>>f.La].xf(e&f.A,b&255,e)}c&&fr(this,a,c);d||ad(this.F,!0)}}; -l.jb=function(a,b,c){var d=this.cc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):nc(this.ga,d,b),c&&fr(this,a,c),ad(this.F,!0))};function wq(a,b,c,d,e,f,g){return gr(a,{},b,c,d,e,f,g)}function gr(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Fa=e;b.type=f||(er(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.wa.ba;b.oc=null!=h?h:a.F&&4==a.F.wa.Tc;b.Vd=!1;return b}function hr(a){return[a.Ra,a.Z,a.Fa,a.Vd,a.Rb,a.oc,a.Ve,a.jh]}function ir(a){return{Ra:a[0],Z:a[1],Fa:a[2],Vd:a[3],Rb:a[4],oc:a[5],Ve:a[6],jh:a[7]}} -function jr(a,b,c){if(null!=b.Z&&(a=Rq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.bd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=pq(a,b,void 0),f=null):(f=pq(a,b,void 0),null==f&&(g=null)):(h=pq(a,b.substring(0,f),void 0),g=pq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=wq(a,g,h,f,c),d||jr(a,e,!0)||(a.O("invalid offset: "+dr(e)),e=null));return e}function lr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ll=a.Ng(b.Sk=c[2]))}l.Pk=function(a,b){var c=kr(this,b);return a.replace("["+b+"]",c?r(this.tb(c),c.Rb?8:4):"undefined")}; -function fr(a,b,c){c=c||1;null!=b.Fa&&(b.Fa+=c);null!=b.Z&&(b.Ra+=c,jr(a,b)||(b.Ra=0,b.Fa=null))}function Uq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function dr(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Fa):b+Uq(a.Ra,a.Z,a.oc)} -function Vq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Nc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Yb[c],6==c&&(d=d.Bd,h+=" -> "+Yb[d.type]),d&&a.O(r(d.id,8)+" %"+r(f<c&&(c=ya(Iq,a.substr(b,2))));return c}; -function nr(a,b){var c=0,d=a.ph(b);if(null!=d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} -l.ph=function(a){var b;if(0<=a){var c=this.F;switch(a){case 0:b=c.G&255;break;case 1:b=c.I&255;break;case 2:b=c.M&255;break;case 3:b=c.H&255;break;case 4:b=c.G>>8&255;break;case 5:b=c.I>>8&255;break;case 6:b=c.M>>8&255;break;case 7:b=c.H>>8&255;break;case 8:b=c.G&65535;break;case 9:b=c.I&65535;break;case 10:b=c.M&65535;break;case 11:b=c.H&65535;break;case 12:b=J(c)&65535;break;case 13:b=c.P&65535;break;case 14:b=c.K&65535;break;case 15:b=c.J&65535;break;case 22:b=M(c)&65535;break;case 23:b=Cd(c); -break;case 16:b=c.Xa.Z;break;case 17:b=c.wa.Z;break;case 18:b=c.ta.Z;break;case 19:b=c.vb.Z;break;default:if(80286==this.F.ja)32==a&&(b=c.$a);else if(80386<=this.F.ja)switch(a){case 24:b=c.G;break;case 25:b=c.I;break;case 26:b=c.M;break;case 27:b=c.H;break;case 28:b=J(c);break;case 29:b=c.P;break;case 30:b=c.K;break;case 31:b=c.J;break;case 32:b=c.$a;break;case 33:b=c.ti;break;case 34:b=c.se;break;case 35:b=c.Od;break;case 20:b=c.Nb.Z;break;case 21:b=c.Ob.Z;break;case 56:b=M(c)}}}return b}; -function or(a,b){b=qq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.oh(b,c+1),0<=e&&(b=b.substr(0,c)+nr(a,e)+b.substr(c+1+Iq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ea(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=kr(a,e))?(d=e+' "'+Vq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=kr(a,e))?(fr(a,d),d= -e+' "'+Vq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+dr(wq(this,M(this.F),this.F.wa.Z))+" (%"+r(this.F.Ha)+")");this.Pa&&a==this.Pa||(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F&&(a=this.F,a.fb-=a.A,a.A=0,a.Y.mf=0,ad(a)))}; -function pk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Cq.indexOf(b),!d)){var g=Bq[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Db[b])&&g[e]||"")&&(g=" "+or(a,g)),a.message("INT "+u(b)+": AH="+u(e)+" at "+Uq(c-2-a.F.wa.Aa,a.F.wa.Z)+g));return d} -function ub(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.wa.Z,e-=a.F.wa.Aa),a.message(b.xd+"."+(null!=d?"outPort":"inPort")+"("+v(c)+","+(f?f:"unknown")+(null!=d?","+u(d):"")+")"+(null!=g?": "+u(g):"")+(null!=e?" at "+Uq(e,h):""))}l.qh=function(){this.O("Type ? for help with PCx86 Debugger commands");this.pd();if(this.qb){var a=this.qb;this.qb=null;Aq(this,a)}}; -function yq(a,b){var c;if(ag(a)){if(!a.ia||!a.ia.length){a.ia=Array(1E3);for(c=0;c>>f.La].Rd(e&f.Ea,a==this.fa);g&&Xb(f)}}d&&(a.push(b),c?(null!=b.Fa&&(b.Z=null),b.Vd=!0):(ur(this,a,a.length-1,"set"),yq(this)));return d}; -function cr(a,b,c,d,e){for(var f=!1,g=vr(a,a.cc(c)),h=1;h>3&7,A=(3>(g>>6&3)?0:48)+q;(217==f||219==f)&&52<=A&&(A=q<<4|g&7);(q=Oq[f])&&(t=q[A]);t&&(n=Fq,k=t,m=k[0])}m>=n.length&&(g=a.Qa(b,1),k=Pq[m-n.length][g>>3&7],m=k[0]);n=n[m];q=k.length-1;t="";b.Rb&&(18==m? -n="CWDE":28==m?n="CDQ":104<=m&&107>=m&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)q=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=-1,A=!0,F=1;F<=q;F++){var C,D;C="";D=k[F];if(void 0!==D){0>f&&(f=D>>14);80==m&&(2==f?t="[%800]":3==f&&(t="ES:["+(b.oc?"E":"")+"DI]"));var L=D&15;if(L)if(8==L)A=!1;else{var G=D&240;if(128<=G)if(0>g&&(g=a.Qa(b,1)),160>G){G=a;C=D;var ga=q;D=b;var S="",ab=g>>6,la=g&7;if(3>ab){L=!n.indexOf("FI");if(!ab&&(!D.oc&&6==la||D.oc&&5==la))ab=2;else{if(D.oc)if(4!=la)la+= -8;else{var S=G,Ja=ab,Da=D,Wa=S.Qa(Da,1),Ka=Wa>>6,Vb=Wa>>3&7,Wa=Wa&7,Pa="";if(Ja||5!=Wa)Pa=Jq[Wa+8];4!=Vb&&(Pa&&(Pa+="+"),Pa+=Jq[Vb+8],Ka&&(Pa+="*"+(1<>24),2)):S+("+"+r(G,2))):2==ab&&(S&&(S+="+"),D.oc?(G=G.oa(D,4),S+=r(G)):(G=G.na(D,2),S+=r(G,4)));S="["+S+"]";if(1==ga){G="";C&=15;4==C&&(C=D.Rb?5:3);switch(C){case 7:G="FAR";break;case 1:G="BYTE";break;case 3:if(L){G="INT16";break}G="WORD"; -break;case 5:G="DWORD";break;case 11:if(L){G="INT32";break}case 11:G="REAL32";break;case 12:if(L){G="INT64";break}case 12:G="REAL64";break;case 13:G="REAL80";break;case 14:G="BCD80"}G&&(S=G+" "+S)}}else S=zr(G,la,C,D);C=S}else C=160==G?zr(a,g&7,D,b):zr(a,g>>3&7,D,b);else if(16==G)C="1";else if(G)32==G?(b.oc?(C=8,D=a.oa(b,4)):(C=4,D=a.na(b,2)),C="["+r(D,C)+"]"):48==G?(C=1==L?a.Qa(b,1)<<24>>24:a.tb(b,!0),D=b.Ra+C&(b.Rb?-1:65535),C=r(D,b.Rb?8:4),D=Ar(a,wq(a,D,b.Z)),D[0]&&(C+=" ("+D[0]+")")):96==G?C= -9==L?"ST":10==L?"ST("+(g&7)+")":zr(a,(D&3840)>>8,D,b):112==G?C=zr(a,(D&3840)>>8,192,b):64==G?C="DS:[SI]":80==G&&(C="ES:[DI]");else{C=a;L=D;G=b;D=" ";switch(L&15){case 1:L&12288&&(D=r(C.Qa(G,1),2));break;case 2:D=r(C.Qa(G,1)<<24>>24,G.Rb?8:4);break;case 4:if(G.Rb){D=r(C.oa(G,4));break}case 3:D=r(C.na(G,2),4);break;case 7:G=wq(C,C.tb(G,!0),C.na(G,2),null,G.type,G.Rb,G.oc);D=dr(G);C=Ar(C,G);C[0]&&(D+=" ("+C[0]+")");break;default:D="imm("+v(L)+")"}C=D}if(!C||!C.length){t="INVALID";break}0a.F.ja)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return Iq[b]} -function Cr(a,b){switch(b){case "V":a=Cf(a.F);break;case "D":a=a.F.ca&1024;break;case "I":a=a.F.ca&512;break;case "T":a=a.F.ca&256;break;case "S":a=Bf(a.F);break;case "Z":a=Af(a.F);break;case "A":a=zf(a.F);break;case "P":a=yf(a.F);break;case "C":a=xf(a.F);break;default:a=0}return b+(a?"1":"0")+" "}function Tq(a){return r(a,a&-65536?8:4)}function Dr(a,b){8<=b&&15>=b&&4a.F.ja&&(d="\n"+d,c+=e,e="");c+="\n"+Er(a,a.F.wa,b)+" ";80386<=a.F.ja&&(e+="\n",c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+"\n");c+=Fr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+Fr(a,"GD",null,a.F.Ec,a.F.zd)+" "+Fr(a,"ID", -null,a.F.Mc,a.F.Sd)+" ";c=c+(d+" "+e)+Dr(a,32);80386<=a.F.ja&&(c+=Dr(a,34)+Dr(a,35))}else 80386<=a.F.ja&&(c+=Er(a,a.F.Nb,b)+" "+Er(a,a.F.Ob,b)+" ");return c+=Dr(a,23)+Cr(a,"V")+Cr(a,"D")+Cr(a,"I")+Cr(a,"T")+Cr(a,"S")+Cr(a,"Z")+Cr(a,"A")+Cr(a,"P")+Cr(a,"C")}l.lj=function(a,b){return a[0]>b[0]?1:a[0]>>0,n],C=sa(A,q,a.lj);0>C&&A.splice(-(C+1),0,q)}F&&(t.a=F.replace(/''/g,'"'))}a.N.push({kg:b,dn:c,Z:d,Ra:e,Fa:f,Vm:g,Qd:h,Xi:m})} -function br(a,b,c){for(var d=0;d>>0,f=a.cc(b)>>>0,g=0;g>>0,n=h.Fa;null!=n&&(n>>>=0);var t=h.Vm;48==k&&(k=40);if(k==b.Z&&e>=m&&e=n&&fc?(a.O("out of data at address "+dr(b)),n=!0):(a.qc(b,c,1,!0),m++)})})(a,g);ad(a.F, -!0);a.O(m+" bytes read at "+b)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} -function qr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1f;f++){var g=c,e=null;if(f=a.Ja&&(h=null);switch(h){case "AL":a.F.G=a.F.G& --256|g&255;break;case "AH":a.F.G=a.F.G&-65281|g<<8&255;break;case "AX":a.F.G=a.F.G&-65536|g&65535;break;case "BL":a.F.H=a.F.H&-256|g&255;break;case "BH":a.F.H=a.F.H&-65281|g<<8&255;break;case "BX":a.F.H=a.F.H&-65536|g&65535;break;case "CL":a.F.I=a.F.I&-256|g&255;break;case "CH":a.F.I=a.F.I&-65281|g<<8&255;break;case "CX":a.F.I=a.F.I&-65536|g&65535;break;case "DL":a.F.M=a.F.M&-256|g&255;break;case "DH":a.F.M=a.F.M&-65281|g<<8&255;break;case "DX":a.F.M=a.F.M&-65536|g&65535;break;case "SP":I(a.F,J(a.F)& --65536|g&65535);break;case "BP":a.F.P=a.F.P&-65536|g&65535;break;case "SI":a.F.K=a.F.K&-65536|g&65535;break;case "DI":a.F.J=a.F.J&-65536|g&65535;break;case "DS":Ad(a.F,g);break;case "ES":Bd(a.F,g);break;case "SS":ud(a.F,g);break;case "CS":sf(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "IP":case "EIP":O(a.F,g);a.aa=wq(a,M(a.F),a.F.wa.Z);break;case "PC":case "PS":Dd(a.F,g);break;case "C":g?Ef(a.F):Ff(a.F);break;case "P":g?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&=-3,e.ca&=-5);break;case "A":g? -Mf(a.F):Kf(a.F);break;case "Z":g?Nf(a.F):Lf(a.F);break;case "S":g?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":g?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":g?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":g?Gf(a.F):Hf(a.F);break;default:var k=!0;if(80286<=a.F.ja)switch(k=!1,h){case "MS":Of(a.F,g);break;case "TR":-1===a.F.Sa.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.F.ja)switch(k=!1,h){case "EAX":a.F.G=g;break;case "EBX":a.F.H=g;break; -case "ECX":a.F.I=g;break;case "EDX":a.F.M=g;break;case "ESP":I(a.F,g);break;case "EBP":a.F.P=g;break;case "ESI":a.F.K=g;break;case "EDI":a.F.J=g;break;case "FS":a.F.Nb.load(g);break;case "GS":a.F.Ob.load(g);break;case "CR0":a.F.$a=g;uj.call(a.F,g);break;case "CR2":a.F.se=g;break;case "CR3":a.F.Od=g;Fd.call(a.F,g);break;default:k=!0}}if(k){a.O("unknown register: "+e);return}}if(!f){a.O("invalid value: "+b);return}ad(a.F);a.O("updated registers:")}}a.O(Gr(a,d));c&&(a.aa=wq(a,M(a.F),a.F.wa.Z),rr(a,dr(a.aa)))}} -function Nr(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(or(a,c[2])):pq(a,b,!0)}function Or(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.O(m)}h[3]&&(g=h[3],f=null);f=yr(a,b,g,f);b.jh||d||d++;a.O(f);a.aa=b;e-=b.Fa-k;c++}}} -l.Ng=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(qa(a.substring(d,f))),d=f+1}}return b}; -function xr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.va&&(a.O("ended assemble at "+dr(a.ua)),a.aa=a.ua,a.va=!1),b="";else if(!c){var e=">> ";a.F.$a&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(yb(a)&&0n||"z">>20;za.$i=a.F.Od+za.Jk;za.yb=ae.sa[(za.$i&ae.Gb)>>>ae.La];za.Aj=za.yb.Md(za.Jk);za.Kk=(Re&4190208)>>>10;za.aj=(za.Aj&-4096)+za.Kk;za.zb=ae.sa[(za.aj&ae.Gb)>>>ae.La];za.Bj=za.zb.Md(za.Kk);za.nl=(za.Bj&-4096)+(Re&4095)}if($d=za){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Re),od=od+(" %%"+mr($d.$i,$d.Aj)),od=od+(" %%"+mr($d.aj,$d.Bj,!0)), -od=od+(" %%"+r($d.nl));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==la){if("disk"==Ja){S[0]="l";S[1]="json";Mr(a,S);break a}for(ab in Eb)if(S[1]==ab){var yn=a.cb[ab];yn?(S.shift(),S.shift(),yn(S)):a.O("no dump registered for "+Ja);break a}Ja||(la=a.Cc||"db")}else a.Cc=la;if("dh"==la){var zn=Ja,An=Da,Bn="",Cn=0,Zb=a.Ea,sc=a.ia;if(sc.length){var Lb=+zn||a.Ub,Se=+An||10;isNaN(Lb)?Lb=Se:Bn="more ";Lb>sc.length&&(a.O("note: only "+sc.length+" available"),Lb=sc.length); -Zb-=Lb;0>Zb&&(null==sc[sc.length-1].Z?(Lb=Zb+Lb,Zb=0):Zb+=sc.length);var ii=[];"call"==An&&(Se=1E5,ii=["CALL"]);for(void 0!==zn&&a.O(Lb+" instructions earlier:");0=sc.length&&(Zb=0);a.Ub=Lb;Cn++;Se--}}Cn||(a.O("no "+Bn+"history available"),a.Ub=void 0)}else if("di"==la){S.shift(); -var ji=S[0];if(ji){var Ue=rq(a,ji);if(void 0===Ue||0>Ue||255>> -0,65536>4||1;ks--&&0qg?String.fromCharCode(qg):".";pg--}Ve&&(Ve+="\n");Ve+=Ja+" "+li+(0==Xe?" "+In:"")}Ve&&a.O(Ve);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var rg=1,Jn=255,Kn=a.Qa,Ln=a.qc;"ew"== -g[0]&&(rg=2,Jn=65535,Kn=a.na,Ln=a.jb);var Mn=rg<<1,Nn=g[1];if(null==Nn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var sg=kr(a,Nn);if(sg)for(var tg=2;tgri;){for(var tc=null,ps=256;Uc.Ra>>>0>>0;){$e.Ra=a.tb(Uc,!0);if(null==Uc.Fa||!ps--)break;$e.Z=Pn;if(tc=Or(a,$e))break;$e.Z=a.tb(Uc);if(tc=Or(a,$e,!0)){Pn=a.tb(Uc,!0);0\nLicense: GPL version 3 or later ");for(b=0;bTr){if(d.load(this.aa)){this.X=new qf(this,"1.30.4","failsafe");this.X.load()&&(Zr(this,d),a=2,$r(this.X));this.X.set("timestamp",ua());as(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Yr(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): -("error"==f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ia("user",""),this.B=null)):this.O(f+": "+g),$r(d),d.load()?(c=Yr(d),e=!0):c=!1))}e&&Xr(this,c?d:null)}else 2==a&&d.clear()}else Xr(this);delete this.aa;delete this.ea}e=nb(this.id);for(f=0;fa[1];a=a[2];this.va=!0;this.la.ic=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(bs(this,this.F,b,c,a),this.F.Cf());this.ka&&(Zr(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function Zr(a,b){if(Ea("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ie();b=b.toString();var d={app:"PCx86",ver:"1.30.4"};d.url=a.ua;d.user=c;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Qr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new qf(a,"1.30.4"),g=new qf(a,"1.30.4","validate"),h=ua();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.4");f.set("url",window?window.location.href:null);f.set("browser",Ca());a.F&&a.F.gc&&(c&&a.F.Wb(),d=a.F.gc(b,c),"object"===typeof d&&f.set(a.F.id,d),c&&(a.F.la.ic=!1,!1===d&&(e=null)));for(var h=nb(a.id),k=0;k>>b.La;d=d+e-1>>>b.La;c.ih=0;for(c.Td=0;f<=d;)e=b.sa[f],c.ih+=e.size,e.size&&(c.Yg.push(wa(Nb,f,0,0,e.type)),c.Td++),f++;a.A=c;a.ya=a.A.Td*a.ga.Sb/691200;d=0;a.A.fj=0;a.A.Bf||(a.A.Bf=[]);e=-1;b=0;for(var g=-1,c=0;c>1),g=f.y+(f.A>>1),h=f.A,f.ad>1,b.U+=(b.W>>1)-2,Pb(b,e),b.ra&&(b.N.restore(),b.ra=!1)}}else Pb(a,"This space intentionally left blank");a.context.drawImage(a.aa,0,0,a.aa.width,a.aa.height,a.sb,a.Jb,a.Ya,a.fb);a.Ja=!1}} -Xa(function(){for(var a=tb(document,"pcx86-machine"),b=0;bf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PCx86$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ts(a,b,c)}})}else c(a,null)} -function us(a,b,c,d){function e(a){if(void 0===h){var b=g&&tb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--fs||Za(!0));k=!1}var g,h,k=!0;fs++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));n.appendChild(t)}c|| -(c="/versions/pcx86/1.30.4/components.xsl");m=function(d,h){h?gs(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--fs||Za(!0)):f("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),--fs||Za(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?gs(b,a,d,!0,e,m):hs(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}function vs(a,b,c,d){Za(!1);return us(a,b,c,d)}window.embedPC=vs;window.embedPCx86=vs;window.enableEvents=Za;window.sendEvent=$a; -function ws(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){xs(b,d)}):xs(null,d)}else w("Error ("+c+") requesting "+a)} -function xs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, -"©"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n')+"...\n",a=a+(' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pcx86/1.30.5/document.css b/versions/pcx86/1.30.5/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pcx86/1.30.5/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pcx86/1.30.5/document.xsl b/versions/pcx86/1.30.5/document.xsl deleted file mode 100644 index cd24dd57c..000000000 --- a/versions/pcx86/1.30.5/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pcx86/1.30.5/machine.xsl b/versions/pcx86/1.30.5/machine.xsl deleted file mode 100644 index 9b3fc7b38..000000000 --- a/versions/pcx86/1.30.5/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.5/manifest.xsl b/versions/pcx86/1.30.5/manifest.xsl deleted file mode 100644 index 58dd4d26b..000000000 --- a/versions/pcx86/1.30.5/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pcx86/1.30.5/outline.xsl b/versions/pcx86/1.30.5/outline.xsl deleted file mode 100644 index 8f8cae04b..000000000 --- a/versions/pcx86/1.30.5/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pcx86/1.30.5/common.css b/versions/pcx86/1.31.0/common.css similarity index 100% rename from versions/pcx86/1.30.5/common.css rename to versions/pcx86/1.31.0/common.css diff --git a/versions/pcx86/1.30.5/common.xsl b/versions/pcx86/1.31.0/common.xsl similarity index 99% rename from versions/pcx86/1.30.5/common.xsl rename to versions/pcx86/1.31.0/common.xsl index f3970c1b1..cbe87d693 100644 --- a/versions/pcx86/1.30.5/common.xsl +++ b/versions/pcx86/1.31.0/common.xsl @@ -23,7 +23,7 @@ - + diff --git a/versions/pdpjs/1.30.5/components.css b/versions/pcx86/1.31.0/components.css similarity index 96% rename from versions/pdpjs/1.30.5/components.css rename to versions/pcx86/1.31.0/components.css index 4129f382c..929ab5987 100644 --- a/versions/pdpjs/1.30.5/components.css +++ b/versions/pcx86/1.31.0/components.css @@ -243,11 +243,16 @@ } } -@media screen and (min-width: 1400px) { - .machine-left, .machine-right { - max-width: 45%; +@media screen and (min-width: 1200px) { + .machine-left { + max-width: 48%; float: left; } + .machine-right { + max-width: 48%; + float: left; + margin-left: 30px; + } .machine-right + * { clear: both; } diff --git a/versions/pcx86/1.30.2/components.xsl b/versions/pcx86/1.31.0/components.xsl similarity index 99% rename from versions/pcx86/1.30.2/components.xsl rename to versions/pcx86/1.31.0/components.xsl index 1c3a4aa71..2e601bd05 100644 --- a/versions/pcx86/1.30.2/components.xsl +++ b/versions/pcx86/1.31.0/components.xsl @@ -14,11 +14,11 @@ pcjs pcx86 PCx86 - 1.30.2 + 1.31.0 www.pcjs.org - + diff --git a/versions/c1pjs/1.21.2/document.css b/versions/pcx86/1.31.0/document.css similarity index 100% rename from versions/c1pjs/1.21.2/document.css rename to versions/pcx86/1.31.0/document.css diff --git a/versions/pcx86/1.23.0/document.xsl b/versions/pcx86/1.31.0/document.xsl similarity index 99% rename from versions/pcx86/1.23.0/document.xsl rename to versions/pcx86/1.31.0/document.xsl index 68cb5467c..8e5762ff5 100644 --- a/versions/pcx86/1.23.0/document.xsl +++ b/versions/pcx86/1.31.0/document.xsl @@ -10,7 +10,7 @@ - + diff --git a/versions/c1pjs/1.21.2/machine.xsl b/versions/pcx86/1.31.0/machine.xsl similarity index 94% rename from versions/c1pjs/1.21.2/machine.xsl rename to versions/pcx86/1.31.0/machine.xsl index e695a11e7..4b9f33f60 100644 --- a/versions/c1pjs/1.21.2/machine.xsl +++ b/versions/pcx86/1.31.0/machine.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.23.2/manifest.xsl b/versions/pcx86/1.31.0/manifest.xsl similarity index 98% rename from versions/c1pjs/1.23.2/manifest.xsl rename to versions/pcx86/1.31.0/manifest.xsl index 28ed1f2b1..f355e694d 100644 --- a/versions/c1pjs/1.23.2/manifest.xsl +++ b/versions/pcx86/1.31.0/manifest.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.21.0/outline.xsl b/versions/pcx86/1.31.0/outline.xsl similarity index 90% rename from versions/c1pjs/1.21.0/outline.xsl rename to versions/pcx86/1.31.0/outline.xsl index f9637d1aa..e89c15eab 100644 --- a/versions/c1pjs/1.21.0/outline.xsl +++ b/versions/pcx86/1.31.0/outline.xsl @@ -8,9 +8,9 @@ - - - + + + diff --git a/versions/pcx86/1.30.5/pcx86-dbg.js b/versions/pcx86/1.31.0/pcx86-dbg.js similarity index 98% rename from versions/pcx86/1.30.5/pcx86-dbg.js rename to versions/pcx86/1.31.0/pcx86-dbg.js index 368aab60e..b6fdcab10 100644 --- a/versions/pcx86/1.30.5/pcx86-dbg.js +++ b/versions/pcx86/1.31.0/pcx86-dbg.js @@ -49,9 +49,9 @@ var l,aa,ba={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],3686 da[192]=p["~"];da[219]=p["{"];da[220]=p["|"];da[221]=p["}"];da[222]=p['"'];da[173]=p._;da[61]=p["+"];da[59]=p[":"]; function ea(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=1,f--;return d}function ha(a,b,c){var d="";if(!b||4>=8;return(c?"0b":"")+d} -function ia(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d}function r(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)} +function ia(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d}function r(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function u(a){return r(a,2,!0)}function v(a){return r(a,4,!0)} function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; +function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; function sa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var va=[31,28,31,30,31,30,31,31,30,31,30,31]; function wa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.vh|g<>a.shift}function ya(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c"]]=10804;Y[p["/"]]=53;Y[p["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61;Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[tm]=7470;Y[4008]=7494;Y[4046]=3677523; Y[4045]=3677522;Y[4013]=3677468;l=qm.prototype; -l.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= +l.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":case "screen":return c.onkeydown=function(a){return ym(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||zm(e,a,!0);return b},c.onkeyup=function(a){return ym(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();zm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= c,c.onclick=function(){e.X&&e.X.wd();zm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==vm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.X&&a.X.wd();Am(a,c,!0);zm(a,c,!0)}}(this,g,vm[g]),!0;if(void 0!==wm[b])return this.fa++,this.qa[f]=c,a=function(a,b,c){return function(){zm(a,c)}}(this,b,wm[b]),b=function(a,b,c){return function(){Bm(a,c)}}(this,b,wm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.X&&e.X.wd();d&&!e.L&&(e.L=d,Cm(e,300))},!0}return!1};function Dm(a,b,c){if(a.fa){for(var d in da)if(b==da[d]){b=+d;(d=ca[d])&&(b=d);break}for(var e in wm)if((d=wm[e]==b)||(d=b,d>=p.ve&&d<=p.z&&(d-=p.ve-p.ue),d=wm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.Jc=function(a,b,c,d){this.X=a;this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet")}; function rm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=sm.indexOf(a.ja),0>c&&(c=0));if(b=sm[c])a.ra=parseInt(b.substr(2),10)}function Xl(a){y(a,"keyboard reset",65792);a.A=[];Yl(a,170)}function Tl(a,b,c){a.aa!==c&&(a.aa=a.ea=c)&&(a.U=!0);a.W!==b&&(a.W=b)&&!a.ea&&am(a,!0);a.W&&a.ea&&(Xl(a),a.ea=!1)}function Yl(a,b){a.N&&(a.A.unshift(b),a.U=!0,$l(a.N,b))} @@ -544,7 +544,7 @@ l=Z.prototype; l.Jc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;c=(c=Im[this.ja])&&c[0];3!==c&&(qc(b,this,ln),yc(b,this,mn));1!==c&&(qc(b,this,nn),yc(b,this,on));5<=this.Ua&&(qc(b,this,pn),yc(b,this,qn));this.Ua==hm&&(qc(b,this,rn),yc(b,this,sn));if(d){var e=this;Qk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.rd){var c,d,f,g=!1,q=8,A=8,F=-1,C=b.video.L>>3;for(c=0;c=d&&(A=d,g=!0);break; case "p":0<=d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(L):fa(L>>(F<<3),8));g&&(f+=C-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+u(e.Ga)),b=e.C,jn(b,"CRTC",b.Ac,b.mb,b.qg),5<=b.Ua&&(jn(b," GRC",b.$d,b.Zd,b.ah),jn(b," SEQ",b.ae,b.Me,b.bh),jn(b," ATC",b.Nd,b.Tc, b.$g),jn(b," ATCINDX",b.Nd),b.ha.O(" ATCDATA: "+b.Ze),jn(b," FEAT",b.ig),jn(b," MISC",b.vf),jn(b," STATUS0",b.Tg)),jn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||jn(b," MODEREG",b.gd),3==b.Ua&&jn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.Dg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Jb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Ye();a=!0}this.X&&this.X.focus()}return a}; function Lm(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.kh=b)}l.Fe=function(a){var b=!1;this.X&&(a?this.X.Fe&&(this.X.Fe(),this.V&&this.V.Zf(!0),b=!0):this.X.$k&&(this.X.$k(),this.V&&this.V.Zf(!1),b=!0),this.X&&this.X.focus());return b};l.Zf=function(a){this.V&&(this.V.Zf(a),this.B&&(this.B.kh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.bl)}; @@ -605,8 +605,8 @@ l.hc=function(a,b){if(!b)if(this.zj(this.pa),!a||!this.restore)this.reset();else function Eo(a,b){var c=0;b||(b=[0,0,384,0,1,0,0,96,a.Ja,[]]);a.ya=b[c++];a.Da=b[c++];a.fa=b[c++];a.ka=b[c++];a.U=b[c++];a.C=b[c++];a.ra=b[c++];a.B=b[c++];a.A=b[c++];a.aa=b[c];return!0}l.hg=function(a){if("number"==typeof a)this.aa.push(a);else if("string"==typeof a)for(var b=0;b>8:this.ka;x(this,a,null,b,this.C&128?"DLM":"IER",c);return c};l.rm=function(a,b){var c=this.U;x(this,a,null,b,"IIR",c);return c};l.sm=function(a,b){var c=this.C;x(this,a,null,b,"LCR",c);return c};l.um=function(a,b){var c=this.ra;x(this,a,null,b,"MCR",c);return c}; l.tm=function(a,b){var c=this.B;x(this,a,null,b,"LSR",c);return c};l.zm=function(a,b){var c=this.A;this.A&=-4;x(this,a,null,b,"MSR",c);return c}; -l.ho=function(a,b,c){x(this,a,b,c,this.C&128?"DLL":"THR");if(this.C&128)this.fa=this.fa&-256|b;else{this.Da=b;this.B&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ua&&this.ua.call(this.L,b)&&(a=!0);if(this.V)13==b?this.ea=0:8==b?(this.V.value=this.V.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Ea&&!this.ea&&c&&(a=String.fromCharCode(this.Ea)+a),this.V.value+=a,this.V.scrollTop= -this.V.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.B|=96)}};l.Tn=function(a,b,c){x(this,a,b,c,this.C&128?"DLM":"IER");this.C&128?this.fa=this.fa&255|b<<8:this.ka=b};l.Un=function(a,b,c){x(this,a,b,c,"LCR");this.C=b}; +l.ho=function(a,b,c){x(this,a,b,c,this.C&128?"DLL":"THR");if(this.C&128)this.fa=this.fa&-256|b;else{this.Da=b;this.B&=-97;a=!1;y(this,"transmitByte("+u(b)+")");this.ua&&this.ua.call(this.L,b)&&(a=!0);if(this.V)13==b?this.ea=0:8==b?(this.V.value=this.V.value.slice(0,-1),0":String.fromCharCode(b),c=a.length,32>b&&1==c&&(c=0),9==b&&(b=this.Ga||8,c=b-this.ea%b,this.Ga&&(a=pa("",c))),this.Ea&&!this.ea&&c&&(a=String.fromCharCode(this.Ea)+a),this.V.value+= +a,this.V.scrollTop=this.V.scrollHeight,this.ea+=c),a=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.O(this.W),this.W="";10!=b&&(this.W+=String.fromCharCode(b));a=!0}a&&(this.B|=96)}};l.Tn=function(a,b,c){x(this,a,b,c,this.C&128?"DLM":"IER");this.C&128?this.fa=this.fa&255|b<<8:this.ka=b};l.Un=function(a,b,c){x(this,a,b,c,"LCR");this.C=b}; l.Vn=function(a,b,c){var d=b^this.ra;x(this,a,b,c,"MCR");this.ra=b;d&3&&this.Cc&&(a=0,a=this.pa?a|(b&2?32:0)|(b&1?320:0):a|(b&2?16:0)|(b&1?1048576:0),this.Cc.call(this.L,a))};function Go(a){var b=-1;a.B&1&&a.ka&1?b=4:a.A&3&&a.ka&8&&(b=0);0<=b?(a.U&=-8,a.U|=b,a.N&&a.ia&&mg(a.N,a.ia,100)):(a.U|=1,a.N&&a.ia&&lg(a.N,a.ia))} var Co={0:yo.prototype.Em,1:yo.prototype.qm,2:yo.prototype.rm,3:yo.prototype.sm,4:yo.prototype.um,5:yo.prototype.tm,6:yo.prototype.zm},Do={0:yo.prototype.ho,1:yo.prototype.Tn,3:yo.prototype.Un,4:yo.prototype.Vn};Xa(function(){for(var a=tb(document,"pcx86","serial"),b=0;b'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&Ap(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&Bp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&& -((a=d.A[ea(a.value,10)||0])?(a=a.za)?(a=Na(wp(a),"octet-stream",!0,a.Ug.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(this.ia)return this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Bp(d,ja(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; +void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&Ap(d,a)},!0;case "loadDisk":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&Bp(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&((a= +d.A[ea(a.value,10)||0])?(a=a.za)?(a=Na(wp(a),"octet-stream",!0,a.Ug.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDisk":if(this.ia)return this.qa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Bp(d,ja(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; l.Jc=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.X=a;this.N=Jb(a,"ChipSet");if((this.U=Yc(this.X,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}Cp(this);qc(b,this,Dp);yc(b,this,Ep);Fp(this,"None","",!0);this.ia&&Fp(this,"Local Disk","?");Fp(this,"Remote Disk","??");Gp(this)||xb(this)}; l.hc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.X.lh){this.B=[];for(a=0;aa.length)retur case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} function sq(a,b,c){var d;if(b){b=tq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);ec&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function xq(a,b){if(b)return vq(a,b,a.ya[b]);var c=0;for(b in a.ya)vq(a,b,a.ya[b]),c++;return 0c&&(d+=" '"+String.fromCharCode(c)+"'"));a.O((null!=b?b+": ":"")+d);return e}function xq(a,b){if(b)return vq(a,b,a.ya[b]);var c=0;for(b in a.ya)vq(a,b,a.ya[b]),c++;return 0\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bWr){if(d.load(this.aa)){this.X=new qf(this,"1.30.5","failsafe");this.X.load()&&(bs(this,d),a=2,cs(this.X));this.X.set("timestamp",ua());ds(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=as(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): +function $r(a,b){var c=new qf(a,"1.31.0","validate");if(c.load()&&as(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}} +l.dg=function(a){void 0===a&&(a=this.A||(this.aa?1:Wr));if(!this.N){this.N++;var b=!1,c=!1;this.ka=!1;var d=this.ea||new qf(this,"1.31.0");if(-1==a)b=!0;else if(a>Wr){if(d.load(this.aa)){this.X=new qf(this,"1.31.0","failsafe");this.X.load()&&(bs(this,d),a=2,cs(this.X));this.X.set("timestamp",ua());ds(this.X);var e=this.A&&!this.V;if(1==a||Ea("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=as(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g): ("error"==f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Ia("user",""),this.B=null)):this.O(f+": "+g),cs(d),d.load()?(c=as(d),e=!0):c=!1))}e&&$r(this,c?d:null)}else 2==a&&d.clear()}else $r(this);delete this.aa;delete this.ea}e=nb(this.id);for(f=0;fa[1];a=a[2];this.va=!0;this.la.ic=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(es(this,this.F,b,c,a),this.F.Cf());this.ka&&(bs(this,b),b.clear());!c&&this.X&&(this.X.clear(),delete this.X);this.N=0}; -function bs(a,b){if(Ea("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ie();b=b.toString();var d={app:"PCx86",ver:"1.30.5"};d.url=a.ua;d.user=c;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Tr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new qf(a,"1.30.5"),g=new qf(a,"1.30.5","validate"),h=ua();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",Ca());a.F&&a.F.gc&&(c&&a.F.Wb(),d=a.F.gc(b,c),"object"===typeof d&&f.set(a.F.id,d),c&&(a.F.la.ic=!1,!1===d&&(e=null)));for(var h=nb(a.id),k=0;k>>b.La;d=d+e-1>>>b.La;c.ih=0;for(c.Td=0;f<=d;)e=b.sa[f],c.ih+=e.size,e.size&&(c.Yg.push(wa(Nb,f,0,0,e.type)),c.Td++),f++;a.A=c;a.ya=a.A.Td*a.ga.Sb/691200;d=0;a.A.fj=0;a.A.Bf||(a.A.Bf=[]);e=-1;b=0;for(var g=-1,c=0;c>1),g=f.y+(f.A>>1),h=f.A,f.bd).*?(<\/xsl:variable>)/,"$1pcx86$2") function ws(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);ws(a,b,c)}})}else c(a,null)} function xs(a,b,c,d){function e(a){if(void 0===h){var b=g&&tb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=oa(a))}function f(a){e("Error: "+a);k&&(--is||Za(!0));k=!1}var g,h,k=!0;is++;lb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));n.appendChild(t)}c|| -(c="/versions/pcx86/1.30.5/components.xsl");m=function(d,h){h?js(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--is||Za(!0)):f("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),--is||Za(!0)):f("invalid machine element: "+ +(c="/versions/pcx86/1.31.0/components.xsl");m=function(d,h){h?js(c,null,null,!1,e,function(d,k){k?(mb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--is||Za(!0)):f("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),--is||Za(!0)):f("invalid machine element: "+ a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?js(b,a,d,!0,e,m):ks(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}function ys(a,b,c,d){Za(!1);return xs(a,b,c,d)}window.embedPC=ys;window.embedPCx86=ys;window.enableEvents=Za;window.sendEvent=$a; function zs(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){As(b,d)}):As(null,d)}else w("Error ("+c+") requesting "+a)} function As(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, "©"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n')+"...\n",a=a+(' -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - position:; - position:relative; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,resetAddr:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - device - ,name:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - serial - ,adapter:,binding:'',tabSize:,charBOL: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - - false - - - - - rom - ,addr:,size:,alias:,file:'',notify:'',writable: - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - true - - - - - ram - ,addr:,size:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - - diff --git a/versions/pdpjs/1.30.0/document.css b/versions/pdpjs/1.30.0/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pdpjs/1.30.0/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pdpjs/1.30.0/machine.xsl b/versions/pdpjs/1.30.0/machine.xsl deleted file mode 100644 index d328a41a8..000000000 --- a/versions/pdpjs/1.30.0/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.0/manifest.xsl b/versions/pdpjs/1.30.0/manifest.xsl deleted file mode 100644 index 2e736cd86..000000000 --- a/versions/pdpjs/1.30.0/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pdpjs/1.30.0/outline.xsl b/versions/pdpjs/1.30.0/outline.xsl deleted file mode 100644 index 624e54dcb..000000000 --- a/versions/pdpjs/1.30.0/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.0/pdp11-dbg.js b/versions/pdpjs/1.30.0/pdp11-dbg.js deleted file mode 100644 index 1e39dabd3..000000000 --- a/versions/pdpjs/1.30.0/pdp11-dbg.js +++ /dev/null @@ -1,230 +0,0 @@ -(function(){var k; -function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function da(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ma(a){return a.replace(/[&<>"']/g,function(a){return ha[a]})}function na(a,b){return(a+" ").slice(0,b)} -function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var pa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function qa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function ua(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}function ga(){return"http://"+(window?window.location.host:"www.pcjs.org")} -function t(a){window&&window.alert(a)}function va(a){var b=!1;window&&(b=window.confirm(a));return b}var wa=null;function xa(){if(null==wa){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}wa=a}return wa}function Ba(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} -function Ca(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Da(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 Ea(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.pb=this.id:(this.dc=this.id.substr(0,b),this.pb=this.id.substr(b+1));this[a]=c;this.v={ready:!1,Hb:!1,ec:!1,ia:!1,error:!1};this.Xb=null;this.v.error=!1;this.K={};this.j=null;this.ka=d||0;x.push(this)}var Va=void 0,Wa={}; -if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,Za=/([^&=]+)=?([^&]*)/g;Xa=Za.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function $a(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 y(a,b){b||(b=w);a.prototype=$a(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ab=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else ab={},x=[];function bb(a,b,c){ab[a]&&b&&(ab[a][b]=c)}function cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.ca&&(this.ca=10);15>2;this.f=this.Ca-1;this.w=this.B/this.Ca|0;this.C=this.w-1;this.Ra=[];this.F=null;this.Jb=this.Jc;a=new I;Bb(a,this.j);this.O=Array(this.w);for(b=0;b>8:e[2](b)&255):b&1&&(e=d.Ra[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.j&&F(this.j,64)&&E(this.j,e[5]+".readByte("+J(this.j,b)+"): "+J(this.j,c),!0,!0),c;c=d.Jb(b|4186112,-1,1);this.j&&F(this.j,64)&&E(this.j,"warning: unconverted read access to byte @"+J(this.j,b)+": "+J(this.j,c));return c} -function Db(a,b,c){var d=!1,e=this.controller,f=e.Ra[a];if(f)if(f[1])f[1](b,c),d=!0;else{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);d=!0}}else c&1&&(f=e.Ra[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](c):0,f[3](a&255|b<<8,c),d=!0);d?this.j&&F(this.j,64)&&E(this.j,f[5]+".writeByte("+J(this.j,c)+","+J(this.j,b)+")",!0,!0):(e.Jb(c|4186112,b,1),this.j&&F(this.j,64)&&E(this.j,"warning: unconverted write access to byte @"+J(this.j,c)+": "+J(this.j,b)))} -function Eb(a,b){var c=-1,d=this.controller;(a=d.Ra[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.j&&F(this.j,64)&&E(this.j,a[5]+".readWord("+J(this.j,b)+"): "+J(this.j,c),!0,!0),c;c=d.Jb(b|4186112,-1,0);this.j&&F(this.j,64)&&E(this.j,"warning: unconverted read access to word @"+J(this.j,b)+": "+J(this.j,c));return c} -function Fb(a,b,c){var d=!1,e=this.controller;if(a=e.Ra[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.j&&F(this.j,64)&&E(this.j,a[5]+".writeWord("+J(this.j,c)+","+J(this.j,b)+")",!0,!0):(e.Jb(c|4186112,b,0),this.j&&F(this.j,64)&&E(this.j,"warning: unconverted write access to word @"+J(this.j,c)+": "+J(this.j,b)))}k=Ab.prototype;k.reset=function(){this.F&&this.F()}; -k.Jc=function(a,b,c){this.j&&F(this.j,64)&&E(this.j,"warning: unrecognized access("+J(this.j,a)+","+J(this.j,b)+","+c+")");return 0};k.Ja=function(a,b){b||this.reset();return!0}; -function Gb(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.ca;0g&&(n=g);if(l&&l.size){if(l.type==d&&l.controller==e){if(f+g<=l.A)return l.Ub+=l.A-f,l.A=f,!0;if(f>=l.A+l.Ub){n=l.size-(f-m);n>g&&(n=g);l.Ub=f-l.A+n;f=m+a.Ca;g-=n;h++;continue}}return Ib(1,f,g)}f=new I(f,n,a.Ca,d,e);Bb(f,a.j,l);a.O[h++]=f;f=m+a.Ca;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Jb[d]+" at "+p(b,8,!0)),!0):Ib(2,b,c)} -k.jb=function(a){return this.O[(a&this.g)>>>this.ca].ub(a&this.f,a)};k.Ha=function(a){var b=a&this.f,c=(a&this.g)>>>this.ca;return b!=this.f?this.O[c].Bc(b,a):this.O[c++].ub(b,a)|this.O[c&this.C].ub(0,a+1)<<8};function Kb(a,b){var c=b&a.f,d=(b&a.g)>>>a.ca;return c!=a.f?a.O[d].kc(c,b):a.O[d++].Nb(c,b)|a.O[d&a.C].Nb(0,b+1)<<8}k.Rb=function(a,b){this.O[(a&this.g)>>>this.ca].Ab(a&this.f,b&255,a)}; -k.nb=function(a,b){var c=a&this.f,d=(a&this.g)>>>this.ca;c!=this.f?this.O[d].Ic(c,b&65535,a):(this.O[d++].Ab(c,b&255,a),this.O[d&this.C].Ab(0,b>>8&255,a+1))};function Lb(a){for(var b=0,c=[],d=0;d>5&3;c.xa=a>>1&15;c.Yb=a&257?a&1?6:4:0;Sb(c);a=c.F;a&1|256&&(b=this.b.lb&16?1:2);this.g.rb=this.g.rb&-8|b};k.Zc=function(){return Tb(this.b)};k.rd=function(a){Ub(this.b,a&-1809|Tb(this.b)&1808);this.b.D|=128}; -function Vb(a){var b=a.C,c,d,e,f=b.va>>13&7;"undefined"===typeof b.ra[f]&&(b.ra[f]={cache:[],postProcess:a.dd,drive:f,blocksize:256,mapped:0,maxblock:b.cb[f]*b.da[f],url:"rk"+f+".dsk"});b.R&=-129;switch(b.R>>1&7){case 0:b.Pb=2496;b.oa=0;b.R=128;b.va=0;break;case 1:if((b.va>>4&511)>=b.cb[f]){b.oa|=32832;b.R|=49152;break}if((b.va&15)>=b.da[f]){b.oa|=32800;b.R|=49152;break}c=(b.va>>4&511)*b.da[f]+(b.va&15);d=(b.R&48)<<12|b.Ob;e=65536-b.Qb&65535;Wb(a,b.ra[f],c,d,e);return;case 2:if((b.va>>4&511)>=b.cb[f])b.oa|= -32832,b.R|=49152;else if((b.va&15)>=b.da[f])b.oa|=32800,b.R|=49152;else{c=(b.va>>4&511)*b.da[f]+(b.va&15);d=(b.R&48)<<12|b.Ob;e=65536-b.Qb&65535;a.$b(b.ra[f],c,d,e);return}}b.Pb=f<<13|b.Pb&8176|b.va%9&15;L(a.b,20,5,144,function(){b.R=b.R&65534|128;return!!(b.R&64)})}k.dd=function(a,b,c,d,e){var f=this.C;f.Ob=d&65535;f.R=f.R&-49|d>>12&48;f.Qb=65536-e&65535;switch(a){case 1:f.oa|=33024;f.R|=49152;break;case 2:f.oa|=33792,f.R|=49152}L(this.b,20,5,144,function(){f.R=f.R&65534|128;return!!(f.R&64)})}; -function Xb(a){var b=a.w,c,d,e,f=b.M>>8&3;b.M&=-2;"undefined"===typeof b.ra[f]&&(b.ra[f]={cache:[],postProcess:a.ed,drive:f,blocksize:128,mapped:1,maxblock:b.cb[f]*b.da[f],url:"rl"+f+".dsk"});switch(b.M>>1&7){case 2:b.Wa&8&&(b.M&=63);b.Wa=b.Lc[f]|b.ab&64;break;case 3:1==(b.fa&3)&&(b.ab=b.fa&4?b.ab+(b.fa&65408)&65408|b.fa<<2&64:b.ab-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.ab);break;case 4:b.Wa=b.ab;break;case 5:if(b.fa>>6>=b.cb[f]){b.M|=37888;break}if((b.fa&63)>=b.da[f]){b.M|=37888;break}c=(b.fa>>6)* -b.da[f]+(b.fa&63);d=(b.Sa&63)<<16|b.Gb;e=65536-b.Wa&65535;Wb(a,b.ra[f],c,d,e);return;case 6:if(b.fa>>6>=b.cb[f])b.M|=37888;else if((b.fa&63)>=b.da[f])b.M|=37888;else{c=(b.fa>>6)*b.da[f]+(b.fa&63);d=(b.Sa&63)<<16|b.Gb;e=65536-b.Wa&65535;a.$b(b.ra[f],c,d,e);return}}L(a.b,20,5,112,function(){b.M|=129;return!!(b.M&64)})} -k.ed=function(a,b,c,d,e){var f=this.w;f.Gb=d&65535;f.M=f.M&-49|d>>12&48;f.Sa=d>>16&63;f.fa=~~(c/f.da[b.Ma])<<6|c%f.da[b.Ma];f.ab=f.fa;f.Wa=65536-e&65535;switch(a){case 1:f.M|=33792;break;case 2:f.M|=40960}L(this.b,20,5,112,function(){f.M|=129;return!!(f.M&64)})};function Yb(a){a=a.B;a.T=2176;a.Da=0;a.ta=[4544,4544,4544,4544,4544,4544,4544,4544];a.wb=[0,0,0,0,0,0,0,0];a.mb=a.xb=a.vb=a.$a=a.nc=0} -function gc(a,b){var c=a.B,d,e,f;c.T&=-16513;c.Da&=-2049;c.ta[b]&=-1153;L(a.b,-1,0,172);"undefined"===typeof c.ra[b]&&(c.ra[b]={cache:[],postProcess:a.fd,drive:b,blocksize:256,mapped:0,maxblock:c.cc[0]*c.bb[0]*c.da[0],url:"rp"+b+".dsk"});switch(c.T&63){case 5:c.bc[b]=c.Qa[b];c.T|=32896;c.ta[b]|=32896;c.mb|=1<=c.cc[0]||c.Ea[b]>>8>=c.bb[0]||(c.Ea[b]&255)>=c.da[0]){c.wb[b]|=1024;c.T|=49152;break}d=(c.Qa[b]*c.bb[0]+(c.Ea[b]>>8))* -c.da[0]+(c.Ea[b]&255);e=(c.$a&63)<<16|c.vb;f=65536-c.xb&65535;Wb(a,c.ra[b],d,e,f);return;case 57:if(c.Qa[b]>=c.cc[0]||c.Ea[b]>>8>=c.bb[0]||(c.Ea[b]&255)>=c.da[0])c.wb[b]|=1024,c.T|=49152;else{d=(c.Qa[b]*c.bb[0]+(c.Ea[b]>>8))*c.da[0]+(c.Ea[b]&255);e=(c.$a&63)<<16|c.vb;f=65536-c.xb&65535;a.$b(c.ra[b],d,e,f);return}}L(a.b,3,5,172,function(){c.T=c.T&65534|128;c.ta[b]|=128;return!!(c.T&64)})} -k.fd=function(a,b,c,d,e){var f=this.B;f.xb=65536-e&65535;f.vb=d&65535;f.T=f.T&-769|d>>8&768;f.$a=d>>16&63;e=~~(c/f.da[0]);d=~~(e/f.bb[0]);f.Ea[b.Ma]=e%f.bb[0]<<8|c%f.da[0];f.bc[b.Ma]=f.Qa[b.Ma]=d;f.mb|=1<=b.Vc-1&&(f.ta[b.Ma]|=1024);switch(a){case 1:f.Da|=512;f.T|=49152;break;case 2:f.Da|=2048,f.T|=49152}L(this.b,20,5,172,function(){f.ta[b.Ma]|=128;f.T=f.T&65534|128;return!!(f.T&64)})}; -function hc(a,b,c,d,e,f){var g=~~((f+c.Ta-1)/c.Ta),h=new XMLHttpRequest;2048>g&&d+2048g){b.jc(2,b,c,d,e);return}b.cache[c][f]=g;d+=2;--e}c++}b.jc(0,b,c,d,e)}k.reset=function(){this.g.rb=this.g.rb&-120|20;this.f.Va=0;this.C.R=128;this.w.M=128;Yb(this)}; -k.Kc=function(a,b,c){var d,e,f=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=f.Za&65280:(a&1&&(b<<=8),f.Za=b|255,d=0);break;case 4194298:if(0>b)d=f.mc;else{a&1&&(b<<=8);if(d=b&65024){e=d>>9;do d+=34;while(e>>=1)}f.mc=d;f.D|=2}break;case 4194294:if(70!==f.ib)return f.L(4,222);0>b?d=f.J:d=f.J=0;break;case 4194292:if(70!==f.ib)return f.L(4,224);d=1;break;case 4194290:if(70!==f.ib)return f.L(4,226);d=0;break;case 4194288:if(70!==f.ib)return f.L(4,228);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!==f.ib)return f.L(4,232);e=a-4194272>>1;0>b?d=f.hc[e]:(d=M(this,f.hc[e],a,b,c),0<=d&&(f.hc[e]=d));break;case 4194254:return a&1?f.P>>14&1?(0<=b&&(f.u[6]=b),d=f.u[6]):(0<=b&&(f.ya[3]=b),d=f.ya[3]):f.P>>14&0?(0<=b&&(f.u[6]=b),d=f.u[6]):(0<=b&&(f.ya[1]=b),d=f.ya[1]),d;case 4194252:case 4194250:case 4194248:return e=a&7,f.P&2048?(0<=b&&(f.u[e]=b),d=f.u[e]):(0<=b&&(f.Pa[e]= -b),d=f.Pa[e]),d;case 4194246:return a&1?(0<=b&&(f.u[7]=b),d=f.u[7]):f.P>>14&0?(0<=b&&(f.u[6]=b),d=f.u[6]):(0<=b&&(f.ya[0]=b),d=f.ya[0]),d;case 4194244:case 4194242:case 4194240:return e=a&7,f.P&2048?(0<=b&&(f.Pa[e]=b),d=f.Pa[e]):(0<=b&&(f.u[e]=b),d=f.u[e]),d;default:return f.J|=16,f.L(4,124)}break;case 4194176:e=a>>1&31;d=M(this,f.na[3][e],a,b,c);0<=d&&(f.na[3][e]=d,f.na[3][e&15]&=65295);break;case 4194112:switch(a&-2){case 4194174:d=M(this,f.ac,a,b,c);0<=d&&(f.ac=d);break;case 4194172:d=f.Ya;d&65280&& -(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.g.od&65535:(d=M(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;default:return f.J|=16,f.L(4,126)}break;case 4194048:e=this.C;switch(a&-2){case 4194048:d=M(this,e.Pb,a,b,c);0<=d&&(e.Pb=d);break;case 4194050:d=M(this,e.oa,a,b,c);0<=d&&(e.oa=d);break;case 4194052:d=M(this,e.R,a,b,c);0<=b&&0<=d&&(e.R=d&-36993|e.R&36992,e.R&1&&Vb(this));break;case 4194054:d=M(this,e.Qb,a,b,c);0<=d&&(e.Qb=d);break;case 4194056:d=M(this,e.Ob,a,b,c);0<=d&&(e.Ob=d); -break;case 4194058:d=M(this,e.va,a,b,c);0<=d&&(e.va=d);break;case 4194060:break;case 4194062:d=M(this,e.Cc,a,b,c);0<=d&&(e.Cc=d);break;default:return f.J|=16,f.L(4,128)}break;case 4193728:var g=this.B;e=g.Da&7;switch(a&-2){case 4193728:d=M(this,g.T,a,b,c);0<=b&&0<=d&&(g.$a=g.$a&60|d>>8&3,g.T=d&17279|g.T&34944|2048,d&1&&g.T&128?gc(this,e):192==(d&192)&&L(f,0,5,172));break;case 4193730:d=M(this,g.xb,a,b,c);0<=d&&(g.xb=d);break;case 4193732:d=M(this,g.vb,a,b,c);0<=d&&(g.vb=d&65534);break;case 4193734:d= -M(this,g.Ea[e],a,b,c);0<=d&&(g.Ea[e]=d&7967);break;case 4193736:d=M(this,g.Da,a,b,c);0<=d&&(g.Da=d&63|g.Da&65472,d&128&&Yb(this));break;case 4193738:d=g.ta[e];break;case 4193740:d=g.wb[e];break;case 4193742:d=M(this,g.mb,a,b,c);0<=d&&(g.mb=d&255);break;case 4193744:d=g.ld[e];break;case 4193746:d=M(this,g.Dc,a,b,c);0<=d&&(g.Dc=d);break;case 4193748:d=M(this,g.Ec[e],a,b,c);0<=d&&(g.Ec[e]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.md[e];break;case 4193754:d=M(this,g.Fc[e],a,b,c);0<=d&& -(g.Fc[e]=d);break;case 4193756:d=M(this,g.Qa[e],a,b,c);0<=d&&(g.Qa[e]=d&511);break;case 4193758:g.bc[e]=g.Qa[e];d=g.bc[e];break;case 4193760:d=g.jd[e];break;case 4193762:d=g.kd[e];break;case 4193764:d=g.gd[e];break;case 4193766:d=g.hd[e];break;case 4193768:d=M(this,g.$a,a,b,c);0<=d&&(g.$a=d&63,g.T=g.T&-769|(d&3)<<8);break;case 4193770:d=M(this,g.nc,a,b,c);0<=d&&(g.nc=d);break;default:return f.J|=16,f.L(4,132)}break;case 4192512:e=this.w;switch(a&-2){case 4192512:d=M(this,e.M,a,b,c);0<=b&&0<=d&&(e.Sa= -e.Sa&60|d>>4&3,e.M=e.M&-1023|d&1022,e.M&128||Xb(this));break;case 4192514:d=M(this,e.Gb,a,b,c);0<=d&&(e.Gb=d&65534);break;case 4192516:d=M(this,e.fa,a,b,c);0<=d&&(e.fa=d);break;case 4192518:d=M(this,e.Wa,a,b,c);0<=d&&(e.Wa=d);break;case 4192520:d=M(this,e.Sa,a,b,c);0<=d&&(e.Sa=d&63,e.M=e.M&-49|(e.Sa&3)<<4);break;default:return f.J|=16,f.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=f.lb:(d=M(this,f.lb,a,b,c),0<=d&&(70!==f.ib&&(d&=-49),f.lb=d,f.Zb[0]=d&4?15:7,f.Zb[1]=d&2?15:7,f.Zb[3]= -d&1?15:7,f.Yb&&(e=2,f.lb&16&&(e=1),this.g.rb=this.g.rb&-8|e)));break;default:return f.J|=16,f.L(4,136)}break;case 4191424:e=a>>1&31;d=M(this,f.na[0][e],a,b,c);0<=d&&(f.na[0][e]=d,f.na[0][e&15]&=65295);break;case 4191360:e=a>>1&31;d=M(this,f.na[1][e],a,b,c);0<=d&&(f.na[1][e]=d,f.na[1][e&15]&=65295);break;case 4190400:case 4190336:if(70!==f.ib)return f.L(4,234);e=a>>2&31;d=f.Sb[e];a&2&&(d>>=16);d&=65535;0<=b&&(d=M(this,d,a,b,c),0<=d&&(f.Sb[e]=a&2?d<<16|f.Sb[e]&65535:f.Sb[e]&4294901760|d&65534));break; -case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Ob[a>>1&255];else return f.J|=16,f.L(4,138);break;default:return f.J|=16,f.L(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var kc={},Rb=(kc[65382]=[null,null,K.prototype.Xc,K.prototype.pd,"LKS"],kc[65402]=[null,null,K.prototype.Yc,K.prototype.qd,"MMR0"],kc[65534]=[null,null,K.prototype.Zc,K.prototype.rd,"PSW"],kc); -La(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.B,0,c>>2),rc(this,nc?sc:tc);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},$:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma: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},xa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<< -a)|b<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Ua=!0},Y:function(a,b){if(this.j&&null!=this.A){var c=this.j;yc(c,this.A+a,1,c.U)&&c.ja(!0)}return this.Nb(a,b)},ha:function(a,b){if(this.j&&null!=this.A){var c=this.j;yc(c,this.A+a,2,c.U)&&c.ja(!0)}return this.kc(a,b)},ua:function(a,b,c){if(this.j&&null!=this.A){var d=this.j;yc(d,this.A+a,1,d.F)&&d.ja(!0)}this.g?this.w(a, -b,c):this.Bb(a,b,c)},Aa:function(a,b,c){if(this.j&&null!=this.A){var d=this.j;yc(d,this.A+a,2,d.F)&&d.ja(!0)}this.g?this.w(a,b,c):this.qc(a,b,c)},U:function(a){return this.f[a]},Z:function(a,b){a=this.f[a];this.j&&F(this.j,128)&&E(this.j,"Memory.readByte("+J(this.j,b)+"): "+J(this.j,a),!0);return a},ea:function(a){return this.F.getUint16(a,!0)},la:function(a,b){a=a&1?this.f[a]|this.f[a+1]<<8:this.I[a>>1];this.j&&F(this.j,128)&&E(this.j,"Memory.readWord("+J(this.j,b)+"): "+J(this.j,a),!0);return a}, -qa:function(a,b){this.f[a]=b;this.Ua=!0},wa:function(a,b,c){this.f[a]=b;this.Ua=!0;this.j&&F(this.j,128)&&E(this.j,"Memory.writeByte("+J(this.j,c)+","+J(this.j,b)+")",!0)},za:function(a,b){this.F.setUint16(a,b,!0);this.Ua=!0},Ba:function(a,b,c){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.I[a>>1]=b;this.Ua=!0;this.j&&F(this.j,128)&&E(this.j,"Memory.writeWord("+J(this.j,c)+","+J(this.j,b)+")",!0)}};function Bb(a,b,c){a.j=b;a.K=a.C=0;c&&((a.K=c.K)&&xc(a,wc,!1),(a.C=c.C)&&vc(a,wc,!1))} -function zc(a,b){b?--a.C||(a.Ab=a.g?a.w:a.Bb,a.Ic=a.g?a.G:a.qc):--a.K||(a.ub=a.Nb,a.Bc=a.kc)}function vc(a,b,c){c&&a.C||(a.Ab=!a.g&&b[1]||a.w,a.Ic=!a.g&&b[3]||a.G);if(c||void 0===c)a.Bb=b[1]||a.w,a.qc=b[3]||a.G}function xc(a,b,c){c&&a.K||(a.ub=b[0]||a.N,a.Bc=b[2]||a.S);if(c||void 0===c)a.Nb=b[0]||a.N,a.kc=b[2]||a.S}function rc(a,b){b||(b=Ac);xc(a,b,void 0);vc(a,b,void 0)}var Ac=[],uc=[I.prototype.$,I.prototype.xa,I.prototype.ma,I.prototype.pb],wc=[I.prototype.Y,I.prototype.ua,I.prototype.ha,I.prototype.Aa]; -if(xb)var tc=[I.prototype.U,I.prototype.qa,I.prototype.ea,I.prototype.za],sc=[I.prototype.Z,I.prototype.wa,I.prototype.la,I.prototype.Ba];function Bc(a,b){w.call(this,"CPU",a,Bc,1);var c=a.multiplier||1;this.Aa=a.cycles||b;this.Xa=c;this.fb=Math.round(this.Aa/1E4)/100;this.kb=this.fb*this.Xa;this.v.ga=!1;this.v.oc=!1;this.v.Eb=a.autoStart;this.v.uc=!1;this.v.qb=!1;this.Kb=this.ha=0;this.Lb=a.csStart;this.sb=a.csInterval;this.tb=a.csStop;this.N=[];this.Wb=this.nd.bind(this);G(this)}y(Bc); -var Cc=["power","reset"];k=Bc.prototype;k.Oa=function(a,b,c,d){this.C=a;this.H=b;this.j=d;for(b=0;b=a.ha&&(a.ha+=a.sb,c=!0);0<=a.tb&&a.tb<=Ic(a)&&(a.sb=a.tb=-1,Fc(a),a.ja(),c=!0);c&&a.i(Ic(a)+" cycles: checksum="+p(a.Kb))}} -function Jc(a,b,c,d){if(a.K[b]){void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.ja());var e=a.j&&a.j.ea||8;c=!a.v.ga||a.v.uc?8==e?ca(c,d):p(c,d):"--------".substr(0,d||4);a.K[b].textContent!=c&&(a.K[b].textContent=c)}} -k.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.K[b]=c;a=!0;break;case "run":this.K[b]=c;c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.v.ia)a=!0;else{var b=null,c,h=cb(a.id);for(c=0;ca.Y/a.kb?b=1:d=!0;a.Xa=b;b=a.fb*a.Xa;if(a.kb!=b){a.kb=b;b=a.kb.toFixed(2)+"Mhz";var e=a.K.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.C&&a.C.Tb()}Lc(a,a.U);a.U=0;a.S=ra();a.Z=0;Mc(a);return d}function Pb(a,b){var c=a.N.length;a.N.push([-1,b]);return c}function Qb(a,b,c){0<=b&&ba.N[b][0]&&(c*=a.Aa*a.Xa/1E3,a.N[b][0]=c)}function fd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b} -function gd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function hd(a){a.$-=a.b;a.b=0} -k.nd=function(){if(this.v.ga){this.ob>=this.Aa&&Mc(this,!0);this.ua=0;this.za=ra();if(this.Z){var a=this.za-this.Z;a>this.Ib&&(this.S+=a,this.S>this.za&&(this.S=this.za))}try{do{var b=fd(this,this.v.qb?1:this.Ba);try{this.zb(b)}catch(e){if("number"!=typeof e)throw e;}var c=this.$-this.b;gd(this,c);this.ua+=c;this.U+=c;Lc(this,0,!0);Hc(this,c);this.la-=c;if(0>=this.la){this.la+=this.Ba;15<=++this.Vb&&(this.C&&this.C.Fa(),this.Vb=0);break}}while(this.v.ga)}catch(e){this.ja();N(this);this.C&&this.C.stop(ra(), -Ic(this));kb(this,e.stack||e.message);return}if(this.v.ga){a=setTimeout;b=this.Wb;this.Z=ra();c=this.Ib;this.ua&&(c=Math.round(c*this.ua/this.Ba));var c=c-(this.Z-this.za),d=this.Z-this.S;d&&(this.Y=Math.round(this.U/(10*d))/100,864E5<=d&&(this.ea=0,Kc(this)));if(0>c||this.Yc&&(this.S-=c),c=0;this.ob+=this.ua;this.Z+=c;a(b,c)}}}; -k.yb=function(a){if(jb(this))return!1;if(this.v.ga)return this.i(this.toString()+" busy"),!1;Kc(this);this.v.ga=!0;this.v.oc=!0;this.qa&&this.qa.start();var b=this.K.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.Tb(!0),this.C.start(this.S,Ic(this)));N(this,!0);setTimeout(this.Wb,0);return!0};k.zb=function(){return 0}; -k.ja=function(a){if(this.v.ga){hd(this);Lc(this,this.U);this.U=0;this.v.ga=!1;this.qa&&this.qa.stop();var b=this.K.run;b&&(b.textContent="Run");this.C&&this.C.stop(ra(),Ic(this));N(this)}this.v.complete=a};function N(a,b){a.C&&a.C.Fa(b)} -function id(a){this.Wc=+a.model||1170;this.ic=a.resetAddr||0;Bc.call(this,a,6666667);this.Fb=0;this.decode=jd.bind(this);this.V=65536;this.W=32768;this.aa=65535;this.X=32768;this.P=15;this.u=[0,0,0,0,0,0,0,this.ic];this.Pa=[0,0,0,0,0,0];this.ya=[0,0,0,0];this.xa=this.B=0;this.na=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Sb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.g=this.f=this.eb=this.G=this.I=this.D=0;this.ib=70;this.ma=-1;kd(this);this.v.complete=this.v.Oc=!1}y(id,Bc);k=id.prototype;k.reset=function(){this.v.ga&&this.ja();kd(this);Ec(this);this.v.error=!1;this.parent.reset.call(this)}; -function kd(a){a.Za=255;a.J=0;a.mc=0;a.F=0;a.Ya=0;a.ac=0;a.lb=0;a.Yb=0;a.wa=0;a.Zb=[7,7,7,7];a.w=[];a.D|=2;Sb(a)}function Sb(a){a.Yb?(a.Cb=65536,a.ba=a.Sc):(a.Cb=0,a.ba=a.Rc)}k.wc=function(){return 0};k.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.ea,this.Xa]);a.set(2,Lb(this.H));return a.data()}; -k.restore=function(a){var b=a[1];this.ea=b[1];Kc(this,b[3]);a:{b=this.H;a=a[2];var c;for(c=0;cb){a.w[f].La-=b;break}b-=a.w[f].La}a.w.splice(f+1,0,{La:b,Ac:c<<5&224,Hc:d,gc:e})}a.D|=2}function Tb(a){return a.P=a.P&63728|a.Na()|nd(a)|md(a)|ld(a)} -function Ub(a,b){a.X=b<<12;a.aa=~b&4;a.W=b<<14;a.V=b<<16;if((b^a.P)&2048)for(var c=a.Pa.length;0<=--c;){var d=a.u[c];a.u[c]=a.Pa[c];a.Pa[c]=d}a.B=b>>14&3;c=a.P>>14&3;a.B!=c&&(a.ya[c]=a.u[6],a.u[6]=a.ya[a.B]);a.D|=2;a.P=b}function P(a,b){a.D&128||(a.X=a.aa=b,a.W=0)}function rd(a,b,c){a.D&128||(a.X=a.aa=a.V=b,a.W=c||0)}function sd(a,b,c,d){a.D&128||(a.X=a.aa=a.V=b,a.W=(c^b)&(d^b))}function td(a,b){a.D&128||(a.X=a.aa=a.V=b,a.W=a.X^a.V>>1)} -function ud(a,b,c,d){a.D&128||(a.X=a.aa=a.V=b,a.W=(c^d)&(d^b))}k.L=function(a){var b=!1;0>this.ma?this.ma=Tb(this):this.B||(a=4,b=!0);this.F&57344||(this.Ya=63222,this.ac=a);this.B=0;var c=pd(this,a|65536),d=pd(this,a+2&65535|65536);Ub(this,d&-12289|this.ma>>2&12288);b&&(this.J|=4,this.u[6]=4);vd(this,this.ma);vd(this,this.u[7]);qd(this,c);this.D&=-113;this.ma=-1;throw a;};function wd(a){var b=xd(a),c=xd(a)&-1793;a.P&49152&&(c=c&-225|a.P&63712);qd(a,b);Ub(a,c);a.D&=-17} -function ic(a,b){var c=b>>13&31;31>c?a.lb&32&&(b=a.Sb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} -function yd(a,b,c){var d,e,f,g=0;if(c&a.Yb){d=b>>13&a.Zb[a.B];e=a.na[a.B][d];f=(a.na[a.B][d+16]<<6)+(b&8191)&4194303;a.lb&16?3932160<=f&&4186112>f&&(f=ic(a,f&262143)):(f&=262143,253952<=f&&(f|=4186112));3932160>f&&(3915776<=f&&(a.J|=32,a.L(4,12)),f&1&&!(c&1)&&(a.J|=64,a.L(4,14)));switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2& -8128)&&(g|=16384));a.na[a.B][d]=e;if(4194170!==f||a.B)a.wa=a.B,a.xa=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.F&57344||(a.F=a.F|g|a.wa<<5|a.xa<<1),a.L(168,16)),a.F&61440||!(4191360>f||4194239c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=pd(a,e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!==c&&(e|=g);e=pd(a,e)|g; -a.b-=8;break;case 6:return e=od(a),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=od(a),e=e+a.u[c]&65535,e=pd(a,e|65536)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.F&57344||(a.Ya=a.Ya<<8|f<<3&248|c);6==c&&!a.B&&d&4&&0>=f&&(a.u[6]<=a.Za||65534<=a.u[6])&&(a.u[6]<=a.Za-32?(a.J|=4,a.u[6]=4,a.L(4,24)):(a.J|=8,a.D|=64));return e}k.Rc=function(a,b,c){return zd(this,a,b,c)};k.Sc=function(a,b,c){return yd(this,zd(this,a,b,c),c)}; -function Ad(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=zd(a,b,d,2),c&65536||61440!==(a.P&61440)&&(d&=65535),a.B=a.P>>12&3,c=pd(a,d|c&65536),a.B=a.P>>14&3):c=6!=d||(a.P>>2&12288)===(a.P&12288)?a.u[d]:a.ya[a.P>>12&3];return c}function Bd(a,b,c,d){a.F&57344||(a.Ya=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=zd(a,b,e,4),c&65536||(e&=65535),a.B=a.P>>12&3,e=yd(a,e|c&65536,4),a.B=a.P>>14&3,a.H.nb(e,d&65535)):6!=e||(a.P>>2&12288)===(a.P&12288)?a.u[e]=d:a.ya[a.P>>12&3]=d} -function Cd(a,b){b>>=6;var c=a.I=b&7;(b=a.G=(b&56)>>3)?(c=a.ba(b,c,3),a=a.H.jb(c)):a=a.u[c]&255;return a}function Dd(a,b){var c;b>>=6;var d=a.I=b&7;(b=a.G=(b&56)>>3)?c=jc(a,a.ba(b,d,2)):c=a.u[d];return c}function Ed(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return zd(a,b,c,8)}function Fd(a,b){var c=a.f=b&7;(b=a.g=(b&56)>>3)?(c=a.ba(b,c,3),a=a.H.jb(c)):a=a.u[c]&255;return a}function Gd(a,b){var c,d=a.f=b&7;(b=a.g=(b&56)>>3)?c=jc(a,a.ba(b,d,2)):c=a.u[d];return c} -function Q(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.eb=a.ba(b,e,7),c=d.call(a,c,a.H.jb(e)),e&1&&a.b--,a.H.Rb(e,c&255)):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function R(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.ba(b,e,6),c=d.call(a,c,jc(a,e)),a.H.nb(e,c&65535)):a.u[e]=d.call(a,c,a.u[e])}function Hd(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.ba(b,e,5),d&1&&a.b--,a.H.Rb(d,c&255)):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c} -function Id(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.ba(b,d,4),a.H.nb(d,c&65535)):a.u[d]=c&65535;return c}function T(a,b,c){c&&(qd(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} -k.zb=function(a){this.v.complete=!0;var b=this.v.Oc=this.j&&Jd(this.j),c=a?this.v.oc?0:1:-1;this.v.oc=!1;this.$=this.b=a;do{if(b){if(Kd(this.j,this.u[7],c)){this.ja();break}c=1}if(this.D&&(this.D&112&&(this.D&32?this.L(168,28):this.D&64?this.L(4,30):this.D&16&&this.L(12,32),this.D&=-113),this.D&7))if(this.D&2){this.D&=-3;a=null;for(var d=this.mc&224,e=this.w.length;0<=--e;){if(0d&&(d=this.w[e].Ac,a=this.w[e],this.w.splice(e,1))}d>(this.P&224)&&(this.D&4&&(this.u[7]=this.u[7]+2&65535,this.D&=-5),a?this.L(a.Hc,26):this.L(160,26))}else this.D&1&&this.D++;this.F&57344||(this.Ya=0,this.ac=this.u[7]);this.D=this.D&7|this.P&16;this.decode(od(this))}while(0>1|b<<16;td(this,a);return a&65535}function Qd(a,b){a=b&2048|b>>1|b<<8;td(this,a<<8);return a&255}function Rd(a,b){a=b&~a;P(this,a);return a}function Sd(a,b){a=b&~a;P(this,a<<8);return a}function Td(a,b){a|=b;P(this,a);return a} -function Ud(a,b){a|=b;P(this,a<<8);return a}function Vd(a,b){a=~b|65536;rd(this,a);return a&65535}function Wd(a,b){a=~b|256;rd(this,a<<8);return a&255}function Xd(a,b){a=b-a;this.D&128||(this.X=this.aa=a,this.W=b&(b^a));return a&65535}function Yd(a,b){a=b-a;var c=a<<8;b<<=8;this.D&128||(this.X=this.aa=c,this.W=b&(b^c));return a&255}function Zd(a,b){a=b+a;this.D&128||(this.X=this.aa=a,this.W=a&(b^a));return a&65535} -function $d(a,b){a=b+a;var c=a<<8;this.D&128||(this.X=this.aa=c,this.W=c&(b<<8^c));return a&255}function ae(a,b){a=-b;rd(this,a,a&b&32768);return a&65535}function be(a,b){a=-b;rd(this,a<<8,(a&b&128)<<8);return a&255}function ce(a,b){a=b<<1|this.V>>16&1;td(this,a);return a&65535}function de(a,b){a=b<<1|this.V>>16&1;td(this,a<<8);return a&255}function ee(a,b){a=(this.V&65536|b)>>1|b<<16;td(this,a);return a&65535}function fe(a,b){a=((this.V&65536)>>8|b)>>1|b<<8;td(this,a<<8);return a&255} -function ge(a,b){var c=b-a;ud(this,c,a,b);return c&65535}function he(a,b){var c=b-a;ud(this,c<<8,a<<8,b<<8);return c&255}function ie(a,b){this.D&128||(this.X=this.aa=b&65280,this.W=this.V=0);return(b<<8|b>>8)&65535}function je(a,b){a^=b;P(this,a);return a&65535} -function ke(a){var b=Gd(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.V=this.W=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.W=32768)}this.u[a]=c&65535;this.X=this.aa=c;this.b-=(this.g?6:7)+b} -function le(a){var b=Gd(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.V=this.W=0;b&=63;if(b&32){b=64-b;32>b-1;this.V=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.X=d>>16;this.aa=d>>16|d;this.b-=(this.g?6:7)+b}function U(a){a&1&&(this.V=0);a&2&&(this.W=0);a&4&&(this.aa=1);a&8&&(this.X=0);this.b-=5} -function me(a){var b=Gd(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.V=this.W=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.aa=d>>16|d,this.X=d>>16):(this.W=32768,this.aa=d>>15|d,this.X=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.aa=this.X=0,this.W=32768,this.V=65536,this.b-=7}var ne=[0,7,7,10,7,11,9,13];function oe(a){var b=this.b;qd(this,Ed(this,a));this.b=b-ne[this.g]} -var pe=[0,14,14,17,14,18,16,20];function qe(a){var b=this.b,c=Ed(this,a);a=a>>6&7;vd(this,this.u[a]);this.u[a]=this.u[7];qd(this,c);this.b=b-pe[this.g]}var re=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],se=[7,13,13,17,14,18,17,21];function te(a){var b=Gd(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.D&128||(this.X=b>>16,this.aa=this.X|b,this.W=0,this.V=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)qd(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Pe(a){R(this,a,0,ie);this.b-=this.g?9:3+(7==this.f?2:0)}function Qe(a){R(this,a,Dd(this,a),je);this.b-=this.g?9:3+(7==this.f?2:0)}function W(){this.L(8,6)}function jd(a){Re[a>>12].call(this,a)} -var Re=[function(a){Se[a>>8&15].call(this,a)},function(a){var b=Dd(this,a),c=this.b;P(this,Id(this,a,b));this.b=c-re[(this.G?8:0)+this.g]+(7!=this.f||this.g?0:2)},function(a){var b=Dd(this,a);a=Gd(this,a);ud(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)},function(a){P(this,Dd(this,a)&Gd(this,a));this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)},function(a){R(this,a,Dd(this,a),Rd);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.G?5:3)+(7==this.f? -2:0)},function(a){R(this,a,Dd(this,a),Td);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)},function(a){R(this,a,Dd(this,a),Ld);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)},function(a){Te[a>>8&15].call(this,a)},function(a){Ue[a>>8&15].call(this,a)},function(a){var b=Cd(this,a);P(this,Hd(this,a,b,1)<<8);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)},function(a){var b=Cd(this,a)<<8;a=Fd(this,a)<<8;ud(this,b-a,a,b);this.b-=this.g? -4+(this.I&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)},function(a){P(this,(Cd(this,a)&Fd(this,a))<<8);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)},function(a){Q(this,a,Cd(this,a),Sd);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)},function(a){Q(this,a,Cd(this,a),Ud);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)},function(a){R(this,a,Dd(this,a),ge);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)},W],Se= -[function(a){Ve[a>>4&15].call(this,a)},function(a){T(this,a,!0)},function(a){T(this,a,!nd(this))},function(a){T(this,a,nd(this))},function(a){T(this,a,!this.Na()==!md(this))},function(a){T(this,a,!this.Na()!=!md(this))},function(a){T(this,a,!nd(this)&&!this.Na()==!md(this))},function(a){T(this,a,nd(this)||!this.Na()!=!md(this))},qe,qe,function(a){We[a>>6&3].call(this,a)},function(a){Xe[a>>6&3].call(this,a)},function(a){Ye[a>>6&3].call(this,a)},function(a){Ze[a>>6&3].call(this,a)},W,W],We=[function(a){rd(this, -Id(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Vd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Zd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Xd);this.b-=this.g?9:3+(7==this.f?2:0)}],Xe=[function(a){R(this,a,0,ae);this.b-=this.g?11:6},function(a){R(this,a,ld(this)?1:0,Ld);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,ld(this)?1:0,ge);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Gd(this,a);rd(this,a);this.b-=this.g?4:3+(7==this.f? -2:0)}],Ye=[function(a){R(this,a,0,ee);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,ce);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Pd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Nd);this.b-=this.g?9:3+(7==this.f?2:0)}],Ze=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=pd(this,a|65536);qd(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Ad(this,a,0);vd(this,a);P(this,a);this.b-=11},function(a){var b=xd(this),c=this.b;Bd(this,a, -0,b);P(this,b);this.b=c-se[this.g]},function(a){P(this,Id(this,a,this.Na?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],Ve=[function(a){$e[a&15].call(this,a)},W,W,W,oe,oe,oe,oe,function(a){if(a&8)this.L(8,6);else{var b=xd(this);a&=7;qd(this,this.u[a]);this.u[a]=b;this.b-=9}},function(a){a&8?(this.P&49152||(this.P=this.P&-2017|(a&7)<<5,this.D|=1),this.b-=5):this.L(8,6)},function(a){af[a&15].call(this,a)},function(a){bf[a&15].call(this,a)},Pe,Pe,Pe,Pe],$e=[function(){this.P&49152?(this.J|=128,this.L(4, -3)):hd(this);this.b-=7},function(){this.D|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3},function(){wd(this);this.D|=this.P&16;this.b-=13},function(){this.L(12,1);this.b-=5},function(){this.L(16,4);this.b-=25},function(){this.P&49152||(kd(this),this.H.reset());this.b-=667},function(){wd(this);this.b-=13},W,W,W,W,W,W,W,W,W],af=[ue,function(){this.V=0;this.b-=5},function(){this.W=0;this.b-=5},U,function(){this.aa=1;this.b-=5},U,U,U,function(){this.X=0;this.b-=5},U,U,U,U,U,U,U],bf=[ue,function(){this.V= -65536;this.b-=5},function(){this.W=32768;this.b-=5},V,function(){this.aa=0;this.b-=5},V,V,V,function(){this.X=32768;this.b-=5},V,V,V,V,V,V,V],Te=[te,te,me,me,ke,ke,le,le,Qe,Qe,W,W,W,W,ve,ve],Ue=[function(a){T(this,a,!this.Na())},function(a){T(this,a,this.Na())},function(a){T(this,a,!ld(this)&&!nd(this))},function(a){T(this,a,ld(this)||nd(this))},function(a){T(this,a,!md(this))},function(a){T(this,a,md(this))},function(a){T(this,a,!ld(this))},function(a){T(this,a,ld(this))},function(){this.L(24,2); -this.b-=25},function(){this.L(28,5);this.b-=5},function(a){cf[a>>6&3].call(this,a)},function(a){df[a>>6&3].call(this,a)},function(a){ef[a>>6&3].call(this,a)},function(a){ff[a>>6&3].call(this,a)},W,W],cf=[function(a){rd(this,Hd(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Wd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,$d);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Yd);this.b-=this.g?9:3+(7==this.f?2:0)}],df=[function(a){Q(this,a,0,be);this.b-= -this.g?11:6},function(a){Q(this,a,ld(this)?1:0,Md);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,ld(this)?1:0,he);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Fd(this,a);rd(this,a<<8);this.b-=this.g?4:3+(7==this.f?2:0)}],ef=[function(a){Q(this,a,0,fe);this.b-=this.g?9+(this.eb&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,de);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Qd);this.b-=this.g?9+(this.eb&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,Od);this.b-=this.g?9:3+(7== -this.f?2:0)}],ff=[W,function(a){a=Ad(this,a,65536);vd(this,a);P(this,a);this.b-=11},function(a){var b=xd(this),c=this.b;Bd(this,a,65536,b);P(this,b);this.b=c-se[this.g]},W];function gf(a){w.call(this,"ROM",a,gf);this.f=null;this.B=a.addr;this.g=a.size;this.F=a.writable;this.C=a.alias;this.w=a.file;this.G=da(this.w);if(this.w){a=this.w;var b=ea(this.G);"json"!=b&&"hex"!=b&&(a=ga()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;ua(a,null,!0,function(a,b,f){hf(c,a,b,f)})}}y(gf); -gf.prototype.Oa=function(a,b,c,d){this.H=b;this.b=c;this.j=d;jf(this)};gf.prototype.Ja=function(){if(this.Ka){if(this.j){var a=this.j,b=this.id,c=this.B,d=this.g,e=this.Ka,f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=qa(n,l,a.tc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({xd:b,A:c,Tc:d,Ka:e,rc:f})}delete this.Ka}return!0};gf.prototype.Ia=function(){return!0}; -function hf(a,b,c,d){if(d)a.sa("Unable to load system ROM (error "+d+": "+b+")");else{bb(a.dc,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,g,h=eval("("+c+")");if(f=h.bytes)a.f=f;else if(f=h.words)for(a.f=Array(2*f.length),g=e=0;e>8&255;else if(f=h.data)for(a.f=Array(4*f.length),g=e=0;e>8&255,a.f[g++]=f[e]>>16&255,a.f[g++]=f[e]>>24&255;else a.f=h;a.Ka=h.symbols;if(!a.f.length){t("Empty ROM: "+ -b);return}if(1==a.f.length){t(a.f[0]);return}}catch(l){a.sa("ROM data error: "+l.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),e=0;e>>d.ca].Bb(e&d.f,a.f[c]&255,e);a.j&&a.j.g--}b=!0}else b=!1;if(b){b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(c=0;c>> -e.ca;0>>=e.ca;0=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=oa(b[0]);if(c!=this.pb)return;b=oa(b[1]);if(this.I=db(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.N=d.receiveData){this.status(this.dc+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ja=function(a,b){if(!b)if(this.zc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.Ia=function(a){return a?this.save():!0};k.reset=function(){of(this)};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return of(this)};function of(a){a.Y=0;a.f=0;a.g=128;a.B=[];return!0}k.lc=function(a){if("number"==typeof a)this.B.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.Z||8,c=a-this.G%a,this.Z&&(b=na("",c)));this.S&&!this.G&&c&&(b=String.fromCharCode(this.S)+b);this.w.value+=b;this.w.scrollTop=this.w.scrollHeight;this.G+=c}else if(null!=this.F){if(10==a||1024<=this.F.length)this.i(this.F), -this.F="";10!=a&&(this.F+=String.fromCharCode(a))}this.g&=-129;L(this.b,100,4,52,this.U)}};var pf={},nf=(pf[65392]=[null,null,Y.prototype.ad,Y.prototype.td,"RCSR"],pf[65394]=[null,null,Y.prototype.$c,Y.prototype.sd,"RBUF"],pf[65396]=[null,null,Y.prototype.cd,Y.prototype.vd,"XCSR"],pf[65398]=[null,null,Y.prototype.bd,Y.prototype.ud,"XBUF"],pf);La(function(){for(var a=D(document,"pdp11","serial"),b=0;b=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};qf.prototype.xc=function(){return-1};qf.prototype.yc=function(){}; -function sf(a,b,c,d){if(c)if(b){0>a.B&&a.w.length&&(a.B=0);if(0>a.B||b!=a.w[a.B])a.w.splice(0,0,b),a.B=0;a.B--}else a.$?b="end":b=a.w[a.B+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(oa(b.substring(c,f))),c=f+1}}return a} -function tf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function uf(a,b,c){var d;if(b){b=vf(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ca(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}function yf(a,b){if(b)return xf(a,b,a.la[b]);var c=0;for(b in a.la)xf(a,b,a.la[b]),c++;return 0>>d.H.ca;l=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Jb[c],n&&d.i(p(n.id,8)+" %"+p(e<>>c.ca].Nb(d&c.f,d),this.g--,b&&If(a,b));return c}; -k.Ha=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(this.g++,c=Kb(this.H,d),this.g--,b&&If(a,b));return c};k.Rb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){this.g++;var e=this.H;e.O[(d&e.g)>>>e.ca].Bb(d&e.f,b&255,d);this.g--;c&&If(a,c);N(this.b,!0)}};k.nb=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){this.g++;var e=this.H,f=d&e.f,g=(d&e.g)>>>e.ca;f!=e.f?e.O[g].qc(f,b&65535,d):(e.O[g++].Bb(f,b&255,d),e.O[g&e.C].Bb(0,b>>8&255,d+1));this.g--;c&&If(a,c);N(this.b,!0)}}; -function Z(a){return{A:a,Ga:!1}}function Jf(a){return[a.A,a.Ga]}function Kf(a){return{A:a[0],Ga:a[1]}}function Hf(a,b,c){var d;c=(c?a.S:a.ob).A;if(void 0!==b){d=b=vf(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"}k.yc=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Pa[a-8]:20>a?b=this.b.ya[a-16]:20==a&&(b=Tb(this.b)));return b}; -k.message=function(a,b){this.g||(b&&(a+=" @"+J(this,Z(this.b.u[7]).A)),this.ka&1073741824?this.za.push(a):this.xa&&a==this.xa||(this.xa=a,this.ka&-2147483648&&(this.ja(),a+=" (cpu halted)"),this.i(a),this.b&&(a=this.b,hd(a),a.la=0,N(a))))}; -function Bf(a){var b;if(Jd(a)){if(!a.N||!a.N.length){a.N=Array(1E3);for(b=0;b>>d.ca],!1)}a.U=["br"];if(a.F)for(b=1;b>>d.ca],!0);a.F=["bw"];a.Cb=0} -k.gb=function(a,b,c){var d=!0;c||Rf(this,a,b,!1,!0);if(a!=this.f){var e=this.ba(b);if(-1===e)this.i("invalid address: "+J(this,b.A)),d=!1;else{var f=this.H;f.O[e>>>f.ca].gb(e&f.f,a==this.F)}}d&&(a.push(b),c?b.Ga=!0:(Sf(this,a,a.length-1,"set"),Bf(this)));return d};function Rf(a,b,c,d,e){var f=!1;c=a.ba(c);for(var g=1;g>>d.ca],b==a.F));h.Ga||Bf(a);break}}return f} -function Tf(a,b){for(var c=1;c>23)&65535,v=J(u,q);else if(8192==A)q=q.A-((f&63)<<1)&65535,v=J(u,q);else if(12288==A)v=J(u,f&7,1);else if(24576==A)v=J(u,f&63,1);else if(A=f&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:v=Mf(z);break;case 8:v="@"+Mf(z);break;case 16:7>z?v="("+Mf(z)+ -")+":(A=u.Ha(q,2),v="#"+J(u,A,0,!0));break;case 24:7>z?v="@("+Mf(z)+")+":(A=u.Ha(q,2),v="@#"+J(u,A,0,!0));break;case 32:v="-("+Mf(z)+")";break;case 40:v="@-("+Mf(z)+")";break;case 48:A=u.Ha(q,2);v=J(u,A,0,!0)+"("+Mf(z)+")";7==z&&(v=[v,J(u,A+q.A&65535)]);break;case 56:A=u.Ha(q,2),v="@"+J(u,A)+"("+Mf(z)+")",7==z&&(v=[v,J(u,A+q.A&65535)])}u=v;if(!u||!u.length){h="INVALID";break}"string"!=typeof u&&(l=u[1],u=u[0]);0b?(c=Mf(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Pa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.ya[b-16]):20==b&&(c="PS="+J(a,Tb(d)));c&&(c+=" ");return c}function Yf(a){var b,c="";for(b=0;6>b;b++)c+=Xf(a,b);c=c+"\n"+(Xf(a,6)+Xf(a,7)+Xf(a,20));return c+=Wf(a,"T")+Wf(a,"N")+Wf(a,"Z")+Wf(a,"V")+Wf(a,"C")}k.tc=function(a,b){return a[0]>b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Tc;if(e>=g&&eb)){d.u[b]=f&65535;break}a.i("unknown register: "+e);return}N(d);a.i("updated registers:")}a.i(Yf(a));c&&(a.S=Z(d.u[7]),Pf(a,J(a,a.S.A)))}}function cg(a,b){b=oa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(g=h[3],f=null);f=Vf(a,b,g,f);a.i(f);a.S=b;e-=b.A-l;c++}}} -function Uf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.$&&(a.i("ended assemble at "+J(a,a.Z.A)),a.S=a.Z,a.$=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.xa=null;if(ib(a)&&0n||"z"ja.length&&(a.i("note: only "+ja.length+" available"),X=ja.length);ba-=X;0>ba&&(null==ja[ja.length-1].A?(X=ba+X,ba=0):ba+=ja.length);var Qc=[];"call"==Be&&(lb=1E5,Qc=["CALL"]);for(void 0!==Ae&&a.i(X+" instructions earlier:");0=ja.length&&(ba=0);a.Fb=X;De++;lb--}}De||(a.i("no "+Ce+"history available"),a.Fb=void 0)}else{var Zb=Hf(a,ia);if(Zb){var $b=0;za&&("l"==za.charAt(0)&&(za=za.substr(1)||wg),$b=wf(a,za)>>>0,65536<$b&&($b=65536));for(var nb="",Ra="dd"==Oa?4:"dw"==Oa?2:1,ac=Ra*$b||128,yg=ac+15>>4||1;yg--&&0bc?String.fromCharCode(bc):".";ac--}nb&&(nb+="\n");nb+=ia+" "+Sc+(0==pb?" "+Ge:"")}nb&&a.i(nb);a.ob=Zb}}}}break;case "e":if("else"==g[0])break;var Sa,Tc,Uc,Vc,Wc=g[0],Xc=g[1];"eb"==Wc?(Sa=1,Tc=255,Uc=a.jb,Vc=a.Rb):"e"==Wc||"ew"==Wc?(Sa=2,Tc=65535,Uc=a.Ha,Vc=a.nb):Xc=null;if(null==Xc)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var cc=Hf(a,Xc);if(cc)for(var dc=2;dc$c;){for(var Aa=null,Cg=256;65536>sb.A>>>0;){ad.A=a.Ha(sb,2);if(null==sb.A||!Cg--)break;if(!(ad.A&1)){for(var Dg=a,ec=ad,Ie=null,tb=ec.A, -Je=tb,bd=1;6>=bd&&tb;bd++){if(2\nLicense: GPL version 3 or later ");this.i("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bhg){if(jg(d,this.I)){this.B=new O(this,"1.30.0","failsafe");jg(this.B)&&(og(this,d),a=2,pg(this.B));this.B.set("timestamp",sa());qg(this.B);var e=this.f&&!this.F;if(1==a||va("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=ng(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?jg(d,g):("error"== -f&&"no machine state"!=g?(this.sa("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.g=null)):this.i(f+": "+g),pg(d),jg(d)?(c=ng(d),e=!0):c=!1))}e&&mg(this,c?d:null)}else 2==a&&d.clear()}else mg(this);delete this.I;delete this.N}e=cb(this.id);for(f=0;fa[1];a=a[2];this.ha=!0;this.v.ia=!0;var d=this.K.power;d&&(d.textContent="Shutdown");this.b&&(rg(this,this.b,b,c,a),this.b.Eb());this.Y&&(og(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.C=0}; -function og(a,b){if(va("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;ua("http://www.pcjs.org/api/v1/report",d,!0)}} -function eg(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new O(a,"1.30.0"),g=new O(a,"1.30.0","validate"),h=sa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ia&&(c&&a.b.ja(),d=a.b.Ia(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ia=!1,!1===d&&(e=null)));for(var h=cb(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ua(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Jg(a,b,c)}})}else c(a,null)} -function Kg(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ma(a))}function f(a){e("Error: "+a);l&&(--vg||Ta(!0));l=!1}var g,h,l=!0;vg++;ab[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c|| -(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Hg(c,null,null,!1,e,function(d,l){l?(bb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--vg||Ta(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--vg||Ta(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Hg(b,a,d,!0,e,m):Ig(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(q){f(q.message)}return l}window.embedPDP11=function(a,b,c,d){Ta(!1);return Kg(a,b,c,d)};window.enableEvents=Ta;window.sendEvent=Ua;})(); diff --git a/versions/pdpjs/1.30.0/pdp11.js b/versions/pdpjs/1.30.0/pdp11.js deleted file mode 100644 index fecbbf09d..000000000 --- a/versions/pdpjs/1.30.0/pdp11.js +++ /dev/null @@ -1,160 +0,0 @@ -(function(){var k; -function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ja=Date.now||function(){return+new Date}; -function ka(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function p(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")} -function r(a){window&&window.alert(a)}function la(a){var b=!1;window&&(b=window.confirm(a));return b}var ma=null;function na(){if(null==ma){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}ma=a}return ma}function oa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} -function pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function qa(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:[]},ra=!1,sa=!1,ta=!0;function ua(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 va(a){if(ta)try{for(var b=0;bb?this.fb=this.id:(this.wb=this.id.substr(0,b),this.fb=this.id.substr(b+1));this[a]=c;this.i={ready:!1,Lc:!1,Mc:!1,P:!1,error:!1};this.nb=null;this.i.error=!1;this.w={};this.K=null;x.push(this)}var ya=void 0,za={}; -if(window){ya||(ya=window.location.search.substr(1));for(var Aa,Ba=/\+/g,Ca=/([^&=]+)=?([^&]*)/g;Aa=Ca.exec(ya);)za[decodeURIComponent(Aa[1].replace(Ba," "))]=decodeURIComponent(Aa[2].replace(Ba," "))}function Da(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 y(a,b){b||(b=v);a.prototype=Da(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ea=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ea={},x=[];function Fa(a,b,c){Ea[a]&&b&&(Ea[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.c&&(this.c=10);15>2;this.h=this.g-1;this.m=this.o/this.g|0;this.H=this.m-1;this.qa=[];this.A=null;this.Xa=this.I;a=new G;Ma(a,this.K);this.b=Array(this.m);for(b=0;b>8:e[2](b)&255):b&1&&(e=d.qa[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=d.Xa(b|4186112,-1,1)} -function Oa(a,b,c){var d=!1,e=this.controller,f=e.qa[a];if(f)if(f[1])f[1](b,c),d=!0;else{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);d=!0}}else c&1&&(f=e.qa[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](c):0,f[3](a&255|b<<8,c),d=!0);d||e.Xa(c|4186112,b,1)}function Pa(a,b){var c=-1,d=this.controller;(a=d.qa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=d.Xa(b|4186112,-1,0)} -function Qa(a,b,c){var d=!1,e=this.controller;if(a=e.qa[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||e.Xa(c|4186112,b,0)}La.prototype.reset=function(){this.A&&this.A()};La.prototype.I=function(){return 0};La.prototype.la=function(a,b){b||this.reset();return!0}; -function Ra(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.c;0g&&(q=g);if(l&&l.size){if(l.type==d&&l.controller==e){if(f+g<=l.Ta)return l.tb+=l.Ta-f,l.Ta=f,!0;if(f>=l.Ta+l.tb){q=l.size-(f-m);q>g&&(q=g);l.tb=f-l.Ta+q;f=m+a.g;g-=q;h++;continue}}return Ta(1,f,g)}f=new G(f,q,a.g,d,e);Ma(f,a.K,l);a.b[h++]=f;f=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ua[d]+" at "+n(b,8,!0)),!0):Ta(2,b,c)}function Va(a,b){return a.b[(b&a.j)>>>a.c].Za(b&a.h,b)} -function Wa(a,b,c){var d=b&a.h,e=(b&a.j)>>>a.c;d!=a.h?a.b[e].Hc(d,c&65535,b):(a.b[e++].Sa(d,c&255,b),a.b[e&a.H].Sa(0,c>>8&255,b+1))}function Xa(a){for(var b=0,c=[],d=0;d>5&3;c.hb=a>>1&15;c.ob=a&257?a&1?6:4:0;db(c);a=c.G;a&1|256&&(b=this.a.Ka&16?1:2);this.c.Na=this.c.Na&-8|b};k.lc=function(){return eb(this.a)};k.Ec=function(a){fb(this.a,a&-1809|eb(this.a)&1808);this.a.l|=128}; -function gb(a){var b=a.g,c,d,e,f=b.X>>13&7;"undefined"===typeof b.T[f]&&(b.T[f]={cache:[],postProcess:a.rc,drive:f,blocksize:256,mapped:0,maxblock:b.Ia[f]*b.J[f],url:"rk"+f+".dsk"});b.D&=-129;switch(b.D>>1&7){case 0:b.ab=2496;b.S=0;b.D=128;b.X=0;break;case 1:if((b.X>>4&511)>=b.Ia[f]){b.S|=32832;b.D|=49152;break}if((b.X&15)>=b.J[f]){b.S|=32800;b.D|=49152;break}c=(b.X>>4&511)*b.J[f]+(b.X&15);d=(b.D&48)<<12|b.$a;e=65536-b.bb&65535;hb(a,b.T[f],c,d,e);return;case 2:if((b.X>>4&511)>=b.Ia[f])b.S|=32832, -b.D|=49152;else if((b.X&15)>=b.J[f])b.S|=32800,b.D|=49152;else{c=(b.X>>4&511)*b.J[f]+(b.X&15);d=(b.D&48)<<12|b.$a;e=65536-b.bb&65535;a.qb(b.T[f],c,d,e);return}}b.ab=f<<13|b.ab&8176|b.X%9&15;I(a.a,20,5,144,function(){b.D=b.D&65534|128;return!!(b.D&64)})}k.rc=function(a,b,c,d,e){var f=this.g;f.$a=d&65535;f.D=f.D&-49|d>>12&48;f.bb=65536-e&65535;switch(a){case 1:f.S|=33024;f.D|=49152;break;case 2:f.S|=33792,f.D|=49152}I(this.a,20,5,144,function(){f.D=f.D&65534|128;return!!(f.D&64)})}; -function ib(a){var b=a.h,c,d,e,f=b.u>>8&3;b.u&=-2;"undefined"===typeof b.T[f]&&(b.T[f]={cache:[],postProcess:a.sc,drive:f,blocksize:128,mapped:1,maxblock:b.Ia[f]*b.J[f],url:"rl"+f+".dsk"});switch(b.u>>1&7){case 2:b.xa&8&&(b.u&=63);b.xa=b.ac[f]|b.Ba&64;break;case 3:1==(b.L&3)&&(b.Ba=b.L&4?b.Ba+(b.L&65408)&65408|b.L<<2&64:b.Ba-(b.L&65408)&65408|b.L<<2&64,b.L=b.Ba);break;case 4:b.xa=b.Ba;break;case 5:if(b.L>>6>=b.Ia[f]){b.u|=37888;break}if((b.L&63)>=b.J[f]){b.u|=37888;break}c=(b.L>>6)*b.J[f]+(b.L&63); -d=(b.ra&63)<<16|b.Wa;e=65536-b.xa&65535;hb(a,b.T[f],c,d,e);return;case 6:if(b.L>>6>=b.Ia[f])b.u|=37888;else if((b.L&63)>=b.J[f])b.u|=37888;else{c=(b.L>>6)*b.J[f]+(b.L&63);d=(b.ra&63)<<16|b.Wa;e=65536-b.xa&65535;a.qb(b.T[f],c,d,e);return}}I(a.a,20,5,112,function(){b.u|=129;return!!(b.u&64)})} -k.sc=function(a,b,c,d,e){var f=this.h;f.Wa=d&65535;f.u=f.u&-49|d>>12&48;f.ra=d>>16&63;f.L=~~(c/f.J[b.ja])<<6|c%f.J[b.ja];f.Ba=f.L;f.xa=65536-e&65535;switch(a){case 1:f.u|=33792;break;case 2:f.u|=40960}I(this.a,20,5,112,function(){f.u|=129;return!!(f.u&64)})};function jb(a){a=a.j;a.F=2176;a.aa=0;a.V=[4544,4544,4544,4544,4544,4544,4544,4544];a.Pa=[0,0,0,0,0,0,0,0];a.Ma=a.Qa=a.Oa=a.Aa=a.Fb=0} -function kb(a,b){var c=a.j,d,e,f;c.F&=-16513;c.aa&=-2049;c.V[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.T[b]&&(c.T[b]={cache:[],postProcess:a.tc,drive:b,blocksize:256,mapped:0,maxblock:c.ub[0]*c.Ha[0]*c.J[0],url:"rp"+b+".dsk"});switch(c.F&63){case 5:c.sb[b]=c.ma[b];c.F|=32896;c.V[b]|=32896;c.Ma|=1<=c.ub[0]||c.ba[b]>>8>=c.Ha[0]||(c.ba[b]&255)>=c.J[0]){c.Pa[b]|=1024;c.F|=49152;break}d=(c.ma[b]*c.Ha[0]+(c.ba[b]>>8))*c.J[0]+ -(c.ba[b]&255);e=(c.Aa&63)<<16|c.Oa;f=65536-c.Qa&65535;hb(a,c.T[b],d,e,f);return;case 57:if(c.ma[b]>=c.ub[0]||c.ba[b]>>8>=c.Ha[0]||(c.ba[b]&255)>=c.J[0])c.Pa[b]|=1024,c.F|=49152;else{d=(c.ma[b]*c.Ha[0]+(c.ba[b]>>8))*c.J[0]+(c.ba[b]&255);e=(c.Aa&63)<<16|c.Oa;f=65536-c.Qa&65535;a.qb(c.T[b],d,e,f);return}}I(a.a,3,5,172,function(){c.F=c.F&65534|128;c.V[b]|=128;return!!(c.F&64)})} -k.tc=function(a,b,c,d,e){var f=this.j;f.Qa=65536-e&65535;f.Oa=d&65535;f.F=f.F&-769|d>>8&768;f.Aa=d>>16&63;e=~~(c/f.J[0]);d=~~(e/f.Ha[0]);f.ba[b.ja]=e%f.Ha[0]<<8|c%f.J[0];f.sb[b.ja]=f.ma[b.ja]=d;f.Ma|=1<=b.ic-1&&(f.V[b.ja]|=1024);switch(a){case 1:f.aa|=512;f.F|=49152;break;case 2:f.aa|=2048,f.F|=49152}I(this.a,20,5,172,function(){f.V[b.ja]|=128;f.F=f.F&65534|128;return!!(f.F&64)})}; -function lb(a,b,c,d,e,f){var g=~~((f+c.sa-1)/c.sa),h=new XMLHttpRequest;2048>g&&d+2048g){b.Cb(2,b,c,d,e);return}b.cache[c][f]=g;d+=2;--e}c++}b.Cb(0,b,c,d,e)}k.reset=function(){this.c.Na=this.c.Na&-120|20;this.b.wa=0;this.g.D=128;this.h.u=128;jb(this)}; -k.$b=function(a,b,c){var d,e,f=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=f.za&65280:(a&1&&(b<<=8),f.za=b|255,d=0);break;case 4194298:if(0>b)d=f.Eb;else{a&1&&(b<<=8);if(d=b&65024){e=d>>9;do d+=34;while(e>>=1)}f.Eb=d;f.l|=2}break;case 4194294:if(70!==f.Ja)return K(f,4);0>b?d=f.s:d=f.s=0;break;case 4194292:if(70!==f.Ja)return K(f,4);d=1;break;case 4194290:if(70!==f.Ja)return K(f,4);d=0;break;case 4194288:if(70!==f.Ja)return K(f,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!==f.Ja)return K(f,4);e=a-4194272>>1;0>b?d=f.Ab[e]:(d=J(this,f.Ab[e],a,b,c),0<=d&&(f.Ab[e]=d));break;case 4194254:return a&1?f.C>>14&1?(0<=b&&(f.f[6]=b),d=f.f[6]):(0<=b&&(f.da[3]=b),d=f.da[3]):f.C>>14&0?(0<=b&&(f.f[6]=b),d=f.f[6]):(0<=b&&(f.da[1]=b),d=f.da[1]),d;case 4194252:case 4194250:case 4194248:return e=a&7,f.C&2048?(0<=b&&(f.f[e]=b),d=f.f[e]):(0<=b&&(f.La[e]=b),d=f.La[e]),d;case 4194246:return a& -1?(0<=b&&(f.f[7]=b),d=f.f[7]):f.C>>14&0?(0<=b&&(f.f[6]=b),d=f.f[6]):(0<=b&&(f.da[0]=b),d=f.da[0]),d;case 4194244:case 4194242:case 4194240:return e=a&7,f.C&2048?(0<=b&&(f.La[e]=b),d=f.La[e]):(0<=b&&(f.f[e]=b),d=f.f[e]),d;default:return f.s|=16,K(f,4)}break;case 4194176:e=a>>1&31;d=J(this,f.R[3][e],a,b,c);0<=d&&(f.R[3][e]=d,f.R[3][e&15]&=65295);break;case 4194112:switch(a&-2){case 4194174:d=J(this,f.rb,a,b,c);0<=d&&(f.rb=d);break;case 4194172:d=f.ya;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0> -b?d=this.c.Bc&65535:(d=J(this,this.c.data,a,b,c),0<=d&&(this.c.data=d));break;default:return f.s|=16,K(f,4)}break;case 4194048:e=this.g;switch(a&-2){case 4194048:d=J(this,e.ab,a,b,c);0<=d&&(e.ab=d);break;case 4194050:d=J(this,e.S,a,b,c);0<=d&&(e.S=d);break;case 4194052:d=J(this,e.D,a,b,c);0<=b&&0<=d&&(e.D=d&-36993|e.D&36992,e.D&1&&gb(this));break;case 4194054:d=J(this,e.bb,a,b,c);0<=d&&(e.bb=d);break;case 4194056:d=J(this,e.$a,a,b,c);0<=d&&(e.$a=d);break;case 4194058:d=J(this,e.X,a,b,c);0<=d&&(e.X= -d);break;case 4194060:break;case 4194062:d=J(this,e.Sb,a,b,c);0<=d&&(e.Sb=d);break;default:return f.s|=16,K(f,4)}break;case 4193728:var g=this.j;e=g.aa&7;switch(a&-2){case 4193728:d=J(this,g.F,a,b,c);0<=b&&0<=d&&(g.Aa=g.Aa&60|d>>8&3,g.F=d&17279|g.F&34944|2048,d&1&&g.F&128?kb(this,e):192==(d&192)&&I(f,0,5,172));break;case 4193730:d=J(this,g.Qa,a,b,c);0<=d&&(g.Qa=d);break;case 4193732:d=J(this,g.Oa,a,b,c);0<=d&&(g.Oa=d&65534);break;case 4193734:d=J(this,g.ba[e],a,b,c);0<=d&&(g.ba[e]=d&7967);break;case 4193736:d= -J(this,g.aa,a,b,c);0<=d&&(g.aa=d&63|g.aa&65472,d&128&&jb(this));break;case 4193738:d=g.V[e];break;case 4193740:d=g.Pa[e];break;case 4193742:d=J(this,g.Ma,a,b,c);0<=d&&(g.Ma=d&255);break;case 4193744:d=g.yc[e];break;case 4193746:d=J(this,g.Tb,a,b,c);0<=d&&(g.Tb=d);break;case 4193748:d=J(this,g.Ub[e],a,b,c);0<=d&&(g.Ub[e]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=g.zc[e];break;case 4193754:d=J(this,g.Vb[e],a,b,c);0<=d&&(g.Vb[e]=d);break;case 4193756:d=J(this,g.ma[e],a,b,c);0<=d&&(g.ma[e]= -d&511);break;case 4193758:g.sb[e]=g.ma[e];d=g.sb[e];break;case 4193760:d=g.wc[e];break;case 4193762:d=g.xc[e];break;case 4193764:d=g.uc[e];break;case 4193766:d=g.vc[e];break;case 4193768:d=J(this,g.Aa,a,b,c);0<=d&&(g.Aa=d&63,g.F=g.F&-769|(d&3)<<8);break;case 4193770:d=J(this,g.Fb,a,b,c);0<=d&&(g.Fb=d);break;default:return f.s|=16,K(f,4)}break;case 4192512:e=this.h;switch(a&-2){case 4192512:d=J(this,e.u,a,b,c);0<=b&&0<=d&&(e.ra=e.ra&60|d>>4&3,e.u=e.u&-1023|d&1022,e.u&128||ib(this));break;case 4192514:d= -J(this,e.Wa,a,b,c);0<=d&&(e.Wa=d&65534);break;case 4192516:d=J(this,e.L,a,b,c);0<=d&&(e.L=d);break;case 4192518:d=J(this,e.xa,a,b,c);0<=d&&(e.xa=d);break;case 4192520:d=J(this,e.ra,a,b,c);0<=d&&(e.ra=d&63,e.u=e.u&-49|(e.ra&3)<<4);break;default:return f.s|=16,K(f,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=f.Ka:(d=J(this,f.Ka,a,b,c),0<=d&&(70!==f.Ja&&(d&=-49),f.Ka=d,f.pb[0]=d&4?15:7,f.pb[1]=d&2?15:7,f.pb[3]=d&1?15:7,f.ob&&(e=2,f.Ka&16&&(e=1),this.c.Na=this.c.Na&-8|e)));break;default:return f.s|= -16,K(f,4)}break;case 4191424:e=a>>1&31;d=J(this,f.R[0][e],a,b,c);0<=d&&(f.R[0][e]=d,f.R[0][e&15]&=65295);break;case 4191360:e=a>>1&31;d=J(this,f.R[1][e],a,b,c);0<=d&&(f.R[1][e]=d,f.R[1][e&15]&=65295);break;case 4190400:case 4190336:if(70!==f.Ja)return K(f,4);e=a>>2&31;d=f.cb[e];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(f.cb[e]=a&2?d<<16|f.cb[e]&65535:f.cb[e]&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 f.s|=16,K(f,4);break;default:return f.s|=16,K(f,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var ob={},cb=(ob[65382]=[null,null,H.prototype.jc,H.prototype.Cc,"LKS"],ob[65402]=[null,null,H.prototype.kc,H.prototype.Dc,"MMR0"],ob[65534]=[null,null,H.prototype.lc,H.prototype.Ec,"PSW"],ob);u(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.c,0,c>>2),vb(this,rb?wb:xb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},W:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ga: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},pa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.ta=!0},I:function(a,b){return this.M(a,b)},ca:function(a,b){return this.ea(a, -b)},na:function(a,b,c){this.w||this.Zb(a,b,c)},Da:function(a,b,c){this.w||this.Ea(a,b,c)},H:function(a){return this.b[a]},N:function(a){return this.b[a]},Z:function(a){return this.g.getUint16(a,!0)},fa:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},ha:function(a,b){this.b[a]=b;this.ta=!0},oa:function(a,b){this.b[a]=b;this.ta=!0},Ca:function(a,b){this.g.setUint16(a,b,!0);this.ta=!0},Fa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.ta=!0}}; -function Ma(a,b,c){a.K=b;a.h=a.j=0;c&&((a.h=c.h)&&zb(a,Ab,!1),(a.j=c.j)&&Bb(a,Ab,!1))}function Bb(a,b,c){c&&a.j||(a.Sa=!a.w&&b[1]||a.v,a.Hc=!a.w&&b[3]||a.G);if(c||void 0===c)a.Zb=b[1]||a.v,a.Ea=b[3]||a.G}function zb(a,b,c){c&&a.h||(a.Za=b[0]||a.o,a.oc=b[2]||a.A);if(c||void 0===c)a.M=b[0]||a.o,a.ea=b[2]||a.A}function vb(a,b){b||(b=Cb);zb(a,b,void 0);Bb(a,b,void 0)}var Cb=[],yb=[G.prototype.W,G.prototype.pa,G.prototype.ga,G.prototype.Ga],Ab=[G.prototype.I,G.prototype.na,G.prototype.ca,G.prototype.Da]; -if(Ia)var xb=[G.prototype.H,G.prototype.ha,G.prototype.Z,G.prototype.Ca],wb=[G.prototype.N,G.prototype.oa,G.prototype.fa,G.prototype.Fa];function Db(a,b){v.call(this,"CPU",a,Db);var c=a.multiplier||1;this.lb=a.cycles||b;this.ga=c;this.xb=Math.round(this.lb/1E4)/100;this.na=this.xb*this.ga;this.i.$=!1;this.i.Wb=!1;this.i.Va=a.autoStart;this.i.Hb=!1;this.i.mb=!1;this.jb=this.oa=0;this.kb=a.csStart;this.Da=a.csInterval;this.Ea=a.csStop;this.M=[];this.Qb=this.Ac.bind(this);F(this)}y(Db); -var Eb=["power","reset"];k=Db.prototype;k.va=function(a,b,c,d){this.A=a;this.B=b;this.K=d;for(b=0;b>=3;d=""+e}else d=n(c,d);else d="--------".substr(0,d||4);a.w[b].textContent!=d&&(a.w[b].textContent=d)}} -k.Y=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.w[b]=c;a=!0;break;case "run":this.w[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.i.P)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.ea/a.na&&(b=1),a.ga=b,b=a.xb*a.ga,a.na!=b)){a.na=b;b=a.na.toFixed(2)+"Mhz";var c=a.w.setSpeed;c&&(c.textContent=b);a.U("target speed: "+b)}Nb(a,a.ca);a.ca=0;a.Z=ja();a.fa=0;Ob(a)}function ab(a,b){var c=a.M.length;a.M.push([-1,b]);return c}function bb(a,b,c){0<=b&&ba.M[b][0]&&(c*=a.lb*a.ga/1E3,a.M[b][0]=c)} -k.Ac=function(){if(this.i.$){this.Bb>=this.lb&&Ob(this,!0);this.Ga=0;this.ib=ja();if(this.fa){var a=this.ib-this.fa;a>this.Nb&&(this.Z+=a,this.Z>this.ib&&(this.Z=this.ib))}try{do{for(var b,c=this.i.mb?1:this.eb,d=this.M.length-1;0<=d;d--){var e=this.M[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var f=this.W-this.a,a=f,g=this.M.length-1;0<=g;g--){var h=this.M[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ga+=f;this.ca+=f;Nb(this,0,!0);a=f;if(this.i.mb){var l= -!1;this.jb=this.jb+this.Mb()|0;this.oa-=a;0>=this.oa&&(this.oa+=this.Da,l=!0);0<=this.Ea&&this.Ea<=Pb(this)&&(this.Da=this.Ea=-1,Hb(this),Lb(this),l=!0);l&&this.U(Pb(this)+" cycles: checksum="+n(this.jb))}this.Fa-=f;if(0>=this.Fa){this.Fa+=this.eb;15<=++this.Ob&&(this.A&&this.A.Ra(),this.Ob=0);break}}while(this.i.$)}catch(m){Lb(this);Ib(this);this.A&&this.A.stop(ja(),Pb(this));b=m.stack||m.message;this.i.error=!0;this.O(b);return}if(this.i.$){b=setTimeout;c=this.Qb;this.fa=ja();d=this.Nb;this.Ga&& -(d=Math.round(d*this.Ga/this.eb));d-=this.fa-this.ib;if(e=this.fa-this.Z)this.ea=Math.round(this.ca/(10*e))/100,864E5<=e&&(this.ha=0,Mb(this));if(0>d||this.ead&&(this.Z-=d),d=0;this.Bb+=this.Ga;this.fa+=d;b(c,d)}}};function Jb(a){var b;a.i.error?(a.U(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.i.$)a.U(a.toString()+" busy");else{Mb(a);a.i.$=!0;a.i.Wb=!0;a.Ca&&a.Ca.start();if(b=a.w.run)b.textContent="Halt";a.A&&a.A.start(a.Z,Pb(a));Ib(a,!0);setTimeout(a.Qb,0)}}k.Xb=function(){return 0}; -function Lb(a){if(a.i.$){a.W-=a.a;a.a=0;Nb(a,a.ca);a.ca=0;a.i.$=!1;a.Ca&&a.Ca.stop();var b=a.w.run;b&&(b.textContent="Run");a.A&&a.A.stop(ja(),Pb(a));Ib(a)}a.i.complete=void 0}function Ib(a,b){a.A&&a.A.Ra(b)} -function Qb(a){this.gc=a.resetAddr||0;Db.call(this,a,6666667);this.Kb=0;this.decode=Rb.bind(this);this.j=65536;this.g=32768;this.h=65535;this.m=32768;this.C=15;this.f=[0,0,0,0,0,0,0,this.gc];this.La=[0,0,0,0,0,0];this.da=[0,0,0,0];this.hb=this.v=0;this.R=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.cb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.Ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.c=this.b=this.vb=this.H=this.I=this.l=0;this.Ja=70;this.pa=-1;Sb(this);this.i.complete=this.i.bc=!1}y(Qb,Db);k=Qb.prototype;k.reset=function(){this.i.$&&Lb(this);Sb(this);Gb(this);this.i.error=!1;this.parent.reset.call(this)}; -function Sb(a){a.za=255;a.s=0;a.Eb=0;a.G=0;a.ya=0;a.rb=0;a.Ka=0;a.ob=0;a.gb=0;a.pb=[7,7,7,7];a.o=[];a.l|=2;db(a)}function db(a){a.ob?(a.Jb=65536,a.N=a.ec):(a.Jb=0,a.N=a.dc)}k.Mb=function(){return 0};k.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.ha,this.ga]);a.set(2,Xa(this.B));return a.data()}; -k.restore=function(a){var b=a[1];this.ha=b[1];Mb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;cb){a.o[f].ia-=b;break}b-=a.o[f].ia}a.o.splice(f+1,0,{ia:b,Rb:c<<5&224,Yb:d,yb:e})}a.l|=2}function eb(a){return a.C=a.C&63728|a.ua()|(a.h&65535?0:4)|(a.g&32768?2:0)|M(a)} -function fb(a,b){a.m=b<<12;a.h=~b&4;a.g=b<<14;a.j=b<<16;if((b^a.C)&2048)for(var c=a.La.length;0<=--c;){var d=a.f[c];a.f[c]=a.La[c];a.La[c]=d}a.v=b>>14&3;c=a.C>>14&3;a.v!=c&&(a.da[c]=a.f[6],a.f[6]=a.da[a.v]);a.l|=2;a.C=b}function O(a,b){a.l&128||(a.m=a.h=b,a.g=0)}function P(a,b,c){a.l&128||(a.m=a.h=a.j=b,a.g=c||0)}function Ub(a,b,c,d){a.l&128||(a.m=a.h=a.j=b,a.g=(c^b)&(d^b))}function Q(a,b){a.l&128||(a.m=a.h=a.j=b,a.g=a.m^a.j>>1)}function Vb(a,b,c,d){a.l&128||(a.m=a.h=a.j=b,a.g=(c^d)&(d^b))} -function K(a,b){var c=!1;0>a.pa?a.pa=eb(a):a.v||(b=4,c=!0);a.G&57344||(a.ya=63222,a.rb=b);a.v=0;var d=N(a,b|65536),e=N(a,b+2&65535|65536);fb(a,e&-12289|a.pa>>2&12288);c&&(a.s|=4,a.f[6]=4);Wb(a,a.pa);Wb(a,a.f[7]);a.f[7]=d&65535;a.l&=-113;a.pa=-1;throw b;}function Xb(a){var b=Yb(a),c=Yb(a)&-1793;a.C&49152&&(c=c&-225|a.C&63712);a.f[7]=b&65535;fb(a,c);a.l&=-17} -function mb(a,b){var c=b>>13&31;31>c?a.Ka&32&&(b=a.cb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} -function Zb(a,b,c){var d,e,f,g=0;if(c&a.ob){d=b>>13&a.pb[a.v];e=a.R[a.v][d];f=(a.R[a.v][d+16]<<6)+(b&8191)&4194303;a.Ka&16?3932160<=f&&4186112>f&&(f=mb(a,f&262143)):(f&=262143,253952<=f&&(f|=4186112));3932160>f&&(3915776<=f&&(a.s|=32,K(a,4)),f&1&&!(c&1)&&(a.s|=64,K(a,4)));switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|= -16384));a.R[a.v][d]=e;if(4194170!==f||a.v)a.gb=a.v,a.hb=d;g&&(g&57344&&(0<=a.pa&&(g|=128),a.G&57344||(a.G=a.G|g|a.gb<<5|a.hb<<1),K(a,168)),a.G&61440||!(4191360>f||4194239>>a.c;return c!=a.h?a.b[d].oc(c,b):a.b[d++].Za(c,b)|a.b[d&a.H].Za(0,b+1)<<8}function N(a,b){return nb(a,Zb(a,b,2))} -function Yb(a){var b=N(a,a.f[6]|65536);a.f[6]=a.f[6]+2&65535;return b}function Wb(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.G&57344||(a.ya=a.ya<<8|246);!a.v&&c<=a.za&&4c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!==c&&(e|=g);e=N(a,e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;7!==c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!==c&&(e|=g);e=N(a,e)|g;a.a-=8;break; -case 6:return e=Tb(a),e=e+a.f[c]&65535|g,a.a-=6,e;case 7:return e=Tb(a),e=e+a.f[c]&65535,e=N(a,e|65536)|g,a.a-=10,e}a.f[c]=a.f[c]+f&65535;!g||a.G&57344||(a.ya=a.ya<<8|f<<3&248|c);6==c&&!a.v&&d&4&&0>=f&&(a.f[6]<=a.za||65534<=a.f[6])&&(a.f[6]<=a.za-32?(a.s|=4,a.f[6]=4,K(a,4)):(a.s|=8,a.l|=64));return e}k.dc=function(a,b,c){return $b(this,a,b,c)};k.ec=function(a,b,c){return Zb(this,$b(this,a,b,c),c)}; -function ac(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=$b(a,b,d,2),c&65536||61440!==(a.C&61440)&&(d&=65535),a.v=a.C>>12&3,c=N(a,d|c&65536),a.v=a.C>>14&3):c=6!=d||(a.C>>2&12288)===(a.C&12288)?a.f[d]:a.da[a.C>>12&3];return c}function bc(a,b,c,d){a.G&57344||(a.ya=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=$b(a,b,e,4),c&65536||(e&=65535),a.v=a.C>>12&3,e=Zb(a,e|c&65536,4),a.v=a.C>>14&3,Wa(a.B,e,d&65535)):6!=e||(a.C>>2&12288)===(a.C&12288)?a.f[e]=d:a.da[a.C>>12&3]=d} -function cc(a,b){b>>=6;var c=a.I=b&7;(b=a.H=(b&56)>>3)?(c=a.N(b,c,3),a=Va(a.B,c)):a=a.f[c]&255;return a}function R(a,b){var c;b>>=6;var d=a.I=b&7;(b=a.H=(b&56)>>3)?c=nb(a,a.N(b,d,2)):c=a.f[d];return c}function dc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return $b(a,b,c,8)}function ec(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.N(b,c,3),a=Va(a.B,c)):a=a.f[c]&255;return a}function S(a,b){var c,d=a.b=b&7;(b=a.c=(b&56)>>3)?c=nb(a,a.N(b,d,2)):c=a.f[d];return c} -function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.vb=a.N(b,e,7),c=d.call(a,c,Va(a.B,e)),e&1&&a.a--,a=a.B,a.b[(e&a.j)>>>a.c].Sa(e&a.h,c&255,e)):a.f[e]=a.f[e]&65280|d.call(a,c,a.f[e])}function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.N(b,e,6),c=d.call(a,c,nb(a,e)),Wa(a.B,e,c&65535)):a.f[e]=d.call(a,c,a.f[e])} -function fc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.N(b,e,5),d&1&&a.a--,a=a.B,a.b[(d&a.j)>>>a.c].Sa(d&a.h,c&255,d)):a.f[e]=c?d&1?c<<24>>24&65535:a.f[e]&-256|c&255:a.f[e]&-256;return c}function gc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.N(b,d,4),Wa(a.B,d,c&65535)):a.f[d]=c&65535;return c}function V(a,b,c){c&&(a.f[7]=a.f[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3} -k.Xb=function(a){this.i.complete=!0;this.i.bc=!1;this.i.Wb=!1;this.W=this.a=a;do{if(this.l&&(this.l&112&&(this.l&32?K(this,168):this.l&64?K(this,4):this.l&16&&K(this,12),this.l&=-113),this.l&7))if(this.l&2){this.l&=-3;a=null;for(var b=this.Eb&224,c=this.o.length;0<=--c;){if(0b&&(b=this.o[c].Rb,a=this.o[c],this.o.splice(c,1))}b>(this.C&224)&&(this.l&4&&(this.f[7]= -this.f[7]+2&65535,this.l&=-5),a?K(this,a.Yb):K(this,160))}else this.l&1&&this.l++;this.G&57344||(this.ya=0,this.rb=this.f[7]);this.l=this.l&7|this.C&16;this.decode(Tb(this))}while(0>1|b<<16;Q(this,a);return a&65535}function mc(a,b){a=b&2048|b>>1|b<<8;Q(this,a<<8);return a&255}function nc(a,b){a=b&~a;O(this,a);return a}function oc(a,b){a=b&~a;O(this,a<<8);return a}function pc(a,b){a|=b;O(this,a);return a}function qc(a,b){a|=b;O(this,a<<8);return a}function rc(a,b){a=~b|65536;P(this,a);return a&65535} -function sc(a,b){a=~b|256;P(this,a<<8);return a&255}function tc(a,b){a=b-a;this.l&128||(this.m=this.h=a,this.g=b&(b^a));return a&65535}function uc(a,b){a=b-a;var c=a<<8;b<<=8;this.l&128||(this.m=this.h=c,this.g=b&(b^c));return a&255}function vc(a,b){a=b+a;this.l&128||(this.m=this.h=a,this.g=a&(b^a));return a&65535}function wc(a,b){a=b+a;var c=a<<8;this.l&128||(this.m=this.h=c,this.g=c&(b<<8^c));return a&255}function xc(a,b){a=-b;P(this,a,a&b&32768);return a&65535} -function yc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function zc(a,b){a=b<<1|this.j>>16&1;Q(this,a);return a&65535}function Ac(a,b){a=b<<1|this.j>>16&1;Q(this,a<<8);return a&255}function Bc(a,b){a=(this.j&65536|b)>>1|b<<16;Q(this,a);return a&65535}function Cc(a,b){a=((this.j&65536)>>8|b)>>1|b<<8;Q(this,a<<8);return a&255}function Dc(a,b){var c=b-a;Vb(this,c,a,b);return c&65535}function Ec(a,b){var c=b-a;Vb(this,c<<8,a<<8,b<<8);return c&255} -function Fc(a,b){this.l&128||(this.m=this.h=b&65280,this.g=this.j=0);return(b<<8|b>>8)&65535}function Gc(a,b){a^=b;O(this,a);return a&65535}function Hc(a){var b=S(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.j=this.g=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.g=32768)}this.f[a]=c&65535;this.m=this.h=c;this.a-=(this.c?6:7)+b} -function Ic(a){var b=S(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.j=this.g=0;b&=63;if(b&32){b=64-b;32>b-1;this.j=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.f[a|1]=d&65535;this.m=d>>16;this.h=d>>16|d;this.a-=(this.c?6:7)+b}function W(a){a&1&&(this.j=0);a&2&&(this.g=0);a&4&&(this.h=1);a&8&&(this.m=0);this.a-=5} -function Jc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.j=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.h=d>>16|d,this.m=d>>16):(this.g=32768,this.h=d>>15|d,this.m=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.h=this.m=0,this.g=32768,this.j=65536,this.a-=7}var Kc=[0,7,7,10,7,11,9,13];function Lc(a){var b=this.a;a=dc(this,a);this.f[7]=a&65535;this.a=b-Kc[this.c]} -var Mc=[0,14,14,17,14,18,16,20];function Nc(a){var b=this.a,c=dc(this,a);a=a>>6&7;Wb(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-Mc[this.c]}var Oc=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Pc=[7,13,13,17,14,18,17,21];function Qc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.l&128||(this.m=b>>16,this.h=this.m|b,this.g=0,this.j=-32768>b||32767>6;if(this.f[b]=this.f[b]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Tc(a){U(this,a,0,Fc);this.a-=this.c?9:3+(7==this.b?2:0)}function Uc(a){U(this,a,R(this,a),Gc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8)}function Rb(a){Vc[a>>12].call(this,a)} -var Vc=[function(a){Wc[a>>8&15].call(this,a)},function(a){var b=R(this,a),c=this.a;O(this,gc(this,a,b));this.a=c-Oc[(this.H?8:0)+this.c]+(7!=this.b||this.c?0:2)},function(a){var b=R(this,a);a=S(this,a);Vb(this,b-a,a,b);this.a-=this.c?4+(this.I&&6<=this.b?1:0):(this.H?4:3)+(7==this.b?2:0)},function(a){O(this,R(this,a)&S(this,a));this.a-=this.c?4+(this.I&&6<=this.b?1:0):(this.H?4:3)+(7==this.b?2:0)},function(a){U(this,a,R(this,a),nc);this.a-=this.c?9+(this.I&&6<=this.b?1:0):(this.H?5:3)+(7==this.b? -2:0)},function(a){U(this,a,R(this,a),pc);this.a-=this.c?9+(this.I&&6<=this.b?1:0):(this.H?5:3)+(7==this.b?2:0)},function(a){U(this,a,R(this,a),hc);this.a-=this.c?9+(this.I&&6<=this.b?1:0):(this.H?5:3)+(7==this.b?2:0)},function(a){Xc[a>>8&15].call(this,a)},function(a){Yc[a>>8&15].call(this,a)},function(a){var b=cc(this,a);O(this,fc(this,a,b,1)<<8);this.a-=this.c?9+(this.I&&6<=this.b?1:0):(this.H?5:3)+(7==this.b?2:0)},function(a){var b=cc(this,a)<<8;a=ec(this,a)<<8;Vb(this,b-a,a,b);this.a-=this.c?4+ -(this.I&&6<=this.b?1:0):(this.H?4:3)+(7==this.b?2:0)},function(a){O(this,(cc(this,a)&ec(this,a))<<8);this.a-=this.c?4+(this.I&&6<=this.b?1:0):(this.H?4:3)+(7==this.b?2:0)},function(a){T(this,a,cc(this,a),oc);this.a-=this.c?9+(this.I&&6<=this.b?1:0):(this.H?5:3)+(7==this.b?2:0)},function(a){T(this,a,cc(this,a),qc);this.a-=this.c?9+(this.I&&6<=this.b?1:0):(this.H?5:3)+(7==this.b?2:0)},function(a){U(this,a,R(this,a),Dc);this.a-=this.c?9+(this.I&&6<=this.b?1:0):(this.H?5:3)+(7==this.b?2:0)},Y],Wc=[function(a){Zc[a>> -4&15].call(this,a)},function(a){V(this,a,!0)},function(a){V(this,a,!!(this.h&65535))},function(a){V(this,a,this.h&65535?0:4)},function(a){V(this,a,!this.ua()==!(this.g&32768))},function(a){V(this,a,!this.ua()!=!(this.g&32768))},function(a){V(this,a,!!(this.h&65535)&&!this.ua()==!(this.g&32768))},function(a){V(this,a,(this.h&65535?0:4)||!this.ua()!=!(this.g&32768))},Nc,Nc,function(a){$c[a>>6&3].call(this,a)},function(a){ad[a>>6&3].call(this,a)},function(a){bd[a>>6&3].call(this,a)},function(a){cd[a>> -6&3].call(this,a)},Y,Y],$c=[function(a){P(this,gc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,vc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,tc);this.a-=this.c?9:3+(7==this.b?2:0)}],ad=[function(a){U(this,a,0,xc);this.a-=this.c?11:6},function(a){U(this,a,M(this)?1:0,hc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,M(this)?1:0,Dc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=S(this, -a);P(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],bd=[function(a){U(this,a,0,Bc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,zc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,lc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,jc);this.a-=this.c?9:3+(7==this.b?2:0)}],cd=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=N(this,a|65536);this.f[7]=this.f[5]&65535;this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=ac(this,a,0);Wb(this,a);O(this,a);this.a-=11}, -function(a){var b=Yb(this),c=this.a;bc(this,a,0,b);O(this,b);this.a=c-Pc[this.c]},function(a){O(this,gc(this,a,this.ua?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Zc=[function(a){dd[a&15].call(this,a)},Y,Y,Y,Lc,Lc,Lc,Lc,function(a){if(a&8)K(this,8);else{var b=Yb(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}},function(a){a&8?(this.C&49152||(this.C=this.C&-2017|(a&7)<<5,this.l|=1),this.a-=5):K(this,8)},function(a){ed[a&15].call(this,a)},function(a){fd[a&15].call(this,a)},Tc,Tc,Tc,Tc], -dd=[function(){this.C&49152?(this.s|=128,K(this,4)):(this.W-=this.a,this.a=0);this.a-=7},function(){this.l|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3},function(){Xb(this);this.l|=this.C&16;this.a-=13},function(){K(this,12);this.a-=5},function(){K(this,16);this.a-=25},function(){this.C&49152||(Sb(this),this.B.reset());this.a-=667},function(){Xb(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],ed=[Rc,function(){this.j=0;this.a-=5},function(){this.g=0;this.a-=5},W,function(){this.h=1;this.a-=5},W,W,W,function(){this.m= -0;this.a-=5},W,W,W,W,W,W,W],fd=[Rc,function(){this.j=65536;this.a-=5},function(){this.g=32768;this.a-=5},X,function(){this.h=0;this.a-=5},X,X,X,function(){this.m=32768;this.a-=5},X,X,X,X,X,X,X],Xc=[Qc,Qc,Jc,Jc,Hc,Hc,Ic,Ic,Uc,Uc,Y,Y,Y,Y,Sc,Sc],Yc=[function(a){V(this,a,!this.ua())},function(a){V(this,a,this.ua())},function(a){V(this,a,!M(this)&&!!(this.h&65535))},function(a){V(this,a,M(this)||(this.h&65535?0:4))},function(a){V(this,a,!(this.g&32768))},function(a){V(this,a,this.g&32768?2:0)},function(a){V(this, -a,!M(this))},function(a){V(this,a,M(this))},function(){K(this,24);this.a-=25},function(){K(this,28);this.a-=5},function(a){gd[a>>6&3].call(this,a)},function(a){hd[a>>6&3].call(this,a)},function(a){id[a>>6&3].call(this,a)},function(a){jd[a>>6&3].call(this,a)},Y,Y],gd=[function(a){P(this,fc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,sc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,wc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,uc);this.a-=this.c? -9:3+(7==this.b?2:0)}],hd=[function(a){T(this,a,0,yc);this.a-=this.c?11:6},function(a){T(this,a,M(this)?1:0,ic);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,M(this)?1:0,Ec);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=ec(this,a);P(this,a<<8);this.a-=this.c?4:3+(7==this.b?2:0)}],id=[function(a){T(this,a,0,Cc);this.a-=this.c?9+(this.vb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,Ac);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,mc);this.a-=this.c?9+(this.vb&1):3+(7==this.b? -2:0)},function(a){T(this,a,0,kc);this.a-=this.c?9:3+(7==this.b?2:0)}],jd=[Y,function(a){a=ac(this,a,65536);Wb(this,a);O(this,a);this.a-=11},function(a){var b=Yb(this),c=this.a;bc(this,a,65536,b);O(this,b);this.a=c-Pc[this.c]},Y]; -function kd(a){v.call(this,"ROM",a,kd);this.b=null;this.m=a.addr;this.c=a.size;this.o=a.writable;this.g=a.alias;this.h=a.file;this.A=ba(this.h);if(this.h){a=this.h;var b=ca(this.A);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){ld(c,a,b,f)})}}y(kd);kd.prototype.va=function(a,b,c,d){this.B=b;this.a=c;this.K=d;md(this)};kd.prototype.la=function(){this.j&&(this.K&&this.K.a(this.id,this.m,this.c,this.j),delete this.j);return!0}; -kd.prototype.ka=function(){return!0}; -function ld(a,b,c,d){if(d)a.O("Unable to load system ROM (error "+d+": "+b+")");else{Fa(a.wb,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,g,h=eval("("+c+")");if(f=h.bytes)a.b=f;else if(f=h.words)for(a.b=Array(2*f.length),g=e=0;e>8&255;else if(f=h.data)for(a.b=Array(4*f.length),g=e=0;e>8&255,a.b[g++]=f[e]>>16&255,a.b[g++]=f[e]>>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(l){a.O("ROM data error: "+l.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>d.c].Zb(e&d.h,a.b[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c>>e.c;0>>=e.c;0=b)a.preventDefault&&a.preventDefault(),64");if(2==b.length){var c=ha(b[0]);if(c!=this.fb)return;b=ha(b[1]);if(this.o=Ga(b)){var d=this.o.exports;if(d){var e=d.connect;e&&e.call(this.o);if(this.v=d.receiveData){this.status(this.wb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.la=function(a,b){if(!b)if(this.Pb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.ka=function(a){return a?this.save():!0};k.reset=function(){rd(this)};k.save=function(){var a=new L(this);a.set(0,[]);return a.data()};k.restore=function(){return rd(this)};function rd(a){a.I=0;a.b=0;a.c=128;a.h=[];return!0}k.Db=function(a){if("number"==typeof a)this.h.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.M||8,c=a-this.m%a,this.M&&(b=" ".slice(0,c)));this.G&&!this.m&&c&&(b=String.fromCharCode(this.G)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.m+=c}else if(null!=this.j){if(10==a||1024<=this.j.length)this.U(this.j), -this.j="";10!=a&&(this.j+=String.fromCharCode(a))}this.c&=-129;I(this.a,100,4,52,this.H)}};var sd={},qd=(sd[65392]=[null,null,Z.prototype.nc,Z.prototype.Gc,"RCSR"],sd[65394]=[null,null,Z.prototype.mc,Z.prototype.Fc,"RBUF"],sd[65396]=[null,null,Z.prototype.qc,Z.prototype.Jc,"XCSR"],sd[65398]=[null,null,Z.prototype.pc,Z.prototype.Ic,"XBUF"],sd);u(function(){for(var a=D(document,"pdp11","serial"),b=0;b\nLicense: GPL version 3 or later ");this.U("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis ");for(b=0;bvd){if(xd(d,this.A)){this.j=new L(this,"1.30.0","failsafe");xd(this.j)&&(Cd(this,d),a=2,Dd(this.j));this.j.set("timestamp",ka());Ed(this.j);var e=this.b&&!this.m;if(1==a||la("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Bd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?xd(d,g):("error"== -f&&"no machine state"!=g?(this.O("Error: "+g),"unable to verify user"==g&&(pa("user",""),this.c=null)):this.U(f+": "+g),Dd(d),xd(d)?(c=Bd(d),e=!0):c=!1))}e&&Ad(this,c?d:null)}else 2==a&&d.clear()}else Ad(this);delete this.A;delete this.v}e=z(this.id);for(f=0;fa[1];a=a[2];this.Z=!0;this.i.P=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.a&&(Fd(this,this.a,b,c,a),this.a.Va());this.I&&(Cd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0}; -function Cd(a,b){if(la("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",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 Gd(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new L(a,"1.30.0"),g=new L(a,"1.30.0","validate"),h=ka();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ka&&(c&&Lb(a.a),d=a.a.ka(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.i.P=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Nd(a,b,c)}})}else c(a,null)} -function Od(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--Kd||wa(!0));l=!1}var g,h,l=!0;Kd++;Ea[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=m:w.appendChild(document.createTextNode(m));q.appendChild(w)}c|| -(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Ld(c,null,null,!1,e,function(d,l){l?(Fa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--Kd||wa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Kd||wa(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Ld(b,a,d,!0,e,m):Md(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(E){f(E.message)}return l}window.embedPDP11=function(a,b,c,d){wa(!1);return Od(a,b,c,d)};window.enableEvents=wa;window.sendEvent=xa;})(); diff --git a/versions/pdpjs/1.30.1/common.css b/versions/pdpjs/1.30.1/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pdpjs/1.30.1/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pdpjs/1.30.1/common.xsl b/versions/pdpjs/1.30.1/common.xsl deleted file mode 100644 index 64bb6049c..000000000 --- a/versions/pdpjs/1.30.1/common.xsl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.1/components.css b/versions/pdpjs/1.30.1/components.css deleted file mode 100644 index 707d508a0..000000000 --- a/versions/pdpjs/1.30.1/components.css +++ /dev/null @@ -1,201 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0%; - background-color: gold; - position: absolute; - top: 0px; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0px; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-tripled { - padding: 1px; -} -.pcjs-tripled-label { - text-align: right; - padding: 8px; -} -.pcjs-ledpad { - line-height: 32px; - background-color: #000000; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } - .pdp11-device { - width: 100% !important; - max-width: none !important; - } -} diff --git a/versions/pdpjs/1.30.1/components.xsl b/versions/pdpjs/1.30.1/components.xsl deleted file mode 100644 index b8a5cd3d9..000000000 --- a/versions/pdpjs/1.30.1/components.xsl +++ /dev/null @@ -1,1377 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pdp11 - PDPjs - 1.30.1 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pdpjs/1.30.1/document.css b/versions/pdpjs/1.30.1/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pdpjs/1.30.1/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pdpjs/1.30.1/document.xsl b/versions/pdpjs/1.30.1/document.xsl deleted file mode 100644 index 9f15d0490..000000000 --- a/versions/pdpjs/1.30.1/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.1/machine.xsl b/versions/pdpjs/1.30.1/machine.xsl deleted file mode 100644 index 06543edeb..000000000 --- a/versions/pdpjs/1.30.1/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.1/manifest.xsl b/versions/pdpjs/1.30.1/manifest.xsl deleted file mode 100644 index f317ee493..000000000 --- a/versions/pdpjs/1.30.1/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pdpjs/1.30.1/outline.xsl b/versions/pdpjs/1.30.1/outline.xsl deleted file mode 100644 index e42147bb2..000000000 --- a/versions/pdpjs/1.30.1/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.1/pdp11-dbg.js b/versions/pdpjs/1.30.1/pdp11-dbg.js deleted file mode 100644 index 576168686..000000000 --- a/versions/pdpjs/1.30.1/pdp11-dbg.js +++ /dev/null @@ -1,276 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,da=["Math","log2"],ea=0;ea>=3;return(c?"0o":"")+d}function l(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function oa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ta(a){return a.replace(/[&<>"']/g,function(a){return sa[a]})} -function ua(a,b){return(a+" ").slice(0,b)}function va(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var wa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function xa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function Ba(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var m="",p;for(p in b)b.hasOwnProperty(p)&&(m&&(m+="&"),m+=p+"="+encodeURIComponent(b[p]));m=m.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(m)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function Ca(a,b){var c,d={la:null,ea:null,Ia:null,Ha:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ia=g.load;d.Ha=g.exec;if(e=g.bytes)d.la=e;else if(e=g.words)for(d.la=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.la=Array(4*e.length),f=c=0;c>8&255,d.la[f++]=e[c]>>16&255,d.la[f++]=e[c]>>24&255;else d.la=g;d.ea=g.symbols;d.la.length?1==d.la.length&&(n(d.la[0]),d=null):(n("Empty resource: "+a),d=null)}catch(h){n("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.$a=this.id:(this.Sa=this.id.substr(0,b),this.$a=this.id.substr(b+1));this[a]=c;this.v={ready:!1,Ja:!1,Kb:!1,ja:!1,error:!1};this.Cb=null;this.v.error=!1;this.I={};this.i=null;this.na=d||0;t.push(this)}var Xa=void 0,db={}; -if(window){Xa||(Xa=window.location.search.substr(1));for(var eb,fb=/\+/g,gb=/([^&=]+)=?([^&]*)/g;eb=gb.exec(Xa);)db[decodeURIComponent(eb[1].replace(fb," "))]=decodeURIComponent(eb[2].replace(fb," "))}function hb(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 u(a,b){b||(b=r);a.prototype=hb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ib=window.PCjs.Machines||(window.PCjs.Machines={}),t=window.PCjs.Components||(window.PCjs.Components=[])}else ib={},t=[];function jb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function kb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>2;this.w=this.ua-1;this.D=this.H/this.ua|0;this.Ga=[];this.f=0;this.A=[];this.oc=[Ob,Pb,Qb,Rb];a=new I(this);Sb(a,this.i);this.V=Array(this.D);for(b=0;b>8:e[2](b)&255):b&1&&(e=d.Ga[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.i&&F(this.i,64)&&D(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=Ub(d,b,!0);this.i&&F(this.i,64)&&D(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c} -function Pb(a,b,c){var d=!1,e=this.controller,f=e.Ga[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Ga[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.i&&F(this.i,64)&&D(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(Ub(e,c,!0,b),this.i&&F(this.i,64)&&D(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b),!0,!0))} -function Qb(a,b){var c=-1,d=this.controller;(a=d.Ga[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&F(this.i,64)&&D(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=Ub(d,b,!1);this.i&&F(this.i,64)&&D(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c} -function Rb(a,b,c){var d=!1,e=this.controller;if(a=e.Ga[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.i&&F(this.i,64)&&D(this.i,a[4]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(Ub(e,c,!1,b),this.i&&F(this.i,64)&&D(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b),!0,!0))} -function Vb(a,b){if(b!=a.B){var c;a.B&&(c=(1<>>a.ha;0g&&(q=g);if(!e&&m&&m.size){if(m.type==d){if(f+g<=m.C)return m.yb+=m.C-f,m.C=f,!0;if(f>=m.C+m.yb){q=m.size-(f-p);q>g&&(q=g);m.yb=f-m.C+q;f=p+a.ua;g-=q;h++;continue}}return ac(1,f,g)}f=new I(a,f,q,a.ua,d,e);Sb(f,a.i,m);a.V[h++]=f;f=p+a.ua;g-=q}if(0>=g){c/=1024;var v;e="";v?10>>=a.ha;0>>=a.ha;0>>this.ha].Fb(a&this.w,a)};k.Db=function(a){this.f++;a=this.V[(a&this.g)>>>this.ha].Mb(a&this.w,a);this.f--;return a};k.oa=function(a){return this.V[(a&this.g)>>>this.ha].pa(a&this.w,a)}; -k.eb=function(a){var b=a&this.w,c=(a&this.g)>>>this.ha;this.f++;a=this.V[c].Nb(b,a);this.f--;return a};k.Gb=function(a,b){this.V[(a&this.g)>>>this.ha].Ib(a&this.w,b&255,a)};k.Ya=function(a,b){this.f++;this.V[(a&this.g)>>>this.ha].Jb(a&this.w,b&255,a);this.f--};k.Za=function(a,b){this.V[(a&this.g)>>>this.ha].zb(a&this.w,b&65535,a)};k.Hb=function(a,b){var c=a&this.w,d=(a&this.g)>>>this.ha;this.f++;this.V[d].Sb(c,b&65535,a);this.f--}; -function cc(a){for(var b=0,c=[],d=0;da.b.fb)){var g=f[0]?f[0].bind(b):null,h=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,p=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&m&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!h&&p&&(h=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));dc(a,e,e,g,h,m,p,f[4])}}}function fc(a,b){a.A.push(b)} -function gc(a,b,c){a.f||(a.i&&F(a.i,64)&&(D(a.i,"memory fault ("+c+") on address "+J(a.i,b),!0,!0),$b(a.i)),a.b.ga(4,b))}function ac(a,b,c){n("Memory block error ("+a+": "+l(b)+","+l(c)+")");return!1}function K(a){r.call(this,"Device",a,K,256);this.g={data:0,Vd:0,Eb:20,kd:0};this.f={Wd:0,Rb:-1}}u(K);k=K.prototype; -k.Ca=function(a,b,c,d){this.w=b;this.b=c;this.i=d;var e=this;this.f.Rb=hc(c,function(){e.f.La|=128;e.f.La&64&&(ic(e.b,e.f.ld),jc(e.b,e.f.Rb,1E3/60))});this.f.ld=kc(64,6);ec(b,this,L);fc(b,this.reset.bind(this));H(this)};k.reset=function(){this.g.Eb=this.g.Eb&-120|20;this.f.La=0};k.Gc=function(){var a=this.f.La;this.f.La&=-129;return a};k.ud=function(a){this.f.La=a;a&64&&jc(this.b,this.f.Rb,1E3/60);this.f.La=a&-129};k.zc=function(a){return(a?this.g.kd:this.g.data)&65535}; -k.nd=function(a){this.g.data=a};k.Ic=function(){var a=this.b;return a.D&62337|a.za<<5|a.Aa<<1};k.wd=function(a){var b=this.b;a&=62337;if(b.D!=a){b.D=a;b.za=a>>5&3;b.Aa=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ma!=c&&(b.Ma=c,lc(b))}vc(this)};k.Jc=function(){var a=this.b.Oa;a&65280&&(a=(a<<8|a>>8)&65535);return a};k.Kc=function(){return this.b.xb};k.Lc=function(){return this.b.Pa}; -k.xd=function(a){var b=this.b;1170>b.fb&&(a&=-49);b.Pa!=a&&(b.Pa=a,a&16?(b.rb=4194303,b.Ta=3915776):(b.rb=262143,b.Ta=253952),lc(b));vc(this)};function vc(a){a.g.Eb=a.g.Eb&-8|(a.b.Ma?a.b.Pa&16?1:2:4)}k.Zc=function(a){return this.b.U[1][a>>1&7]};k.Ld=function(a,b){this.b.U[1][b>>1&7]=a&65295};k.Xc=function(a){return this.b.U[1][(a>>1&7)+8]};k.Jd=function(a,b){this.b.U[1][(b>>1&7)+8]=a&65295};k.Yc=function(a){return this.b.ta[1][a>>1&7]}; -k.Kd=function(a,b){b=b>>1&7;this.b.ta[1][b]=a;this.b.U[1][b]&=65295};k.Wc=function(a){return this.b.ta[1][(a>>1&7)+8]};k.Id=function(a,b){b=(b>>1&7)+8;this.b.ta[1][b]=a;this.b.U[1][b]&=65295};k.Fc=function(a){return this.b.U[0][a>>1&7]};k.td=function(a,b){this.b.U[0][b>>1&7]=a&65295};k.Dc=function(a){return this.b.U[0][(a>>1&7)+8]};k.rd=function(a,b){this.b.U[0][(b>>1&7)+8]=a&65295};k.Ec=function(a){return this.b.ta[0][a>>1&7]};k.sd=function(a,b){b=b>>1&7;this.b.ta[0][b]=a;this.b.U[0][b]&=65295}; -k.Cc=function(a){return this.b.ta[0][(a>>1&7)+8]};k.qd=function(a,b){b=(b>>1&7)+8;this.b.ta[0][b]=a;this.b.U[0][b]&=65295};k.ed=function(a){return this.b.U[3][a>>1&7]};k.Rd=function(a,b){this.b.U[3][b>>1&7]=a&65295};k.cd=function(a){return this.b.U[3][(a>>1&7)+8]};k.Pd=function(a,b){this.b.U[3][(b>>1&7)+8]=a&65295};k.dd=function(a){return this.b.ta[3][a>>1&7]};k.Qd=function(a,b){b=b>>1&7;this.b.ta[3][b]=a;this.b.U[3][b]&=65295};k.bd=function(a){return this.b.ta[3][(a>>1&7)+8]}; -k.Od=function(a,b){b=(b>>1&7)+8;this.b.ta[3][b]=a;this.b.U[3][b]&=65295};k.jb=function(a){a&=7;return this.b.M&2048?this.b.Fa[a]:this.b.u[a]};k.ob=function(a,b){b&=7;this.b.M&2048?this.b.Fa[b]=a:this.b.u[b]=a};k.Qc=function(){return this.b.M&49152?this.b.wa[0]:this.b.u[6]};k.Cd=function(a){this.b.M&49152?this.b.wa[0]=a:this.b.u[6]=a};k.Tc=function(){return this.b.u[7]};k.Fd=function(a){this.b.u[7]=a};k.kb=function(a){a&=7;return this.b.M&2048?this.b.u[a]:this.b.Fa[a]}; -k.pb=function(a,b){b&=7;this.b.M&2048?this.b.u[b]=a:this.b.Fa[b]=a};k.Rc=function(){return 1==(this.b.M&49152)>>14?this.b.u[6]:this.b.wa[1]};k.Dd=function(a){1==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.wa[1]=a};k.Sc=function(){return 3==(this.b.M&49152)>>14?this.b.u[6]:this.b.wa[3]};k.Ed=function(a){3==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.wa[3]=a};k.Bc=function(a){return this.b.ic[a-65504>>1]};k.pd=function(a,b){this.b.ic[b-65504>>1]=a};k.fc=function(a){return 65520==a?61183:0};k.lc=function(){}; -k.ad=function(){return 1};k.Nd=function(){};k.Ac=function(){return this.b.aa};k.od=function(){this.b.aa=0};k.Hc=function(){return this.b.hc};k.vd=function(a,b){b&1||(a&=255);this.b.hc=a};k.Mc=function(a){return a?this.b.Pb:0};k.yd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Pb=a;b.F|=2};k.$c=function(a){return a?this.b.Qa&65280:0};k.Md=function(a){this.b.Qa=a|255};k.Pc=function(){return Lb(this.b)};k.Bd=function(a){wc(this.b,a&-1809|Lb(this.b)&1808);this.b.F|=128}; -k.kc=function(a,b){F(this)&&D(this,"writeIgnored("+na(b)+"): "+na(a),!0,!0)}; -var M={},L=(M[62592]=[null,null,K.prototype.Zc,K.prototype.Ld,"SISDR",1145],M[62608]=[null,null,K.prototype.Xc,K.prototype.Jd,"SDSDR",1145],M[62624]=[null,null,K.prototype.Yc,K.prototype.Kd,"SISAR",1145],M[62640]=[null,null,K.prototype.Wc,K.prototype.Id,"SDSAR",1145],M[62656]=[null,null,K.prototype.Fc,K.prototype.td,"KISDR",1145],M[62672]=[null,null,K.prototype.Dc,K.prototype.rd,"KDSDR",1145],M[62688]=[null,null,K.prototype.Ec,K.prototype.sd,"KISAR",1145],M[62704]=[null,null,K.prototype.Cc,K.prototype.qd, -"KDSAR",1145],M[62798]=[null,null,K.prototype.Lc,K.prototype.xd,"MMR3",1145],M[65382]=[null,null,K.prototype.Gc,K.prototype.ud,"LKS"],M[65400]=[null,null,K.prototype.zc,K.prototype.nd,"CNSL"],M[65402]=[null,null,K.prototype.Ic,K.prototype.wd,"MMR0",1145],M[65404]=[null,null,K.prototype.Jc,K.prototype.kc,"MMR1",1145],M[65406]=[null,null,K.prototype.Kc,K.prototype.kc,"MMR2",1145],M[65408]=[null,null,K.prototype.ed,K.prototype.Rd,"UISDR",1145],M[65424]=[null,null,K.prototype.cd,K.prototype.Pd,"UDSDR", -1145],M[65440]=[null,null,K.prototype.dd,K.prototype.Qd,"UISAR",1145],M[65456]=[null,null,K.prototype.bd,K.prototype.Od,"UDSAR",1145],M[65472]=[null,null,K.prototype.jb,K.prototype.ob,"R0SET0"],M[65473]=[null,null,K.prototype.jb,K.prototype.ob,"R1SET0"],M[65474]=[null,null,K.prototype.jb,K.prototype.ob,"R2SET0"],M[65475]=[null,null,K.prototype.jb,K.prototype.ob,"R3SET0"],M[65476]=[null,null,K.prototype.jb,K.prototype.ob,"R4SET0"],M[65477]=[null,null,K.prototype.jb,K.prototype.ob,"R5SET0"],M[65478]= -[null,null,K.prototype.Qc,K.prototype.Cd,"R6KERNEL"],M[65479]=[null,null,K.prototype.Tc,K.prototype.Fd,"R7KERNEL"],M[65480]=[null,null,K.prototype.kb,K.prototype.pb,"R0SET1",1145],M[65481]=[null,null,K.prototype.kb,K.prototype.pb,"R1SET1",1145],M[65482]=[null,null,K.prototype.kb,K.prototype.pb,"R2SET1",1145],M[65483]=[null,null,K.prototype.kb,K.prototype.pb,"R3SET1",1145],M[65484]=[null,null,K.prototype.kb,K.prototype.pb,"R4SET1",1145],M[65485]=[null,null,K.prototype.kb,K.prototype.pb,"R5SET1",1145], -M[65486]=[null,null,K.prototype.Rc,K.prototype.Dd,"R6SUPER",1145],M[65487]=[null,null,K.prototype.Sc,K.prototype.Ed,"R6USER",1145],M[65504]=[null,null,K.prototype.Bc,K.prototype.pd,"CTRL",1170],M[65520]=[null,null,K.prototype.fc,K.prototype.lc,"LSIZE",1170],M[65522]=[null,null,K.prototype.fc,K.prototype.lc,"HSIZE",1170],M[65524]=[null,null,K.prototype.ad,K.prototype.Nd,"SYSID",1170],M[65526]=[null,null,K.prototype.Ac,K.prototype.od,"CPUERR",1170],M[65528]=[null,null,K.prototype.Hc,K.prototype.vd, -"MB",1170],M[65530]=[null,null,K.prototype.Mc,K.prototype.yd,"PIR"],M[65532]=[null,null,K.prototype.$c,K.prototype.Md,"SL"],M[65534]=[null,null,K.prototype.Pc,K.prototype.Bd,"PSW"],M);L[62594]=L[62592];L[62596]=L[62592];L[62598]=L[62592];L[62600]=L[62592];L[62602]=L[62592];L[62604]=L[62592];L[62606]=L[62592];L[62610]=L[62608];L[62612]=L[62608];L[62614]=L[62608];L[62616]=L[62608];L[62618]=L[62608];L[62620]=L[62608];L[62622]=L[62608];L[62626]=L[62624];L[62628]=L[62624];L[62630]=L[62624];L[62632]=L[62624]; -L[62634]=L[62624];L[62636]=L[62624];L[62638]=L[62624];L[62642]=L[62640];L[62644]=L[62640];L[62646]=L[62640];L[62648]=L[62640];L[62650]=L[62640];L[62652]=L[62640];L[62654]=L[62640];L[62658]=L[62656];L[62660]=L[62656];L[62662]=L[62656];L[62664]=L[62656];L[62666]=L[62656];L[62668]=L[62656];L[62670]=L[62656];L[62674]=L[62672];L[62676]=L[62672];L[62678]=L[62672];L[62680]=L[62672];L[62682]=L[62672];L[62684]=L[62672];L[62686]=L[62672];L[62690]=L[62688];L[62692]=L[62688];L[62694]=L[62688];L[62696]=L[62688]; -L[62698]=L[62688];L[62700]=L[62688];L[62702]=L[62688];L[62706]=L[62704];L[62708]=L[62704];L[62710]=L[62704];L[62712]=L[62704];L[62714]=L[62704];L[62716]=L[62704];L[62718]=L[62704];L[65410]=L[65408];L[65412]=L[65408];L[65414]=L[65408];L[65416]=L[65408];L[65418]=L[65408];L[65420]=L[65408];L[65422]=L[65408];L[65426]=L[65424];L[65428]=L[65424];L[65430]=L[65424];L[65432]=L[65424];L[65434]=L[65424];L[65436]=L[65424];L[65438]=L[65424];L[65442]=L[65440];L[65444]=L[65440];L[65446]=L[65440];L[65448]=L[65440]; -L[65450]=L[65440];L[65452]=L[65440];L[65454]=L[65440];L[65458]=L[65456];L[65460]=L[65456];L[65462]=L[65456];L[65464]=L[65456];L[65466]=L[65456];L[65468]=L[65456];L[65470]=L[65456];L[65506]=L[65504];L[65508]=L[65504];L[65510]=L[65504];L[65512]=L[65504];L[65514]=L[65504];L[65516]=L[65504];L[65518]=L[65504];Ta(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.D,0,this.size>>2),Ec(this,Ac?Fc:Gc);else{a=this.b=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},R:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ka:function(a,b){a&1&&gc(this.w,b,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535: -c&255|(this.b[b+1]&255)<<8},Sa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Ka=!0},O:function(a,b){if(this.i&&null!=this.C){var c=this.i;Lc(c,this.C+a,1,c.L)&&c.fa(!0)}return this.Mb(a,b)},Y:function(a,b){if(this.i&&null!=this.C){var c=this.i;Lc(c,this.C+a,2,c.L)&&c.fa(!0)}return this.Nb(a, -b)},ra:function(a,b,c){if(this.i&&null!=this.C){var d=this.i;Lc(d,this.C+a,1,d.D)&&d.fa(!0)}this.g?this.A(a,b,c):this.Jb(a,b,c)},$a:function(a,b,c){if(this.i&&null!=this.C){var d=this.i;Lc(d,this.C+a,2,d.D)&&d.fa(!0)}this.g?this.A(a,b,c):this.Sb(a,b,c)},N:function(a){return this.f[a]},P:function(a,b){a=this.f[a];this.i&&F(this.i,128)&&D(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},X:function(a,b){a&1&&gc(this.w,b,2);return this.G.getUint16(a,!0)},da:function(a,b){a&1&&gc(this.w, -b,2);a=this.J[a>>1];this.i&&F(this.i,128)&&D(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ma:function(a,b){this.f[a]=b;this.Ka=!0},sa:function(a,b,c){this.f[a]=b;this.Ka=!0;this.i&&F(this.i,128)&&D(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},va:function(a,b,c){a&1&&gc(this.w,c,4);this.G.setUint16(a,b,!0);this.Ka=!0},za:function(a,b,c){a&1&&gc(this.w,c,4);this.J[a>>1]=b;this.Ka=!0;this.i&&F(this.i,128)&&D(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i, -b)+")",!0)}};function Sb(a,b,c){a.i=b;a.I=a.B=0;c&&((a.I=c.I)&&Kc(a,Jc,!1),(a.B=c.B)&&Ic(a,Jc,!1))}function Mc(a,b){b?--a.B||(a.Ib=a.g?a.A:a.Jb,a.zb=a.g?a.H:a.Sb):--a.I||(a.Fb=a.Mb,a.pa=a.Nb)}function Ic(a,b,c){c&&a.B||(a.Ib=!a.g&&b[1]||a.A,a.zb=!a.g&&b[3]||a.H);if(c||void 0===c)a.Jb=b[1]||a.A,a.Sb=b[3]||a.H}function Kc(a,b,c){c&&a.I||(a.Fb=b[0]||a.K,a.pa=b[2]||a.L);if(c||void 0===c)a.Mb=b[0]||a.K,a.Nb=b[2]||a.L}function Ec(a,b){b||(b=Nc);Kc(a,b,void 0);Ic(a,b,void 0)} -var Nc=[],Hc=[I.prototype.R,I.prototype.Sa,I.prototype.ka,I.prototype.Aa],Jc=[I.prototype.O,I.prototype.ra,I.prototype.Y,I.prototype.$a];if(sb)var Gc=[I.prototype.N,I.prototype.ma,I.prototype.X,I.prototype.va],Fc=[I.prototype.P,I.prototype.sa,I.prototype.da,I.prototype.za]; -function Oc(a,b){r.call(this,"CPU",a,Oc,1);var c=a.multiplier||1;this.Ra=a.cycles||b;this.Na=c;this.qb=Math.round(this.Ra/1E4)/100;this.Xa=this.qb*this.Na;this.v.ca=!1;this.v.Qb=!1;this.v.ab=a.autoStart;this.v.cb=!1;this.ub=this.ma=0;this.vb=a.csStart;this.gb=a.csInterval;this.hb=a.csStop;this.K=[];this.ec=this.jd.bind(this);H(this)}u(Oc);var Pc=["power","reset"];k=Oc.prototype; -k.Ca=function(a,b,c,d){this.B=a;this.w=b;this.i=d;for(b=0;b=a.ma&&(a.ma+=a.gb,c=!0);0<=a.hb&&a.hb<=Vc(a)&&(a.gb=a.hb=-1,Sc(a),a.fa(),c=!0);c&&a.j(Vc(a)+" cycles: checksum="+l(a.ub))}} -k.qa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.v.ja)a=!0;else{var b=null,c,h=kb(a.id);for(c=0;ca.X/a.Xa?b=1:d=!0;a.Na=b;b=a.qb*a.Na;if(a.Xa!=b){a.Xa=b;b=a.Xa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.B&&a.B.lb()}Xc(a,a.P);a.P=0;a.O=za();a.Y=0;Yc(a);return d}function hc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function jc(a,b,c){0<=b&&ba.K[b][0]&&(c=a.Ra*a.Na/1E3*c|0,a.K[b][0]=c+Zc(a))} -function $c(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ad(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zc(a,b){var c=a.da-=a.b;a.b=a.J=0;b&&(a.da=0);return c} -k.jd=function(){if(this.v.ca){this.sb>=this.Ra&&Yc(this,!0);this.va=0;this.Ua=za();if(this.Y){var a=this.Ua-this.Y;a>this.bc&&(this.O+=a,this.O>this.Ua&&(this.O=this.Ua))}try{do{var b=$c(this,this.v.cb?1:this.Va);try{this.nb(b)}catch(e){if("number"!=typeof e)throw e;}b=Zc(this,!0);this.va+=b;this.P+=b;Uc(this,b);ad(this,b);this.ra-=b;if(0>=this.ra){this.ra+=this.Va;15<=++this.cc&&(this.B&&this.B.ba(),this.cc=0);break}}while(this.v.ca)}catch(e){this.fa();this.B&&this.B.stop(za(),Vc(this));rb(this, -e.stack||e.message);return}if(this.v.ca){a=setTimeout;b=this.ec;this.Y=za();var c=this.bc;this.va&&(c=Math.round(c*this.va/this.Va));var c=c-(this.Y-this.Ua),d=this.Y-this.O;d&&(this.X=Math.round(this.P/(10*d))/100,864E5<=d&&(this.ka=0,Wc(this)));if(0>c||this.Xc&&(this.O-=c),c=0;this.sb+=this.va;this.Y+=c;a(b,c)}}}; -k.mb=function(a){if(qb(this))return!1;if(this.v.ca)return this.j(this.toString()+" busy"),!1;Wc(this);this.v.ca=!0;this.v.Qb=!0;var b=this.I.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.lb(!0),this.B.start(this.O,Vc(this)));setTimeout(this.ec,0);return!0};k.nb=function(){return 0};k.fa=function(a){if(this.v.ca){Zc(this);Xc(this,this.P);this.P=0;this.v.ca=!1;var b=this.I.run;b&&(b.textContent="Run");this.B&&this.B.stop(za(),Vc(this))}this.v.complete=a}; -function bd(a){this.fb=+a.model||1170;this.Bb=a.addrReset||0;Oc.call(this,a,6666667);this.decode=1120==this.fb?cd.bind(this):dd.bind(this);ed(this);this.L=0;this.R=null;this.v.complete=this.v.Vb=!1}u(bd,Oc);k=bd.prototype;k.reset=function(){this.status("model "+this.fb);this.v.ca&&this.fa();ed(this);Rc(this);this.v.error=!1;this.parent.reset.call(this)}; -function ed(a){a.S=65536;a.T=32768;a.Z=65535;a.W=32768;a.M=15;a.u=[0,0,0,0,0,0,0,a.Bb];a.Fa=[0,0,0,0,0,0];a.wa=[0,0,0,0];a.A=0;a.Aa=0;a.tc=[4,2,0,1];a.U=[[0,0,0,0,0,0,0,0,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]];a.ta=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.yc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.ic=[0,0,0,0,0,0,0,0];a.hc=0;a.F=0;a.G=a.H=0;a.g=a.f=a.bb=0;a.sa=-1;fd(a)}function fd(a){a.Qa=255;a.aa=0;a.Pb=0;a.D=0;a.Oa=0;a.xb=0;a.Pa=0;a.Ma=0;a.za=0;a.rb=262143;a.Ta=253952;a.F|=2;a.w&&lc(a)}function lc(a){a.Ma?(a.N=65536,a.$=a.sc,a.pa=a.fd,a.zb=a.Sd,Vb(a.w,a.Pa&16?22:18)):(a.N=0,a.$=a.rc,a.pa=a.gc,a.zb=a.mc,Vb(a.w,16))}function gd(a,b,c){a.Bb=b;N(a,b);!c&&a.i&&(a.fa(),a.i.ba())}k.Zb=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.ka,this.Na]);a.set(2,cc(this.w));return a.data()};k.restore=function(a){var b=a[1];this.ka=b[1];Wc(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c>14&3;c=a.M>>14&3;a.A!=c&&(a.wa[c]=a.u[6],a.u[6]=a.wa[a.A]);a.M=b;a.F|=2}function P(a,b){a.F&128||(a.W=a.Z=b,a.T=0)}function Ed(a,b,c){a.F&128||(a.W=a.Z=a.S=b,a.T=c||0)}function Fd(a,b,c,d){a.F&128||(a.W=a.Z=a.S=b,a.T=(c^b)&(d^b))}function Gd(a,b){a.F&128||(a.W=a.Z=a.S=b,a.T=a.W^a.S>>1)} -function Hd(a,b,c,d){a.F&128||(a.W=a.Z=a.S=b,a.T=(c^d)&(d^b))}k.ga=function(a,b){if(!this.L){var c=!1;0>this.sa?this.sa=Lb(this):this.A||(a=4,c=!0);this.D&57344||(this.Oa=63222,this.xb=a);this.A=0;var d=this.pa(a|this.N),e=this.pa(a+2&65535|this.N);wc(this,e&-12289|this.sa>>2&12288);c&&(this.aa|=4,this.u[6]=4);Id(this,this.sa);Id(this,this.u[7]);N(this,d);this.F&=-113;this.sa=-1;this.F|=8;this.xc=a;this.wc=b;if(26!=b)throw a;}}; -function Jd(a){var b=Kd(a),c=Kd(a)&-1793;a.M&49152&&(c=c&-225|a.M&63712);N(a,b);wc(a,c);a.F&=-17} -function Ld(a,b,c){var d,e,f,g=0;d=b>>13;a.Pa&a.tc[a.A]||(d&=7);e=a.U[a.A][d];f=(a.ta[a.A][d]<<6)+(b&8191)&a.rb;if(ff){if(3932160<=f){f&=262143;var h=f>>13&31;31>h?a.Pa&32&&(f=a.yc[h]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.Ta&&4186112>f&&(a.aa|=32,a.ga(4,12))}switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c& -4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.U[a.A][d]=e;if(4194170!==f||a.A)a.za=a.A,a.Aa=d;g&&(g&57344&&(0<=a.sa&&(g|=128),a.D&57344||(a.D=a.D|g|a.za<<5|a.Aa<<1),a.ga(168,16)),a.D&61440||!(4191360>f||4194239c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=a.pa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!==c&&(e|=g);e=a.pa(e)| -g;a.b-=8;break;case 6:return e=a.pa(ld(a,2)),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=a.pa(ld(a,2)),e=e+a.u[c]&65535,e=a.pa(e|a.N)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.D&57344||(a.Oa=a.Oa<<8|f<<3&248|c);6==c&&!a.A&&d&4&&0>=f&&(a.u[6]<=a.Qa||65534<=a.u[6])&&(a.u[6]<=a.Qa-32?(a.aa|=4,a.u[6]=4,a.ga(4,24)):(a.aa|=8,a.F|=64));return e}k.Db=function(a){if(!this.Ma)return this.w.Db(a);this.L++;a=Md(this,Ld(this,a,3));this.L--;return a}; -k.eb=function(a){if(!this.Ma)return this.w.eb(a);this.L++;a=this.gc(Ld(this,a,2));this.L--;return a};k.Ya=function(a,b){this.Ma?(this.L++,Nd(this,Ld(this,a,5),b),this.L--):this.w.Ya(a,b)};k.Hb=function(a,b){this.Ma?(this.L++,this.mc(Ld(this,a,4),b),this.L--):this.w.Hb(a,b)};k.rc=function(a,b,c){return Od(this,a,b,c)};k.sc=function(a,b,c){return Ld(this,Od(this,a,b,c),c)};k.gc=function(a){return this.w.oa(a)};k.fd=function(a){return this.w.oa(Ld(this,a,2))};k.mc=function(a,b){this.w.Za(a,b&65535)}; -k.Sd=function(a,b){this.w.Za(Ld(this,a,4),b)};function Pd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Od(a,b,d,2),c&65536||61440!==(a.M&61440)&&(d&=65535),a.A=a.M>>12&3,c=a.pa(d|c&a.N),a.A=a.M>>14&3):c=6!=d||(a.M>>2&12288)===(a.M&12288)?a.u[d]:a.wa[a.M>>12&3];return c}function Qd(a,b,c,d){a.D&57344||(a.Oa=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Od(a,b,e,4),c&65536||(e&=65535),a.A=a.M>>12&3,e=Ld(a,e|c&65536,4),a.A=a.M>>14&3,a.w.Za(e,d)):6!=e||(a.M>>2&12288)===(a.M&12288)?a.u[e]=d:a.wa[a.M>>12&3]=d} -function Rd(a,b){b>>=6;var c=a.H=b&7;return(b=a.G=(b&56)>>3)?Md(a,a.$(b,c,3)):a.u[c]&255}function Sd(a,b){b>>=6;var c=a.H=b&7;return(b=a.G=(b&56)>>3)?a.w.oa(a.$(b,c,2)):a.u[c]}function Td(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Od(a,b,c,8)}function Ud(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Md(a,a.$(b,c,3)):a.u[c]&255}function Vd(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.oa(a.$(b,c,2)):a.u[c]} -function Q(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.bb=a.$(b,e,7),Nd(a,e,d.call(a,c,Md(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function R(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.$(b,e,6),a.w.Za(e,d.call(a,c,a.w.oa(e)))):a.u[e]=d.call(a,c,a.u[e])}function Wd(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?Nd(a,a.$(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c}function Xd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.w.Za(a.$(b,d,4),c):a.u[d]=c&65535;return c} -function S(a,b,c){c&&(N(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} -k.nb=function(a){this.v.complete=!0;this.v.Vb=this.i&&Yd(this.i);var b=this.v.Vb?1:-1,c=a?this.v.Qb?0:1:-1;this.v.Qb=!1;this.da=this.b=a;do{if(b){if(Zd(this.i,this.u[7],c)){this.fa();break}c=1;b++}if(this.F&&(this.F&112&&(this.F&32?this.ga(168,28):this.F&64?this.ga(4,30):this.F&16&&this.ga(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Pb&224)>>5;if(a=this.R&&this.R.ib>e?this.R:null)d=a.md,e=a.ib;e>(this.M&224)>>5?(this.F&4&&(ld(this,2),this.F&=-5),this.ga(d,26),e=!0):e= -!1;if(e&&a)if(e=this.R,e==a)this.R=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=d}}else this.F&1&&this.F++;this.F=this.F&7|this.M&16;this.decode(kd(this))}while(0>1|b<<16;Gd(this,a);return a&65535}function ee(a,b){a=b&2048|b>>1|b<<8;Gd(this,a<<8);return a&255}function fe(a,b){a=b&~a;P(this,a);return a}function ge(a,b){a=b&~a;P(this,a<<8);return a}function he(a,b){a|=b;P(this,a);return a}function ie(a,b){a|=b;P(this,a<<8);return a}function je(a,b){a=~b|65536;Ed(this,a);return a&65535} -function ke(a,b){a=~b|256;Ed(this,a<<8);return a&255}function le(a,b){a=b-a;this.F&128||(this.W=this.Z=a,this.T=b&(b^a));return a&65535}function me(a,b){a=b-a;var c=a<<8;b<<=8;this.F&128||(this.W=this.Z=c,this.T=b&(b^c));return a&255}function ne(a,b){a=b+a;this.F&128||(this.W=this.Z=a,this.T=a&(b^a));return a&65535}function oe(a,b){a=b+a;var c=a<<8;this.F&128||(this.W=this.Z=c,this.T=c&(b<<8^c));return a&255}function pe(a,b){a=-b;Ed(this,a,a&b&32768);return a&65535} -function qe(a,b){a=-b;Ed(this,a<<8,(a&b&128)<<8);return a&255}function re(a,b){a=b<<1|this.S>>16&1;Gd(this,a);return a&65535}function se(a,b){a=b<<1|this.S>>16&1;Gd(this,a<<8);return a&255}function te(a,b){a=(this.S&65536|b)>>1|b<<16;Gd(this,a);return a&65535}function ue(a,b){a=((this.S&65536)>>8|b)>>1|b<<8;Gd(this,a<<8);return a&255}function ve(a,b){var c=b-a;Hd(this,c,a,b);return c&65535}function we(a,b){var c=b-a;Hd(this,c<<8,a<<8,b<<8);return c&255} -function xe(a,b){this.F&128||(this.W=this.Z=b&65280,this.T=this.S=0);return(b<<8|b>>8)&65535}function ye(a,b){a^=b;P(this,a);return a&65535}function ze(a){R(this,a,Sd(this,a),$d);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)} -function Ae(a){var b=Vd(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.S=this.T=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.T=32768)}this.u[a]=c&65535;this.W=this.Z=c;this.b-=(this.g?6:7)+b} -function Be(a){var b=Vd(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.S=this.T=0;b&=63;if(b&32){b=64-b;32>b-1;this.S=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.W=d>>16;this.Z=d>>16|d;this.b-=(this.g?6:7)+b}function Ce(a){S(this,a,!hd(this))}function De(a){S(this,a,hd(this))} -function Ee(a){R(this,a,Sd(this,a),fe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)}function Fe(a){Q(this,a,Rd(this,a),ge);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)}function Ge(a){R(this,a,Sd(this,a),he);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)}function He(a){Q(this,a,Rd(this,a),ie);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)} -function Ie(a){P(this,Sd(this,a)&Vd(this,a));this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)}function Je(a){P(this,(Rd(this,a)&Ud(this,a))<<8);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)}function Ke(a){S(this,a,jd(this))}function Le(a){S(this,a,!this.Ea()==!id(this))}function Me(a){S(this,a,!jd(this)&&!this.Ea()==!id(this))}function Ne(a){S(this,a,!hd(this)&&!jd(this))}function Oe(a){S(this,a,jd(this)||!this.Ea()!=!id(this))} -function Pe(a){S(this,a,hd(this)||jd(this))}function Qe(a){S(this,a,!this.Ea()!=!id(this))}function Re(a){S(this,a,this.Ea())}function Se(a){S(this,a,!jd(this))}function Te(a){S(this,a,!this.Ea())}function Ue(){this.ga(12,1);this.b-=5}function Ve(a){S(this,a,!0)}function We(a){S(this,a,!id(this))}function Xe(a){S(this,a,id(this))}function T(a){a&1&&(this.S=0);a&2&&(this.T=0);a&4&&(this.Z=1);a&8&&(this.W=0);this.b-=5} -function Ye(a){var b=Sd(this,a);a=Vd(this,a);Hd(this,b-a,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)}function Ze(a){var b=Rd(this,a)<<8;a=Ud(this,a)<<8;Hd(this,b-a,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.G?4:3)+(7==this.f?2:0)} -function $e(a){var b=Vd(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.S=this.T=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.Z=d>>16|d,this.W=d>>16):(this.T=32768,this.Z=d>>15|d,this.W=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.Z=this.W=0,this.T=32768,this.S=65536,this.b-=7}function af(){this.ga(24,2);this.b-=25} -function bf(){this.M&49152?(this.aa|=128,this.ga(4,3)):this.i?$b(this.i):this.fa();this.b-=7}function cf(){this.ga(16,4);this.b-=25}var df=[0,7,7,10,7,11,9,13];function ef(a){this.J=this.b;N(this,Td(this,a));this.b=this.J-df[this.g]}var ff=[0,14,14,17,14,18,16,20];function gf(a){this.J=this.b;var b=Td(this,a);a=a>>6&7;Id(this,this.u[a]);this.u[a]=this.u[7];N(this,b);this.b=this.J-ff[this.g]}var hf=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function jf(a){var b=Sd(this,a);this.J=this.b;P(this,Xd(this,a,b));this.b=this.J-hf[(this.G?8:0)+this.g]+(7!=this.f||this.g?0:2)}function kf(a){var b=Rd(this,a);P(this,Wd(this,a,b,1)<<8);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)}var lf=[7,13,13,17,14,18,17,21]; -function mf(a){var b=Vd(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.F&128||(this.W=b>>16,this.Z=this.W|b,this.T=0,this.S=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)N(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function sf(a){R(this,a,Sd(this,a),ve);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.G?5:3)+(7==this.f?2:0)} -function tf(a){R(this,a,0,xe);this.b-=this.g?9:3+(7==this.f?2:0)}function uf(){this.ga(28,5);this.b-=5}function vf(){this.F&4||this.B.ba();this.F|=4;ld(this,-2);this.b-=3}function wf(a){R(this,a,Sd(this,a),ye);this.b-=this.g?9:3+(7==this.f?2:0)}function U(a){var b;if(b=this.i)b=this.i,D(b,"undefined opcode "+J(b,a),!0,!0),b=$b(b);b||this.ga(8,6)}function cd(a){xf[a>>12].call(this,a)}function yf(a){zf[a>>6&3].call(this,a)}function Af(a){Bf[a>>6&3].call(this,a)} -function Cf(a){Df[a>>6&3].call(this,a)}function Ef(a){Ff[a&15].call(this,a)}function Gf(a){Hf[a&15].call(this,a)}function If(a){Jf[a>>6&3].call(this,a)}function Kf(a){Lf[a>>6&3].call(this,a)}function Mf(a){Nf[a>>6&3].call(this,a)} -var xf=[function(a){Of[a>>8&15].call(this,a)},jf,Ye,Ie,Ee,Ge,ze,U,function(a){Pf[a>>8&15].call(this,a)},kf,Ze,Je,Fe,He,sf,U],Of=[function(a){Qf[a>>4&15].call(this,a)},Ve,Se,Ke,Le,Qe,Me,Oe,gf,gf,yf,Af,Cf,U,U,U],zf=[function(a){Ed(this,Xd(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,je);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,ne);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,le);this.b-=this.g?9:3+(7==this.f?2:0)}],Bf=[function(a){R(this,a,0, -pe);this.b-=this.g?11:6},function(a){R(this,a,hd(this)?1:0,$d);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,hd(this)?1:0,ve);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Vd(this,a);Ed(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Df=[function(a){R(this,a,0,te);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,de);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,be);this.b-=this.g?9:3+(7==this.f?2:0)}], -Qf=[function(a){Rf[a&15].call(this,a)},U,U,U,ef,ef,ef,ef,qf,U,Ef,Gf,tf,tf,tf,tf],Rf=[bf,vf,pf,Ue,cf,of,U,U,U,U,U,U,U,U,U,U],Ff=[nf,function(){this.S=0;this.b-=5},function(){this.T=0;this.b-=5},T,function(){this.Z=1;this.b-=5},T,T,T,function(){this.W=0;this.b-=5},T,T,T,T,T,T,T],Hf=[nf,function(){this.S=65536;this.b-=5},function(){this.T=32768;this.b-=5},W,function(){this.Z=0;this.b-=5},W,W,W,function(){this.W=32768;this.b-=5},W,W,W,W,W,W,W],Pf=[Te,Re,Ne,Pe,We,Xe,Ce,De,af,uf,If,Kf,Mf,U,U,U],Jf=[function(a){Ed(this, -Wd(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ke);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,oe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,me);this.b-=this.g?9:3+(7==this.f?2:0)}],Lf=[function(a){Q(this,a,0,qe);this.b-=this.g?11:6},function(a){Q(this,a,hd(this)?1:0,ae);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,hd(this)?1:0,we);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Ud(this,a);Ed(this,a<<8);this.b-=this.g?4:3+(7== -this.f?2:0)}],Nf=[function(a){Q(this,a,0,ue);this.b-=this.g?9+(this.bb&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,se);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ee);this.b-=this.g?9+(this.bb&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,ce);this.b-=this.g?9:3+(7==this.f?2:0)}];function dd(a){Sf[a>>12].call(this,a)} -var Sf=[function(a){lg[a>>8&15].call(this,a)},jf,Ye,Ie,Ee,Ge,ze,function(a){mg[a>>8&15].call(this,a)},function(a){ng[a>>8&15].call(this,a)},kf,Ze,Je,Fe,He,sf,U],lg=[function(a){og[a>>4&15].call(this,a)},Ve,Se,Ke,Le,Qe,Me,Oe,gf,gf,yf,Af,Cf,function(a){pg[a>>6&3].call(this,a)},U,U],pg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.pa(a|this.N);N(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Pd(this,a,0);Id(this,a);P(this,a);this.b-=11},function(a){var b=Kd(this);this.J= -this.b;Qd(this,a,0,b);P(this,b);this.b=this.J-lf[this.g]},function(a){P(this,Xd(this,a,this.Ea?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],og=[function(a){qg[a&15].call(this,a)},U,U,U,ef,ef,ef,ef,qf,function(a){a&8?(this.M&49152||(this.M=this.M&-2017|(a&7)<<5,this.F|=1),this.b-=5):U.call(this,a)},Ef,Gf,tf,tf,tf,tf],qg=[bf,vf,pf,Ue,cf,of,function(){Jd(this);this.b-=13},U,U,U,U,U,U,U,U,U],mg=[mf,mf,$e,$e,Ae,Ae,Be,Be,wf,wf,U,U,U,U,rf,rf],ng=[Te,Re,Ne,Pe,We,Xe,Ce,De,af,uf,If,Kf,Mf,function(a){rg[a>> -6&3].call(this,a)},U,U],rg=[U,function(a){a=Pd(this,a,65536);Id(this,a);P(this,a);this.b-=11},function(a){var b=Kd(this);this.J=this.b;Qd(this,a,65536,b);P(this,b);this.b=this.J-lf[this.g]},U]; -function sg(a){r.call(this,"ROM",a,sg);this.ea=this.f=null;this.D=a.addr;this.g=a.size;this.A=a.alias;this.B=a.file;this.G=oa(this.B);if(this.B){a=this.B;var b=pa(this.G);"json"!=b&&"hex"!=b&&(a=ra()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;Ba(a,null,!0,function(a,b,f){f?c.ia("Unable to load ROM resource (error "+f+": "+a+")"):(jb(c.Sa,a,b),(a=Ca(a,b))?(c.f=a.la,c.ea=a.ea):c.B=null,tg(c))})}}u(sg);sg.prototype.Ca=function(a,b,c,d){this.w=b;this.b=c;this.i=d;tg(this)}; -sg.prototype.ya=function(){this.ea&&(this.i&&ug(this.i,this.id,this.D,this.g,this.ea),delete this.ea);return!0};sg.prototype.xa=function(){return!0}; -function tg(a){if(!pb(a)){if(a.B){if(!a.f||!a.w)return;a.g||(a.g=a.f.length);if(a.f.length!=a.g)rb(a,"ROM size ("+l(a.f.length,8,!0)+") does not match specified size ("+l(a.g,8,!0)+")");else{var b;b=a.D;if(Yb(a.w,b,a.g,Dc)){var c;for(c=0;c>>a.ha;0=b.length)break;for(var h=h+2,p=b[h++]&255|(b[h++]&255)<<8,q=b[h++]&255|(b[h++]&255)<<8,m=m+((p&255)+(p>>8)+(q&255)+(q>>8)),v=h,w=p-=6;0=b.length)break;m+=b[h++]&255;if(m&255)break;if(w)for(;w--;)a.b.Ya(q++,b[v++]&255);else q&1?a.b.fa():gd(a.b,q,f);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e=b)a.preventDefault&&a.preventDefault(),64e.K&&(e.K-=32),e.f|=128,e.f&64&&ic(e.b,e.ka))});this.ma=kc(52,4);this.Y=hc(this.b,function(){e.g|=128;e.g&64&&ic(e.b,e.ma)});ec(b,this,Ag);H(this)}; -k.dc=function(){if(!this.J){var a=Qc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=va(b[0]);if(c!=this.$a)return;b=va(b[1]);if(this.J=lb(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.L=d.receiveData){this.status(this.Sa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ya=function(a,b){if(!b)if(this.dc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.xa=function(a){return a?this.save():!0};k.reset=function(){Bg(this)};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return Bg(this)};function Bg(a){a.K=0;a.f=0;a.g=128;a.D=[];return!0}k.Ob=function(a){if("number"==typeof a)this.D.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.R||8,c=a-this.H%a,this.R&&(b=ua("",c)));this.O&&!this.H&&c&&(b=String.fromCharCode(this.O)+b);this.A.value+=b;this.A.scrollTop=this.A.scrollHeight;this.H+=c}else if(null!=this.G){if(10==a||1024<=this.G.length)this.j(this.G), -this.G="";10!=a&&(this.G+=String.fromCharCode(a))}this.g&=-129;jc(this.b,this.Y,1E3/Math.round(this.P/10))}};var Cg={},Ag=(Cg[65392]=[null,null,X.prototype.Vc,X.prototype.Hd,"RCSR"],Cg[65394]=[null,null,X.prototype.Uc,X.prototype.Gd,"RBUF"],Cg[65396]=[null,null,X.prototype.hd,X.prototype.Ud,"XCSR"],Cg[65398]=[null,null,X.prototype.gd,X.prototype.Td,"XBUF"],Cg);Ta(function(){for(var a=C(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.I[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.I[b]=c,c.onclick= -function(){var a=d.I.listTapes;a&&Fg(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.N){c.parentNode.removeChild(c);break}this.I[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Fg(d,oa(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.I[b]=c,!0}return!1}; -k.Ca=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d;this.P=Gg(a);var e=this;if((this.g=Qc(this.B,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){n("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.R=kc(56,4);this.Y=hc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.Kc.indexOf("/api/v1/dump")&&(e=pa(c),f="json"==e||"gz"==e?encodeURI(c):ra()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ba(f,null,!0,function(e,f,g){var h=0>g&&a.B&&!a.B.v.ja;g?a.ia('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(jb(a.Sa,e,f),(e=Ca(e,f))&&Pg(a,b,c,d,e.la,e.Ia, -e.Ha));a.v.Ja=!1;a.D&&(a.D--,a.D||H(a));Mg(a)})}function Jg(a,b,c,d){if((a=a.I.listTapes)&&a.options){for(var e=0;e=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Rg.prototype.$b=function(){return-1};Rg.prototype.ac=function(){}; -function Tg(a,b,c,d){if(c)if(b){0>a.A&&a.g.length&&(a.A=0);if(0>a.A||b!=a.g[a.A])a.g.splice(0,0,b),a.A=0;a.A--}else a.O?b="end":b=a.g[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(va(b.substring(c,f))),c=f+1}}return a} -function Ug(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Vg(a,b,c){var d;if(b){b=Wg(a,b);for(var e=0,f=!1,g=b,h=[],m=[],p=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=q+g;d>>=8}d=l(c,0,!0)+" "+c+". "+na(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Zg(a,b){if(b)return Yg(a,b,a.R[b]);var c=0;for(b in a.R)Yg(a,b,a.R[b]),c++;return 0this.b.fb?hh:[];ih(this,function(a){a:{var b=d.w.V,c=a[0],e=a=0,m=b.length;if(c){a=d.$(jh(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.w.ha;m=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;m--;){var q=b[e];q.type==c?p++||d.j("..."):(c=q.type,p=bc[c],q&&d.j(l(q.id,8)+" %"+l(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"}k.ac=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Fa[a-8]:20>a?b=this.b.wa[a-16]:20==a&&(b=Lb(this.b)));return b}; -k.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.xb).C));this.na&1073741824?this.ra.push(a):this.ma&&a==this.ma||(this.ma=a,this.na&-2147483648&&(this.fa(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,Zc(a),a.ra=0,a.B.ba()))};function bh(a){var b;if(!Yd(a))a.G&&a.G.length&&a.j("instruction history buffer freed"),a.X=0,a.G=[];else if(!a.G||!a.G.length){a.G=Array(1E3);for(b=0;b>8;this.j("trapped to "+J(this,b&255,1)+(c?" ("+J(this,c)+")":""))}this.K=Z(this.b.u[7]);a&&1!=this.P?qh(this):rh(this)}};function ph(a,b){var c;(c=!a.b||!pb(a.b))||(c=a.b,c.v.ja?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.ca?(b||a.j("cpu busy or unavailable, command ignored"),!1):!qb(a.b)}k.ya=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; -k.xa=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){bh(this);this.sa=0;this.ma=null;this.J=0;this.K=Z(this.b.u[7]);this.v.ca=!1;sh(this);a||this.ba()};k.save=function(){var a=new O(this);a.set(0,lh(this.K));a.set(1,lh(this.N));a.set(2,[this.g,this.O,this.na]);a.set(3,this.H);return a.data()}; -k.restore=function(a){var b=0;void 0!==a[2]&&(this.K=mh(a[b++]),this.N=mh(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.O=a[b][1],this.na|=a[b][2]);a[3]&&(this.H=a[3]);return!0};k.start=function(a,b){this.P||this.j("running");this.v.ca=!0;this.rb=a;this.sb=b}; -k.stop=function(a,b){if(this.v.ca){this.v.ca=!1;this.J=b-this.sb;if(!this.P){b="stopped";if(this.J){a-=this.rb;var c=0d&&(d=a.b.eb(b)),65535!=(d&65535)&&(c=a.G[a.X],c.C=b,c.Ba=!1,++a.X==a.G.length&&(a.X=0)));return!1}function $b(a){var b=a.b;if(b.v.ca)throw N(b,a.b.xb),a.fa(),-1;return!1} -function ah(a){var b,c;a.f=["bp"];if(a.L)for(b=1;b>>d.ha],!1)}a.L=["br"];if(a.D)for(b=1;b>>d.ha],!0);a.D=["bw"];a.Ra=0}k.Wa=function(a,b,c){var d=!0;c||th(this,a,b,!1,!0);if(a!=this.f){var e=this.$(b);if(-1===e)this.j("invalid address: "+J(this,b.C)),d=!1;else{var f=this.w;f.V[e>>>f.ha].Wa(e&f.w,a==this.D)}}d&&(a.push(b),c?b.Ba=!0:(uh(this,a,a.length-1,"set"),bh(this)));return d}; -function th(a,b,c,d,e){var f=!1;c=a.$(c);for(var g=1;g>>d.ha],b==a.D));h.Ba||bh(a);break}}return f}function vh(a,b){for(var c=1;c>23)&65535,y=J(x,w);else if(8192==A)w=w.C-((f&63)<<1)&65535,y=J(x,w);else if(12288==A)y=J(x,f&7,1);else if(24576==A)y=J(x,f&63,1);else if(32768==A)y=J(x,f&255,1);else if(A=f&E,E&4032&&(A>>=6,E>>=6), -E&63)switch(E=A&7,A&56){case 0:y=oh(E);break;case 8:y="@"+oh(E);break;case 16:7>E?y="("+oh(E)+")+":(A=x.oa(w,2),y="#"+J(x,A,0,!0));break;case 24:7>E?y="@("+oh(E)+")+":(A=x.oa(w,2),y="@#"+J(x,A,0,!0));break;case 32:y="-("+oh(E)+")";break;case 40:y="@-("+oh(E)+")";break;case 48:A=x.oa(w,2);y=J(x,A,0,!0)+"("+oh(E)+")";7==E&&(y=J(x,A+w.C&65535));break;case 56:A=x.oa(w,2),y="@"+J(x,A)+"("+oh(E)+")",7==E&&(y="@"+J(x,A+w.C&65535))}x=y;if(!x||!x.length){h="INVALID";break}"string"!=typeof x&&(p=x[1],x=x[0]); -0b?(c=oh(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Fa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.wa[b-16]):20==b&&(c="PS="+J(a,Lb(d)));c&&(c+=" ");return c}function Ah(a){var b,c="";for(b=0;6>b;b++)c+=zh(a,b);c=c+"\n"+(zh(a,6)+zh(a,7)+zh(a,20));return c+=yh(a,"T")+yh(a,"N")+yh(a,"Z")+yh(a,"V")+yh(a,"C")}k.Ub=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],v=xa(q,m,a.Ub);0>v&&q.splice(-(v+1),0,m)}p&&(h.a=p.replace(/''/g,'"'))}a.H.push({Xd:b,C:c,vc:d,ea:e,Tb:f})}function Bh(a,b,c){var d=[],e=a.$(b)>>>0;for(b=0;b>>0,h=f.vc;if(e>=g&&eb)){d.u[b]=f&65535;break}a.j("unknown register: "+e);return}a.B.ba();a.j("updated registers:")}a.j(Ah(a));c&&(a.K=Z(d.u[7]),rh(a,J(a,a.K.C)))}}function Fh(a,b){b=va(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var p=h[0]+":";h[2]&&(p+=" "+h[2]);a.j(p)}h[3]&&(g=h[3],f=null);f=xh(a,b,g,f);a.j(f);a.K=b;e-=b.C-m;c++}}} -function wh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(">> "+b):(a.O&&(a.j("ended assemble at "+J(a,a.N.C)),a.K=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ma=null;if(pb(a)&&0q||"z"ka.length&&(a.j("note: only "+ka.length+" available"),Y=ka.length);ca-=Y;0>ca&&(null==ka[ka.length-1].C?(Y=ca+Y,ca=0):ca+=ka.length);var pd=[];"call"==Yf&&(yb=1E5,pd=["CALL"]);for(void 0!==Xf&&a.j(Y+" instructions earlier:");0=ka.length&&(ca=0);a.Va=Y;$f++;yb--}}$f||(a.j("no "+Zf+"history available"),a.Va=void 0)}else{var Ab=jh(a,ja);if(Ab){var mc=0;Ia&&("l"==Ia.charAt(0)&&(Ia=Ia.substr(1)||Zh),mc=Xg(a,Ia)>>>0,65536>4||1;ai--&&0qc?String.fromCharCode(qc):".";nc-=pc}Bb&&(Bb+="\n");Bb+=ja+" "+qd+(0==Db?" "+cg:"")}Bb&&a.j(Bb);a.Ta=Ab}}}}break;case "e":if("else"==g[0])break;var cb,rd,sd,td,ud=g[0],vd=g[1];"eb"==ud?(cb=1,rd=255,sd=a.tb,td=a.Gb):"e"==ud||"ew"==ud?(cb=2,rd=65535,sd=a.oa,td=a.Za):vd=null;if(null==vd)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var rc=jh(a,vd);if(rc)for(var sc=2;scyd;){for(var Ja=null,ei=256;65536>Gb.C>>>0;){zd.C=a.oa(Gb,2);if(null==Gb.C||!ei--)break;if(!(zd.C&1)){for(var fi=a,tc=zd,eg=null,Hb=tc.C,fg=Hb,Ad=1;6>=Ad&&Hb;Ad++){if(2\nLicense: GPL version 3 or later ");this.j("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bKh){if(Mh(d,this.J)){this.D=new O(this,"1.30.1","failsafe");Mh(this.D)&&(Rh(this,d),a=2,Sh(this.D));this.D.set("timestamp",Aa());Th(this.D);var e=this.f&&!this.G;if(1==a||Da("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Qh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Mh(d,g):("error"== -f&&"no machine state"!=g?(this.ia("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.g=null)):this.j(f+": "+g),Sh(d),Mh(d)?(c=Qh(d),e=!0):c=!1))}e&&Ph(this,c?d:null)}else 2==a&&d.clear()}else Ph(this);delete this.J;delete this.K}e=kb(this.id);for(f=0;fa[1];a=a[2];this.da=!0;this.v.ja=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Uh(this,this.b,b,c,a),this.b.ab());this.O&&(Rh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0}; -function Rh(a,b){if(Da("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.Y;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}} -function Hh(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new O(a,"1.30.1"),g=new O(a,"1.30.1","validate"),h=Aa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.xa&&(c&&a.b.fa(),d=a.b.xa(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ja=!1,!1===d&&(e=null)));for(var h=kb(a.id),m=0;mf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ba(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=h[0],p,q=/( [a-z]+=)(['"])(.*?)\2/g;p=q.exec(f);)m=0>m.indexOf(p[1])?m.replace(">",p[0]+">"):m.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=m&&(g=g.replace(h[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);li(a,b,c)}})}else c(a,null)} -function mi(a,b,c,d){function e(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ta(a))}function f(a){e("Error: "+a);m&&(--Yh||Va(!0));m=!1}var g,h,m=!0;Yh++;ib[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));q.appendChild(v)}c|| -(c="/versions/pdpjs/1.30.1/components.xsl");p=function(d,h){h?ji(c,null,null,!1,e,function(d,m){m?(jb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(m=h.transformNode(m))?(g.outerHTML=m,--Yh||Va(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(m),(m=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Yh||Va(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?ji(b,a,d,!0,e,p):ki(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(w){f(w.message)}return m}window.embedPDP11=function(a,b,c,d){Va(!1);return mi(a,b,c,d)};window.enableEvents=Va;window.sendEvent=Wa;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11-dbg.map diff --git a/versions/pdpjs/1.30.1/pdp11.js b/versions/pdpjs/1.30.1/pdp11.js deleted file mode 100644 index 2533f81af..000000000 --- a/versions/pdpjs/1.30.1/pdp11.js +++ /dev/null @@ -1,198 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var g,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da>=3;return""+c}function ja(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function ka(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function pa(a){return a.replace(/[&<>"']/g,function(a){return oa[a]})} -function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},sa=Date.now||function(){return+new Date}; -function ta(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function k(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(l.onreadystatechange=function(){4===l.readyState&&(f=l.responseText,200==l.status||!l.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=l.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var n="",q;for(q in b)b.hasOwnProperty(q)&&(n&&(n+="&"),n+=q+"="+encodeURIComponent(b[q]));n=n.replace(/%20/g,"+");l.open("POST",a,!!c);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");l.send(n)}else l.open("GET",a,!!c),"bytes"==b&&l.overrideMimeType("text/plain; charset=x-user-defined"),l.send();c||(f=l.responseText,200!=l.status&&(e=l.status||-1),d&&d(a,f,e),h=[f,e]);return h} -function ua(a,b){var c,d={N:null,T:null,ma:null,la:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,h;if("<"==b.substr(0,1))throw Error(b);h=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ma=h.load;d.la=h.exec;if(e=h.bytes)d.N=e;else if(e=h.words)for(d.N=Array(2*e.length),f=c=0;c>8&255;else if(e=h.data)for(d.N=Array(4*e.length),f=c=0;c>8&255,d.N[f++]=e[c]>>16&255,d.N[f++]=e[c]>>24&255;else d.N=h;d.T=h.symbols;d.N.length?1==d.N.length&&(m(d.N[0]),d=null):(m("Empty resource: "+a),d=null)}catch(l){m("Resource data error ("+a+"): "+l.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.La=this.id:(this.ta=this.id.substr(0,b),this.La=this.id.substr(b+1));this[a]=c;this.i={ready:!1,Za:!1,hd:!1,O:!1,error:!1};this.Va=null;this.i.error=!1;this.u={};this.D=null;v.push(this)}var Ia=void 0,Ja={}; -if(window){Ia||(Ia=window.location.search.substr(1));for(var Ka,La=/\+/g,Ma=/([^&=]+)=?([^&]*)/g;Ka=Ma.exec(Ia);)Ja[decodeURIComponent(Ka[1].replace(La," "))]=decodeURIComponent(Ka[2].replace(La," "))}function Na(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=Na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Oa=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Oa={},v=[];function Pa(a,b,c){Oa[a]&&b&&(Oa[a][b]=c)}function x(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>2;this.g=this.c-1;this.v=this.B/this.c|0;this.ka=[];this.m=0;this.s=[];this.Cb=[ab,bb,cb,db];a=new F(this);eb(a,this.D);this.b=Array(this.v);for(b=0;b>8:e[2](b)&255):b&1&&(e=d.ka[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=gb(d,b)}function bb(a,b,c){var d=!1,e=this.controller,f=e.ka[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.ka[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||gb(e,c)} -function cb(a,b){var c=-1,d=this.controller;(a=d.ka[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=gb(d,b)}function db(a,b,c){var d=!1,e=this.controller;if(a=e.ka[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||gb(e,c)}function hb(a,b){if(b!=a.o){var c;a.o&&(c=(1<>>a.j;0h&&(t=h);if(!e&&n&&n.size){if(n.type==d){if(f+h<=n.ya)return n.Xa+=n.ya-f,n.ya=f,!0;if(f>=n.ya+n.Xa){t=n.size-(f-q);t>h&&(t=h);n.Xa=f-n.ya+t;f=q+a.c;h-=t;l++;continue}}return mb(1,f,h)}f=new F(a,f,t,a.c,d,e);eb(f,a.D,n);a.b[l++]=f;f=q+a.c;h-=t}if(0>=h){c/=1024;var z;e="";z?10>>=a.j;0>>=a.j;0>>a.j].fb(b&a.g,b)}function pb(a,b){return a.b[(b&a.h)>>>a.j].S(b&a.g,b)}$a.prototype.Ja=function(a,b){this.m++;this.b[(a&this.h)>>>this.j].lb(a&this.g,b&255,a);this.m--}; -function qb(a,b,c){a.b[(b&a.h)>>>a.j].Ya(b&a.g,c&65535,b)}function rb(a){for(var b=0,c=[],d=0;da.a.Ka)){var h=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,n=f[2]?f[2].bind(b):null,q=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!h&&n&&(h=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&q&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(q)));sb(a,e,e,h,l,n,q,f[4])}}}function ub(a,b){a.s.push(b)}function H(a,b){a.m||G(a.a,4,b)} -function mb(a,b,c){m("Memory block error ("+a+": "+ja(b)+","+ja(c)+")");return!1}function I(a){u.call(this,"Device",a,I);this.c={data:0,gd:0,Wa:20,vc:0};this.b={jd:0,jb:-1}}w(I);g=I.prototype;g.fa=function(a,b,c,d){this.j=b;this.a=c;this.D=d;var e=this;this.b.jb=vb(c,function(){e.b.pa|=128;e.b.pa&64&&(wb(e.a,e.b.wc),xb(e.a,e.b.jb,1E3/60))});this.b.wc=yb(64,6);tb(b,this,J);ub(b,this.reset.bind(this));C(this)};g.reset=function(){this.c.Wa=this.c.Wa&-120|20;this.b.pa=0}; -g.Rb=function(){var a=this.b.pa;this.b.pa&=-129;return a};g.Fc=function(a){this.b.pa=a;a&64&&xb(this.a,this.b.jb,1E3/60);this.b.pa=a&-129};g.Kb=function(a){return(a?this.c.vc:this.c.data)&65535};g.yc=function(a){this.c.data=a};g.Tb=function(){var a=this.a;return a.w&62337|a.Ma<<5|a.Na<<1};g.Hc=function(a){var b=this.a;a&=62337;if(b.w!=a){b.w=a;b.Ma=a>>5&3;b.Na=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ha!=c&&(b.Ha=c,zb(b))}Ab(this)}; -g.Ub=function(){var a=this.a.qa;a&65280&&(a=(a<<8|a>>8)&65535);return a};g.Vb=function(){return this.a.hb};g.Wb=function(){return this.a.ra};g.Ic=function(a){var b=this.a;1170>b.Ka&&(a&=-49);b.ra!=a&&(b.ra=a,a&16?(b.bb=4194303,b.Oa=3915776):(b.bb=262143,b.Oa=253952),zb(b));Ab(this)};function Ab(a){a.c.Wa=a.c.Wa&-8|(a.a.Ha?a.a.ra&16?1:2:4)}g.jc=function(a){return this.a.F[1][a>>1&7]};g.Wc=function(a,b){this.a.F[1][b>>1&7]=a&65295};g.hc=function(a){return this.a.F[1][(a>>1&7)+8]}; -g.Uc=function(a,b){this.a.F[1][(b>>1&7)+8]=a&65295};g.ic=function(a){return this.a.U[1][a>>1&7]};g.Vc=function(a,b){b=b>>1&7;this.a.U[1][b]=a;this.a.F[1][b]&=65295};g.gc=function(a){return this.a.U[1][(a>>1&7)+8]};g.Tc=function(a,b){b=(b>>1&7)+8;this.a.U[1][b]=a;this.a.F[1][b]&=65295};g.Qb=function(a){return this.a.F[0][a>>1&7]};g.Ec=function(a,b){this.a.F[0][b>>1&7]=a&65295};g.Ob=function(a){return this.a.F[0][(a>>1&7)+8]};g.Cc=function(a,b){this.a.F[0][(b>>1&7)+8]=a&65295}; -g.Pb=function(a){return this.a.U[0][a>>1&7]};g.Dc=function(a,b){b=b>>1&7;this.a.U[0][b]=a;this.a.F[0][b]&=65295};g.Nb=function(a){return this.a.U[0][(a>>1&7)+8]};g.Bc=function(a,b){b=(b>>1&7)+8;this.a.U[0][b]=a;this.a.F[0][b]&=65295};g.pc=function(a){return this.a.F[3][a>>1&7]};g.bd=function(a,b){this.a.F[3][b>>1&7]=a&65295};g.nc=function(a){return this.a.F[3][(a>>1&7)+8]};g.$c=function(a,b){this.a.F[3][(b>>1&7)+8]=a&65295};g.oc=function(a){return this.a.U[3][a>>1&7]}; -g.ad=function(a,b){b=b>>1&7;this.a.U[3][b]=a;this.a.F[3][b]&=65295};g.mc=function(a){return this.a.U[3][(a>>1&7)+8]};g.Zc=function(a,b){b=(b>>1&7)+8;this.a.U[3][b]=a;this.a.F[3][b]&=65295};g.Aa=function(a){a&=7;return this.a.A&2048?this.a.xa[a]:this.a.f[a]};g.Ca=function(a,b){b&=7;this.a.A&2048?this.a.xa[b]=a:this.a.f[b]=a};g.ac=function(){return this.a.A&49152?this.a.aa[0]:this.a.f[6]};g.Nc=function(a){this.a.A&49152?this.a.aa[0]=a:this.a.f[6]=a};g.dc=function(){return this.a.f[7]}; -g.Qc=function(a){this.a.f[7]=a};g.Ba=function(a){a&=7;return this.a.A&2048?this.a.f[a]:this.a.xa[a]};g.Da=function(a,b){b&=7;this.a.A&2048?this.a.f[b]=a:this.a.xa[b]=a};g.bc=function(){return 1==(this.a.A&49152)>>14?this.a.f[6]:this.a.aa[1]};g.Oc=function(a){1==(this.a.A&49152)>>14?this.a.f[6]=a:this.a.aa[1]=a};g.cc=function(){return 3==(this.a.A&49152)>>14?this.a.f[6]:this.a.aa[3]};g.Pc=function(a){3==(this.a.A&49152)>>14?this.a.f[6]=a:this.a.aa[3]=a};g.Mb=function(a){return this.a.xb[a-65504>>1]}; -g.Ac=function(a,b){this.a.xb[b-65504>>1]=a};g.vb=function(a){return 65520==a?61183:0};g.Bb=function(){};g.lc=function(){return 1};g.Yc=function(){};g.Lb=function(){return this.a.I};g.zc=function(){this.a.I=0};g.Sb=function(){return this.a.wb};g.Gc=function(a,b){b&1||(a&=255);this.a.wb=a};g.Xb=function(a){return a?this.a.ib:0};g.Jc=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.ib=a;b.l|=2};g.kc=function(a){return a?this.a.sa&65280:0};g.Xc=function(a){this.a.sa=a|255}; -g.$b=function(){return Za(this.a)};g.Mc=function(a){Bb(this.a,a&-1809|Za(this.a)&1808);this.a.l|=128};g.Ab=function(){}; -var K={},J=(K[62592]=[null,null,I.prototype.jc,I.prototype.Wc,"SISDR",1145],K[62608]=[null,null,I.prototype.hc,I.prototype.Uc,"SDSDR",1145],K[62624]=[null,null,I.prototype.ic,I.prototype.Vc,"SISAR",1145],K[62640]=[null,null,I.prototype.gc,I.prototype.Tc,"SDSAR",1145],K[62656]=[null,null,I.prototype.Qb,I.prototype.Ec,"KISDR",1145],K[62672]=[null,null,I.prototype.Ob,I.prototype.Cc,"KDSDR",1145],K[62688]=[null,null,I.prototype.Pb,I.prototype.Dc,"KISAR",1145],K[62704]=[null,null,I.prototype.Nb,I.prototype.Bc, -"KDSAR",1145],K[62798]=[null,null,I.prototype.Wb,I.prototype.Ic,"MMR3",1145],K[65382]=[null,null,I.prototype.Rb,I.prototype.Fc,"LKS"],K[65400]=[null,null,I.prototype.Kb,I.prototype.yc,"CNSL"],K[65402]=[null,null,I.prototype.Tb,I.prototype.Hc,"MMR0",1145],K[65404]=[null,null,I.prototype.Ub,I.prototype.Ab,"MMR1",1145],K[65406]=[null,null,I.prototype.Vb,I.prototype.Ab,"MMR2",1145],K[65408]=[null,null,I.prototype.pc,I.prototype.bd,"UISDR",1145],K[65424]=[null,null,I.prototype.nc,I.prototype.$c,"UDSDR", -1145],K[65440]=[null,null,I.prototype.oc,I.prototype.ad,"UISAR",1145],K[65456]=[null,null,I.prototype.mc,I.prototype.Zc,"UDSAR",1145],K[65472]=[null,null,I.prototype.Aa,I.prototype.Ca,"R0SET0"],K[65473]=[null,null,I.prototype.Aa,I.prototype.Ca,"R1SET0"],K[65474]=[null,null,I.prototype.Aa,I.prototype.Ca,"R2SET0"],K[65475]=[null,null,I.prototype.Aa,I.prototype.Ca,"R3SET0"],K[65476]=[null,null,I.prototype.Aa,I.prototype.Ca,"R4SET0"],K[65477]=[null,null,I.prototype.Aa,I.prototype.Ca,"R5SET0"],K[65478]= -[null,null,I.prototype.ac,I.prototype.Nc,"R6KERNEL"],K[65479]=[null,null,I.prototype.dc,I.prototype.Qc,"R7KERNEL"],K[65480]=[null,null,I.prototype.Ba,I.prototype.Da,"R0SET1",1145],K[65481]=[null,null,I.prototype.Ba,I.prototype.Da,"R1SET1",1145],K[65482]=[null,null,I.prototype.Ba,I.prototype.Da,"R2SET1",1145],K[65483]=[null,null,I.prototype.Ba,I.prototype.Da,"R3SET1",1145],K[65484]=[null,null,I.prototype.Ba,I.prototype.Da,"R4SET1",1145],K[65485]=[null,null,I.prototype.Ba,I.prototype.Da,"R5SET1",1145], -K[65486]=[null,null,I.prototype.bc,I.prototype.Oc,"R6SUPER",1145],K[65487]=[null,null,I.prototype.cc,I.prototype.Pc,"R6USER",1145],K[65504]=[null,null,I.prototype.Mb,I.prototype.Ac,"CTRL",1170],K[65520]=[null,null,I.prototype.vb,I.prototype.Bb,"LSIZE",1170],K[65522]=[null,null,I.prototype.vb,I.prototype.Bb,"HSIZE",1170],K[65524]=[null,null,I.prototype.lc,I.prototype.Yc,"SYSID",1170],K[65526]=[null,null,I.prototype.Lb,I.prototype.zc,"CPUERR",1170],K[65528]=[null,null,I.prototype.Sb,I.prototype.Gc, -"MB",1170],K[65530]=[null,null,I.prototype.Xb,I.prototype.Jc,"PIR"],K[65532]=[null,null,I.prototype.kc,I.prototype.Xc,"SL"],K[65534]=[null,null,I.prototype.$b,I.prototype.Mc,"PSW"],K);J[62594]=J[62592];J[62596]=J[62592];J[62598]=J[62592];J[62600]=J[62592];J[62602]=J[62592];J[62604]=J[62592];J[62606]=J[62592];J[62610]=J[62608];J[62612]=J[62608];J[62614]=J[62608];J[62616]=J[62608];J[62618]=J[62608];J[62620]=J[62608];J[62622]=J[62608];J[62626]=J[62624];J[62628]=J[62624];J[62630]=J[62624];J[62632]=J[62624]; -J[62634]=J[62624];J[62636]=J[62624];J[62638]=J[62624];J[62642]=J[62640];J[62644]=J[62640];J[62646]=J[62640];J[62648]=J[62640];J[62650]=J[62640];J[62652]=J[62640];J[62654]=J[62640];J[62658]=J[62656];J[62660]=J[62656];J[62662]=J[62656];J[62664]=J[62656];J[62666]=J[62656];J[62668]=J[62656];J[62670]=J[62656];J[62674]=J[62672];J[62676]=J[62672];J[62678]=J[62672];J[62680]=J[62672];J[62682]=J[62672];J[62684]=J[62672];J[62686]=J[62672];J[62690]=J[62688];J[62692]=J[62688];J[62694]=J[62688];J[62696]=J[62688]; -J[62698]=J[62688];J[62700]=J[62688];J[62702]=J[62688];J[62706]=J[62704];J[62708]=J[62704];J[62710]=J[62704];J[62712]=J[62704];J[62714]=J[62704];J[62716]=J[62704];J[62718]=J[62704];J[65410]=J[65408];J[65412]=J[65408];J[65414]=J[65408];J[65416]=J[65408];J[65418]=J[65408];J[65420]=J[65408];J[65422]=J[65408];J[65426]=J[65424];J[65428]=J[65424];J[65430]=J[65424];J[65432]=J[65424];J[65434]=J[65424];J[65436]=J[65424];J[65438]=J[65424];J[65442]=J[65440];J[65444]=J[65440];J[65446]=J[65440];J[65448]=J[65440]; -J[65450]=J[65440];J[65452]=J[65440];J[65454]=J[65440];J[65458]=J[65456];J[65460]=J[65456];J[65462]=J[65456];J[65464]=J[65456];J[65466]=J[65456];J[65468]=J[65456];J[65470]=J[65456];J[65506]=J[65504];J[65508]=J[65504];J[65510]=J[65504];J[65512]=J[65504];J[65514]=J[65504];J[65516]=J[65504];J[65518]=J[65504];r(function(){for(var a=B(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.c,0,this.size>>2),Ib(this,Eb?Jb:Kb);else{a=this.a=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},L:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ca:function(a,b){a&1&&H(this.j,b);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},ha:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.na=!0}, -G:function(a,b){return this.H(a,b)},P:function(a,b){return this.V(a,b)},ea:function(a,b,c){this.g?this.h(a,b,c):this.lb(a,b,c)},ja:function(a,b,c){this.g?this.h(a,b,c):this.ta(a,b,c)},C:function(a){return this.b[a]},J:function(a){return this.b[a]},M:function(a,b){a&1&&H(this.j,b);return this.u.getUint16(a,!0)},W:function(a,b){a&1&&H(this.j,b);return this.s[a>>1]},da:function(a,b){this.b[a]=b;this.na=!0},ga:function(a,b){this.b[a]=b;this.na=!0},ia:function(a,b,c){a&1&&H(this.j,c);this.u.setUint16(a, -b,!0);this.na=!0},ua:function(a,b,c){a&1&&H(this.j,c);this.s[a>>1]=b;this.na=!0}};function eb(a,b,c){a.D=b;a.o=a.m=0;c&&((a.o=c.o)&&Mb(a,Nb,!1),(a.m=c.m)&&Ob(a,Nb,!1))}function Ob(a,b,c){c&&a.m||(a.kb=!a.g&&b[1]||a.h,a.Ya=!a.g&&b[3]||a.B);if(c||void 0===c)a.lb=b[1]||a.h,a.ta=b[3]||a.B}function Mb(a,b,c){c&&a.o||(a.fb=b[0]||a.v,a.S=b[2]||a.w);if(c||void 0===c)a.H=b[0]||a.v,a.V=b[2]||a.w}function Ib(a,b){b||(b=Pb);Mb(a,b,void 0);Ob(a,b,void 0)} -var Pb=[],Lb=[F.prototype.L,F.prototype.ha,F.prototype.ca,F.prototype.va],Nb=[F.prototype.G,F.prototype.ea,F.prototype.P,F.prototype.ja];if(Ua)var Kb=[F.prototype.C,F.prototype.da,F.prototype.M,F.prototype.ia],Jb=[F.prototype.J,F.prototype.ga,F.prototype.W,F.prototype.ua]; -function Qb(a,b){u.call(this,"CPU",a,Qb);var c=a.multiplier||1;this.Ta=a.cycles||b;this.ea=c;this.ab=Math.round(this.Ta/1E4)/100;this.ga=this.ab*this.ea;this.i.X=!1;this.i.yb=!1;this.i.Ga=a.autoStart;this.i.Sa=!1;this.Qa=this.ia=0;this.Ra=a.csStart;this.ua=a.csInterval;this.va=a.csStop;this.H=[];this.ub=this.uc.bind(this);C(this)}w(Qb);var Rb=["power","reset"];g=Qb.prototype; -g.fa=function(a,b,c,d){this.o=a;this.j=b;this.D=d;for(b=0;ba.ca/a.ga&&(b=1);a.ea=b;b=a.ab*a.ea;if(a.ga!=b){a.ga=b;b=a.ga.toFixed(2)+"Mhz";var d=a.u.setSpeed;d&&(d.textContent=b);a.R("target speed: "+b)}c&&a.o&&(c=a.o,c.wa&&c.wa.focus())}a.L+=a.V;a.V=0;a.P=sa();a.da=0;Xb(a)}function vb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function xb(a,b,c){0<=b&&ba.H[b][0]&&(c=a.Ta*a.ea/1E3*c|0,a.H[b][0]=c+Zb(a))}function Zb(a,b){var c=a.ha-=a.a;a.a=a.G=0;b&&(a.ha=0);return c} -g.uc=function(){if(this.i.X){this.cb>=this.Ta&&Xb(this,!0);this.Fa=0;this.Pa=sa();if(this.da){var a=this.Pa-this.da;a>this.sb&&(this.P+=a,this.P>this.Pa&&(this.P=this.Pa))}try{do{for(var b,c=this.i.Sa?1:this.Ua,d=this.H.length-1;0<=d;d--){var e=this.H[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.zb(b)}catch(n){if("number"!=typeof n)throw n;}b=Zb(this,!0);this.Fa+=b;this.V+=b;a=b;if(this.i.Sa){var f=!1;this.Qa=this.Qa+this.ob()|0;this.ia-=a;0>=this.ia&&(this.ia+=this.ua,f=!0);0<=this.va&&this.va<=Yb(this)&& -(this.ua=this.va=-1,Ub(this),D(this),f=!0);f&&this.R(Yb(this)+" cycles: checksum="+ja(this.Qa))}for(var a=b,h=this.H.length-1;0<=h;h--){var l=this.H[h];0>l[0]||(l[0]-=a,0>=l[0]&&(l[0]=-1,l[1]()))}this.Ea-=b;if(0>=this.Ea){this.Ea+=this.Ua;15<=++this.tb&&(this.o&&this.o.ba(),this.tb=0);break}}while(this.i.X)}catch(n){D(this);this.o&&this.o.stop(sa(),Yb(this));b=n.stack||n.message;this.i.error=!0;this.K(b);return}if(this.i.X){b=setTimeout;c=this.ub;this.da=sa();d=this.sb;this.Fa&&(d=Math.round(d*this.Fa/ -this.Ua));d-=this.da-this.Pa;if(e=this.da-this.P)this.ca=Math.round(this.V/(10*e))/100,864E5<=e&&(this.L=0,Wb(this));if(0>d||this.cad&&(this.P-=d),d=0;this.cb+=this.Fa;this.da+=d;b(c,d)}}};function Vb(a,b){var c;a.i.error?(a.R(a.toString()+" error"),c=!0):c=!1;if(!c)if(a.i.X)a.R(a.toString()+" busy");else{Wb(a);a.i.X=!0;a.i.yb=!0;if(c=a.u.run)c.textContent="Halt";a.o&&(b&&(b=a.o,b.wa&&b.wa.focus()),a.o.start(a.P,Yb(a)));setTimeout(a.ub,0)}}g.zb=function(){return 0}; -function D(a){if(a.i.X){Zb(a);a.L+=a.V;a.V=0;a.i.X=!1;var b=a.u.run;b&&(b.textContent="Run");a.o&&a.o.stop(sa(),Yb(a))}a.i.complete=void 0}function $b(a){this.Ka=+a.model||1170;this.qb=a.addrReset||0;Qb.call(this,a,6666667);this.decode=1120==this.Ka?ac.bind(this):bc.bind(this);cc(this);this.eb=0;this.W=null;this.i.complete=this.i.Db=!1}w($b,Qb);g=$b.prototype;g.reset=function(){this.status("model "+this.Ka);this.i.X&&D(this);cc(this);Tb(this);this.i.error=!1;this.parent.reset.call(this)}; -function cc(a){a.m=65536;a.g=32768;a.h=65535;a.s=32768;a.A=15;a.f=[0,0,0,0,0,0,0,a.qb];a.xa=[0,0,0,0,0,0];a.aa=[0,0,0,0];a.v=0;a.Na=0;a.Hb=[4,2,0,1];a.F=[[0,0,0,0,0,0,0,0,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]];a.U=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Jb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.xb=[0,0,0,0,0,0,0,0];a.wb=0;a.l=0;a.B=a.C=0;a.c=a.b=a.$a=0;a.ja=-1;dc(a)}function dc(a){a.sa=255;a.I=0;a.ib=0;a.w=0;a.qa=0;a.hb=0;a.ra=0;a.Ha=0;a.Ma=0;a.bb=262143;a.Oa=253952;a.l|=2;a.j&&zb(a)}function zb(a){a.Ha?(a.M=65536,a.J=a.Gb,a.S=a.rc,a.Ya=a.dd,hb(a.j,a.ra&16?22:18)):(a.M=0,a.J=a.Fb,a.S=a.qc,a.Ya=a.cd,hb(a.j,16))}function ec(a,b,c){a.qb=b;M(a,b);!c&&a.D&&(D(a),a.D.ba())}g.ob=function(){return 0}; -g.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.L,this.ea]);a.set(2,rb(this.j));return a.data()};g.restore=function(a){var b=a[1];this.L=b[1];Wb(this,b[3]);a:{b=this.j;a=a[2];var c;for(c=0;c>14&3;c=a.A>>14&3;a.v!=c&&(a.aa[c]=a.f[6],a.f[6]=a.aa[a.v]);a.A=b;a.l|=2}function P(a,b){a.l&128||(a.s=a.h=b,a.g=0)}function Q(a,b,c){a.l&128||(a.s=a.h=a.m=b,a.g=c||0)}function hc(a,b,c,d){a.l&128||(a.s=a.h=a.m=b,a.g=(c^b)&(d^b))}function R(a,b){a.l&128||(a.s=a.h=a.m=b,a.g=a.s^a.m>>1)}function ic(a,b,c,d){a.l&128||(a.s=a.h=a.m=b,a.g=(c^d)&(d^b))} -function G(a,b,c){if(!a.eb){var d=!1;0>a.ja?a.ja=Za(a):a.v||(b=4,d=!0);a.w&57344||(a.qa=63222,a.hb=b);a.v=0;var e=a.S(b|a.M),f=a.S(b+2&65535|a.M);Bb(a,f&-12289|a.ja>>2&12288);d&&(a.I|=4,a.f[6]=4);jc(a,a.ja);jc(a,a.f[7]);M(a,e);a.l&=-113;a.ja=-1;a.l|=8;if(26!=c)throw b;}}function kc(a){var b=lc(a),c=lc(a)&-1793;a.A&49152&&(c=c&-225|a.A&63712);M(a,b);Bb(a,c);a.l&=-17} -function mc(a,b,c){var d,e,f,h=0;d=b>>13;a.ra&a.Hb[a.v]||(d&=7);e=a.F[a.v][d];f=(a.U[a.v][d]<<6)+(b&8191)&a.bb;if(ff){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.ra&32&&(f=a.Jb[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.Oa&&4186112>f&&(a.I|=32,G(a,4,12))}switch(e&7){case 1:h=4096;case 2:e|=128;c&4&&(h=8192);break;case 4:h=4096;case 5:c&4&&(h=4096);case 6:e|=c&4?192: -128;break;default:h=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(h|=16384):(b&8128)>(e>>2&8128)&&(h|=16384));a.F[a.v][d]=e;if(4194170!==f||a.v)a.Ma=a.v,a.Na=d;h&&(h&57344&&(0<=a.ja&&(h|=128),a.w&57344||(a.w=a.w|h|a.Ma<<5|a.Na<<1),G(a,168,16)),a.w&61440||!(4191360>f||4194239>>a.j].kb(b&a.g,c&255,b)}function lc(a){var b=a.S(a.f[6]|a.M);a.f[6]=a.f[6]+2&65535;return b} -function jc(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.w&57344||(a.qa=a.qa<<8|246);!a.v&&c<=a.sa&&4c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!==c&&(e|=h);e=a.S(e);e|=h;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;7!==c&&(e|=h);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!==c&&(e|=h);e=a.S(e)|h;a.a-= -8;break;case 6:return e=a.S(gc(a,2)),e=e+a.f[c]&65535|h,a.a-=6,e;case 7:return e=a.S(gc(a,2)),e=e+a.f[c]&65535,e=a.S(e|a.M)|h,a.a-=10,e}a.f[c]=a.f[c]+f&65535;!h||a.w&57344||(a.qa=a.qa<<8|f<<3&248|c);6==c&&!a.v&&d&4&&0>=f&&(a.f[6]<=a.sa||65534<=a.f[6])&&(a.f[6]<=a.sa-32?(a.I|=4,a.f[6]=4,G(a,4,24)):(a.I|=8,a.l|=64));return e}g.Ja=function(a,b){this.Ha?(this.eb++,nc(this,mc(this,a,5),b),this.eb--):this.j.Ja(a,b)};g.Fb=function(a,b,c){return oc(this,a,b,c)}; -g.Gb=function(a,b,c){return mc(this,oc(this,a,b,c),c)};g.qc=function(a){return pb(this.j,a)};g.rc=function(a){return pb(this.j,mc(this,a,2))};g.cd=function(a,b){qb(this.j,a,b&65535)};g.dd=function(a,b){qb(this.j,mc(this,a,4),b)};function pc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=oc(a,b,d,2),c&65536||61440!==(a.A&61440)&&(d&=65535),a.v=a.A>>12&3,c=a.S(d|c&a.M),a.v=a.A>>14&3):c=6!=d||(a.A>>2&12288)===(a.A&12288)?a.f[d]:a.aa[a.A>>12&3];return c} -function qc(a,b,c,d){a.w&57344||(a.qa=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=oc(a,b,e,4),c&65536||(e&=65535),a.v=a.A>>12&3,e=mc(a,e|c&65536,4),a.v=a.A>>14&3,qb(a.j,e,d)):6!=e||(a.A>>2&12288)===(a.A&12288)?a.f[e]=d:a.aa[a.A>>12&3]=d}function rc(a,b){b>>=6;var c=a.C=b&7;(b=a.B=(b&56)>>3)?(c=a.J(b,c,3),a=ob(a.j,c)):a=a.f[c]&255;return a}function S(a,b){b>>=6;var c=a.C=b&7;return(b=a.B=(b&56)>>3)?pb(a.j,a.J(b,c,2)):a.f[c]}function sc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return oc(a,b,c,8)} -function tc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.J(b,c,3),a=ob(a.j,c)):a=a.f[c]&255;return a}function uc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?pb(a.j,a.J(b,c,2)):a.f[c]}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.$a=a.J(b,e,7),nc(a,e,d.call(a,c,ob(a.j,e)))):a.f[e]=a.f[e]&65280|d.call(a,c,a.f[e])}function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.J(b,e,6),qb(a.j,e,d.call(a,c,pb(a.j,e)))):a.f[e]=d.call(a,c,a.f[e])} -function vc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?nc(a,a.J(b,e,5),c):a.f[e]=c?d&1?c<<24>>24&65535:a.f[e]&-256|c&255:a.f[e]&-256;return c}function wc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?qb(a.j,a.J(b,d,4),c):a.f[d]=c&65535;return c}function V(a,b,c){c&&(M(a,a.f[7]+(b<<24>>23)),a.a-=2);a.a-=3} -g.zb=function(a){this.i.complete=!0;this.i.Db=!1;this.i.yb=!1;this.ha=this.a=a;do{if(this.l&&(this.l&112&&(this.l&32?G(this,168,28):this.l&64?G(this,4,30):this.l&16&&G(this,12,32),this.l&=-113),this.l&7))if(this.l&2){this.l&=-3;var b=160,c=(this.ib&224)>>5;if(a=this.W&&this.W.za>c?this.W:null)b=a.xc,c=a.za;c>(this.A&224)>>5?(this.l&4&&(gc(this,2),this.l&=-5),G(this,b,26),c=!0):c=!1;if(c&&a)if(c=this.W,c==a)this.W=a.next;else for(;c;){b=c.next;if(b==a){c.next=b.next;break}c=b}}else this.l&1&&this.l++; -this.l=this.l&7|this.A&16;this.decode(fc(this))}while(0>1|b<<16;R(this,a);return a&65535}function Cc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function Dc(a,b){a=b&~a;P(this,a);return a}function Ec(a,b){a=b&~a;P(this,a<<8);return a}function Fc(a,b){a|=b;P(this,a);return a}function Gc(a,b){a|=b;P(this,a<<8);return a}function Hc(a,b){a=~b|65536;Q(this,a);return a&65535}function Ic(a,b){a=~b|256;Q(this,a<<8);return a&255}function Jc(a,b){a=b-a;this.l&128||(this.s=this.h=a,this.g=b&(b^a));return a&65535} -function Kc(a,b){a=b-a;var c=a<<8;b<<=8;this.l&128||(this.s=this.h=c,this.g=b&(b^c));return a&255}function Lc(a,b){a=b+a;this.l&128||(this.s=this.h=a,this.g=a&(b^a));return a&65535}function Mc(a,b){a=b+a;var c=a<<8;this.l&128||(this.s=this.h=c,this.g=c&(b<<8^c));return a&255}function Nc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}function Oc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function Pc(a,b){a=b<<1|this.m>>16&1;R(this,a);return a&65535} -function Qc(a,b){a=b<<1|this.m>>16&1;R(this,a<<8);return a&255}function Rc(a,b){a=(this.m&65536|b)>>1|b<<16;R(this,a);return a&65535}function Sc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function Tc(a,b){var c=b-a;ic(this,c,a,b);return c&65535}function Uc(a,b){var c=b-a;ic(this,c<<8,a<<8,b<<8);return c&255}function Vc(a,b){this.l&128||(this.s=this.h=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function Wc(a,b){a^=b;P(this,a);return a&65535} -function Xc(a){U(this,a,S(this,a),xc);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Yc(a){var b=uc(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.g=32768)}this.f[a]=c&65535;this.s=this.h=c;this.a-=(this.c?6:7)+b} -function Zc(a){var b=uc(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.f[a|1]=d&65535;this.s=d>>16;this.h=d>>16|d;this.a-=(this.c?6:7)+b}function $c(a){V(this,a,!O(this))}function ad(a){V(this,a,O(this))} -function bd(a){U(this,a,S(this,a),Dc);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function cd(a){T(this,a,rc(this,a),Ec);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function dd(a){U(this,a,S(this,a),Fc);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function ed(a){T(this,a,rc(this,a),Gc);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)} -function fd(a){P(this,S(this,a)&uc(this,a));this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function gd(a){P(this,(rc(this,a)&tc(this,a))<<8);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function hd(a){V(this,a,this.h&65535?0:4)}function id(a){V(this,a,!this.oa()==!(this.g&32768))}function jd(a){V(this,a,!!(this.h&65535)&&!this.oa()==!(this.g&32768))}function kd(a){V(this,a,!O(this)&&!!(this.h&65535))} -function ld(a){V(this,a,(this.h&65535?0:4)||!this.oa()!=!(this.g&32768))}function md(a){V(this,a,O(this)||(this.h&65535?0:4))}function nd(a){V(this,a,!this.oa()!=!(this.g&32768))}function od(a){V(this,a,this.oa())}function pd(a){V(this,a,!!(this.h&65535))}function qd(a){V(this,a,!this.oa())}function rd(){G(this,12,1);this.a-=5}function sd(a){V(this,a,!0)}function td(a){V(this,a,!(this.g&32768))}function ud(a){V(this,a,this.g&32768?2:0)} -function W(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.h=1);a&8&&(this.s=0);this.a-=5}function vd(a){var b=S(this,a);a=uc(this,a);ic(this,b-a,a,b);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function wd(a){var b=rc(this,a)<<8;a=tc(this,a)<<8;ic(this,b-a,a,b);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)} -function xd(a){var b=uc(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.h=d>>16|d,this.s=d>>16):(this.g=32768,this.h=d>>15|d,this.s=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.h=this.s=0,this.g=32768,this.m=65536,this.a-=7}function yd(){G(this,24,2);this.a-=25} -function zd(){this.A&49152?(this.I|=128,G(this,4,3)):this.D?this.D.c():D(this);this.a-=7}function Ad(){G(this,16,4);this.a-=25}var Bd=[0,7,7,10,7,11,9,13];function Cd(a){this.G=this.a;M(this,sc(this,a));this.a=this.G-Bd[this.c]}var Dd=[0,14,14,17,14,18,16,20];function Ed(a){this.G=this.a;var b=sc(this,a);a=a>>6&7;jc(this,this.f[a]);this.f[a]=this.f[7];M(this,b);this.a=this.G-Dd[this.c]}var Fd=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function Gd(a){var b=S(this,a);this.G=this.a;P(this,wc(this,a,b));this.a=this.G-Fd[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}function Hd(a){var b=rc(this,a);P(this,vc(this,a,b,1)<<8);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}var Id=[7,13,13,17,14,18,17,21]; -function Jd(a){var b=uc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.l&128||(this.s=b>>16,this.h=this.s|b,this.g=0,this.m=-32768>b||32767>6;if(this.f[b]=this.f[b]-1&65535)M(this,this.f[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Pd(a){U(this,a,S(this,a),Tc);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)} -function Qd(a){U(this,a,0,Vc);this.a-=this.c?9:3+(7==this.b?2:0)}function Rd(){G(this,28,5);this.a-=5}function Sd(){this.l&4||this.o.ba();this.l|=4;gc(this,-2);this.a-=3}function Td(a){U(this,a,S(this,a),Wc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){G(this,8,6)}function ac(a){Ud[a>>12].call(this,a)}function Vd(a){Wd[a>>6&3].call(this,a)}function Xd(a){Yd[a>>6&3].call(this,a)}function Zd(a){$d[a>>6&3].call(this,a)}function ae(a){be[a&15].call(this,a)}function ce(a){de[a&15].call(this,a)} -function ee(a){fe[a>>6&3].call(this,a)}function ge(a){he[a>>6&3].call(this,a)}function ie(a){je[a>>6&3].call(this,a)} -var Ud=[function(a){ke[a>>8&15].call(this,a)},Gd,vd,fd,bd,dd,Xc,Y,function(a){le[a>>8&15].call(this,a)},Hd,wd,gd,cd,ed,Pd,Y],ke=[function(a){me[a>>4&15].call(this,a)},sd,pd,hd,id,nd,jd,ld,Ed,Ed,Vd,Xd,Zd,Y,Y,Y],Wd=[function(a){Q(this,wc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Hc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,Lc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,Jc);this.a-=this.c?9:3+(7==this.b?2:0)}],Yd=[function(a){U(this,a,0,Nc); -this.a-=this.c?11:6},function(a){U(this,a,O(this)?1:0,xc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,O(this)?1:0,Tc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=uc(this,a);Q(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],$d=[function(a){U(this,a,0,Rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Pc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Bc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,zc);this.a-=this.c?9:3+(7==this.b?2:0)}],me=[function(a){ne[a& -15].call(this,a)},Y,Y,Y,Cd,Cd,Cd,Cd,Nd,Y,ae,ce,Qd,Qd,Qd,Qd],ne=[zd,Sd,Md,rd,Ad,Ld,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],be=[Kd,function(){this.m=0;this.a-=5},function(){this.g=0;this.a-=5},W,function(){this.h=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],de=[Kd,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},X,function(){this.h=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],le=[qd,od,kd,md,td,ud,$c,ad,yd,Rd,ee,ge,ie,Y,Y,Y],fe=[function(a){Q(this,vc(this, -a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,Ic);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,Mc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,Kc);this.a-=this.c?9:3+(7==this.b?2:0)}],he=[function(a){T(this,a,0,Oc);this.a-=this.c?11:6},function(a){T(this,a,O(this)?1:0,yc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,O(this)?1:0,Uc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=tc(this,a);Q(this,a<<8);this.a-=this.c?4:3+(7==this.b?2:0)}], -je=[function(a){T(this,a,0,Sc);this.a-=this.c?9+(this.$a&1):3+(7==this.b?2:0)},function(a){T(this,a,0,Qc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,Cc);this.a-=this.c?9+(this.$a&1):3+(7==this.b?2:0)},function(a){T(this,a,0,Ac);this.a-=this.c?9:3+(7==this.b?2:0)}];function bc(a){oe[a>>12].call(this,a)} -var oe=[function(a){pe[a>>8&15].call(this,a)},Gd,vd,fd,bd,dd,Xc,function(a){qe[a>>8&15].call(this,a)},function(a){re[a>>8&15].call(this,a)},Hd,wd,gd,cd,ed,Pd,Y],pe=[function(a){se[a>>4&15].call(this,a)},sd,pd,hd,id,nd,jd,ld,Ed,Ed,Vd,Xd,Zd,function(a){te[a>>6&3].call(this,a)},Y,Y],te=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.S(a|this.M);M(this,this.f[5]);this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=pc(this,a,0);jc(this,a);P(this,a);this.a-=11},function(a){var b=lc(this);this.G= -this.a;qc(this,a,0,b);P(this,b);this.a=this.G-Id[this.c]},function(a){P(this,wc(this,a,this.oa?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],se=[function(a){ue[a&15].call(this,a)},Y,Y,Y,Cd,Cd,Cd,Cd,Nd,function(a){a&8?(this.A&49152||(this.A=this.A&-2017|(a&7)<<5,this.l|=1),this.a-=5):G(this,8,6)},ae,ce,Qd,Qd,Qd,Qd],ue=[zd,Sd,Md,rd,Ad,Ld,function(){kc(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],qe=[Jd,Jd,xd,xd,Yc,Yc,Zc,Zc,Td,Td,Y,Y,Y,Y,Od,Od],re=[qd,od,kd,md,td,ud,$c,ad,yd,Rd,ee,ge,ie,function(a){ve[a>>6& -3].call(this,a)},Y,Y],ve=[Y,function(a){a=pc(this,a,65536);jc(this,a);P(this,a);this.a-=11},function(a){var b=lc(this);this.G=this.a;qc(this,a,65536,b);P(this,b);this.a=this.G-Id[this.c]},Y]; -function we(a){u.call(this,"ROM",a,we);this.T=this.b=null;this.o=a.addr;this.c=a.size;this.h=a.alias;this.g=a.file;this.m=ka(this.g);if(this.g){a=this.g;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;k(a,null,!0,function(a,b,f){f?c.K("Unable to load ROM resource (error "+f+": "+a+")"):(Pa(c.ta,a,b),(a=ua(a,b))?(c.b=a.N,c.T=a.T):c.g=null,xe(c))})}}w(we);we.prototype.fa=function(a,b,c,d){this.j=b;this.a=c;this.D=d;xe(this)}; -we.prototype.$=function(){this.T&&(this.D&&this.D.a(this.id,this.o,this.c,this.T),delete this.T);return!0};we.prototype.Z=function(){return!0}; -function xe(a){if(!Ta(a)){if(a.g){if(!a.b||!a.j)return;a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+ja(a.b.length,8,!0)+") does not match specified size ("+ja(a.c,8,!0)+")";a.i.error=!0;a.K(b)}else{b=a.o;if(kb(a.j,b,a.c,Hb)){var c;for(c=0;c>>a.j;0=b.length)break;for(var l=l+2,q=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,n=n+((q&255)+(q>>8)+(t&255)+(t>>8)),z=l,Ra=q-=6;0=b.length)break;n+=b[l++]&255;if(n&255)break;if(Ra)for(;Ra--;)a.a.Ja(t++,b[z++]&255);else t&1?D(a.a):ec(a.a,t,f);h=!0}else l++;else l+=2}if(!h&&(null==c&&(c=e),null!=c)){for(e=0;e=b)a.preventDefault&&a.preventDefault(),64e.w&&(e.w-=32),e.b|=128,e.b&64&&wb(e.a,e.V))});this.W=yb(52,4);this.M=vb(this.a,function(){e.c|=128;e.c&64&&wb(e.a,e.W)});tb(b,this,De);C(this)}; -g.pb=function(){if(!this.v){var a=Sb(this.o,"connection");if(a){var b=a.split("->");if(2==b.length){var c=qa(b[0]);if(c!=this.La)return;b=qa(b[1]);if(this.v=Qa(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.B=d.receiveData){this.status(this.ta+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};g.$=function(a,b){if(!b)if(this.pb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -g.Z=function(a){return a?this.save():!0};g.reset=function(){Ee(this)};g.save=function(){var a=new N(this);a.set(0,[]);return a.data()};g.restore=function(){return Ee(this)};function Ee(a){a.w=0;a.b=0;a.c=128;a.h=[];return!0}g.gb=function(a){if("number"==typeof a)this.h.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.J||8,c=a-this.s%a,this.J&&(b=" ".slice(0,c)));this.G&&!this.s&&c&&(b=String.fromCharCode(this.G)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.R(this.m), -this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;xb(this.a,this.M,1E3/Math.round(this.H/10))}};var Fe={},De=(Fe[65392]=[null,null,Z.prototype.fc,Z.prototype.Sc,"RCSR"],Fe[65394]=[null,null,Z.prototype.ec,Z.prototype.Rc,"RBUF"],Fe[65396]=[null,null,Z.prototype.tc,Z.prototype.fd,"XCSR"],Fe[65398]=[null,null,Z.prototype.sc,Z.prototype.ed,"XBUF"],Fe);r(function(){for(var a=B(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.u[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.u[b]=c,c.onclick=function(){var a= -d.u.listTapes;a&&Ie(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.C){c.parentNode.removeChild(c);break}this.u[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ie(d,ka(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.u[b]=c,!0}return!1}; -g.fa=function(a,b,c,d){this.o=a;this.j=b;this.a=c;this.D=d;this.H=Je(a);var e=this;if((this.c=Sb(this.o,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){m("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.J=yb(56,4);this.M=vb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.wc.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):na()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!k(f,null,!0,function(e,f,h){var l=0>h&&a.o&&!a.o.i.O;h?a.K('Unable to load tape "'+b+'" (error '+h+": "+e+")",l):(Pa(a.ta,e,f),(e=ua(e,f))&&Se(a,b,c,d,e.N,e.ma,e.la)); -a.i.Za=!1;a.h&&(a.h--,a.h||C(a));Pe(a)})}function Me(a,b,c,d){if((a=a.u.listTapes)&&a.options){for(var e=0;e\nLicense: GPL version 3 or later ");this.R("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bWe){if(Ye(d,this.v)){this.o=new N(this,"1.30.1","failsafe");Ye(this.o)&&(cf(this,d),a=2,df(this.o));this.o.set("timestamp",ta());ef(this.o);var e=this.b&&!this.m;if(1==a||va("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=bf(d)){var f=d.get("code"),h=d.get("data");f&&("ok"==f?Ye(d,h):("error"== -f&&"no machine state"!=h?(this.K("Error: "+h),"unable to verify user"==h&&(za("user",""),this.c=null)):this.R(f+": "+h),df(d),Ye(d)?(c=bf(d),e=!0):c=!1))}e&&af(this,c?d:null)}else 2==a&&d.clear()}else af(this);delete this.v;delete this.w}e=x(this.id);for(f=0;fa[1];a=a[2];this.P=!0;this.i.O=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(ff(this,this.a,b,c,a),this.a.Ga());this.G&&(cf(this,b),b.clear());!c&&this.o&&(this.o.clear(),delete this.o);this.g=0}; -function cf(a,b){if(va("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.M;d.user=c;d.type="bug";d.data=b;k("http://www.pcjs.org/api/v1/report",d,!0)}} -function gf(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new N(a,"1.30.1"),h=new N(a,"1.30.1","validate"),l=ta();h.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.Z&&(c&&D(a.a),d=a.a.Z(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.i.O=!1,!1===d&&(e=null)));for(var l=x(a.id),n=0;nf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");k(e,null,!0,function(f,h,l){if(l||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=l[0],q,t=/( [a-z]+=)(['"])(.*?)\2/g;q=t.exec(f);)n=0>n.indexOf(q[1])?n.replace(">",q[0]+">"):n.replace(new RegExp(q[1]+"(['\"])(.*?)\\1"),q[0]);l[0]!=n&&(h=h.replace(l[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],h);of(a,b,c)}})}else c(a,null)} -function pf(a,b,c,d){function e(a){if(void 0===l){var b=h&&B(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function f(a){e("Error: "+a);n&&(--lf||Ga(!0));n=!1}var h,l,n=!0;lf++;Oa[a]={};try{if(h=document.getElementById(a)){var q;if("object"==typeof resources&&(q=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=q:z.appendChild(document.createTextNode(q));t.appendChild(z)}c|| -(c="/versions/pdpjs/1.30.1/components.xsl");q=function(d,l){l?mf(c,null,null,!1,e,function(d,n){n?(Pa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(n=l.transformNode(n))?(h.outerHTML=n,--lf||Ga(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(n),(n=d.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(n,h),--lf||Ga(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?mf(b,a,d,!0,e,q):nf(b,null,a,d,!1,e,q)}else f("missing machine element: "+a)}catch(Ra){f(Ra.message)}return n}window.embedPDP11=function(a,b,c,d){Ga(!1);return pf(a,b,c,d)};window.enableEvents=Ga;window.sendEvent=Ha;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11.map diff --git a/versions/pdpjs/1.30.2/common.css b/versions/pdpjs/1.30.2/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pdpjs/1.30.2/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pdpjs/1.30.2/common.xsl b/versions/pdpjs/1.30.2/common.xsl deleted file mode 100644 index 2c0c4b207..000000000 --- a/versions/pdpjs/1.30.2/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.2/components.css b/versions/pdpjs/1.30.2/components.css deleted file mode 100644 index b40fd1375..000000000 --- a/versions/pdpjs/1.30.2/components.css +++ /dev/null @@ -1,237 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0%; - background-color: gold; - position: absolute; - top: 0px; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0px; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-triplet { - padding: 1px; -} -.pcjs-ledlbl { - text-align: center; - font-size: 40%; - background-color: #000000; -} -.pcjs-ledlbl0 { - text-align: right; - font-size: 50%; - background-color: #8d4076; -} -.pcjs-ledlbl1 { - text-align: right; - font-size: 50%; - background-color: #d83662; -} -.pcjs-ledpad { - text-align: center; - font-size: x-small; - line-height: 32px; - background-color: #000000; - border-bottom-left-radius: 20%; - border-bottom-right-radius: 20%; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; - max-width: 50%; - max-height: 50%; -} -.pcjs-swlbl { - text-align: center; - font-size: 40%; - line-height: 16px; - background-color: #000000; - border-top-left-radius: 20%; - border-top-right-radius: 20%; -} -.pcjs-swpad { - height: 32px; - background-color: #000000; -} -.pcjs-switch { - height: 10px; - width: 28px; - margin-top: 0%; - max-width: 90%; - background-color: #00ff00; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - } - .pdp11-device { - width: 100% !important; - max-width: none !important; - } -} diff --git a/versions/pdpjs/1.30.2/document.css b/versions/pdpjs/1.30.2/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pdpjs/1.30.2/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pdpjs/1.30.2/document.xsl b/versions/pdpjs/1.30.2/document.xsl deleted file mode 100644 index face4086b..000000000 --- a/versions/pdpjs/1.30.2/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.2/machine.xsl b/versions/pdpjs/1.30.2/machine.xsl deleted file mode 100644 index d83fc7b70..000000000 --- a/versions/pdpjs/1.30.2/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.2/manifest.xsl b/versions/pdpjs/1.30.2/manifest.xsl deleted file mode 100644 index c753ba24c..000000000 --- a/versions/pdpjs/1.30.2/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pdpjs/1.30.2/outline.xsl b/versions/pdpjs/1.30.2/outline.xsl deleted file mode 100644 index 84adb2ddc..000000000 --- a/versions/pdpjs/1.30.2/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.2/pdp11-dbg.js b/versions/pdpjs/1.30.2/pdp11-dbg.js deleted file mode 100644 index 9698c72ed..000000000 --- a/versions/pdpjs/1.30.2/pdp11-dbg.js +++ /dev/null @@ -1,318 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var k,ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,da=["Math","log2"],ea=0;ea>=3;return(c?"0o":"")+d}function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function sa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function wa(a){return a.replace(/[&<>"']/g,function(a){return va[a]})} -function xa(a,b){return(a+" ").slice(0,b)}function ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function Aa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function Ea(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function Fa(a,b){var c,d={ea:null,ia:null,La:null,Ka:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.La=g.load;d.Ka=g.exec;if(e=g.bytes)d.ea=e;else if(e=g.words)for(d.ea=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.ea=Array(4*e.length),f=c=0;c>8&255,d.ea[f++]=e[c]>>16&255,d.ea[f++]=e[c]>>24&255;else d.ea=g;d.ia=g.symbols;d.ea.length?1==d.ea.length&&(q(d.ea[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.lb=this.id:(this.Qa=this.id.substr(0,b),this.lb=this.id.substr(b+1));this[a]=c;this.B={ready:!1,$a:!1,ac:!1,ja:!1,error:!1};this.Sb=null;this.B.error=!1;this.G={};this.i=null;this.oa=d||0;v.push(this)}var ab=void 0,bb={}; -if(window){ab||(ab=window.location.search.substr(1));for(var cb,db=/\+/g,eb=/([^&=]+)=?([^&]*)/g;cb=eb.exec(ab);)bb[decodeURIComponent(cb[1].replace(db," "))]=decodeURIComponent(cb[2].replace(db," "))}function lb(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 z(a,b){b||(b=u);a.prototype=lb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var mb=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else mb={},v=[];function nb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function ob(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.g["S"+a]=[0,!1,!1,this.dd,a]}z(yb);var zb=7;function Ab(a,b){return a.g[b]&&a.g[b][0]}k=yb.prototype;k.reset=function(){this.stop()}; -k.ta=function(a,b,c,d){if(this.A&&this.A.ta(a,b,c,d)||this.b&&this.b.ta(a,b,c,d)||this.i&&this.i.ta(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.G[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.C[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.g[b]&&(this.g[b]=[d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){var c= -a.g[b];Bb(a,b,c[0]=1-c[0]);c[2]=!0;c[3]&&c[3].call(a,c[0],c[4]);"STEP"!=b&&(a.J="DEP"==b,a.K="EXAM"==b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){var c=a.g[b];c[1]&&c[2]&&(Bb(a,b,c[0]=1-c[0]),c[3]&&c[3].call(a,c[0],c[4]));c[2]=!1}}(this,b),!0):this.parent.ta.call(this,a,b,c,d)}};k.Ea=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.i=d;Cb(b,this,Db);Eb(b,this.reset.bind(this));Fb(this);Gb(this)};k.Ha=function(a,b){b||(Hb(),this.reset());return!0};k.Ga=function(){return!0}; -function Ib(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Fb(a,b){for(var c in a.C)Ib(a,c,null!=b?b:a.C[c])}function Bb(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Gb(a){for(var b in a.g)Bb(a,b,a.g[b][0])}function Xb(a,b,c,d){a.G[b]&&(void 0===c&&(vb(a,"Value for "+b+" is invalid"),a.b.ha()),c=8==(a.i&&a.i.da||8)?ra(c,d):p(c,d),a.G[b].textContent!=c&&(a.G[b].textContent=c))} -k.bd=function(a){a||this.b.B.Z||(this.w.reset(),Yb(this.b),Ab(this,"ENABLE")&&this.b.ib())};k.cd=function(){};k.Yc=function(a){a||this.b.ha()};k.Wc=function(a){if(!a&&!this.b.B.Z)if(Ab(this,"ENABLE"))this.b.ib();else{if((a=this.i)&&!sb(a,!0))rb(a,!0),a.jb(0),rb(a,!1);else try{var b=this.b.jb(1);0>2;this.w=this.ya-1;this.D=this.H/this.ya|0;this.Za=[];this.ma=0;this.f=!1;this.C=[];this.Ic=[kc,lc,mc,nc];a=new I(this);oc(a,this.i);this.W=Array(this.D);for(b=0;b>8:e[2](b)&255):b&1&&(e=d.Za[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.i&&F(this.i,e[5])&&E(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!d.ma),c;d.Da(b,16,3);c=255;this.i&&F(this.i,e[5])&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!d.ma);return c} -function lc(a,b,c){var d=!1,e=this.controller,f=e.Za[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Za[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.i&&F(this.i,f[5])&&E(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!e.ma):(e.Da(c,16,5),this.i&&F(this.i,f[5])&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b),!0,!e.ma))} -function mc(a,b){var c=-1,d=this.controller;(a=d.Za[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&F(this.i,a[5])&&E(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!d.ma),c;d.Da(b,16,2);c=65535;this.i&&F(this.i,a[5])&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!d.ma);return c} -function nc(a,b,c){var d=!1,e=this.controller;if(a=e.Za[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.i&&F(this.i,a[5])&&E(this.i,a[4]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!e.ma):(e.Da(c,16,4),this.i&&F(this.i,a[5])&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b),!0,!e.ma))} -function qc(a,b){if(b!=a.A){var c;a.A&&(c=(1<>>a.la;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.F)return l.Mb+=l.F-f,l.F=f,!0;if(f>=l.F+l.Mb){n=l.size-(f-m);n>g&&(n=g);l.Mb=f-l.F+n;f=m+a.ya;g-=n;h++;continue}}return vc(1,f,g)}f=new I(a,f,n,a.ya,d,e);oc(f,a.i,l);a.W[h++]=f;f=m+a.ya;g-=n}if(0>=g){c/=1024;var r;e="";r?10>>=a.la;0>>=a.la;0>>this.la].Wb(a&this.w,a)};k.Ub=function(a){3932160<=a&&(a=xc(this.b,a));this.f=!1;this.ma++;a=this.W[(a&this.Fa)>>>this.la].gc(a&this.w,a);this.ma--;return a}; -k.pa=function(a){3932160<=a&&(a=xc(this.b,a));return this.W[(a&this.Fa)>>>this.la].sa(a&this.w,a)};k.ab=function(a){3932160<=a&&(a=xc(this.b,a));var b=a&this.w,c=(a&this.Fa)>>>this.la;this.f=!1;this.ma++;a=this.W[c].hc(b,a);this.ma--;return a};k.Xb=function(a,b){3932160<=a&&(a=xc(this.b,a));this.W[(a&this.Fa)>>>this.la].Zb(a&this.w,b&255,a)};k.qb=function(a,b){3932160<=a&&(a=xc(this.b,a));this.f=!1;this.ma++;this.W[(a&this.Fa)>>>this.la].$b(a&this.w,b&255,a);this.ma--}; -k.hb=function(a,b){3932160<=a&&(a=xc(this.b,a));this.W[(a&this.Fa)>>>this.la].Nb(a&this.w,b&65535,a)};k.Db=function(a,b){3932160<=a&&(a=xc(this.b,a));var c=a&this.w,d=(a&this.Fa)>>>this.la;this.f=!1;this.ma++;this.W[d].lc(c,b&65535,a);this.ma--}; -function yc(a){for(var b=0,c=[],d=0;da.b.xb)){var h=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null,r=g[5]||1;65472<=f&&65487>=f&&(!h&&m&&(h=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var t=g[4],w=0;w>5&3;b.Na=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ua!=c&&(b.Ua=c,Nc(b))}};k.qd=function(){var a=this.b.eb;a&65280&&(a=(a<<8|a>>8)&65535);return a};k.rd=function(){return this.b.Kb};k.sd=function(){return this.b.pb};k.je=function(a){var b=this.b;1170>b.xb&&(a&=-49);b.pb!=a&&(b.pb=a,b.Rb=a&16?4194303:262143,Nc(b))};k.Sd=function(a){a=a>>1&63;var b=this.b.Lb[a>>1];return a&1?b>>16:b&65535}; -k.Je=function(a,b){b=b>>1&63;var c=b>>1;this.b.Lb[c]=b&1?this.b.Lb[c]&65535|(a&63)<<16:this.b.Lb[c]&-65536|a&65534};k.Ld=function(a){return this.b.V[1][a>>1&7]};k.Ce=function(a,b){this.b.V[1][b>>1&7]=a&65295};k.Jd=function(a){return this.b.V[1][(a>>1&7)+8]};k.Ae=function(a,b){this.b.V[1][(b>>1&7)+8]=a&65295};k.Kd=function(a){return this.b.xa[1][a>>1&7]};k.Be=function(a,b){b=b>>1&7;this.b.xa[1][b]=a;this.b.V[1][b]&=65295};k.Id=function(a){return this.b.xa[1][(a>>1&7)+8]}; -k.ze=function(a,b){b=(b>>1&7)+8;this.b.xa[1][b]=a;this.b.V[1][b]&=65295};k.md=function(a){return this.b.V[0][a>>1&7]};k.fe=function(a,b){this.b.V[0][b>>1&7]=a&65295};k.kd=function(a){return this.b.V[0][(a>>1&7)+8]};k.de=function(a,b){this.b.V[0][(b>>1&7)+8]=a&65295};k.ld=function(a){return this.b.xa[0][a>>1&7]};k.ee=function(a,b){b=b>>1&7;this.b.xa[0][b]=a;this.b.V[0][b]&=65295};k.jd=function(a){return this.b.xa[0][(a>>1&7)+8]};k.ce=function(a,b){b=(b>>1&7)+8;this.b.xa[0][b]=a;this.b.V[0][b]&=65295}; -k.Rd=function(a){return this.b.V[3][a>>1&7]};k.Ie=function(a,b){this.b.V[3][b>>1&7]=a&65295};k.Pd=function(a){return this.b.V[3][(a>>1&7)+8]};k.Ge=function(a,b){this.b.V[3][(b>>1&7)+8]=a&65295};k.Qd=function(a){return this.b.xa[3][a>>1&7]};k.He=function(a,b){b=b>>1&7;this.b.xa[3][b]=a;this.b.V[3][b]&=65295};k.Od=function(a){return this.b.xa[3][(a>>1&7)+8]};k.Fe=function(a,b){b=(b>>1&7)+8;this.b.xa[3][b]=a;this.b.V[3][b]&=65295};k.Bb=function(a){a&=7;return this.b.M&2048?this.b.Wa[a]:this.b.u[a]}; -k.Eb=function(a,b){b&=7;this.b.M&2048?this.b.Wa[b]=a:this.b.u[b]=a};k.xd=function(){return this.b.M&49152?this.b.Ia[0]:this.b.u[6]};k.oe=function(a){this.b.M&49152?this.b.Ia[0]=a:this.b.u[6]=a};k.Ad=function(){return this.b.u[7]};k.re=function(a){this.b.u[7]=a};k.Cb=function(a){a&=7;return this.b.M&2048?this.b.u[a]:this.b.Wa[a]};k.Fb=function(a,b){b&=7;this.b.M&2048?this.b.u[b]=a:this.b.Wa[b]=a};k.yd=function(){return 1==(this.b.M&49152)>>14?this.b.u[6]:this.b.Ia[1]}; -k.pe=function(a){1==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.Ia[1]=a};k.zd=function(){return 3==(this.b.M&49152)>>14?this.b.u[6]:this.b.Ia[3]};k.qe=function(a){3==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.Ia[3]=a};k.gd=function(a){return this.b.Bc[a-65504>>1]};k.ae=function(a,b){this.b.Bc[b-65504>>1]=a};k.yc=function(a){return 65520==a?61183:0};k.Fc=function(){};k.Nd=function(){return 1};k.Ee=function(){};k.fd=function(){return this.b.ga};k.$d=function(){this.b.ga=0};k.od=function(){return this.b.Ac}; -k.he=function(a,b){b&1||(a&=255);this.b.Ac=a};k.td=function(a){return a?this.b.jc:0};k.ke=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.jc=a;b.I|=2};k.Md=function(a){return a?this.b.fb&65280:0};k.De=function(a){this.b.fb=a|255};k.wd=function(){return gc(this.b)};k.ne=function(a){Oc(this.b,a&-1809|gc(this.b)&1808);this.b.I|=128};k.Ec=function(a,b){F(this)&&E(this,"writeIgnored("+ra(b)+"): "+ra(a),!0,!0)}; -var M={},L=(M[61568]=[null,null,K.prototype.Sd,K.prototype.Je,"UNIMAP",64,1170],M[62592]=[null,null,K.prototype.Ld,K.prototype.Ce,"SISDR",8,1145],M[62608]=[null,null,K.prototype.Jd,K.prototype.Ae,"SDSDR",8,1145],M[62624]=[null,null,K.prototype.Kd,K.prototype.Be,"SISAR",8,1145],M[62640]=[null,null,K.prototype.Id,K.prototype.ze,"SDSAR",8,1145],M[62656]=[null,null,K.prototype.md,K.prototype.fe,"KISDR",8,1145],M[62672]=[null,null,K.prototype.kd,K.prototype.de,"KDSDR",8,1145],M[62688]=[null,null,K.prototype.ld, -K.prototype.ee,"KISAR",8,1145],M[62704]=[null,null,K.prototype.jd,K.prototype.ce,"KDSAR",8,1145],M[62798]=[null,null,K.prototype.sd,K.prototype.je,"MMR3",1,1145],M[65382]=[null,null,K.prototype.nd,K.prototype.ge,"LKS"],M[65402]=[null,null,K.prototype.pd,K.prototype.ie,"MMR0",1,1145],M[65404]=[null,null,K.prototype.qd,K.prototype.Ec,"MMR1",1,1145],M[65406]=[null,null,K.prototype.rd,K.prototype.Ec,"MMR2",1,1145],M[65408]=[null,null,K.prototype.Rd,K.prototype.Ie,"UISDR",8,1145],M[65424]=[null,null,K.prototype.Pd, -K.prototype.Ge,"UDSDR",8,1145],M[65440]=[null,null,K.prototype.Qd,K.prototype.He,"UISAR",8,1145],M[65456]=[null,null,K.prototype.Od,K.prototype.Fe,"UDSAR",8,1145],M[65472]=[null,null,K.prototype.Bb,K.prototype.Eb,"R0SET0"],M[65473]=[null,null,K.prototype.Bb,K.prototype.Eb,"R1SET0"],M[65474]=[null,null,K.prototype.Bb,K.prototype.Eb,"R2SET0"],M[65475]=[null,null,K.prototype.Bb,K.prototype.Eb,"R3SET0"],M[65476]=[null,null,K.prototype.Bb,K.prototype.Eb,"R4SET0"],M[65477]=[null,null,K.prototype.Bb,K.prototype.Eb, -"R5SET0"],M[65478]=[null,null,K.prototype.xd,K.prototype.oe,"R6KERNEL"],M[65479]=[null,null,K.prototype.Ad,K.prototype.re,"R7KERNEL"],M[65480]=[null,null,K.prototype.Cb,K.prototype.Fb,"R0SET1",1,1145],M[65481]=[null,null,K.prototype.Cb,K.prototype.Fb,"R1SET1",1,1145],M[65482]=[null,null,K.prototype.Cb,K.prototype.Fb,"R2SET1",1,1145],M[65483]=[null,null,K.prototype.Cb,K.prototype.Fb,"R3SET1",1,1145],M[65484]=[null,null,K.prototype.Cb,K.prototype.Fb,"R4SET1",1,1145],M[65485]=[null,null,K.prototype.Cb, -K.prototype.Fb,"R5SET1",1,1145],M[65486]=[null,null,K.prototype.yd,K.prototype.pe,"R6SUPER",1,1145],M[65487]=[null,null,K.prototype.zd,K.prototype.qe,"R6USER",1,1145],M[65504]=[null,null,K.prototype.gd,K.prototype.ae,"CTRL",1,1170],M[65520]=[null,null,K.prototype.yc,K.prototype.Fc,"LSIZE",1,1170],M[65522]=[null,null,K.prototype.yc,K.prototype.Fc,"HSIZE",1,1170],M[65524]=[null,null,K.prototype.Nd,K.prototype.Ee,"SYSID",1,1170],M[65526]=[null,null,K.prototype.fd,K.prototype.$d,"CPUERR",1,1170],M[65528]= -[null,null,K.prototype.od,K.prototype.he,"MB",1,1170],M[65530]=[null,null,K.prototype.td,K.prototype.ke,"PIR"],M[65532]=[null,null,K.prototype.Md,K.prototype.De,"SL"],M[65534]=[null,null,K.prototype.wd,K.prototype.ne,"PSW"],M);L[65506]=L[65504];L[65508]=L[65504];L[65510]=L[65504];L[65512]=L[65504];L[65514]=L[65504];L[65516]=L[65504];L[65518]=L[65504]; -Xa(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.C,0,this.size>>2),Wc(this,Sc?Xc:Yc);else{a=this.b=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},S:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},da:function(a,b){a&1&&this.w.Da(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+ -1]&255)<<8},wa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Sa=!0},P:function(a,b){if(this.i&&null!=this.F){var c=this.i;cd(c,this.F+a,1,c.N)&&c.ha(!0)}return this.gc(a,b)},Y:function(a,b){if(this.i&&null!=this.F){var c=this.i;cd(c,this.F+a,2,c.N)&&c.ha(!0)}return this.hc(a,b)},na:function(a, -b,c){if(this.i&&null!=this.F){var d=this.i;cd(d,this.F+a,1,d.D)&&d.ha(!0)}this.f?this.v(a,b,c):this.$b(a,b,c)},Aa:function(a,b,c){if(this.i&&null!=this.F){var d=this.i;cd(d,this.F+a,2,d.D)&&d.ha(!0)}this.f?this.v(a,b,c):this.lc(a,b,c)},N:function(a){return this.G[a]},R:function(a,b){a=this.G[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},Qa:function(a,b){a&1&&this.w.Da(b,64,2);return this.D.getUint16(a,!0)},aa:function(a,b){a&1&&this.w.Da(b,64,2); -a=this.J[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ka:function(a,b){this.G[a]=b;this.Sa=!0},ua:function(a,b,c){this.G[a]=b;this.Sa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},lb:function(a,b,c){a&1&&this.w.Da(c,64,4);this.D.setUint16(a,b,!0);this.Sa=!0},Ja:function(a,b,c){a&1&&this.w.Da(c,64,4);this.J[a>>1]=b;this.Sa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i, -b)+")",!0)}};function oc(a,b,c){a.i=b;a.g=a.A=0;c&&((a.g=c.g)&&bd(a,ad,!1),(a.A=c.A)&&$c(a,ad,!1))}function dd(a,b){b?--a.A||(a.Zb=a.f?a.v:a.$b,a.Nb=a.f?a.H:a.lc):--a.g||(a.Wb=a.gc,a.sa=a.hc)}function $c(a,b,c){c&&a.A||(a.Zb=!a.f&&b[1]||a.v,a.Nb=!a.f&&b[3]||a.H);if(c||void 0===c)a.$b=b[1]||a.v,a.lc=b[3]||a.H}function bd(a,b,c){c&&a.g||(a.Wb=b[0]||a.K,a.sa=b[2]||a.L);if(c||void 0===c)a.gc=b[0]||a.K,a.hc=b[2]||a.L}function Wc(a,b){b||(b=ed);bd(a,b,void 0);$c(a,b,void 0)} -var ed=[],Zc=[I.prototype.S,I.prototype.wa,I.prototype.da,I.prototype.Na],ad=[I.prototype.P,I.prototype.na,I.prototype.Y,I.prototype.Aa];if(wb)var Yc=[I.prototype.N,I.prototype.ka,I.prototype.Qa,I.prototype.lb],Xc=[I.prototype.R,I.prototype.ua,I.prototype.aa,I.prototype.Ja]; -function fd(a,b){u.call(this,"CPU",a,fd,1);var c=a.multiplier||1;this.mb=a.cycles||b;this.cb=c;this.ub=Math.round(this.mb/1E4)/100;this.ob=this.ub*this.cb;this.B.Z=!1;this.B.Yb=!1;this.B.tb=a.autoStart;this.B.wb=!1;this.Hb=this.na=0;this.Ib=a.csStart;this.yb=a.csInterval;this.zb=a.csStop;this.K=[];this.vc=this.Wd.bind(this);H(this)}z(fd);var gd=["power","reset"];k=fd.prototype; -k.Ea=function(a,b,c,d){this.A=a;this.w=b;this.i=d;for(b=0;b=a.na&&(a.na+=a.yb,c=!0);0<=a.zb&&a.zb<=ld(a)&&(a.yb=a.zb=-1,jd(a),a.ha(),c=!0);c&&a.j(ld(a)+" cycles: checksum="+p(a.Hb))}} -k.ta=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.B.ja)a=!0;else{var b=null,c,h=ob(a.id);for(c=0;ca.Y/a.ob?b=1:d=!0;a.cb=b;b=a.ub*a.cb;if(a.ob!=b){a.ob=b;b=a.ob.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.A&&a.A.rb()}$b(a,a.S);a.S=0;a.R=Ba();a.aa=0;nd(a);return d}function Jc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function Lc(a,b,c){0<=b&&ba.K[b][0]&&(c=a.mb*a.cb/1E3*c|0,a.K[b][0]=c+od(a))} -function pd(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Zb(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.da-=a.b;a.b=a.J=0;b&&(a.da=0);return c} -k.Wd=function(){if(this.B.Z){this.vb>=this.mb&&nd(this,!0);this.Aa=0;this.Ya=Ba();if(this.aa){var a=this.Ya-this.aa;a>this.Tb&&(this.R+=a,this.R>this.Ya&&(this.R=this.Ya))}try{do{var b=pd(this,this.B.wb?1:this.kb);try{this.jb(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.Aa+=b;this.S+=b;ac(this,b);Zb(this,b);this.ua-=b;if(0>=this.ua){this.ua+=this.kb;15<=++this.Vb&&(this.A&&this.A.$(void 0),this.Vb=0);break}}while(this.B.Z)}catch(e){this.ha();this.A&&this.A.stop(Ba(),ld(this));vb(this, -e.stack||e.message);return}if(this.B.Z){a=setTimeout;b=this.vc;this.aa=Ba();var c=this.Tb;this.Aa&&(c=Math.round(c*this.Aa/this.kb));var c=c-(this.aa-this.Ya),d=this.aa-this.R;d&&(this.Y=Math.round(this.S/(10*d))/100,864E5<=d&&(this.ka=0,md(this)));if(0>c||this.Yc&&(this.R-=c),c=0;this.vb+=this.Aa;this.aa+=c;a(b,c)}}}; -k.ib=function(a){if(ub(this))return!1;if(this.B.Z)return this.j(this.toString()+" busy"),!1;md(this);this.B.Z=!0;this.B.Yb=!0;var b=this.G.run;b&&(b.textContent="Halt");this.A&&(a&&this.A.rb(!0),this.A.start(this.R,ld(this)));setTimeout(this.vc,0);return!0};k.jb=function(){return 0};k.ha=function(a){var b=!1;if(this.B.Z){od(this);$b(this,this.S);this.S=0;this.B.Z=!1;if(b=this.G.run)b.textContent="Run";this.A&&this.A.stop(Ba(),ld(this));b=!0}this.B.complete=a;return b}; -function qd(a){this.xb=+a.model||1170;this.Ob=a.addrReset||0;fd.call(this,a,6666667);this.decode=1120==this.xb?rd.bind(this):sd.bind(this);td(this);this.L=0;this.N=null;this.B.complete=!1}z(qd,fd);k=qd.prototype;k.reset=function(){this.status("model "+this.xb);this.B.Z&&this.ha();td(this);id(this);this.B.error=!1;this.parent.reset.call(this)}; -function td(a){a.T=65536;a.U=32768;a.ba=65535;a.X=32768;a.M=15;a.u=[0,0,0,0,0,0,0,a.Ob];a.Wa=[0,0,0,0,0,0];a.Ia=[0,0,0,0];a.v=0;a.Na=0;a.Rc=[4,2,0,1];a.V=[[0,0,0,0,0,0,0,0,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]];a.xa=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Lb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0];a.Bc=[0,0,0,0,0,0,0,0];a.Ac=0;a.I=0;a.D=a.H=0;a.g=a.f=a.sb=0;a.wa=-1;Yb(a)}function Yb(a){a.fb=255;a.ga=0;a.jc=0;a.C=0;a.eb=0;a.Kb=0;a.pb=0;a.Ua=0;a.Ja=0;a.Rb=262143;a.N=null;a.w&&Nc(a)}function Nc(a){a.Ua?(a.P=65536,a.ca=a.Qc,a.sa=a.Td,a.Nb=a.Ke,qc(a.w,a.pb&16?22:18)):(a.P=0,a.ca=a.Pc,a.sa=a.zc,a.Nb=a.Gc,qc(a.w,16))}function ud(a,b,c){a.Ob=b;O(a,b);!c&&a.i&&(a.ha()||a.i.$())}k.sc=function(){return 0}; -k.save=function(){var a=new P(this);a.set(0,[]);a.set(1,[this.ka,this.cb]);a.set(2,yc(this.w));return a.data()};k.restore=function(a){var b=a[1];this.ka=b[1];md(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c>14&3;c=a.M>>14&3;a.v!=c&&(a.Ia[c]=a.u[6],a.u[6]=a.Ia[a.v]);a.M=b;a.I|=2}function R(a,b){a.I&128||(a.X=a.ba=b,a.U=0)}function Ad(a,b,c){a.I&128||(a.X=a.ba=a.T=b,a.U=c||0)}function Bd(a,b,c,d){a.I&128||(a.X=a.ba=a.T=b,a.U=(c^b)&(d^b))} -function Cd(a,b){a.I&128||(a.X=a.ba=a.T=b,a.U=a.X^a.T>>1)}function Dd(a,b,c,d){a.I&128||(a.X=a.ba=a.T=b,a.U=(c^d)&(d^b))}k.qa=function(a,b){if(!this.L){var c=!1;0>this.wa?this.wa=gc(this):this.v||(a=4,c=!0);this.C&57344||(this.eb=63222,this.Kb=a);this.v=0;var d=this.sa(a|this.P),e=this.sa(a+2&65535|this.P);Oc(this,e&-12289|this.wa>>2&12288);c&&(this.ga|=4,this.u[6]=4);Ed(this,this.wa);Ed(this,this.u[7]);O(this,d);this.I&=-113;this.wa=-1;this.I|=8;this.Vc=a;this.Tc=b;if(26!=b)throw a;}}; -function Wd(a){var b=Xd(a),c=Xd(a)&-1793;a.M&49152&&(c=c&-225|a.M&63712);O(a,b);Oc(a,c);a.I&=-17}function xc(a,b){var c=b>>13&31;31>c&&a.pb&32&&(b=a.Lb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} -function Yd(a,b,c){var d,e,f;if(!(c&a.Ua))return b;d=b>>13;a.pb&a.Rc[a.v]||(d&=7);e=a.V[a.v][d];f=(a.xa[a.v][d]<<6)+(b&8191)&a.Rb;var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.V[a.v][d]=e;if(4194170!==f||a.v)a.Ja=a.v,a.Na=d;b=!1;g&&(g&57344&&(0<=a.wa&&(g|=128),a.C&57344||(a.C=a.C|g|a.Ja<<5|a.Na<<1), -b=!0),a.C&61440||!(4191360>f||4194239c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=a.sa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!==c&&(e|=g);e=a.sa(e)| -g;a.b-=8;break;case 6:return e=a.sa(zd(a,2)),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=a.sa(zd(a,2)),e=e+a.u[c]&65535,e=a.sa(e|a.P)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.C&57344||(a.eb=a.eb<<8|f<<3&248|c);6==c&&!a.v&&d&4&&0>=f&&(a.u[6]<=a.fb||65534<=a.u[6])&&(a.u[6]<=a.fb-32?(a.ga|=4,a.u[6]=4,a.qa(4,24)):(a.ga|=8,a.I|=64));return e}k.Ub=function(a){if(!this.Ua)return this.w.Ub(a);this.L++;a=Zd(this,Yd(this,a,3));this.L--;return a}; -k.ab=function(a){if(!this.Ua)return this.w.ab(a);this.L++;a=this.zc(Yd(this,a,2));this.L--;return a};k.qb=function(a,b){this.Ua?(this.L++,$d(this,Yd(this,a,5),b),this.L--):this.w.qb(a,b)};k.Db=function(a,b){this.Ua?(this.L++,this.Gc(Yd(this,a,4),b),this.L--):this.w.Db(a,b)};k.Pc=function(a,b,c){return ae(this,a,b,c)};k.Qc=function(a,b,c){return Yd(this,ae(this,a,b,c),c)};k.zc=function(a){return this.w.pa(a)};k.Td=function(a){return this.w.pa(Yd(this,a,2))};k.Gc=function(a,b){this.w.hb(a,b&65535)}; -k.Ke=function(a,b){this.w.hb(Yd(this,a,4),b)};function be(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=ae(a,b,d,2),c&65536||61440!==(a.M&61440)&&(d&=65535),a.v=a.M>>12&3,c=a.sa(d|c&a.P),a.v=a.M>>14&3):c=6!=d||(a.M>>2&12288)===(a.M&12288)?a.u[d]:a.Ia[a.M>>12&3];return c}function ce(a,b,c,d){a.C&57344||(a.eb=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=ae(a,b,e,4),c&65536||(e&=65535),a.v=a.M>>12&3,e=Yd(a,e|c&65536,4),a.v=a.M>>14&3,a.w.hb(e,d)):6!=e||(a.M>>2&12288)===(a.M&12288)?a.u[e]=d:a.Ia[a.M>>12&3]=d} -function de(a,b){b>>=6;var c=a.H=b&7;return(b=a.D=(b&56)>>3)?Zd(a,a.ca(b,c,3)):a.u[c]&255}function ee(a,b){b>>=6;var c=a.H=b&7;return(b=a.D=(b&56)>>3)?a.w.pa(a.ca(b,c,2)):a.u[c]}function fe(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return ae(a,b,c,8)}function ge(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Zd(a,a.ca(b,c,3)):a.u[c]&255}function he(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.pa(a.ca(b,c,2)):a.u[c]} -function S(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.sb=a.ca(b,e,7),$d(a,e,d.call(a,c,Zd(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function T(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.ca(b,e,6),a.w.hb(e,d.call(a,c,a.w.pa(e)))):a.u[e]=d.call(a,c,a.u[e])}function ie(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?$d(a,a.ca(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c} -function je(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.w.hb(a.ca(b,d,4),c):a.u[d]=c&65535;return c}function U(a,b,c){c&&(O(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} -k.jb=function(a){this.B.complete=!0;var b=this.i&&ke(this.i)?1:this.B.Yb?-1:0,c=a?this.B.Yb?0:1:-1;this.B.Yb=!1;this.da=this.b=a;do{if(b){if(this.i&&le(this.i,this.u[7],c)){this.ha();break}c||c++;b++}if(this.I){this.I&112&&(this.I&32?this.qa(168,28):this.I&64?this.qa(4,30):this.I&16&&this.qa(12,32),this.I&=-113);if(a=this.I&7){a=!1;if(this.I&2){this.I&=-3;var d=160,e=(this.jc&224)>>5,f=this.N&&this.N.Ab>e?this.N:null;f&&(d=f.Yd,e=f.Ab);e>(this.M&224)>>5?(this.I&4&&(zd(this,2),this.I&=-5),this.qa(d, -26),e=!0):e=!1;if(e){if(f)if(a=f,f=this.N,f==a)this.N=a.next;else for(;f;){e=f.next;if(e==a){f.next=e.next;break}f=e}a=!0}}else this.I&1&&this.I++;a=a&&0>c}if(a)break}this.I=this.I&7|this.M&16;this.decode(yd(this))}while(0>1|b<<16;Cd(this,a);return a&65535}function re(a,b){a=b&2048|b>>1|b<<8;Cd(this,a<<8);return a&255}function se(a,b){a=b&~a;R(this,a);return a}function te(a,b){a=b&~a;R(this,a<<8);return a}function ue(a,b){a|=b;R(this,a);return a}function ve(a,b){a|=b;R(this,a<<8);return a} -function we(a,b){a=~b|65536;Ad(this,a);return a&65535}function xe(a,b){a=~b|256;Ad(this,a<<8);return a&255}function ye(a,b){a=b-a;this.I&128||(this.X=this.ba=a,this.U=b&(b^a));return a&65535}function ze(a,b){a=b-a;var c=a<<8;b<<=8;this.I&128||(this.X=this.ba=c,this.U=b&(b^c));return a&255}function Ae(a,b){a=b+a;this.I&128||(this.X=this.ba=a,this.U=a&(b^a));return a&65535}function Be(a,b){a=b+a;var c=a<<8;this.I&128||(this.X=this.ba=c,this.U=c&(b<<8^c));return a&255} -function Ce(a,b){a=-b;Ad(this,a,a&b&32768);return a&65535}function De(a,b){a=-b;Ad(this,a<<8,(a&b&128)<<8);return a&255}function Ee(a,b){a=b<<1|this.T>>16&1;Cd(this,a);return a&65535}function Fe(a,b){a=b<<1|this.T>>16&1;Cd(this,a<<8);return a&255}function Ge(a,b){a=(this.T&65536|b)>>1|b<<16;Cd(this,a);return a&65535}function He(a,b){a=((this.T&65536)>>8|b)>>1|b<<8;Cd(this,a<<8);return a&255}function Ie(a,b){var c=b-a;Dd(this,c,a,b);return c&65535} -function Je(a,b){var c=b-a;Dd(this,c<<8,a<<8,b<<8);return c&255}function Ke(a,b){this.I&128||(this.X=this.ba=b&65280,this.U=this.T=0);return(b<<8|b>>8)&65535}function Le(a,b){a^=b;R(this,a);return a&65535}function Me(a){T(this,a,ee(this,a),me);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)} -function Ne(a){var b=he(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.T=this.U=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.U=32768)}this.u[a]=c&65535;this.X=this.ba=c;this.b-=(this.g?6:7)+b} -function Oe(a){var b=he(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&=63;if(b&32){b=64-b;32>b-1;this.T=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.X=d>>16;this.ba=d>>16|d;this.b-=(this.g?6:7)+b}function Pe(a){U(this,a,!vd(this))}function Qe(a){U(this,a,vd(this))} -function Re(a){T(this,a,ee(this,a),se);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Se(a){S(this,a,de(this,a),te);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Te(a){T(this,a,ee(this,a),ue);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Ue(a){S(this,a,de(this,a),ve);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)} -function Ve(a){R(this,ee(this,a)&he(this,a));this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function We(a){R(this,(de(this,a)&ge(this,a))<<8);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function Xe(a){U(this,a,xd(this))}function Ye(a){U(this,a,!this.Ta()==!wd(this))}function Ze(a){U(this,a,!xd(this)&&!this.Ta()==!wd(this))}function $e(a){U(this,a,!vd(this)&&!xd(this))}function af(a){U(this,a,xd(this)||!this.Ta()!=!wd(this))} -function bf(a){U(this,a,vd(this)||xd(this))}function cf(a){U(this,a,!this.Ta()!=!wd(this))}function df(a){U(this,a,this.Ta())}function ef(a){U(this,a,!xd(this))}function ff(a){U(this,a,!this.Ta())}function gf(){this.qa(12,1);this.b-=5}function hf(a){U(this,a,!0)}function jf(a){U(this,a,!wd(this))}function kf(a){U(this,a,wd(this))}function V(a){a&1&&(this.T=0);a&2&&(this.U=0);a&4&&(this.ba=1);a&8&&(this.X=0);this.b-=5} -function lf(a){var b=ee(this,a);a=he(this,a);Dd(this,b-a,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function mf(a){var b=de(this,a)<<8;a=ge(this,a)<<8;Dd(this,b-a,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)} -function nf(a){var b=he(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.ba=d>>16|d,this.X=d>>16):(this.U=32768,this.ba=d>>15|d,this.X=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.ba=this.X=0,this.U=32768,this.T=65536,this.b-=7}function of(){this.qa(24,2);this.b-=25} -function pf(){this.M&49152?(this.ga|=128,this.qa(4,3)):this.i?qf(this.i):this.ha();this.b-=7}function rf(){this.qa(16,4);this.b-=25}var sf=[0,7,7,10,7,11,9,13];function tf(a){this.J=this.b;O(this,fe(this,a));this.b=this.J-sf[this.g]}var uf=[0,14,14,17,14,18,16,20];function vf(a){this.J=this.b;var b=fe(this,a);a=a>>6&7;Ed(this,this.u[a]);this.u[a]=this.u[7];O(this,b);this.b=this.J-uf[this.g]}var wf=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function xf(a){var b=ee(this,a);this.J=this.b;R(this,je(this,a,b));this.b=this.J-wf[(this.D?8:0)+this.g]+(7!=this.f||this.g?0:2)}function yf(a){var b=de(this,a);R(this,ie(this,a,b,1)<<8);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}var zf=[7,13,13,17,14,18,17,21]; -function Af(a){var b=he(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.I&128||(this.X=b>>16,this.ba=this.X|b,this.U=0,this.T=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)O(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Gf(a){T(this,a,ee(this,a),Ie);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)} -function Hf(a){T(this,a,0,Ke);this.b-=this.g?9:3+(7==this.f?2:0)}function If(){this.qa(28,5);this.b-=5}function Jf(){this.I&4||this.A&&this.A.$();this.I|=4;zd(this,-2);this.b-=3}function Kf(a){T(this,a,ee(this,a),Le);this.b-=this.g?9:3+(7==this.f?2:0)}function W(a){var b;if(b=this.i)b=this.i,E(b,"undefined opcode "+J(b,a),!0,!0),b=qf(b);b||this.qa(8,6)}function rd(a){Lf[a>>12].call(this,a)}function Mf(a){Nf[a>>6&3].call(this,a)}function Of(a){Pf[a>>6&3].call(this,a)} -function Qf(a){Rf[a>>6&3].call(this,a)}function Sf(a){Tf[a&15].call(this,a)}function Uf(a){Vf[a&15].call(this,a)}function Wf(a){Xf[a>>6&3].call(this,a)}function Yf(a){Zf[a>>6&3].call(this,a)}function $f(a){ag[a>>6&3].call(this,a)} -var Lf=[function(a){bg[a>>8&15].call(this,a)},xf,lf,Ve,Re,Te,Me,W,function(a){cg[a>>8&15].call(this,a)},yf,mf,We,Se,Ue,Gf,W],bg=[function(a){dg[a>>4&15].call(this,a)},hf,ef,Xe,Ye,cf,Ze,af,vf,vf,Mf,Of,Qf,W,W,W],Nf=[function(a){Ad(this,je(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,we);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Ae);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,ye);this.b-=this.g?9:3+(7==this.f?2:0)}],Pf=[function(a){T(this,a,0, -Ce);this.b-=this.g?11:6},function(a){T(this,a,vd(this)?1:0,me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,vd(this)?1:0,Ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=he(this,a);Ad(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Rf=[function(a){T(this,a,0,Ge);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Ee);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,qe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,oe);this.b-=this.g?9:3+(7==this.f?2:0)}], -dg=[function(a){eg[a&15].call(this,a)},W,W,W,tf,tf,tf,tf,Ef,W,Sf,Uf,Hf,Hf,Hf,Hf],eg=[pf,Jf,Df,gf,rf,Cf,W,W,W,W,W,W,W,W,W,W],Tf=[Bf,function(){this.T=0;this.b-=5},function(){this.U=0;this.b-=5},V,function(){this.ba=1;this.b-=5},V,V,V,function(){this.X=0;this.b-=5},V,V,V,V,V,V,V],Vf=[Bf,function(){this.T=65536;this.b-=5},function(){this.U=32768;this.b-=5},X,function(){this.ba=0;this.b-=5},X,X,X,function(){this.X=32768;this.b-=5},X,X,X,X,X,X,X],cg=[ff,df,$e,bf,jf,kf,Pe,Qe,of,If,Wf,Yf,$f,W,W,W],Xf=[function(a){Ad(this, -ie(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,xe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Be);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,1,ze);this.b-=this.g?9:3+(7==this.f?2:0)}],Zf=[function(a){S(this,a,0,De);this.b-=this.g?11:6},function(a){S(this,a,vd(this)?1:0,ne);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,vd(this)?1:0,Je);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=ge(this,a);Ad(this,a<<8);this.b-=this.g?4:3+(7== -this.f?2:0)}],ag=[function(a){S(this,a,0,He);this.b-=this.g?9+(this.sb&1):3+(7==this.f?2:0)},function(a){S(this,a,0,Fe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,re);this.b-=this.g?9+(this.sb&1):3+(7==this.f?2:0)},function(a){S(this,a,0,pe);this.b-=this.g?9:3+(7==this.f?2:0)}];function sd(a){fg[a>>12].call(this,a)} -var fg=[function(a){gg[a>>8&15].call(this,a)},xf,lf,Ve,Re,Te,Me,function(a){hg[a>>8&15].call(this,a)},function(a){ig[a>>8&15].call(this,a)},yf,mf,We,Se,Ue,Gf,W],gg=[function(a){jg[a>>4&15].call(this,a)},hf,ef,Xe,Ye,cf,Ze,af,vf,vf,Mf,Of,Qf,function(a){kg[a>>6&3].call(this,a)},W,W],kg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.sa(a|this.P);O(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=be(this,a,0);Ed(this,a);R(this,a);this.b-=11},function(a){var b=Xd(this);this.J= -this.b;ce(this,a,0,b);R(this,b);this.b=this.J-zf[this.g]},function(a){R(this,je(this,a,this.Ta?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],jg=[function(a){lg[a&15].call(this,a)},W,W,W,tf,tf,tf,tf,Ef,function(a){a&8?(this.M&49152||(this.M=this.M&-2017|(a&7)<<5,this.I|=1),this.b-=5):W.call(this,a)},Sf,Uf,Hf,Hf,Hf,Hf],lg=[pf,Jf,Df,gf,rf,Cf,function(){Wd(this);this.b-=13},W,W,W,W,W,W,W,W,W],hg=[Af,Af,nf,nf,Ne,Ne,Oe,Oe,Kf,Kf,W,W,W,W,Ff,Ff],ig=[ff,df,$e,bf,jf,kf,Pe,Qe,of,If,Wf,Yf,$f,function(a){mg[a>> -6&3].call(this,a)},W,W],mg=[W,function(a){a=be(this,a,65536);Ed(this,a);R(this,a);this.b-=11},function(a){var b=Xd(this);this.J=this.b;ce(this,a,65536,b);R(this,b);this.b=this.J-zf[this.g]},W]; -function ng(a){u.call(this,"ROM",a,ng);this.ia=this.f=null;this.C=a.addr;this.g=a.size;this.v=a.alias;this.A=a.file;this.D=sa(this.A);if(this.A){a=this.A;var b=ta(this.D);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.O("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(nb(c.Qa,a,b),(a=Fa(a,b))?(c.f=a.ea,c.ia=a.ia):c.A=null);og(c)})}}z(ng);ng.prototype.Ea=function(a,b,c,d){this.w=b;this.b=c;this.i=d;og(this)}; -ng.prototype.Ha=function(){this.ia&&(this.i&&pg(this.i,this.id,this.C,this.g,this.ia),delete this.ia);return!0};ng.prototype.Ga=function(){return!0}; -function og(a){if(!tb(a)){if(a.A){if(!a.f||!a.w)return;a.g||(a.g=a.f.length);if(a.f.length!=a.g)vb(a,"ROM size ("+p(a.f.length,8,!0)+") does not match specified size ("+p(a.g,8,!0)+")");else{var b;b=a.C;if(tc(a.w,b,a.g,Vc)){var c;for(c=0;c>>a.la;0=b.length)break;for(var h=h+2,m=b[h++]&255|(b[h++]&255)<<8,n=b[h++]&255|(b[h++]&255)<<8,l=l+((m&255)+(m>>8)+(n&255)+(n>>8)),r=h,t=m-=6;0=b.length)break;l+=b[h++]&255;if(l&255)break;if(t)for(;t--;)a.b.qb(n++,b[r++]&255);else n&1?a.b.ha():ud(a.b,n,f);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e=b)a.preventDefault&&a.preventDefault(),64e.K&&(e.K-=32),e.f|=128,e.f&64&&Kc(e.b,e.ka))});this.na=Mc(52,4);this.aa=Jc(this.b,function(){e.g|=128;e.g&64&&Kc(e.b,e.na)});Cb(b,this,Og);H(this)}; -k.wc=function(){if(!this.J){var a=hd(this.A,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ya(b[0]);if(c!=this.lb)return;b=ya(b[1]);if(this.J=pb(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.L=d.receiveData){this.status(this.Qa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ha=function(a,b){if(!b)if(this.wc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.Ga=function(a){return a?this.save():!0};k.reset=function(){Pg(this)};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return Pg(this)};function Pg(a){a.K=0;a.f=0;a.g=128;a.C=[];return!0}k.ic=function(a){if("number"==typeof a)this.C.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.H%a,this.S&&(b=xa("",c)));this.P&&!this.H&&c&&(b=String.fromCharCode(this.P)+b);this.v.value+=b;this.v.scrollTop=this.v.scrollHeight;this.H+=c}else if(null!=this.D){if(10==a||1024<=this.D.length)this.j(this.D), -this.D="";10!=a&&(this.D+=String.fromCharCode(a))}this.g&=-129;Lc(this.b,this.aa,1E3/Math.round(this.R/10))}};var Qg={},Og=(Qg[65392]=[null,null,Y.prototype.Cd,Y.prototype.te,"RCSR"],Qg[65394]=[null,null,Y.prototype.Bd,Y.prototype.se,"RBUF"],Qg[65396]=[null,null,Y.prototype.Vd,Y.prototype.Me,"XCSR"],Qg[65398]=[null,null,Y.prototype.Ud,Y.prototype.Le,"XBUF"],Qg);Xa(function(){for(var a=D(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.G[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.G[b]=c,c.onclick= -function(){var a=d.G.listTapes;a&&Tg(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.P){c.parentNode.removeChild(c);break}this.G[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Tg(d,sa(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.G[b]=c,!0}return!1}; -k.Ea=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.i=d;this.S=Ug(a);var e=this;if((this.g=hd(this.A,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){q("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.Y=Mc(56,4);this.da=Jc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.Kc.indexOf("/api/v1/dump")&&(e=ta(c),f="json"==e||"gz"==e?encodeURI(c):Ga()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ea(f,null,!0,function(e,f,g){var h=0>g&&a.A&&!a.A.B.ja;g?a.O('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(nb(a.Qa,e,f),(e=Fa(e,f))&&ch(a,b,c,d,e.ea,e.La, -e.Ka));a.B.$a=!1;a.D&&(a.D--,a.D||H(a));$g(a)})}function Xg(a,b,c,d){if((a=a.G.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.va);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ta(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ua(c,"/")&&(d="dir"),f=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ec?"":e)+"&format=json"));return!!Ea(f, -null,!0,function(b,c,d){jh(a,b,c,d)})} -function jh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.A&&!a.A.B.ja;if(d)a.controller.O('Unable to load disk "'+a.Xa+'" (error '+d+": "+b+")",f);else{nb(a.controller.Qa,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(h.length)if(1==h.length)q(h[0]);else{a.va=h.length;a.za=h[0].length;a.ra=h[0][0].length;var l=h[0][0][0];a.Ma=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var t=l.bytes;if(void 0!==t&&t.length){for(var w=m<<2,y=t.length;y>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ba?f=a.Pa+a.Ba&&(a.Ba+=f-(a.Pa+a.Ba)+1):(a.Pa=f,a.Ba=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;lb&&-2!=b&&this.controller.O("Unable to restore disk '"+this.Xa+": "+c);return b}; -k.toJSON=function(){var a;a=0;for(var b;b=lh(this,a++);)nh(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function nh(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function N(a){u.call(this,"RL11",a,N,2097152);this.v=a.autoMount||null;this.H=0;this.f=Array(4);this.L=!Pa("Mobi")&&window&&"FileReader"in window}z(N);k=N.prototype; -k.ta=function(a,b,c){var d=this;switch(b){case "listDisks":return this.G[b]=c,c.onchange=function(){var a=d.G.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){q("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.G[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&oh(d,a)},!0;case "loadDrive":return this.G[b]= -c,c.onclick=function(){var a=d.G.listDisks;a&&ph(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.L){c.parentNode.removeChild(c);break}this.G[b]=c;c.onclick=function(){var a=d.G.listDrives;if(a&&a.options&&d.f)if(a=d.f[qa(a.value,10)||0])if(a=a.Ca){var b;b="";for(var c=0,h;h=lh(a,c++);)for(var l=0,m=h.length;lb;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";oh(this,0)}}return!0};k.Ga=function(a){return a?this.save():!0};k.reset=function(){qh(this)};k.save=function(){return(new P(this)).data()}; -k.restore=function(a){return qh(this,a[0])};function th(a,b){b||(a.H=0);if(a.v)for(var c in a.v){var d=a.v[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.G.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.f.length)a.O("Unable to load the selected drive");else if(c)if("?"==c)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=sa(c);a.status("Attempting to load "+c+' as "'+b+'"')}vh(a,e,b,c,!1,d)}else uh(a,e)} -function vh(a,b,c,d,e,f){var g=-1,h=a.f[b];h.gb.toLowerCase()!=d.toLowerCase()&&(g++,uh(a,b,!0),h.dc?a.O("RL11 busy"):(h.dc=!0,e&&(h.cc=!0,a.H++,F(a)&&E(a,"auto-loading disk: "+c)),h.Pb=!!f,ih(new eh(a,h,"preload"),c,d,f,a.Mc)&&g++));return g} -k.Mc=function(a,b,c,d,e){var f;a.dc=!1;b&&(f=b.b.length?[b.b.length,b.b[0].length,b.b[0][0].length,b.b[0][0][0].length]:[0,0,0,0],b&&f[0]>a.va||f[1]>a.za)&&(this.O('Disk "'+c+'" too large for drive '+("RL"+a.fc)),b=null);b?(a.Ca=b,a.Xa=c,a.gb=d,this.O('Mounted disk "'+c+'" in drive '+("RL"+a.fc),a.cc||e),this.A&&this.A.rb()):a.Pb=!1;a.cc&&(a.cc=!1,--this.H||H(this));oh(this,a.fc)}; -function sh(a,b,c,d){if((a=a.G.listDisks)&&a.options){for(var e=0;e>12&48;this.K=f>>16&63;this.C=this.g=b<<7|(c?64:0)|d&63;this.D=65536-e&65535;a&&(this.fa=this.fa|a|32768);return!0}; -k.hd=function(a,b,c,d,e,f,g){for(var h=0,l=a.Ca,m=null,n;e--;){if(!m){m=a.Ca.seek(b,c,d+1);if(!m){h=5120;break}n=0}var r,t;if(0>(r=a.Ca.read(m,n++))||0>(t=a.Ca.read(m,n++))){h=5120;break}this.w.hb(f,r|t<<8);if(Ic(this.w)){h=8192;break}f+=2;if(n>=l.Ma&&(m=null,++d>=l.ra&&(d=0,++c>=l.za&&(c=0,++b>=l.va)))){h=5120;break}}return g(h,b,c,d,e,f)}; -k.be=function(a,b,c,d,e,f,g){for(var h=0,l=a.Ca,m=null,n;e--;){var r=this.w.pa(f);if(Ic(this.w)){h=8192;break}f+=2;if(!m){m=a.Ca.seek(b,c,d+1,!0);if(!m){h=5120;break}n=0}if(!a.Ca.write(m,n++,r&255)||!a.Ca.write(m,n++,r>>8)){h=5120;break}if(n>=l.Ma&&(m=null,++d>=l.ra&&(d=0,++c>=l.za&&(c=0,++b>=l.va)))){h=5120;break}}return g(h,b,c,d,e,f)};k.Fd=function(){return this.fa&65535}; -k.we=function(a){this.fa=this.fa&-1023|a&1022;this.N=this.N&-4|(a&48)>>4;if(!(this.fa&128)){var b;a=!0;var c=this.f[(this.fa&768)>>8],d,e,f,g;this.fa&=-2;switch(this.fa&14){case 4:this.g&8&&(this.fa&=63);this.D=c.status|this.C&64;break;case 6:1==(this.g&3)&&(b=this.g&65408,c=(this.g&16)<<2,this.C=this.g&4?this.C+b:this.C-b,this.g=this.C=this.C&65408|c);break;case 8:this.D=this.C;break;case 12:b=this.hd;case 10:b||(b=this.be),d=this.g>>7,e=this.g&64?0:1,f=this.g&63,d>=c.va||f>=c.ra?this.fa|=37888: -(g=(this.K&63)<<16|this.J,a=65536-this.D&65535,a=b.call(this,c,d,e,f,a,g,this.Nc.bind(this)))}a&&(this.fa|=129,this.fa&64&&Kc(this.b,this.P))}};k.Dd=function(){return this.J};k.ue=function(a){this.J=a&65534};k.Gd=function(){return this.g};k.xe=function(a){this.g=a};k.Hd=function(){return this.D};k.ye=function(a){this.D=a};k.Ed=function(){return this.K};k.ve=function(a){this.K=a&63}; -var wh={},rh=(wh[63744]=[null,null,N.prototype.Fd,N.prototype.we,"RLCS"],wh[63746]=[null,null,N.prototype.Dd,N.prototype.ue,"RLBA"],wh[65284]=[null,null,N.prototype.Gd,N.prototype.xe,"RLDA"],wh[65286]=[null,null,N.prototype.Hd,N.prototype.ye,"RLMP"],wh[65288]=[null,null,N.prototype.Ed,N.prototype.ve,"RLBE"],wh);function xh(a){u.call(this,"Debugger",a,xh);this.da=a.base||16;this.Ja=!1;this.K=0;this.R=!1;this.C=-1;this.v=[];this.Y={}}z(xh); -var yh={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};xh.prototype.tc=function(){return-1};xh.prototype.uc=function(){}; -function zh(a,b,c,d){if(c)if(b){0>a.C&&a.v.length&&(a.C=0);if(0>a.C||b!=a.v[a.C])a.v.splice(0,0,b),a.C=0;a.C--}else a.R?b="end":b=a.v[a.C+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ya(b.substring(c,f))),c=f+1}}return a} -function Ah(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Bh(a,b,c){var d;if(b){b=Ch(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ra(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Fh(a,b){if(b)return Eh(a,b,a.Y[b]);var c=0;for(b in a.Y)Eh(a,b,a.Y[b]),c++;return 0this.b.xb?Oh:[];Ph(this,function(a){a:{var b=d.w.W,c=a[0],e=a=0,l=b.length;if(c){a=d.ca(Qh(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.w.la;l=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=wc[c],n&&d.j(p(n.id,8)+" %"+ -p(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"}k.uc=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Wa[a-8]:20>a?b=this.b.Ia[a-16]:20==a?b=gc(this.b):21==a&&this.f&&fc(this.f)&&(b=this.f.Va));return b}; -k.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.Kb).F));this.oa&1073741824?this.wa.push(a):this.ka&&a==this.ka||(this.ka=a,this.oa&-2147483648&&this.b&&this.b.B.Z&&(this.ha(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,od(a),a.ua=0,a.A&&a.A.$(void 0)))};function Ih(a){var b;if(!ke(a))a.H&&a.H.length&&a.j("instruction history buffer freed"),a.aa=0,a.H=[];else if(!a.H||!a.H.length){a.H=Array(1E3);for(b=0;b>8;this.j("trapped to "+J(this,b&255,1)+(c?" ("+J(this,c)+")":""))}this.L=Z(this.b.u[7]);a&&1!=this.S?Xh(this):Yh(this)}};function Wh(a,b){var c;(c=!a.b||!tb(a.b))||(c=a.b,c.B.ja?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.B.Z?(b||a.j("cpu busy or unavailable, command ignored"),!1):!ub(a.b)}k.Ha=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; -k.Ga=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){Ih(this);this.Aa=0;this.ka=null;this.K=0;this.L=Z(this.b.u[7]);this.B.Z=!1;Zh(this);a||this.$()};k.save=function(){var a=new P(this);a.set(0,Sh(this.L));a.set(1,Sh(this.P));a.set(2,[this.v,this.R,this.oa]);a.set(3,this.J);return a.data()}; -k.restore=function(a){var b=0;void 0!==a[2]&&(this.L=Th(a[b++]),this.P=Th(a[b++]),this.v=a[b][0],"string"==typeof this.v&&(this.v=[this.v]),this.R=a[b][1],this.oa|=a[b][2]);a[3]&&(this.J=a[3]);return!0};k.start=function(a,b){this.S||this.j("running");this.B.Z=!0;this.Rb=a;this.Tb=b}; -k.stop=function(a,b){if(this.B.Z){this.B.Z=!1;this.K=b-this.Tb;if(!this.S){b="stopped";if(this.K){a-=this.Rb;var c=0d&&(d=a.b.ab(b)),65535!=(d&65535)&&(c=a.H[a.aa],c.F=b,c.Oa=!1,++a.aa==a.H.length&&(a.aa=0)));return!1}function qf(a){var b=a.b;if(b.B.Z)throw O(b,a.b.Kb),a.ha(),-1;return!1} -function Hh(a){var b,c;a.g=["bp"];if(a.N)for(b=1;b>>d.la],!1)}a.N=["br"];if(a.D)for(b=1;b>>d.la],!0);a.D=["bw"];a.sb=0}k.nb=function(a,b,c){var d=!0;c||$h(this,a,b,!1,!0);if(a!=this.g){var e=this.ca(b);if(-1===e)this.j("invalid address: "+J(this,b.F)),d=!1;else{var f=this.w;f.W[e>>>f.la].nb(e&f.w,a==this.D)}}d&&(a.push(b),c?b.Oa=!0:(ai(this,a,a.length-1,"set"),Ih(this)));return d}; -function $h(a,b,c,d,e){var f=!1;c=a.ca(c);for(var g=1;g>>d.la],b==a.D));h.Oa||Ih(a);break}}return f}function bi(a,b){for(var c=1;c>23)&65535,x=J(w,t);else if(8192==A)t=t.F-((f&63)<<1)&65535,x=J(w,t);else if(12288==A)x=J(w,f&7,1);else if(24576==A)x=J(w,f&63,1);else if(32768==A)x=J(w,f&255,1);else if(A=f&y,y&4032&&(A>>=6,y>>=6), -y&63)switch(y=A&7,A&56){case 0:x=Vh(y);break;case 8:x="@"+Vh(y);break;case 16:7>y?x="("+Vh(y)+")+":(A=w.pa(t,2),x="#"+J(w,A,0,!0));break;case 24:7>y?x="@("+Vh(y)+")+":(A=w.pa(t,2),x="@#"+J(w,A,0,!0));break;case 32:x="-("+Vh(y)+")";break;case 40:x="@-("+Vh(y)+")";break;case 48:A=w.pa(t,2);x=J(w,A,0,!0)+"("+Vh(y)+")";7==y&&(x=J(w,A+t.F&65535));break;case 56:A=w.pa(t,2),x="@"+J(w,A)+"("+Vh(y)+")",7==y&&(x="@"+J(w,A+t.F&65535))}w=x;if(!w||!w.length){h="INVALID";break}"string"!=typeof w&&(m=w[1],w=w[0]); -0b?(c=Vh(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Wa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.Ia[b-16]):20==b?c="PS="+J(a,gc(d)):21==b&&a.f&&fc(a.f)&&(c="SW="+J(a,a.f.Va,3));c&&(c+=" ");return c}function gi(a){var b,c="";for(b=0;6>b;b++)c+=fi(a,b);c=c+"\n"+(fi(a,6)+fi(a,7));c+=fi(a,20)+fi(a,21);return c+=ei(a,"T")+ei(a,"N")+ei(a,"Z")+ei(a,"V")+ei(a,"C")}k.oc=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],r=Aa(n,l,a.oc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.J.push({Se:b,F:c,Uc:d,ia:e,mc:f})}function hi(a,b,c){var d=[],e=a.ca(b)>>>0;for(b=0;b>>0,h=f.Uc;if(e>=g&&eb;b++)e.g["S"+b][0]=f&1<b)){d.u[b]=f&65535;break}a.j("unknown register: "+e);return}a.A.$();a.j("updated registers:")}a.j(gi(a));c&&(a.L=Z(d.u[7]),Yh(a,J(a,a.L.F)))}}function li(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);f=di(a,b,g,f);a.j(f);a.L=b;e-=b.F-l;c++}}} -function ci(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(">> "+b):(a.R&&(a.j("ended assemble at "+J(a,a.P.F)),a.L=a.P,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ka=null;if(tb(a)&&0n||"z"na.length&&(a.j("note: only "+na.length+" available"),aa=na.length);fa-=aa;0>fa&&(null==na[na.length-1].F?(aa=fa+aa,fa=0):fa+=na.length);var Hd=[];"call"==xg&&(Jb=1E5,Hd=["CALL"]);for(void 0!==wg&&a.j(aa+" instructions earlier:");0=na.length&&(fa=0);a.ub=aa;zg++;Jb--}}zg||(a.j("no "+yg+"history available"),a.ub=void 0)}else{var Lb=Qh(a,ma);if(Lb){var Ac=0;La&&("l"==La.charAt(0)&&(La=La.substr(1)||Fi),Ac=Dh(a,La)>>>0,65536>4||1,Nb="";Hi--&&0Dc?String.fromCharCode(Dc):"."}Nb&&(Nb+="\n");Nb+=ma+" "+Id+(0==Ob?" "+Cg:"")}Nb&&a.j(Nb);a.mb=Lb}}}}break;case "e":if("else"==g[0])break;var kb,Jd,Kd,Ld,Md=g[0],Nd=g[1];"eb"==Md?(kb=1,Jd=255,Kd=a.Gb,Ld=a.Xb):"e"==Md||"ew"==Md?(kb=2,Jd=65535,Kd=a.pa,Ld=a.hb):Nd=null;if(null==Nd)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var Ec=Qh(a,Nd);if(Ec)for(var Fc= -2;FcQd;){for(var Ma=null,Ki=256;65536>Sb.F>>>0;){Rd.F=a.pa(Sb,2);if(null==Sb.F||!Ki--)break;if(!(Rd.F&1)){for(var Li=a,Gc=Rd,Eg=null,Tb=Gc.F,Fg=Tb,Sd=1;6>=Sd&&Tb;Sd++){if(2< -Sd){Gc.F=Tb;var Hc=di(Li,Gc);if(0<=Hc.indexOf("JSR")){var Gg=Hc.indexOf(" ");if(Tb+(Hc.indexOf(" ",Gg+1)-Gg-1)/2==Fg){Eg=Hc;break}}}Tb-=2}Gc.F=Fg;if(Ma=Eg)break}}if(!Ma||null==Ma)break;var Hg=null;if("ks"==Ji){var Ig=Ma.match(/[0-9A-F]+$/);Ig&&(Hg=ki(a,Ig[0]))}Ma=xa(Ma,50)+" ;"+(Hg||"stack="+J(a,Sb.F));a.j(Ma);Qd++}Qd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){ki(a,g[1],!0);break}f=!0;break;case "m":a:{var oa,pa=null,G=g[1];"?"==G&&(G=void 0);if(void 0!==G){var Da=0;if("all"== -G)Da=1878917119,G=null;else if("on"==G)pa=!0,G=null;else if("off"==G)pa=!1,G=null;else{"keys"==G&&(G="key");"kbd"==G&&(G="keyboard");for(oa in xb)if(G==oa){Da=xb[oa];pa=!!(a.oa&Da);break}if(!Da){a.j("unknown message category: "+G);break a}}if(Da)if("on"==g[2])a.oa|=Da,pa=!0;else if("off"==g[2]&&(a.oa&=~Da,pa=!1,1073741824==Da)){for(var Td=0;Td\nLicense: GPL version 3 or later ");this.j("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bqi){if(si(d,this.J)){this.C=new P(this,"1.30.2","failsafe");si(this.C)&&(xi(this,d),a=2,yi(this.C));this.C.set("timestamp",Ca());zi(this.C);var e=this.g&&!this.D;if(1==a||Ha("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=wi(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?si(d,g):("error"== -f&&"no machine state"!=g?(this.O("Error: "+g),"unable to verify user"==g&&(Oa("user",""),this.A=null)):this.j(f+": "+g),yi(d),si(d)?(c=wi(d),e=!0):c=!1))}e&&vi(this,c?d:null)}else 2==a&&d.clear()}else vi(this);delete this.J;delete this.K}e=ob(this.id);for(f=0;fa[1];a=a[2];this.da=!0;this.B.ja=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.b&&(Ai(this,this.b,b,c,a),this.$(),this.b.tb());this.P&&(xi(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.v=0}; -function xi(a,b){if(Ha("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.A||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.2"};d.url=a.aa;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}} -function ni(a,b,c){var d,e="none";if(a.v)return null;a.v--;var f=new P(a,"1.30.2"),g=new P(a,"1.30.2","validate"),h=Ca();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ga&&(c&&a.b.ha(),d=a.b.Ga(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.B.ja=!1,!1===d&&(e=null)));for(var h=ob(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Ri(a,b,c)}})}else c(a,null)} -function Si(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=wa(a))}function f(a){e("Error: "+a);l&&(--Ei||Za(!0));l=!1}var g,h,l=!0;Ei++;mb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c|| -(c="/versions/pdpjs/1.30.2/components.xsl");m=function(d,h){h?Pi(c,null,null,!1,e,function(d,l){l?(nb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--Ei||Za(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Ei||Za(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Pi(b,a,d,!0,e,m):Qi(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return l}window.embedPDP11=function(a,b,c,d){Za(!1);return Si(a,b,c,d)};window.enableEvents=Za;window.sendEvent=$a;})();//# sourceMappingURL=/tmp/pdpjs/1.30.2/pdp11-dbg.map diff --git a/versions/pdpjs/1.30.2/pdp11.js b/versions/pdpjs/1.30.2/pdp11.js deleted file mode 100644 index 93e88024f..000000000 --- a/versions/pdpjs/1.30.2/pdp11.js +++ /dev/null @@ -1,242 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da>=3;return""+c}function m(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function q(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var qa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ra=Date.now||function(){return+new Date}; -function sa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function r(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function ta(a,b){var c,d={K:null,X:null,ga:null,fa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ga=g.load;d.fa=g.exec;if(e=g.bytes)d.K=e;else if(e=g.words)for(d.K=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.K=Array(4*e.length),f=c=0;c>8&255,d.K[f++]=e[c]>>16&255,d.K[f++]=e[c]>>24&255;else d.K=g;d.X=g.symbols;d.K.length?1==d.K.length&&(u(d.K[0]),d=null):(u("Empty resource: "+a),d=null)}catch(k){u("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Pa=this.id:(this.oa=this.id.substr(0,b),this.Pa=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Fa:!1,pb:!1,O:!1,error:!1};this.jb=null;this.j.error=!1;this.o={};this.D=null;y.push(this)}var La=void 0,Ma={}; -if(window){La||(La=window.location.search.substr(1));for(var Na,Oa=/\+/g,Pa=/([^&=]+)=?([^&]*)/g;Na=Pa.exec(La);)Ma[decodeURIComponent(Na[1].replace(Oa," "))]=decodeURIComponent(Na[2].replace(Oa," "))}function Qa(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 z(a,b){b||(b=x);a.prototype=Qa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ra=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Ra={},y=[];function Sa(a,b,c){Ra[a]&&b&&(Ra[a][b]=c)}function A(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.c["S"+a]=[0,!1,!1,this.sc,a]}z(Za);var $a=7;function ab(a,b){return a.c[b]&&a.c[b][0]}h=Za.prototype;h.reset=function(){this.stop()}; -h.$=function(a,b,c,d){if(this.l&&this.l.$(a,b,c,d)||this.a&&this.a.$(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.s++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.m[b]=d?1:0,this.s++,!0):"switch"==a?(void 0===this.c[b]&&(this.c[b]=[d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){var c=a.c[b];bb(a, -b,c[0]=1-c[0]);c[2]=!0;c[3]&&c[3].call(a,c[0],c[4]);"STEP"!=b&&(a.w="DEP"==b,a.A="EXAM"==b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){var c=a.c[b];c[1]&&c[2]&&(bb(a,b,c[0]=1-c[0]),c[3]&&c[3].call(a,c[0],c[4]));c[2]=!1}}(this,b),!0):this.parent.$.call(this,a,b,c,d)}};h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.D=d;cb(b,this,db);eb(b,this.reset.bind(this));fb(this);for(var e in this.c)bb(this,e,this.c[e][0])};h.la=function(a,b){b||(gb(),this.reset());return!0}; -h.ka=function(){return!0};function hb(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fb(a,b){for(var c in a.m)hb(a,c,null!=b?b:a.m[c])}function bb(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ib(a,b,c,d){a.o[b]&&(void 0===c&&(Xa(a,"Value for "+b+" is invalid"),G(a.a)),c=8==(a.D&&a.D.h||8)?ka(c,d):m(c,d),a.o[b].textContent!=c&&(a.o[b].textContent=c))} -h.qc=function(a){a||this.a.j.U||(this.h.reset(),jb(this.a),ab(this,"ENABLE")&&kb(this.a))};h.rc=function(){};h.mc=function(a){a||G(this.a)};h.kc=function(a){if(!a&&!this.a.j.U)if(ab(this,"ENABLE"))kb(this.a);else{a=this.D;var b;if(b=a)a.j.Fa&&(a.j.pb=!0),b=!a.j.Fa;if(b)Va(a,!0),a.mb(0),Va(a,!1);else try{var c=this.a.mb(1);0>2;this.l=this.b-1;this.A=this.C/this.b|0;this.ya=[];this.f=0;this.m=!1;this.w=[];this.ac=[vb,wb,xb,yb];a=new I(this);zb(a,this.D);this.h=Array(this.A);for(b=0;b>8:e[2](b)&255):b&1&&(e=d.ya[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return c;J(d,b,16);return 255}function wb(a,b,c){var d=!1,e=this.controller,f=e.ya[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.ya[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||J(e,c,16)} -function xb(a,b){var c=-1,d=this.controller;(a=d.ya[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return c;J(d,b,16);return 65535}function yb(a,b,c){var d=!1,e=this.controller;if(a=e.ya[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||J(e,c,16)}function Bb(a,b){if(b!=a.s){var c;a.s&&(c=(1<>>a.c;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ja)return l.nb+=l.Ja-f,l.Ja=f,!0;if(f>=l.Ja+l.nb){p=l.size-(f-n);p>g&&(p=g);l.nb=f-l.Ja+p;f=n+a.b;g-=p;k++;continue}}return Gb(1,f,g)}f=new I(a,f,p,a.b,d,e);zb(f,a.D,l);a.h[k++]=f;f=n+a.b;g-=p}if(0>=g){c/=1024;var t;e="";t?10>>=a.c;0>>=a.c;0>>a.c].xb(b&a.l,b)}function Kb(a,b){3932160<=b&&(b=Jb(a.a,b));return a.h[(b&a.ja)>>>a.c].W(b&a.l,b)} -h.kb=function(a){3932160<=a&&(a=Jb(this.a,a));var b=a&this.l,c=(a&this.ja)>>>this.c;this.m=!1;this.f++;a=this.h[c].Sb(b,a);this.f--;return a};h.Xa=function(a,b){3932160<=a&&(a=Jb(this.a,a));this.m=!1;this.f++;this.h[(a&this.ja)>>>this.c].Eb(a&this.l,b&255,a);this.f--};function Lb(a,b,c){3932160<=b&&(b=Jb(a.a,b));a.h[(b&a.ja)>>>a.c].ob(b&a.l,c&65535,b)}h.lb=function(a,b){3932160<=a&&(a=Jb(this.a,a));var c=a&this.l,d=(a&this.ja)>>>this.c;this.m=!1;this.f++;this.h[d].Zb(c,b&65535,a);this.f--}; -function Mb(a){for(var b=0,c=[],d=0;da.a.Za)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,n=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null,t=g[5]||1;65472<=f&&65487>=f&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var w=g[4],E=0;E>5&3;b.ab=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ba!=c&&(b.Ba=c,Ub(b))}};h.Ec=function(){var a=this.a.Ca;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Fc=function(){return this.a.zb};h.Gc=function(){return this.a.Ga}; -h.yd=function(a){var b=this.a;1170>b.Za&&(a&=-49);b.Ga!=a&&(b.Ga=a,b.Mb=a&16?4194303:262143,Ub(b))};h.fd=function(a){a=a>>1&63;var b=this.a.Ya[a>>1];return a&1?b>>16:b&65535};h.Yd=function(a,b){b=b>>1&63;var c=b>>1;this.a.Ya[c]=b&1?this.a.Ya[c]&65535|(a&63)<<16:this.a.Ya[c]&-65536|a&65534};h.Zc=function(a){return this.a.H[1][a>>1&7]};h.Rd=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.Xc=function(a){return this.a.H[1][(a>>1&7)+8]};h.Pd=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295}; -h.Yc=function(a){return this.a.Y[1][a>>1&7]};h.Qd=function(a,b){b=b>>1&7;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Wc=function(a){return this.a.Y[1][(a>>1&7)+8]};h.Od=function(a,b){b=(b>>1&7)+8;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Ac=function(a){return this.a.H[0][a>>1&7]};h.ud=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.yc=function(a){return this.a.H[0][(a>>1&7)+8]};h.sd=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295};h.zc=function(a){return this.a.Y[0][a>>1&7]}; -h.td=function(a,b){b=b>>1&7;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.xc=function(a){return this.a.Y[0][(a>>1&7)+8]};h.rd=function(a,b){b=(b>>1&7)+8;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.ed=function(a){return this.a.H[3][a>>1&7]};h.Xd=function(a,b){this.a.H[3][b>>1&7]=a&65295};h.cd=function(a){return this.a.H[3][(a>>1&7)+8]};h.Vd=function(a,b){this.a.H[3][(b>>1&7)+8]=a&65295};h.dd=function(a){return this.a.Y[3][a>>1&7]};h.Wd=function(a,b){b=b>>1&7;this.a.Y[3][b]=a;this.a.H[3][b]&=65295}; -h.bd=function(a){return this.a.Y[3][(a>>1&7)+8]};h.Ud=function(a,b){b=(b>>1&7)+8;this.a.Y[3][b]=a;this.a.H[3][b]&=65295};h.La=function(a){a&=7;return this.a.B&2048?this.a.Ha[a]:this.a.g[a]};h.Na=function(a,b){b&=7;this.a.B&2048?this.a.Ha[b]=a:this.a.g[b]=a};h.Lc=function(){return this.a.B&49152?this.a.na[0]:this.a.g[6]};h.Dd=function(a){this.a.B&49152?this.a.na[0]=a:this.a.g[6]=a};h.Oc=function(){return this.a.g[7]};h.Gd=function(a){this.a.g[7]=a}; -h.Ma=function(a){a&=7;return this.a.B&2048?this.a.g[a]:this.a.Ha[a]};h.Oa=function(a,b){b&=7;this.a.B&2048?this.a.g[b]=a:this.a.Ha[b]=a};h.Mc=function(){return 1==(this.a.B&49152)>>14?this.a.g[6]:this.a.na[1]};h.Ed=function(a){1==(this.a.B&49152)>>14?this.a.g[6]=a:this.a.na[1]=a};h.Nc=function(){return 3==(this.a.B&49152)>>14?this.a.g[6]:this.a.na[3]};h.Fd=function(a){3==(this.a.B&49152)>>14?this.a.g[6]=a:this.a.na[3]=a};h.vc=function(a){return this.a.Vb[a-65504>>1]}; -h.pd=function(a,b){this.a.Vb[b-65504>>1]=a};h.Rb=function(a){return 65520==a?61183:0};h.Yb=function(){};h.ad=function(){return 1};h.Td=function(){};h.uc=function(){return this.a.M};h.od=function(){this.a.M=0};h.Cc=function(){return this.a.Ub};h.wd=function(a,b){b&1||(a&=255);this.a.Ub=a};h.Hc=function(a){return a?this.a.Ab:0};h.zd=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Ab=a;b.u|=2};h.$c=function(a){return a?this.a.Da&65280:0};h.Sd=function(a){this.a.Da=a|255}; -h.Kc=function(){return sb(this.a)};h.Cd=function(a){Vb(this.a,a&-1809|sb(this.a)&1808);this.a.u|=128};h.Xb=function(){}; -var N={},M=(N[61568]=[null,null,L.prototype.fd,L.prototype.Yd,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.Zc,L.prototype.Rd,"SISDR",8,1145],N[62608]=[null,null,L.prototype.Xc,L.prototype.Pd,"SDSDR",8,1145],N[62624]=[null,null,L.prototype.Yc,L.prototype.Qd,"SISAR",8,1145],N[62640]=[null,null,L.prototype.Wc,L.prototype.Od,"SDSAR",8,1145],N[62656]=[null,null,L.prototype.Ac,L.prototype.ud,"KISDR",8,1145],N[62672]=[null,null,L.prototype.yc,L.prototype.sd,"KDSDR",8,1145],N[62688]=[null,null,L.prototype.zc, -L.prototype.td,"KISAR",8,1145],N[62704]=[null,null,L.prototype.xc,L.prototype.rd,"KDSAR",8,1145],N[62798]=[null,null,L.prototype.Gc,L.prototype.yd,"MMR3",1,1145],N[65382]=[null,null,L.prototype.Bc,L.prototype.vd,"LKS"],N[65402]=[null,null,L.prototype.Dc,L.prototype.xd,"MMR0",1,1145],N[65404]=[null,null,L.prototype.Ec,L.prototype.Xb,"MMR1",1,1145],N[65406]=[null,null,L.prototype.Fc,L.prototype.Xb,"MMR2",1,1145],N[65408]=[null,null,L.prototype.ed,L.prototype.Xd,"UISDR",8,1145],N[65424]=[null,null,L.prototype.cd, -L.prototype.Vd,"UDSDR",8,1145],N[65440]=[null,null,L.prototype.dd,L.prototype.Wd,"UISAR",8,1145],N[65456]=[null,null,L.prototype.bd,L.prototype.Ud,"UDSAR",8,1145],N[65472]=[null,null,L.prototype.La,L.prototype.Na,"R0SET0"],N[65473]=[null,null,L.prototype.La,L.prototype.Na,"R1SET0"],N[65474]=[null,null,L.prototype.La,L.prototype.Na,"R2SET0"],N[65475]=[null,null,L.prototype.La,L.prototype.Na,"R3SET0"],N[65476]=[null,null,L.prototype.La,L.prototype.Na,"R4SET0"],N[65477]=[null,null,L.prototype.La,L.prototype.Na, -"R5SET0"],N[65478]=[null,null,L.prototype.Lc,L.prototype.Dd,"R6KERNEL"],N[65479]=[null,null,L.prototype.Oc,L.prototype.Gd,"R7KERNEL"],N[65480]=[null,null,L.prototype.Ma,L.prototype.Oa,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.Ma,L.prototype.Oa,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.Ma,L.prototype.Oa,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.Ma,L.prototype.Oa,"R3SET1",1,1145],N[65484]=[null,null,L.prototype.Ma,L.prototype.Oa,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.Ma, -L.prototype.Oa,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.Mc,L.prototype.Ed,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.Nc,L.prototype.Fd,"R6USER",1,1145],N[65504]=[null,null,L.prototype.vc,L.prototype.pd,"CTRL",1,1170],N[65520]=[null,null,L.prototype.Rb,L.prototype.Yb,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.Rb,L.prototype.Yb,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.ad,L.prototype.Td,"SYSID",1,1170],N[65526]=[null,null,L.prototype.uc,L.prototype.od,"CPUERR",1,1170],N[65528]= -[null,null,L.prototype.Cc,L.prototype.wd,"MB",1,1170],N[65530]=[null,null,L.prototype.Hc,L.prototype.zd,"PIR"],N[65532]=[null,null,L.prototype.$c,L.prototype.Sd,"SL"],N[65534]=[null,null,L.prototype.Kc,L.prototype.Cd,"PSW"],N);M[65506]=M[65504];M[65508]=M[65504];M[65510]=M[65504];M[65512]=M[65504];M[65514]=M[65504];M[65516]=M[65504];M[65518]=M[65504]; -Ha(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.b,0,this.size>>2),cc(this,Zb?dc:ec);else{a=this.a=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},N:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},oa:function(a,b){a&1&&J(this.h,b,64);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},ra:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.ua=!0},G:function(a,b){return this.I(a,b)},R:function(a,b){return this.Sb(a,b)},pa:function(a,b,c){this.l?this.f(a,b,c):this.Eb(a,b,c)},ta:function(a,b,c){this.l?this.f(a,b,c):this.Zb(a,b,c)},C:function(a){return this.o[a]},J:function(a){return this.o[a]},P:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},aa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},ea:function(a,b){this.o[a]=b;this.ua=!0},qa:function(a,b){this.o[a]=b;this.ua=!0},sa:function(a,b,c){a&1&&J(this.h, -c,64);this.c.setUint16(a,b,!0);this.ua=!0},wa:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.ua=!0}};function zb(a,b,c){a.D=b;a.i=a.m=0;c&&((a.i=c.i)&&gc(a,ic,!1),(a.m=c.m)&&jc(a,ic,!1))}function jc(a,b,c){c&&a.m||(a.Db=!a.l&&b[1]||a.f,a.ob=!a.l&&b[3]||a.A);if(c||void 0===c)a.Eb=b[1]||a.f,a.Zb=b[3]||a.A}function gc(a,b,c){c&&a.i||(a.xb=b[0]||a.v,a.W=b[2]||a.w);if(c||void 0===c)a.I=b[0]||a.v,a.Sb=b[2]||a.w}function cc(a,b){b||(b=kc);gc(a,b,void 0);jc(a,b,void 0)} -var kc=[],fc=[I.prototype.N,I.prototype.ra,I.prototype.oa,I.prototype.xa],ic=[I.prototype.G,I.prototype.pa,I.prototype.R,I.prototype.ta];if(Ya)var ec=[I.prototype.C,I.prototype.ea,I.prototype.P,I.prototype.sa],dc=[I.prototype.J,I.prototype.qa,I.prototype.aa,I.prototype.wa]; -function lc(a,b){x.call(this,"CPU",a,lc);var c=a.multiplier||1;this.gb=a.cycles||b;this.ra=c;this.ub=Math.round(this.gb/1E4)/100;this.wa=this.ub*this.ra;this.j.U=!1;this.j.Bb=!1;this.j.Ua=a.autoStart;this.j.fb=!1;this.cb=this.xa=0;this.eb=a.csStart;this.Qa=a.csInterval;this.Ra=a.csStop;this.I=[];this.Qb=this.kd.bind(this);F(this)}z(lc);var mc=["power","reset"];h=lc.prototype; -h.ia=function(a,b,c,d){this.l=a;this.h=b;this.D=d;for(b=0;b=a.xa&&(a.xa+=a.Qa,c=!0);0<=a.Ra&&a.Ra<=qc(a)&&(a.Qa=a.Ra=-1,pc(a),G(a),c=!0);c&&a.T(qc(a)+" cycles: checksum="+m(a.cb))}} -h.$=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.j.O)a=!0;else{var b=null,c,k=A(a.id);for(c=0;ca.ea/a.wa&&(b=1);a.ra=b;b=a.ub*a.ra;if(a.wa!=b){a.wa=b;b=a.wa.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.T("target speed: "+b)}c&&a.l&&tc(a.l)}mb(a,a.aa);a.aa=0;a.R=ra();a.pa=0;sc(a)}function Pb(a,b){var c=a.I.length;a.I.push([-1,b]);return c}function Rb(a,b,c){0<=b&&ba.I[b][0]&&(c=a.gb*a.ra/1E3*c|0,a.I[b][0]=c+uc(a))} -function lb(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function uc(a,b){var c=a.qa-=a.a;a.a=a.G=0;b&&(a.qa=0);return c} -h.kd=function(){if(this.j.U){this.vb>=this.gb&&sc(this,!0);this.Ta=0;this.bb=ra();if(this.pa){var a=this.bb-this.pa;a>this.Nb&&(this.R+=a,this.R>this.bb&&(this.R=this.bb))}try{do{for(var b,c=this.j.fb?1:this.hb,d=this.I.length-1;0<=d;d--){var e=this.I[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.mb(b)}catch(f){if("number"!=typeof f)throw f;}b=uc(this,!0);this.Ta+=b;this.aa+=b;nb(this,b);lb(this,b);this.Sa-=b;if(0>=this.Sa){this.Sa+=this.hb;15<=++this.Ob&&(this.l&&this.l.da(void 0),this.Ob=0);break}}while(this.j.U)}catch(f){G(this); -this.l&&this.l.stop(ra(),qc(this));Xa(this,f.stack||f.message);return}if(this.j.U){a=setTimeout;b=this.Qb;this.pa=ra();c=this.Nb;this.Ta&&(c=Math.round(c*this.Ta/this.hb));c-=this.pa-this.bb;if(d=this.pa-this.R)this.ea=Math.round(this.aa/(10*d))/100,864E5<=d&&(this.ta=0,rc(this));if(0>c||this.eac&&(this.R-=c),c=0;this.vb+=this.Ta;this.pa+=c;a(b,c)}}}; -function kb(a){var b;a.j.error?(a.T(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.U)a.T(a.toString()+" busy");else{rc(a);a.j.U=!0;a.j.Bb=!0;if(b=a.o.run)b.textContent="Halt";a.l&&a.l.start(a.R,qc(a));setTimeout(a.Qb,0)}}h.mb=function(){return 0};function G(a){var b=!1;if(a.j.U){uc(a);mb(a,a.aa);a.aa=0;a.j.U=!1;if(b=a.o.run)b.textContent="Run";a.l&&a.l.stop(ra(),qc(a));b=!0}a.j.complete=void 0;return b} -function vc(a){this.Za=+a.model||1170;this.Jb=a.addrReset||0;lc.call(this,a,6666667);this.decode=1120==this.Za?wc.bind(this):xc.bind(this);yc(this);this.sa=0;this.N=null;this.j.complete=!1}z(vc,lc);h=vc.prototype;h.reset=function(){this.status("model "+this.Za);this.j.U&&G(this);yc(this);oc(this);this.j.error=!1;this.parent.reset.call(this)}; -function yc(a){a.m=65536;a.f=32768;a.i=65535;a.s=32768;a.B=15;a.g=[0,0,0,0,0,0,0,a.Jb];a.Ha=[0,0,0,0,0,0];a.na=[0,0,0,0];a.v=0;a.ab=0;a.ic=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Y=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Ya=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0];a.Vb=[0,0,0,0,0,0,0,0];a.Ub=0;a.u=0;a.A=a.C=0;a.c=a.b=a.tb=0;a.Ia=-1;jb(a)}function jb(a){a.Da=255;a.M=0;a.Ab=0;a.w=0;a.Ca=0;a.zb=0;a.Ga=0;a.Ba=0;a.$a=0;a.Mb=262143;a.N=null;a.h&&Ub(a)}function Ub(a){a.Ba?(a.P=65536,a.J=a.hc,a.W=a.gd,a.ob=a.Zd,Bb(a.h,a.Ga&16?22:18)):(a.P=0,a.J=a.gc,a.W=a.Tb,a.ob=a.$b,Bb(a.h,16))}function zc(a,b,c){a.Jb=b;P(a,b);!c&&a.D&&(G(a)||a.D.da())}h.Ib=function(){return 0}; -h.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.ta,this.ra]);a.set(2,Mb(this.h));return a.data()};h.restore=function(a){var b=a[1];this.ta=b[1];rc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c>14&3;c=a.B>>14&3;a.v!=c&&(a.na[c]=a.g[6],a.g[6]=a.na[a.v]);a.B=b;a.u|=2}function S(a,b){a.u&128||(a.s=a.i=b,a.f=0)}function Cc(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.f=c||0)}function Dc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^b)&(d^b))}function Ec(a,b){a.u&128||(a.s=a.i=a.m=b,a.f=a.s^a.m>>1)}function Fc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^d)&(d^b))} -function K(a,b,c){if(!a.sa){var d=!1;0>a.Ia?a.Ia=sb(a):a.v||(b=4,d=!0);a.w&57344||(a.Ca=63222,a.zb=b);a.v=0;var e=a.W(b|a.P),f=a.W(b+2&65535|a.P);Vb(a,f&-12289|a.Ia>>2&12288);d&&(a.M|=4,a.g[6]=4);Gc(a,a.Ia);Gc(a,a.g[7]);P(a,e);a.u&=-113;a.Ia=-1;a.u|=8;if(26!=c)throw b;}}function Hc(a){var b=Ic(a),c=Ic(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);P(a,b);Vb(a,c);a.u&=-17} -function Jb(a,b){var c=b>>13&31;31>c&&a.Ga&32&&(b=a.Ya[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} -function Jc(a,b,c){var d,e,f;if(!(c&a.Ba))return b;d=b>>13;a.Ga&a.ic[a.v]||(d&=7);e=a.H[a.v][d];f=(a.Y[a.v][d]<<6)+(b&8191)&a.Mb;var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.H[a.v][d]=e;if(4194170!==f||a.v)a.$a=a.v,a.ab=d;b=!1;g&&(g&57344&&(0<=a.Ia&&(g|=128),a.w&57344||(a.w=a.w|g|a.$a<<5|a.ab<<1), -b=!0),a.w&61440||!(4191360>f||4194239>>a.c].Db(b&a.l,c&255,b)}function Ic(a){var b=a.W(a.g[6]|a.P);a.g[6]=a.g[6]+2&65535;return b}function Gc(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.w&57344||(a.Ca=a.Ca<<8|246);!a.v&&c<=a.Da&&4c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!==c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;7!==c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!==c&&(e|=g);e=a.W(e)|g;a.a-= -8;break;case 6:return e=a.W(Bc(a,2)),e=e+a.g[c]&65535|g,a.a-=6,e;case 7:return e=a.W(Bc(a,2)),e=e+a.g[c]&65535,e=a.W(e|a.P)|g,a.a-=10,e}a.g[c]=a.g[c]+f&65535;!g||a.w&57344||(a.Ca=a.Ca<<8|f<<3&248|c);6==c&&!a.v&&d&4&&0>=f&&(a.g[6]<=a.Da||65534<=a.g[6])&&(a.g[6]<=a.Da-32?(a.M|=4,a.g[6]=4,K(a,4,24)):(a.M|=8,a.u|=64));return e}h.kb=function(a){if(!this.Ba)return this.h.kb(a);this.sa++;a=this.Tb(Jc(this,a,2));this.sa--;return a}; -h.Xa=function(a,b){this.Ba?(this.sa++,Kc(this,Jc(this,a,5),b),this.sa--):this.h.Xa(a,b)};h.lb=function(a,b){this.Ba?(this.sa++,this.$b(Jc(this,a,4),b),this.sa--):this.h.lb(a,b)};h.gc=function(a,b,c){return Lc(this,a,b,c)};h.hc=function(a,b,c){return Jc(this,Lc(this,a,b,c),c)};h.Tb=function(a){return Kb(this.h,a)};h.gd=function(a){return Kb(this.h,Jc(this,a,2))};h.$b=function(a,b){Lb(this.h,a,b&65535)};h.Zd=function(a,b){Lb(this.h,Jc(this,a,4),b)}; -function Mc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Lc(a,b,d,2),c&65536||61440!==(a.B&61440)&&(d&=65535),a.v=a.B>>12&3,c=a.W(d|c&a.P),a.v=a.B>>14&3):c=6!=d||(a.B>>2&12288)===(a.B&12288)?a.g[d]:a.na[a.B>>12&3];return c}function Nc(a,b,c,d){a.w&57344||(a.Ca=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Lc(a,b,e,4),c&65536||(e&=65535),a.v=a.B>>12&3,e=Jc(a,e|c&65536,4),a.v=a.B>>14&3,Lb(a.h,e,d)):6!=e||(a.B>>2&12288)===(a.B&12288)?a.g[e]=d:a.na[a.B>>12&3]=d} -function Oc(a,b){b>>=6;var c=a.C=b&7;(b=a.A=(b&56)>>3)?(c=a.J(b,c,3),a=Ib(a.h,c)):a=a.g[c]&255;return a}function Pc(a,b){b>>=6;var c=a.C=b&7;return(b=a.A=(b&56)>>3)?Kb(a.h,a.J(b,c,2)):a.g[c]}function Qc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Lc(a,b,c,8)}function Rc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.J(b,c,3),a=Ib(a.h,c)):a=a.g[c]&255;return a}function Sc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Kb(a.h,a.J(b,c,2)):a.g[c]} -function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.tb=a.J(b,e,7),Kc(a,e,d.call(a,c,Ib(a.h,e)))):a.g[e]=a.g[e]&65280|d.call(a,c,a.g[e])}function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.J(b,e,6),Lb(a.h,e,d.call(a,c,Kb(a.h,e)))):a.g[e]=d.call(a,c,a.g[e])}function Tc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?Kc(a,a.J(b,e,5),c):a.g[e]=c?d&1?c<<24>>24&65535:a.g[e]&-256|c&255:a.g[e]&-256;return c} -function Uc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?Lb(a.h,a.J(b,d,4),c):a.g[d]=c&65535;return c}function V(a,b,c){c&&(P(a,a.g[7]+(b<<24>>23)),a.a-=2);a.a-=3} -h.mb=function(a){this.j.complete=!0;var b=a?this.j.Bb?0:1:-1;this.j.Bb=!1;this.qa=this.a=a;do{if(this.u){this.u&112&&(this.u&32?K(this,168,28):this.u&64?K(this,4,30):this.u&16&&K(this,12,32),this.u&=-113);if(a=this.u&7){a=!1;if(this.u&2){this.u&=-3;var c=160,d=(this.Ab&224)>>5,e=this.N&&this.N.Ka>d?this.N:null;e&&(c=e.md,d=e.Ka);d>(this.B&224)>>5?(this.u&4&&(Bc(this,2),this.u&=-5),K(this,c,26),d=!0):d=!1;if(d){if(e)if(a=e,e=this.N,e==a)this.N=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e= -d}a=!0}}else this.u&1&&this.u++;a=a&&0>b}if(a)break}this.u=this.u&7|this.B&16;this.decode(Ac(this))}while(0>1|b<<16;Ec(this,a);return a&65535}function $c(a,b){a=b&2048|b>>1|b<<8;Ec(this,a<<8);return a&255}function ad(a,b){a=b&~a;S(this,a);return a}function bd(a,b){a=b&~a;S(this,a<<8);return a}function cd(a,b){a|=b;S(this,a);return a}function dd(a,b){a|=b;S(this,a<<8);return a}function ed(a,b){a=~b|65536;Cc(this,a);return a&65535}function fd(a,b){a=~b|256;Cc(this,a<<8);return a&255} -function gd(a,b){a=b-a;this.u&128||(this.s=this.i=a,this.f=b&(b^a));return a&65535}function hd(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.s=this.i=c,this.f=b&(b^c));return a&255}function id(a,b){a=b+a;this.u&128||(this.s=this.i=a,this.f=a&(b^a));return a&65535}function jd(a,b){a=b+a;var c=a<<8;this.u&128||(this.s=this.i=c,this.f=c&(b<<8^c));return a&255}function kd(a,b){a=-b;Cc(this,a,a&b&32768);return a&65535}function ld(a,b){a=-b;Cc(this,a<<8,(a&b&128)<<8);return a&255} -function md(a,b){a=b<<1|this.m>>16&1;Ec(this,a);return a&65535}function nd(a,b){a=b<<1|this.m>>16&1;Ec(this,a<<8);return a&255}function od(a,b){a=(this.m&65536|b)>>1|b<<16;Ec(this,a);return a&65535}function pd(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Ec(this,a<<8);return a&255}function qd(a,b){var c=b-a;Fc(this,c,a,b);return c&65535}function rd(a,b){var c=b-a;Fc(this,c<<8,a<<8,b<<8);return c&255}function sd(a,b){this.u&128||(this.s=this.i=b&65280,this.f=this.m=0);return(b<<8|b>>8)&65535} -function td(a,b){a^=b;S(this,a);return a&65535}function ud(a){U(this,a,Pc(this,a),Vc);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function vd(a){var b=Sc(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.m=this.f=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.f=32768)}this.g[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b} -function wd(a){var b=Sc(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.m=this.f=0;b&=63;if(b&32){b=64-b;32>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function xd(a){V(this,a,!R(this))}function yd(a){V(this,a,R(this))} -function zd(a){U(this,a,Pc(this,a),ad);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Ad(a){T(this,a,Oc(this,a),bd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Bd(a){U(this,a,Pc(this,a),cd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Cd(a){T(this,a,Oc(this,a),dd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)} -function Dd(a){S(this,Pc(this,a)&Sc(this,a));this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Ed(a){S(this,(Oc(this,a)&Rc(this,a))<<8);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Fd(a){V(this,a,this.i&65535?0:4)}function Gd(a){V(this,a,!this.za()==!(this.f&32768))}function Hd(a){V(this,a,!!(this.i&65535)&&!this.za()==!(this.f&32768))}function Id(a){V(this,a,!R(this)&&!!(this.i&65535))} -function Jd(a){V(this,a,(this.i&65535?0:4)||!this.za()!=!(this.f&32768))}function Kd(a){V(this,a,R(this)||(this.i&65535?0:4))}function Ld(a){V(this,a,!this.za()!=!(this.f&32768))}function Md(a){V(this,a,this.za())}function Nd(a){V(this,a,!!(this.i&65535))}function Od(a){V(this,a,!this.za())}function Pd(){K(this,12,1);this.a-=5}function Qd(a){V(this,a,!0)}function Rd(a){V(this,a,!(this.f&32768))}function Sd(a){V(this,a,this.f&32768?2:0)} -function W(a){a&1&&(this.m=0);a&2&&(this.f=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function Td(a){var b=Pc(this,a);a=Sc(this,a);Fc(this,b-a,a,b);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Ud(a){var b=Oc(this,a)<<8;a=Rc(this,a)<<8;Fc(this,b-a,a,b);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)} -function Vd(a){var b=Sc(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.m=this.f=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.f=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.a-=53}else this.i=this.s=0,this.f=32768,this.m=65536,this.a-=7}function Wd(){K(this,24,2);this.a-=25} -function Xd(){this.B&49152?(this.M|=128,K(this,4,3)):this.D?this.D.b():G(this);this.a-=7}function Yd(){K(this,16,4);this.a-=25}var Zd=[0,7,7,10,7,11,9,13];function $d(a){this.G=this.a;P(this,Qc(this,a));this.a=this.G-Zd[this.c]}var ae=[0,14,14,17,14,18,16,20];function be(a){this.G=this.a;var b=Qc(this,a);a=a>>6&7;Gc(this,this.g[a]);this.g[a]=this.g[7];P(this,b);this.a=this.G-ae[this.c]}var ce=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function de(a){var b=Pc(this,a);this.G=this.a;S(this,Uc(this,a,b));this.a=this.G-ce[(this.A?8:0)+this.c]+(7!=this.b||this.c?0:2)}function ee(a){var b=Oc(this,a);S(this,Tc(this,a,b,1)<<8);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}var fe=[7,13,13,17,14,18,17,21]; -function ge(a){var b=Sc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.u&128||(this.s=b>>16,this.i=this.s|b,this.f=0,this.m=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)P(this,this.g[7]-((a&63)<<1)),this.a+=1;this.a-=6}function me(a){U(this,a,Pc(this,a),qd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)} -function ne(a){U(this,a,0,sd);this.a-=this.c?9:3+(7==this.b?2:0)}function oe(){K(this,28,5);this.a-=5}function pe(){this.u&4||this.l&&this.l.da();this.u|=4;Bc(this,-2);this.a-=3}function qe(a){U(this,a,Pc(this,a),td);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8,6)}function wc(a){re[a>>12].call(this,a)}function se(a){te[a>>6&3].call(this,a)}function ue(a){ve[a>>6&3].call(this,a)}function we(a){xe[a>>6&3].call(this,a)}function ye(a){ze[a&15].call(this,a)} -function Ae(a){Be[a&15].call(this,a)}function Ce(a){De[a>>6&3].call(this,a)}function Ee(a){Fe[a>>6&3].call(this,a)}function Ge(a){He[a>>6&3].call(this,a)} -var re=[function(a){Ie[a>>8&15].call(this,a)},de,Td,Dd,zd,Bd,ud,Y,function(a){Je[a>>8&15].call(this,a)},ee,Ud,Ed,Ad,Cd,me,Y],Ie=[function(a){Ke[a>>4&15].call(this,a)},Qd,Nd,Fd,Gd,Ld,Hd,Jd,be,be,se,ue,we,Y,Y,Y],te=[function(a){Cc(this,Uc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,ed);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,id);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,gd);this.a-=this.c?9:3+(7==this.b?2:0)}],ve=[function(a){U(this,a,0, -kd);this.a-=this.c?11:6},function(a){U(this,a,R(this)?1:0,Vc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,R(this)?1:0,qd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Sc(this,a);Cc(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],xe=[function(a){U(this,a,0,od);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,md);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Zc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Xc);this.a-=this.c?9:3+(7==this.b?2:0)}], -Ke=[function(a){Le[a&15].call(this,a)},Y,Y,Y,$d,$d,$d,$d,ke,Y,ye,Ae,ne,ne,ne,ne],Le=[Xd,pe,je,Pd,Yd,ie,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],ze=[he,function(){this.m=0;this.a-=5},function(){this.f=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],Be=[he,function(){this.m=65536;this.a-=5},function(){this.f=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Je=[Od,Md,Id,Kd,Rd,Sd,xd,yd,Wd,oe,Ce,Ee,Ge,Y,Y,Y],De=[function(a){Cc(this, -Tc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,fd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,jd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,hd);this.a-=this.c?9:3+(7==this.b?2:0)}],Fe=[function(a){T(this,a,0,ld);this.a-=this.c?11:6},function(a){T(this,a,R(this)?1:0,Wc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,R(this)?1:0,rd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Rc(this,a);Cc(this,a<<8);this.a-=this.c?4:3+(7==this.b? -2:0)}],He=[function(a){T(this,a,0,pd);this.a-=this.c?9+(this.tb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,nd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,$c);this.a-=this.c?9+(this.tb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,Yc);this.a-=this.c?9:3+(7==this.b?2:0)}];function xc(a){Me[a>>12].call(this,a)} -var Me=[function(a){Ne[a>>8&15].call(this,a)},de,Td,Dd,zd,Bd,ud,function(a){Oe[a>>8&15].call(this,a)},function(a){Pe[a>>8&15].call(this,a)},ee,Ud,Ed,Ad,Cd,me,Y],Ne=[function(a){Qe[a>>4&15].call(this,a)},Qd,Nd,Fd,Gd,Ld,Hd,Jd,be,be,se,ue,we,function(a){Re[a>>6&3].call(this,a)},Y,Y],Re=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.W(a|this.P);P(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Mc(this,a,0);Gc(this,a);S(this,a);this.a-=11},function(a){var b=Ic(this);this.G= -this.a;Nc(this,a,0,b);S(this,b);this.a=this.G-fe[this.c]},function(a){S(this,Uc(this,a,this.za?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Qe=[function(a){Se[a&15].call(this,a)},Y,Y,Y,$d,$d,$d,$d,ke,function(a){a&8?(this.B&49152||(this.B=this.B&-2017|(a&7)<<5,this.u|=1),this.a-=5):K(this,8,6)},ye,Ae,ne,ne,ne,ne],Se=[Xd,pe,je,Pd,Yd,ie,function(){Hc(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],Oe=[ge,ge,Vd,Vd,vd,vd,wd,wd,qe,qe,Y,Y,Y,Y,le,le],Pe=[Od,Md,Id,Kd,Rd,Sd,xd,yd,Wd,oe,Ce,Ee,Ge,function(a){Te[a>>6& -3].call(this,a)},Y,Y],Te=[Y,function(a){a=Mc(this,a,65536);Gc(this,a);S(this,a);this.a-=11},function(a){var b=Ic(this);this.G=this.a;Nc(this,a,65536,b);S(this,b);this.a=this.G-fe[this.c]},Y]; -function Ue(a){x.call(this,"ROM",a,Ue);this.X=this.b=null;this.i=a.addr;this.c=a.size;this.f=a.alias;this.l=a.file;this.m=q(this.l);if(this.l){a=this.l;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Sa(c.oa,a,b),(a=ta(a,b))?(c.b=a.K,c.X=a.X):c.l=null);Ve(c)})}}z(Ue);Ue.prototype.ia=function(a,b,c,d){this.h=b;this.a=c;this.D=d;Ve(this)}; -Ue.prototype.la=function(){this.X&&(this.D&&this.D.a(this.id,this.i,this.c,this.X),delete this.X);return!0};Ue.prototype.ka=function(){return!0}; -function Ve(a){if(!Wa(a)){if(a.l){if(!a.b||!a.h)return;a.c||(a.c=a.b.length);if(a.b.length!=a.c)Xa(a,"ROM size ("+m(a.b.length,8,!0)+") does not match specified size ("+m(a.c,8,!0)+")");else{var b;b=a.i;if(Eb(a.h,b,a.c,bc)){var c;for(c=0;c>>a.c;0=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),t=k,w=n-=6;0=b.length)break;l+=b[k++]&255;if(l&255)break;if(w)for(;w--;)a.a.Xa(p++,b[t++]&255);else p&1?G(a.a):zc(a.a,p,f);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e=b)a.preventDefault&&a.preventDefault(),64e.w&&(e.w-=32),e.b|=128,e.b&64&&Qb(e.a,e.aa))});this.ea=Sb(52,4);this.P=Pb(this.a,function(){e.c|=128;e.c&64&&Qb(e.a,e.ea)});cb(b,this,af);F(this)}; -h.Kb=function(){if(!this.v){var a=nc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.Pa)return;b=pa(b[1]);if(this.v=Ta(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.A=d.receiveData){this.status(this.oa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.la=function(a,b){if(!b)if(this.Kb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -h.ka=function(a){return a?this.save():!0};h.reset=function(){bf(this)};h.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};h.restore=function(){return bf(this)};function bf(a){a.w=0;a.b=0;a.c=128;a.i=[];return!0}h.yb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.J||8,c=a-this.s%a,this.J&&(b=" ".slice(0,c)));this.G&&!this.s&&c&&(b=String.fromCharCode(this.G)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.T(this.m), -this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;Rb(this.a,this.P,1E3/Math.round(this.I/10))}};var cf={},af=(cf[65392]=[null,null,Z.prototype.Qc,Z.prototype.Id,"RCSR"],cf[65394]=[null,null,Z.prototype.Pc,Z.prototype.Hd,"RBUF"],cf[65396]=[null,null,Z.prototype.jd,Z.prototype.ae,"XCSR"],cf[65398]=[null,null,Z.prototype.hd,Z.prototype.$d,"XBUF"],cf);Ha(function(){for(var a=D(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.o[b]=c,c.onclick=function(){var a= -d.o.listTapes;a&&ff(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.G){c.parentNode.removeChild(c);break}this.o[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ff(d,q(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.o[b]=c,!0}return!1}; -h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.D=d;this.J=gf(a);var e=this;if((this.c=nc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){u("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.N=Sb(56,4);this.R=Pb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.wc.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):v()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!r(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.j.O;g?a.F('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Sa(a.oa,e,f),(e=ta(e,f))&&qf(a,b,c,d,e.K,e.ga,e.fa)); -a.j.Fa=!1;a.m&&(a.m--,a.m||F(a));nf(a)})}function kf(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.V);for(d=0;dc.indexOf("/api/v1/dump")&&(b=la(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ma(c,"/")&&(d="dir"),f=v()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.sb?"":e)+"&format=json"));return!!r(f, -null,!0,function(b,c,d){xf(a,b,c,d)})} -function xf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.l&&!a.l.j.O;if(d)a.controller.F('Unable to load disk "'+a.va+'" (error '+d+": "+b+")",f);else{Sa(a.controller.oa,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(k.length)if(1==k.length)u(k[0]);else{a.V=k.length;a.Z=k[0].length;a.S=k[0][0].length;var l=k[0][0][0];a.ha=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var t=l.data;if(void 0===t){var w=l.bytes;if(void 0!==w&&w.length){for(var E=n<<2,xa=w.length;xa>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ba?f=a.ma+a.ba&&(a.ba+=f-(a.ma+a.ba)+1):(a.ma=f,a.ba=1);d[f]=d[f]&~(255<g)break;e|=g<=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;lb&&-2!=b&&this.controller.F("Unable to restore disk '"+this.va+": "+c);return b}; -h.toJSON=function(){var a;a=0;for(var b;b=zf(this,a++);)Bf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function Bf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function O(a){x.call(this,"RL11",a,O);this.f=a.autoMount||null;this.s=0;this.b=Array(4);this.A=!Ba("Mobi")&&window&&"FileReader"in window}z(O);h=O.prototype; -h.$=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){var a=d.o.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){u("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=ja(c.value);null!=a&&Cf(d,a)},!0;case "loadDrive":return this.o[b]= -c,c.onclick=function(){var a=d.o.listDisks;a&&Df(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.A){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=d.b[ja(a.value)||0])if(a=a.ca){var b;b="";for(var c=0,k;k=zf(a,c++);)for(var l=0,n=k.length;lb;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Cf(this,0)}}return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){Ef(this)};h.save=function(){return(new Q(this)).data()}; -h.restore=function(a){return Ef(this,a[0])};function Hf(a,b){b||(a.s=0);if(a.f)for(var c in a.f){var d=a.f[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.b.length)a.F("Unable to load the selected drive");else if(c)if("?"==c)a.F('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=q(c);a.status("Attempting to load "+c+' as "'+b+'"')}Jf(a,e,b,c,!1,d)}else If(a,e)} -function Jf(a,b,c,d,e,f){var g=-1,k=a.b[b];k.Ea.toLowerCase()!=d.toLowerCase()&&(g++,If(a,b,!0),k.rb?a.F("RL11 busy"):(k.rb=!0,e&&(k.qb=!0,a.s++),k.ib=!!f,wf(new sf(a,k,"preload"),c,d,f,a.dc)&&g++));return g} -h.dc=function(a,b,c,d,e){var f;a.rb=!1;b&&(f=b.a.length?[b.a.length,b.a[0].length,b.a[0][0].length,b.a[0][0][0].length]:[0,0,0,0],b&&f[0]>a.V||f[1]>a.Z)&&(this.F('Disk "'+c+'" too large for drive '+("RL"+a.wb)),b=null);b?(a.ca=b,a.va=c,a.Ea=d,this.F('Mounted disk "'+c+'" in drive '+("RL"+a.wb),a.qb||e),this.l&&tc(this.l)):a.ib=!1;a.qb&&(a.qb=!1,--this.s||F(this));Cf(this,a.wb)}; -function Gf(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e>12&48;this.w=f>>16&63;this.i=this.c=b<<7|(c?64:0)|d&63;this.m=65536-e&65535;a&&(this.L=this.L|a|32768);return!0}; -h.wc=function(a,b,c,d,e,f,g){for(var k=0,l=a.ca,n=null,p;e--;){if(!n){n=a.ca.seek(b,c,d+1);if(!n){k=5120;break}p=0}var t,w;if(0>(t=a.ca.read(n,p++))||0>(w=a.ca.read(n,p++))){k=5120;break}Lb(this.h,f,t|w<<8);if(Ob(this.h)){k=8192;break}f+=2;if(p>=l.ha&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.V)))){k=5120;break}}return g(k,b,c,d,e,f)}; -h.qd=function(a,b,c,d,e,f,g){for(var k=0,l=a.ca,n=null,p;e--;){var t=Kb(this.h,f);if(Ob(this.h)){k=8192;break}f+=2;if(!n){n=a.ca.seek(b,c,d+1,!0);if(!n){k=5120;break}p=0}if(!a.ca.write(n,p++,t&255)||!a.ca.write(n,p++,t>>8)){k=5120;break}if(p>=l.ha&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.V)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Tc=function(){return this.L&65535}; -h.Ld=function(a){this.L=this.L&-1023|a&1022;this.C=this.C&-4|(a&48)>>4;if(!(this.L&128)){var b;a=!0;var c=this.b[(this.L&768)>>8],d,e,f,g;this.L&=-2;switch(this.L&14){case 4:this.c&8&&(this.L&=63);this.m=c.status|this.i&64;break;case 6:1==(this.c&3)&&(b=this.c&65408,c=(this.c&16)<<2,this.i=this.c&4?this.i+b:this.i-b,this.c=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.wc;case 10:b||(b=this.qd),d=this.c>>7,e=this.c&64?0:1,f=this.c&63,d>=c.V||f>=c.S?this.L|=37888:(g=(this.w& -63)<<16|this.v,a=65536-this.m&65535,a=b.call(this,c,d,e,f,a,g,this.ec.bind(this)))}a&&(this.L|=129,this.L&64&&Qb(this.a,this.G))}};h.Rc=function(){return this.v};h.Jd=function(a){this.v=a&65534};h.Uc=function(){return this.c};h.Md=function(a){this.c=a};h.Vc=function(){return this.m};h.Nd=function(a){this.m=a};h.Sc=function(){return this.w};h.Kd=function(a){this.w=a&63}; -var Kf={},Ff=(Kf[63744]=[null,null,O.prototype.Tc,O.prototype.Ld,"RLCS"],Kf[63746]=[null,null,O.prototype.Rc,O.prototype.Jd,"RLBA"],Kf[65284]=[null,null,O.prototype.Uc,O.prototype.Md,"RLDA"],Kf[65286]=[null,null,O.prototype.Vc,O.prototype.Nd,"RLMP"],Kf[65288]=[null,null,O.prototype.Sc,O.prototype.Kd,"RLBE"],Kf); -function Lf(a,b,c){x.call(this,"Computer",a,Lf);this.j.O=!1;Mf(this,b);this.A=nc(this,"autoPower",a);this.l=0;this.N=a.busWidth||a.buswidth;this.b=Nf;this.v=null;this.m=this.I=!1;this.P=nc(this,"url")||"";(Math.random()+.1).toString(36);this.c=Of(this);if(this.a=Ua("CPU",this.id)){this.D=Ua("Debugger",this.id);this.h=new ub({id:this.oa+".bus",busWidth:this.N},this.a,this.D);var d,e=A(this.id);if((this.f=Ua("Panel",this.id))&&this.f.Va)for(b=0;b\nLicense: GPL version 3 or later ");this.T("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bNf){if(Pf(d,this.v)){this.i=new Q(this,"1.30.2","failsafe");Pf(this.i)&&(Uf(this,d),a=2,Vf(this.i));this.i.set("timestamp",sa());Wf(this.i);var e=this.b&&!this.m;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Tf(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Pf(d,g):("error"== -f&&"no machine state"!=g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.T(f+": "+g),Vf(d),Pf(d)?(c=Tf(d),e=!0):c=!1))}e&&Sf(this,c?d:null)}else 2==a&&d.clear()}else Sf(this);delete this.v;delete this.w}e=A(this.id);for(f=0;fa[1];a=a[2];this.R=!0;this.j.O=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(Xf(this,this.a,b,c,a),this.da(),this.a.Ua());this.G&&(Uf(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.l=0}; -function Uf(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.2"};d.url=a.P;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} -function $f(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new Q(a,"1.30.2"),g=new Q(a,"1.30.2","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ka&&(c&&G(a.a),d=a.a.ka(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.O=!1,!1===d&&(e=null)));for(var k=A(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);gg(a,b,c)}})}else c(a,null)} -function hg(a,b,c,d){function e(a){if(void 0===k){var b=g&&D(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=oa(a))}function f(a){e("Error: "+a);l&&(--dg||Ja(!0));l=!1}var g,k,l=!0;dg++;Ra[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));p.appendChild(t)}c|| -(c="/versions/pdpjs/1.30.2/components.xsl");n=function(d,k){k?eg(c,null,null,!1,e,function(d,l){l?(Sa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--dg||Ja(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--dg||Ja(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?eg(b,a,d,!0,e,n):fg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(w){f(w.message)}return l}window.embedPDP11=function(a,b,c,d){Ja(!1);return hg(a,b,c,d)};window.enableEvents=Ja;window.sendEvent=Ka;})();//# sourceMappingURL=/tmp/pdpjs/1.30.2/pdp11.map diff --git a/versions/pdpjs/1.30.3/common.css b/versions/pdpjs/1.30.3/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pdpjs/1.30.3/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pdpjs/1.30.3/common.xsl b/versions/pdpjs/1.30.3/common.xsl deleted file mode 100644 index 3ec3e7139..000000000 --- a/versions/pdpjs/1.30.3/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.3/components.css b/versions/pdpjs/1.30.3/components.css deleted file mode 100644 index 4d6519bb0..000000000 --- a/versions/pdpjs/1.30.3/components.css +++ /dev/null @@ -1,243 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0; - background-color: gold; - position: absolute; - top: 0; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-triplet { - padding: 1px; -} -.pcjs-ledlbl { - text-align: center; - font-size: 40%; - background-color: #000000; -} -.pcjs-ledlbl0 { - text-align: right; - font-size: 50%; - background-color: #8d4076; -} -.pcjs-ledlbl1 { - text-align: right; - font-size: 50%; - background-color: #d83662; -} -.pcjs-ledpad { - text-align: center; - font-size: x-small; - line-height: 32px; - background-color: #000000; - border-bottom-left-radius: 20%; - border-bottom-right-radius: 20%; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; - max-width: 50%; - max-height: 50%; -} -.pcjs-swlbl { - text-align: center; - font-size: 40%; - line-height: 16px; - background-color: #000000; - border-top-left-radius: 20%; - border-top-right-radius: 20%; -} -.pcjs-swpad { - height: 32px; - background-color: #000000; -} -.pcjs-switch { - height: 10px; - width: 28px; - margin-top: 0; - max-width: 90%; - background-color: #00ff00; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - max-width: none !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - .pdp11-device { - width: 98% !important; - max-width: none !important; - margin-left: 8px !important; - padding-left: 0 !important; - padding-right: 0 !important; - } -} diff --git a/versions/pdpjs/1.30.3/components.xsl b/versions/pdpjs/1.30.3/components.xsl deleted file mode 100644 index 78ad810f9..000000000 --- a/versions/pdpjs/1.30.3/components.xsl +++ /dev/null @@ -1,1380 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pdp11 - PDPjs - 1.30.3 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pdpjs/1.30.3/document.css b/versions/pdpjs/1.30.3/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pdpjs/1.30.3/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pdpjs/1.30.3/document.xsl b/versions/pdpjs/1.30.3/document.xsl deleted file mode 100644 index 6a90bf163..000000000 --- a/versions/pdpjs/1.30.3/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.3/machine.xsl b/versions/pdpjs/1.30.3/machine.xsl deleted file mode 100644 index bc4ba1842..000000000 --- a/versions/pdpjs/1.30.3/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.3/manifest.xsl b/versions/pdpjs/1.30.3/manifest.xsl deleted file mode 100644 index f7cef7ae3..000000000 --- a/versions/pdpjs/1.30.3/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pdpjs/1.30.3/outline.xsl b/versions/pdpjs/1.30.3/outline.xsl deleted file mode 100644 index c87cd1682..000000000 --- a/versions/pdpjs/1.30.3/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.3/pdp11-dbg.js b/versions/pdpjs/1.30.3/pdp11-dbg.js deleted file mode 100644 index 92c870a4c..000000000 --- a/versions/pdpjs/1.30.3/pdp11-dbg.js +++ /dev/null @@ -1,330 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,da=["Math","log2"],ea=0;ea>=3;return(c?"0o":"")+d}function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,4,!0)} -function oa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function wa(a){return a.replace(/[&<>"']/g,function(a){return va[a]})} -function xa(a,b){return(a+" ").slice(0,b)}function ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function Aa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function Da(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function Ea(a,b){var c,d={ea:null,ga:null,Oa:null,Na:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Oa=g.load;d.Na=g.exec;if(e=g.bytes)d.ea=e;else if(e=g.words)for(d.ea=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.ea=Array(4*e.length),f=c=0;c>8&255,d.ea[f++]=e[c]>>16&255,d.ea[f++]=e[c]>>24&255;else d.ea=g;d.ga=g.symbols;d.ea.length?1==d.ea.length&&(u(d.ea[0]),d=null):(u("Empty resource: "+a),d=null)}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.bb=this.id:(this.Ua=this.id.substr(0,b),this.bb=this.id.substr(b+1));this[a]=c;this.A={ready:!1,eb:!1,ec:!1,ia:!1,error:!1};this.Xb=null;this.A.error=!1;this.G={};this.j=null;this.la=d||0;y.push(this)}var db=void 0,eb={}; -if(window){db||(db=window.location.search.substr(1));for(var fb,gb=/\+/g,hb=/([^&=]+)=?([^&]*)/g;fb=hb.exec(db);)eb[decodeURIComponent(fb[1].replace(gb," "))]=decodeURIComponent(fb[2].replace(gb," "))}function ib(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 A(a,b){b||(b=w);a.prototype=ib(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var jb=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else jb={},y=[];function kb(a,b,c){jb[a]&&b&&(jb[a][b]=c)}function sb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.f["S"+a]=[0,0,!1,!1,this.nd,a]}A(Db);var Eb=7;function Fb(a,b){return a.f[b]&&a.f[b][1]}k=Db.prototype;k.reset=function(){this.stop()}; -k.wa=function(a,b,c,d){if(this.C&&this.C.wa(a,b,c,d)||this.b&&this.b.wa(a,b,c,d)||this.j&&this.j.wa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.G[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.g[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.f[b]&&(this.f[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, -b){return function(){Gb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Hb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Gb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Hb(a,b)}}(this,b),!0):this.parent.wa.call(this,a,b,c,d)}};k.Ia=function(a,b,c,d){this.C=a;this.v=b;this.b=c;this.j=d;Ib(b,this,Jb);Kb(b,this.reset.bind(this));Lb(this);Mb(this)};k.Ka=function(a,b){b||(Nb(),this.reset());return!0};k.Ja=function(){return!0}; -function Ob(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Lb(a,b){for(var c in a.g)Ob(a,c,null!=b?b:a.g[c])}function Pb(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Mb(a){for(var b in a.f)Pb(a,b,a.f[b][1])}function Qb(a,b,c,d){a.G[b]&&(void 0===c&&(zb(a,"Value for "+b+" is invalid"),a.b.da()),c=8==(a.j&&a.j.ca||8)?na(c,d):p(c,d),a.G[b].textContent!=c&&(a.G[b].textContent=c))} -function Gb(a,b){var c=a.f[b];Pb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.I="DEP"==b,a.K="EXAM"==b)}function Hb(a,b){var c=a.f[b];c[2]&&c[3]&&(Pb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}k.ld=function(a){a||this.b.A.W||(a=this.b,a.v.reset(),Rb(a),Fb(this,"ENABLE")&&this.b.jb())};k.md=function(){};k.gd=function(a){a||this.b.da()}; -k.ed=function(a){if(!a&&!this.b.A.W)if(Fb(this,"ENABLE"))this.b.jb();else{if((a=this.j)&&!wb(a,!0))vb(a,!0),a.kb(0,null),vb(a,!1);else try{var b=this.b.kb(1);0a.b.fb?8:16,c=65472<=a.ua&&a.ua<65472+b,b=c?1:2,c=c?15:a.v.Qa;Fb(a,"STEP")||(b=-b);jc(a,a.ua&~c|a.ua+b&c)} -function jc(a,b){a.ua=b&a.v.Qa;b=a.ua;for(var c=0;22>c;c++)lc(a,"A"+c,b&1<c;c++)lc(a,"D"+c,b&1<c;c++)a.f["S"+c][1]=b&1<>2;this.v=this.Da-1;this.D=this.H/this.Da|0;this.cb=[];this.ma=0;this.f=!1;this.gc=0;this.B=[];this.Tc=[qc,rc,sc,tc];a=new J(this);uc(a,this.j);this.Y=Array(this.D);for(b=0;b>8:e[2](f)&255):f&1&&(e=d.cb[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.j&&H(this.j,e[5])&&F(this.j,e[4]+".readByte("+K(this.j,b)+"): "+K(this.j,c),!0,!d.ma),c;d.Ha(b,16,3);c=255;this.j&&H(this.j,64)&&F(this.j,"warning: unconverted read access to byte @"+K(this.j,b)+": "+K(this.j,c),!0,!d.ma);return c} -function rc(a,b,c){var d=!1,e=this.controller,f=e.cb[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.cb[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.j&&H(this.j,f[5])&&F(this.j,f[4]+".writeByte("+K(this.j,c)+","+K(this.j,b)+")",!0,!e.ma):(e.Ha(c,16,5),this.j&&H(this.j,64)&&F(this.j,"warning: unconverted write access to byte @"+K(this.j,c)+": "+K(this.j, -b),!0,!e.ma))}function sc(a,b){var c=-1,d=this.controller;a=d.cb[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.j&&H(this.j,a[5])&&F(this.j,a[4]+".readWord("+K(this.j,b)+"): "+K(this.j,c),!0,!d.ma),c;d.Ha(b,16,2);c=65535;this.j&&H(this.j,64)&&F(this.j,"warning: unconverted read access to word @"+K(this.j,b)+": "+K(this.j,c),!0,!d.ma);return c} -function tc(a,b,c){var d=!1,e=this.controller;a=e.cb[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.j&&H(this.j,a[5])&&F(this.j,a[4]+".writeWord("+K(this.j,c)+","+K(this.j,b)+")",!0,!e.ma):(e.Ha(c,16,4),this.j&&H(this.j,64)&&F(this.j,"warning: unconverted write access to word @"+K(this.j,c)+": "+K(this.j,b),!0,!e.ma))} -function wc(a,b){if(b!=a.C){var c;a.C&&(c=(1<>>a.ka;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.F)return l.Tb+=l.F-f,l.F=f,!0;if(f>=l.F+l.Tb){n=l.size-(f-m);n>g&&(n=g);l.Tb=f-l.F+n;f=m+a.Da;g-=n;h++;continue}}return Bc(1,f,g)}f=new J(a,f,n,a.Da,d,e);uc(f,a.j,l);a.Y[h++]=f;f=m+a.Da;g-=n}return 0>=g?(d==Cc&&(a.gc+=c),a.status((c>>10)+"Kb "+Dc[d]+" at "+na(b)),!0):Bc(2,b,c)} -function yc(a,b,c){var d=[];for(b>>>=a.ka;0>>=a.ka;0>>this.ka].$b(a&this.v,a)};k.Zb=function(a){3932160<=a&&(a=Ec(this.b,a));this.f=!1;this.ma++;a=this.Y[(a&this.Qa)>>>this.ka].nc(a&this.v,a);this.ma--;return a}; -k.oa=function(a){3932160<=a&&(a=Ec(this.b,a));return this.Y[(a&this.Qa)>>>this.ka].ta(a&this.v,a)};k.Ya=function(a){3932160<=a&&(a=Ec(this.b,a));var b=a&this.v,c=(a&this.Qa)>>>this.ka;this.f=!1;this.ma++;a=this.Y[c].oc(b,a);this.ma--;return a};k.Fb=function(a,b){3932160<=a&&(a=Ec(this.b,a));this.Y[(a&this.Qa)>>>this.ka].cc(a&this.v,b&255,a)};k.ub=function(a,b){3932160<=a&&(a=Ec(this.b,a));this.f=!1;this.ma++;this.Y[(a&this.Qa)>>>this.ka].dc(a&this.v,b&255,a);this.ma--}; -k.wb=function(a,b){3932160<=a&&(a=Ec(this.b,a));this.Y[(a&this.Qa)>>>this.ka].Ub(a&this.v,b&65535,a)};k.xb=function(a,b){3932160<=a&&(a=Ec(this.b,a));var c=a&this.v,d=(a&this.Qa)>>>this.ka;this.f=!1;this.ma++;this.Y[d].rc(c,b&65535,a);this.ma--}; -function Fc(a){for(var b=0,c=[],d=0;da.b.fb)){var g=f[0]?f[0].bind(b):null,h=f[1]?f[1].bind(b):null,l=f[2]?f[2].bind(b):null,m=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&l&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(l)),!h&&m&&(h=function(a){return function(b,c){return a(b,c)}.bind(b)}(m)));for(var n=f[4],r=f[5]||1,t=0;tb.indexOf(e.toUpperCase()))){b+=":";for(e=0;8>e;e++)b+=" "+K(a,c[d+e]);a.i(b+(f?"\n":""))}}k.reset=function(){this.f.Nb=128;Kc(this.b,this.f.qc,1E3/60,!0)};k.xd=function(){return this.f.Nb};k.ue=function(a){this.f.Nb=a&192};k.zd=function(){return Wc(this.b)};k.we=function(a){Xc(this.b,a&-129|this.b.za&128)};k.Ad=function(){return Yc(this.b)}; -k.Bd=function(){return Zc(this.b)};k.Cd=function(){return this.b.Ta};k.xe=function(a){$c(this.b,a)};k.ce=function(a){a=a>>1&63;var b=this.b.Sb[a>>1];return a&1?b>>16:b&65535};k.Ye=function(a,b){b=b>>1&63;var c=b>>1;this.b.Sb[c]=b&1?this.b.Sb[c]&65535|(a&63)<<16:this.b.Sb[c]&-65536|a&65534};k.Wd=function(a){return this.b.P[1][a>>1&7]};k.Re=function(a,b){this.b.P[1][b>>1&7]=a&65295};k.Ud=function(a){return this.b.P[1][(a>>1&7)+8]};k.Pe=function(a,b){this.b.P[1][(b>>1&7)+8]=a&65295}; -k.Vd=function(a){return this.b.ha[1][a>>1&7]};k.Qe=function(a,b){b=b>>1&7;this.b.ha[1][b]=a;this.b.P[1][b]&=65295};k.Td=function(a){return this.b.ha[1][(a>>1&7)+8]};k.Oe=function(a,b){b=(b>>1&7)+8;this.b.ha[1][b]=a;this.b.P[1][b]&=65295};k.wd=function(a){return this.b.P[0][a>>1&7]};k.te=function(a,b){b=b>>1&7;this.b.P[0][b]=a&=65295;H(this,256)&&F(this,"writeKIPDR["+b+"]: "+na(a),!0)};k.ud=function(a){return this.b.P[0][(a>>1&7)+8]};k.re=function(a,b){this.b.P[0][(b>>1&7)+8]=a&65295}; -k.vd=function(a){return this.b.ha[0][a>>1&7]};k.se=function(a,b){b=b>>1&7;this.b.ha[0][b]=a;this.b.P[0][b]&=65295};k.td=function(a){return this.b.ha[0][(a>>1&7)+8]};k.qe=function(a,b){b=(b>>1&7)+8;this.b.ha[0][b]=a;this.b.P[0][b]&=65295};k.be=function(a){return this.b.P[3][a>>1&7]};k.Xe=function(a,b){this.b.P[3][b>>1&7]=a&65295};k.$d=function(a){return this.b.P[3][(a>>1&7)+8]};k.Ve=function(a,b){this.b.P[3][(b>>1&7)+8]=a&65295};k.ae=function(a){return this.b.ha[3][a>>1&7]}; -k.We=function(a,b){b=b>>1&7;this.b.ha[3][b]=a;this.b.P[3][b]&=65295};k.Zd=function(a){return this.b.ha[3][(a>>1&7)+8]};k.Ue=function(a,b){b=(b>>1&7)+8;this.b.ha[3][b]=a;this.b.P[3][b]&=65295};k.Db=function(a){a&=7;return this.b.N&2048?this.b.$a[a]:this.b.u[a]};k.Gb=function(a,b){b&=7;this.b.N&2048?this.b.$a[b]=a:this.b.u[b]=a};k.Hd=function(){return this.b.N&49152?this.b.La[0]:this.b.u[6]};k.Ce=function(a){this.b.N&49152?this.b.La[0]=a:this.b.u[6]=a};k.Kd=function(){return this.b.u[7]}; -k.Fe=function(a){this.b.u[7]=a};k.Eb=function(a){a&=7;return this.b.N&2048?this.b.u[a]:this.b.$a[a]};k.Hb=function(a,b){b&=7;this.b.N&2048?this.b.u[b]=a:this.b.$a[b]=a};k.Id=function(){return 1==(this.b.N&49152)>>14?this.b.u[6]:this.b.La[1]};k.De=function(a){1==(this.b.N&49152)>>14?this.b.u[6]=a:this.b.La[1]=a};k.Jd=function(){return 3==(this.b.N&49152)>>14?this.b.u[6]:this.b.La[3]};k.Ee=function(a){3==(this.b.N&49152)>>14?this.b.u[6]=a:this.b.La[3]=a};k.rd=function(a){return this.b.Mc[a-65504>>1]}; -k.oe=function(a,b){this.b.Mc[b-65504>>1]=a};k.Jc=function(a){if(65520==a){a=0;switch(Cc){case Cc:a=this.v.gc}a=(a>>6)-1}else a=0;return a};k.Qc=function(){};k.Yd=function(){return 1};k.Te=function(){};k.qd=function(){return this.b.va};k.ne=function(){this.b.va=0};k.yd=function(){return this.b.Lc};k.ve=function(a,b){b&1||(a&=255);this.b.Lc=a};k.Dd=function(a,b){return b?0:this.b.Rb};k.ye=function(a){ad(this.b,a)};k.Xd=function(a,b){return b?0:this.b.hb&65280};k.Se=function(a){this.b.hb=a|255}; -k.Gd=function(){return bd(this.b)};k.Be=function(a){cd(this.b,a&-1793|bd(this.b)&1792);this.b.J|=128};k.Pc=function(a,b){H(this)&&F(this,"writeIgnored("+na(b)+"): "+na(a),!0,!0)}; -var N={},Uc=(N[61568]=[null,null,L.prototype.ce,L.prototype.Ye,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.Wd,L.prototype.Re,"SIPDR",8,1145,256],N[62608]=[null,null,L.prototype.Ud,L.prototype.Pe,"SDPDR",8,1145,256],N[62624]=[null,null,L.prototype.Vd,L.prototype.Qe,"SIPAR",8,1145,256],N[62640]=[null,null,L.prototype.Td,L.prototype.Oe,"SDPAR",8,1145,256],N[62656]=[null,null,L.prototype.wd,L.prototype.te,"KIPDR",8,1145,256],N[62672]=[null,null,L.prototype.ud,L.prototype.re,"KDPDR",8,1145,256], -N[62688]=[null,null,L.prototype.vd,L.prototype.se,"KIPAR",8,1145,256],N[62704]=[null,null,L.prototype.td,L.prototype.qe,"KDPAR",8,1145,256],N[62798]=[null,null,L.prototype.Cd,L.prototype.xe,"MMR3",1,1145,256],N[65382]=[null,null,L.prototype.xd,L.prototype.ue,"LKS"],N[65402]=[null,null,L.prototype.zd,L.prototype.we,"MMR0",1,1145,256],N[65404]=[null,null,L.prototype.Ad,L.prototype.Pc,"MMR1",1,1145,256],N[65406]=[null,null,L.prototype.Bd,L.prototype.Pc,"MMR2",1,1145,256],N[65408]=[null,null,L.prototype.be, -L.prototype.Xe,"UIPDR",8,1145,256],N[65424]=[null,null,L.prototype.$d,L.prototype.Ve,"UDPDR",8,1145,256],N[65440]=[null,null,L.prototype.ae,L.prototype.We,"UIPAR",8,1145,256],N[65456]=[null,null,L.prototype.Zd,L.prototype.Ue,"UDPAR",8,1145,256],N[65472]=[null,null,L.prototype.Db,L.prototype.Gb,"R0SET0"],N[65473]=[null,null,L.prototype.Db,L.prototype.Gb,"R1SET0"],N[65474]=[null,null,L.prototype.Db,L.prototype.Gb,"R2SET0"],N[65475]=[null,null,L.prototype.Db,L.prototype.Gb,"R3SET0"],N[65476]=[null,null, -L.prototype.Db,L.prototype.Gb,"R4SET0"],N[65477]=[null,null,L.prototype.Db,L.prototype.Gb,"R5SET0"],N[65478]=[null,null,L.prototype.Hd,L.prototype.Ce,"R6KERNEL"],N[65479]=[null,null,L.prototype.Kd,L.prototype.Fe,"R7KERNEL"],N[65480]=[null,null,L.prototype.Eb,L.prototype.Hb,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.Eb,L.prototype.Hb,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.Eb,L.prototype.Hb,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.Eb,L.prototype.Hb,"R3SET1",1,1145],N[65484]= -[null,null,L.prototype.Eb,L.prototype.Hb,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.Eb,L.prototype.Hb,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.Id,L.prototype.De,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.Jd,L.prototype.Ee,"R6USER",1,1145],N[65504]=[null,null,L.prototype.rd,L.prototype.oe,"CTRL",8,1170],N[65520]=[null,null,L.prototype.Jc,L.prototype.Qc,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.Jc,L.prototype.Qc,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.Yd,L.prototype.Te, -"SYSID",1,1170],N[65526]=[null,null,L.prototype.qd,L.prototype.ne,"CPUERR",1,1170],N[65528]=[null,null,L.prototype.yd,L.prototype.ve,"MB",1,1170],N[65530]=[null,null,L.prototype.Dd,L.prototype.ye,"PIR"],N[65532]=[null,null,L.prototype.Xd,L.prototype.Se,"SL"],N[65534]=[null,null,L.prototype.Gd,L.prototype.Be,"PSW"],N); -$a(function(){for(var a=E(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.B,0,this.size>>2),kd(this,gd?ld:md);else{a=this.b=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},T:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ca:function(a,b){a&1&&this.v.Ha(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+ -1]&255)<<8},xa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Xa=!0},O:function(a,b){if(this.j&&null!=this.F){var c=this.j;rd(c,this.F+a,1,c.M)&&c.da(!0)}return this.nc(a,b)},Ua:function(a,b){if(this.j&&null!=this.F){var c=this.j;rd(c,this.F+a,2,c.M)&&c.da(!0)}return this.oc(a,b)},na:function(a, -b,c){if(this.j&&null!=this.F){var d=this.j;rd(d,this.F+a,1,d.D)&&d.da(!0)}this.f?this.w(a,b,c):this.dc(a,b,c)},Ba:function(a,b,c){if(this.j&&null!=this.F){var d=this.j;rd(d,this.F+a,2,d.D)&&d.da(!0)}this.f?this.w(a,b,c):this.rc(a,b,c)},M:function(a){return this.G[a]},S:function(a,b){a=this.G[a];this.j&&H(this.j,128)&&F(this.j,"Memory.readByte("+K(this.j,b)+"): "+K(this.j,a),!0);return a},X:function(a,b){a&1&&this.v.Ha(b,64,2);return this.D.getUint16(a,!0)},ba:function(a,b){a&1&&this.v.Ha(b,64,2); -a=this.I[a>>1];this.j&&H(this.j,128)&&F(this.j,"Memory.readWord("+K(this.j,b)+"): "+K(this.j,a),!0);return a},ja:function(a,b){this.G[a]=b;this.Xa=!0},bb:function(a,b,c){this.G[a]=b;this.Xa=!0;this.j&&H(this.j,128)&&F(this.j,"Memory.writeByte("+K(this.j,c)+","+K(this.j,b)+")",!0)},Aa:function(a,b,c){a&1&&this.v.Ha(c,64,4);this.D.setUint16(a,b,!0);this.Xa=!0},Ca:function(a,b,c){a&1&&this.v.Ha(c,64,4);this.I[a>>1]=b;this.Xa=!0;this.j&&H(this.j,128)&&F(this.j,"Memory.writeWord("+K(this.j,c)+","+K(this.j, -b)+")",!0)}};function uc(a,b,c){a.j=b;a.g=a.C=0;c&&((a.g=c.g)&&qd(a,pd,!1),(a.C=c.C)&&od(a,pd,!1))}function sd(a,b){b?--a.C||(a.cc=a.f?a.w:a.dc,a.Ub=a.f?a.H:a.rc):--a.g||(a.$b=a.nc,a.ta=a.oc)}function od(a,b,c){c&&a.C||(a.cc=!a.f&&b[1]||a.w,a.Ub=!a.f&&b[3]||a.H);if(c||void 0===c)a.dc=b[1]||a.w,a.rc=b[3]||a.H}function qd(a,b,c){c&&a.g||(a.$b=b[0]||a.K,a.ta=b[2]||a.L);if(c||void 0===c)a.nc=b[0]||a.K,a.oc=b[2]||a.L}function kd(a,b){b||(b=td);qd(a,b,void 0);od(a,b,void 0)} -var td=[],nd=[J.prototype.T,J.prototype.xa,J.prototype.ca,J.prototype.Ma],pd=[J.prototype.O,J.prototype.na,J.prototype.Ua,J.prototype.Ba];if(Ab)var md=[J.prototype.M,J.prototype.ja,J.prototype.X,J.prototype.Aa],ld=[J.prototype.S,J.prototype.bb,J.prototype.ba,J.prototype.Ca]; -function ud(a,b){w.call(this,"CPU",a,ud,1);b=a.cycles||b;var c=a.multiplier||1;this.Ib=0;this.pb=b;this.gb=c;this.Kb=Math.round(this.pb/1E4)/100;this.sb=this.Kb*this.gb;this.A.W=!1;this.A.bc=!1;this.A.yb=a.autoStart;this.A.zb=!1;this.Ob=this.Aa=0;this.Pb=a.csStart;this.Ab=a.csInterval;this.Bb=a.csStop;this.L=[];this.Ic=this.ge.bind(this);I(this)}A(ud);var vd=["power","reset"];k=ud.prototype; -k.Ia=function(a,b,c,d){this.C=a;this.v=b;this.j=d;this.w=a.w;for(b=0;b=a.Aa&&(a.Aa+=a.Ab,c=!0);0<=a.Bb&&a.Bb<=Bd(a)&&(a.Ab=a.Bb=-1,yd(a),a.da(),c=!0);c&&a.i(Bd(a)+" cycles: checksum="+p(a.Ob))}} -k.wa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.A.ia)a=!0;else{var b=null,c,h=sb(a.id);for(c=0;ca.xa/a.sb?b=1:d=!0;a.gb=b;b=a.Kb*a.gb;if(a.sb!=b){a.sb=b;b=a.sb.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.C&&a.C.vb()}Tb(a,a.X);a.X=0;a.T=Ba();a.ba=0;Dd(a);return d}function Ic(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Kc(a,b,c,d){0<=b&&ba.L[b][0])&&(c=a.pb*a.gb/1E3*c|0,a.A.W&&(c+=Ed(a)),a.L[b][0]=c)} -function Fd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Sb(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ed(a,b){var c=a.ca-=a.b;a.b=a.I=0;b&&(a.ca=0);return c} -k.ge=function(){if(this.A.W){this.Lb>=this.pb&&Dd(this,!0);this.Va=0;this.nb=Ba();if(this.ba){var a=this.nb-this.ba;a>this.Gc&&(this.T+=a,this.T>this.nb&&(this.T=this.nb))}try{do{var b=Fd(this,this.A.zb?1:this.qb);try{this.kb(b)}catch(e){if("number"!=typeof e)throw e;}b=Ed(this,!0);this.Va+=b;this.X+=b;Ub(this,b);Sb(this,b);this.Ba-=b;if(0>=this.Ba){this.Ba+=this.qb;15<=++this.Hc&&(this.ra(),this.Hc=0);break}}while(this.A.W)}catch(e){this.da();this.C&&this.C.stop(Ba(),Bd(this));zb(this,e.stack||e.message); -return}if(this.A.W){a=setTimeout;b=this.Ic;this.ba=Ba();var c=this.Gc;this.Va&&(c=Math.round(c*this.Va/this.qb));var c=c-(this.ba-this.nb),d=this.ba-this.T;d&&(this.xa=Math.round(this.X/(10*d))/100,864E5<=d&&(this.ja=0,Cd(this)));if(0>c||this.xac&&(this.T-=c),c=0;this.Lb+=this.Va;this.ba+=c;a(b,c)}}}; -k.jb=function(a){if(yb(this))return!1;if(this.A.W)return this.i(this.toString()+" busy"),!1;Cd(this);this.A.W=!0;this.A.bc=!0;var b=this.G.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.vb(!0),this.C.start(this.T,Bd(this)));setTimeout(this.Ic,0);return!0};k.kb=function(){return 0};k.da=function(a){var b=!1;if(this.A.W){Ed(this);Tb(this,this.X);this.X=0;this.A.W=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(Ba(),Bd(this));b=!0}this.A.complete=a;return b}; -function Gd(a){this.fb=+a.model||1170;this.Cc=a.addrReset||0;ud.call(this,a,6666667);this.rb=0;this.Fc=255;1120==this.fb?(this.decode=Hd.bind(this),this.na=this.Xc,this.rb=8,this.Fc=-1):(this.decode=Id.bind(this),this.na=this.Yc);Jd(this);this.K=0;this.O=null;this.A.complete=!1}A(Gd,ud);k=Gd.prototype;k.reset=function(){this.status("model "+this.fb);this.A.W&&this.da();Jd(this);xd(this);this.A.error=!1;this.parent.reset.call(this)}; -function Jd(a){a.U=65536;a.V=32768;a.$=65535;a.Z=32768;a.N=15;a.u=[0,0,0,0,0,0,0,a.Cc,-1,-2,-3,-4,-5,-6,-7,-8];a.$a=[0,0,0,0,0,0];a.La=[0,0,0,0];a.B=0;a.lb=0;a.od=[4,2,0,1];a.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ha=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0]];a.Sb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.Mc=[0,0,0,0,0,0,0,0];a.Lc=0;a.J=0;a.D=a.H=0;a.g=a.f=a.Jb=0;a.Ca=-1;Rb(a)}function Rb(a){a.za=0;a.lc=0;a.mc=0;a.Ta=0;a.va=0;a.Rb=0;a.hb=255;a.M=0;a.mb=0;a.Ma=262143;a.Mb=0;a.pa=0;a.O=null;a.v&&Kd(a)}function Kd(a){a.M?(a.S=65536,a.Bc=a.Ta&16?4186112:253952,a.aa=a.cd,a.ta=a.de,a.Ub=a.Ze,wc(a.v,a.Ta&16?22:18)):(a.S=0,a.Bc=57344,a.aa=a.bd,a.ta=a.Kc,a.Ub=a.Rc,wc(a.v,16))} -function Wc(a){var b=a.za;b&57344||(b=b&-3199|a.mb<<5|a.lb<<1);return b}function Xc(a,b){b&=-3073;if(a.za!=b){b&57344&&!(a.za&57344)&&(a.lc=a.pa>>16&65535,a.mc=a.pa&65535);a.za=b;a.mb=b>>5&3;a.lb=b>>1&15;var c=0;b&257&&(c=4,b&1&&(c|=2));a.M!=c&&(a.M=c,Kd(a))}}function Yc(a){a.za&57344||(a.lc=a.pa>>16&65535);a=a.lc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function Zc(a){a.za&57344||(a.mc=a.pa&65535);return a.mc}function $c(a,b){1170>a.fb&&(b&=-49);a.Ta!=b&&(a.Ta=b,a.Ma=b&16?4194303:262143,Kd(a))} -k.xc=function(){return 0};k.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.ja,this.gb]);a.set(2,Fc(this.v));return a.data()};k.restore=function(a){var b=a[1];this.ja=b[1];Cd(this,b[3]);a:{b=this.v;a=a[2];var c;for(c=0;c>14&3;c=a.N>>14&3;a.B!=c&&(a.La[c]=a.u[6],a.u[6]=a.La[a.B]);a.N=b;a.J|=2}function ad(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1)}a.Rb=b;a.J|=2}function S(a,b){a.J&128||(a.Z=a.$=b,a.V=0)}function ne(a,b,c){a.J&128||(a.Z=a.$=a.U=b,a.V=c||0)}function oe(a,b,c,d){a.J&128||(a.Z=a.$=a.U=b,a.V=(c^b)&(d^b))} -function pe(a,b){a.J&128||(a.Z=a.$=a.U=b,a.V=a.Z^a.U>>1)}function qe(a,b,c,d){a.J&128||(a.Z=a.$=a.U=b,a.V=(c^d)&(d^b))}k.qa=function(a,b,c){if(!this.K){0>this.Ca?this.Ca=bd(this):this.B||(c=-3);var d=!1;-3==c&&(a=4,this.va|=4,this.u[6]=4,d=!0);this.pa=a|4143316992;this.B=0;var e=this.ta(a|this.S),f=this.ta(a+2&65535|this.S);cd(this,f&-12289|this.Ca>>2&12288);re(this,this.Ca,d);re(this,this.u[7],d);R(this,e);this.J&=~(b|18);this.J|=9;this.Ca=-1;this.ke=a;this.ie=c;if(-3<=c)throw a;}}; -function se(a){var b=te(a),c=te(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);R(a,b);cd(a,c);a.J&=-17}function Ec(a,b){var c=b>>13&31;31>c&&(b=a.Ta&32?a.Sb[c]+(b&8190)&4194302:b&-3932161);return b} -function ue(a,b,c){var d,e,f;if(!(c&a.M))return f=b&65535,57344<=f&&(f|=a.Bc),f;d=b>>13;a.Ta&a.od[a.B]||(d&=7);e=a.P[a.B][d];f=(a.ha[a.B][d]<<6)+(b&8191)&a.Ma;if(a.K)return f;f&1&&!(c&1)&&(a.va|=64,a.qa(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.P[a.B][d]=e;if(f!=(4194170&a.Ma)||a.B)a.mb= -a.B,a.lb=d;g&&(g&57344&&(0<=a.Ca&&(g|=128),a.za&57344||(g|=a.za&4096|a.mb<<5|a.lb<<1,Xc(a,a.za&-61695|g&61694)),a.qa(168,64,-1)),a.za&61440||!(f<(4191360&a.Ma)||f>(4194239&a.Ma))||(a.za|=4096,a.za&512&&(a.J|=64)));return f}function ve(a,b){return a.v.Yb(b)}function te(a){var b=a.ta(a.u[6]|a.S);a.u[6]=a.u[6]+2&65535;return b}function re(a,b,c){var d=a.u[6]-2&65535;a.u[6]=d;a.pa=a.pa&65535|(a.pa&-65536)<<8|16121856;c||a.na(4,-2,d);a.Ub(d,b)} -function we(a,b,c,d){var e,f,g=d&8?0:a.S;switch(b){case 0:return a.qa(4,0,-2),0;case 1:return 6==c&&a.na(d,0,a.u[6]),a.b-=3,7==c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];6==c&&a.na(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!=c&&(e|=g);e=a.ta(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;6==c&&a.na(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!=c&&(e|=g);e=a.ta(e)|g;a.b-=8;break;case 6:return e=a.ta(Qd(a,2)),e=e+a.u[c]&65535,6==c&&a.na(d, -0,e),a.b-=6,e|g;case 7:return e=a.ta(Qd(a,2)),e=e+a.u[c]&65535,e=a.ta(e|a.S),a.b-=10,e|g}a.u[c]=a.u[c]+f&65535;a.pa=a.pa&65535|(a.pa&-65536)<<8|(f<<3&248|c)<<16;return e}k.Xc=function(a,b,c){!this.B&&0>=b&&c<=this.hb&&(this.J|=32)};k.Yc=function(a,b,c){!this.B&&a&4&&c<=this.hb&&(c<=this.hb-32?this.qa(4,0,-3):(this.va|=8,this.J|=32))};k.Zb=function(a){if(!this.M)return this.v.Zb(a);this.K++;a=ve(this,ue(this,a,3));this.K--;return a}; -k.Ya=function(a){if(!this.M)return this.v.Ya(a);this.K++;a=this.Kc(ue(this,a,2));this.K--;return a};k.ub=function(a,b){this.M?(this.K++,a=ue(this,a,5),a&1&&this.b--,this.v.Fb(a,b),this.K--):this.v.ub(a,b)};k.xb=function(a,b){this.M?(this.K++,this.Rc(ue(this,a,4),b),this.K--):this.v.xb(a,b)};k.bd=function(a,b,c){return we(this,a,b,c)};k.cd=function(a,b,c){return ue(this,we(this,a,b,c),c)};k.Kc=function(a){return this.v.oa(this.Mb=a)};k.de=function(a){return this.v.oa(this.Mb=ue(this,a,2))}; -k.Rc=function(a,b){this.v.wb(this.Mb=a,b&65535)};k.Ze=function(a,b){this.v.wb(this.Mb=ue(this,a,4),b)};function xe(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=we(a,b,d,2),c&65536||61440!==(a.N&61440)&&(d&=65535),a.B=a.N>>12&3,c=a.ta(d|c&a.S),a.B=a.N>>14&3):c=6!=d||(a.N>>2&12288)===(a.N&12288)?a.u[d]:a.La[a.N>>12&3];return c} -function ye(a,b,c,d){a.pa=a.pa&65535|1441792;var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=we(a,b,e,4),c&65536||(e&=65535),a.B=a.N>>12&3,e=ue(a,e|c&65536,4),a.B=a.N>>14&3,a.v.wb(e,d)):6!=e||(a.N>>2&12288)===(a.N&12288)?a.u[e]=d:a.La[a.N>>12&3]=d}function ze(a,b){b>>=6;var c=a.H=b&7;return(b=a.D=(b&56)>>3)?ve(a,a.aa(b,c,3)):a.u[c+a.rb]&a.Fc}function Ae(a,b){b>>=6;var c=a.H=b&7;return(b=a.D=(b&56)>>3)?a.v.oa(a.aa(b,c,2)):a.u[c+a.rb]}function Be(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return we(a,b,c,8)} -function Ce(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?ve(a,a.aa(b,c,3)):a.u[c]&255}function De(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.v.oa(a.aa(b,c,2)):a.u[c]}function T(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Jb=a.aa(b,e,7),c=0>c?a.u[-c-1]&255:c,c=d.call(a,c,ve(a,e)),e&1&&a.b--,a.v.Fb(e,c)):(b=a.u[e],c=0>c?a.u[-c-1]&255:c,a.u[e]=b&65280|d.call(a,c,b&255))} -function U(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,6),a.v.wb(e,d.call(a,0>c?a.u[-c-1]:c,a.v.oa(e)))):a.u[e]=d.call(a,0>c?a.u[-c-1]:c,a.u[e])}function Ee(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.aa(b,e,5),e=c=0>c?a.u[-c-1]&255:c,d&1&&a.b--,a.v.Fb(d,e)):c?(c=0>c?a.u[-c-1]&255:c,a.u[e]=a.u[e]&~d|c<<24>>24&d):a.u[e]&=~d;return c}function Fe(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.aa(b,d,4),a.v.wb(d,c=0>c?a.u[-c-1]:c)):a.u[d]=c=0>c?a.u[-c-1]:c;return c} -function V(a,b,c){c&&(R(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} -k.kb=function(a){this.A.complete=!0;var b=this.j?Ge(this.j)?1:this.A.bc?-1:0:0,c=a?this.A.bc?0:1:-1;this.A.bc=!1;this.ca=this.b=a;do{if(b){if(He(this.j,this.u[7],c)){this.da();break}c||c++;b++}if(this.J){if(a=this.J&7)if(a=!1,this.J&2){this.J&=-3;var d=160,e=(this.Rb&224)>>5,f=this.O&&this.O.Cb>e?this.O:null;f&&(d=f.le,e=f.Cb);e>(this.N&224)>>5?(this.J&4&&(Qd(this,2),this.J&=-5),this.qa(d,0,-9),e=!0):e=!1;e&&(f&&Rd(this,f),a=!0)}else this.J&1&&this.J++;if(a){if(b&&He(this.j,this.u[7],c)){this.da(); -break}if(0>c)break}if(this.J&112&&me(this)){if(b&&He(this.j,this.u[7],c)){this.da();break}if(0>c)break}}this.J=this.J&7|this.N&16;this.decode(Pd(this))}while(0>1|b<<16;pe(this,a);return a&65535}function Ne(a,b){a=b&128|b>>1|b<<8;pe(this,a<<8);return a&255}function Oe(a,b){a=b&~a;S(this,a);return a}function Pe(a,b){a=b&~a;S(this,a<<8);return a}function Qe(a,b){a|=b;S(this,a);return a}function Re(a,b){a|=b;S(this,a<<8);return a}function Se(a,b){a=~b|65536;ne(this,a);return a&65535} -function Te(a,b){a=~b|256;ne(this,a<<8);return a&255}function Ue(a,b){a=b-a;this.J&128||(this.Z=this.$=a,this.V=b&(b^a));return a&65535}function Ve(a,b){a=b-a;var c=a<<8;b<<=8;this.J&128||(this.Z=this.$=c,this.V=b&(b^c));return a&255}function We(a,b){a=b+a;this.J&128||(this.Z=this.$=a,this.V=a&(b^a));return a&65535}function Xe(a,b){a=b+a;var c=a<<8;this.J&128||(this.Z=this.$=c,this.V=c&(b<<8^c));return a&255}function Ye(a,b){a=-b;ne(this,a,a&b&32768);return a&65535} -function Ze(a,b){a=-b;ne(this,a<<8,(a&b&128)<<8);return a&255}function $e(a,b){a=b<<1|this.U>>16&1;pe(this,a);return a&65535}function af(a,b){a=b<<1|this.U>>16&1;pe(this,a<<8);return a&255}function bf(a,b){a=(this.U&65536|b)>>1|b<<16;pe(this,a);return a&65535}function cf(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;pe(this,a<<8);return a&255}function df(a,b){var c=b-a;qe(this,c,a,b);return c&65535}function ef(a,b){var c=b-a;qe(this,c<<8,a<<8,b<<8);return c&255} -function ff(a,b){this.J&128||(this.Z=this.$=b&65280,this.V=this.U=0);return(b<<8|b>>8)&65535}function gf(a,b){a^=b;S(this,a);return a&65535}function hf(a){U(this,a,Ae(this,a),Ie);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)} -function jf(a){var b=De(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.V=32768)}this.u[a]=c&65535;this.Z=this.$=c;this.b-=(this.g?6:7)+b} -function kf(a){var b=De(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.Z=d>>16;this.$=d>>16|d;this.b-=(this.g?6:7)+b}function lf(a){V(this,a,!Ld(this))}function mf(a){V(this,a,Ld(this))} -function nf(a){U(this,a,Ae(this,a),Oe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function of(a){T(this,a,ze(this,a),Pe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function pf(a){U(this,a,Ae(this,a),Qe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function qf(a){T(this,a,ze(this,a),Re);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)} -function rf(a){var b=Ae(this,a);a=De(this,a);S(this,(0>b?this.u[-b-1]:b)&a);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function sf(a){var b=ze(this,a);a=Ce(this,a);S(this,((0>b?this.u[-b-1]&255:b)&a)<<8);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function tf(a){V(this,a,Nd(this))}function uf(a){V(this,a,!Od(this)==!Md(this))}function vf(a){V(this,a,!Nd(this)&&!Od(this)==!Md(this))}function wf(a){V(this,a,!Ld(this)&&!Nd(this))} -function xf(a){V(this,a,Nd(this)||!Od(this)!=!Md(this))}function yf(a){V(this,a,Ld(this)||Nd(this))}function zf(a){V(this,a,!Od(this)!=!Md(this))}function Af(a){V(this,a,Od(this))}function Bf(a){V(this,a,!Nd(this))}function Cf(a){V(this,a,!Od(this))}function Df(){this.qa(12,0,-8);this.b-=5}function Ef(a){V(this,a,!0)}function Ff(a){V(this,a,!Md(this))}function Gf(a){V(this,a,Md(this))}function Hf(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.$=1);a&8&&(this.Z=0);this.b-=5} -function If(a){var b=Ae(this,a);a=De(this,a);var c=(b=0>b?this.u[-b-1]:b)-a;qe(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function Jf(a){var b=ze(this,a);a=Ce(this,a);var c=(b=(0>b?this.u[-b-1]&255:b)<<8)-(a<<=8);qe(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)} -function Kf(a){var b=De(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.$=d>>16|d,this.Z=d>>16):(this.V=32768,this.$=d>>15|d,this.Z=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.$=this.Z=0,this.V=32768,this.U=65536,this.b-=7}function Lf(){this.qa(24,0,-8);this.b-=25} -function Mf(){this.N&49152?(this.va|=128,this.qa(4,0,-7)):(this.w&&1120==this.fb&&this.w.setData(this.u[0],!0),this.j?Nf(this.j):this.da());this.b-=7}function Of(){this.qa(16,0,-8);this.b-=25}var Pf=[0,7,7,10,7,11,9,13];function Qf(a){this.I=this.b;R(this,Be(this,a));this.b=this.I-Pf[this.g]}var Rf=[0,14,14,17,14,18,16,20];function Sf(a){this.I=this.b;var b=Be(this,a);a=a>>6&7;re(this,this.u[a]);this.u[a]=this.u[7];R(this,b);this.b=this.I-Rf[this.g]} -var Tf=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Uf(a){var b=Ae(this,a);this.I=this.b;S(this,Fe(this,a,b));this.b=this.I-Tf[(this.D?8:0)+this.g]+(7!=this.f||this.g?0:2)}function Vf(a){var b=ze(this,a);S(this,Ee(this,a,b,65535)<<8);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}var Wf=[7,13,13,17,14,18,17,21]; -function Xf(a){var b=De(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.J&128||(this.Z=b>>16,this.$=this.Z|b,this.V=0,this.U=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)R(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function dg(a){U(this,a,Ae(this,a),df);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function eg(a){U(this,a,0,ff);this.b-=this.g?9:3+(7==this.f?2:0)}function fg(){this.qa(28,0,-8);this.b-=5} -function gg(){this.w&&(this.w.pc(this.u[7],!0),this.w.setData(this.u[0],!0));this.J|=4;Qd(this,-2);this.b-=3}function hg(a){U(this,a,this.u[(a>>6&7)+this.rb],gf);this.b-=this.g?9:3+(7==this.f?2:0)}function W(a){var b;if(b=this.j)b=this.j,H(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Nf(b)):b=!1;b||this.qa(8,0,-8)}function Hd(a){ig[a>>12].call(this,a)}function jg(a){kg[a>>6&3].call(this,a)}function lg(a){mg[a>>6&3].call(this,a)}function ng(a){og[a>>6&3].call(this,a)} -function pg(a){qg[a&15].call(this,a)}function rg(a){sg[a&15].call(this,a)}function tg(a){ug[a>>6&3].call(this,a)}function vg(a){wg[a>>6&3].call(this,a)}function xg(a){yg[a>>6&3].call(this,a)} -var ig=[function(a){zg[a>>8&15].call(this,a)},Uf,If,rf,nf,pf,hf,W,function(a){Ag[a>>8&15].call(this,a)},Vf,Jf,sf,of,qf,dg,W],zg=[function(a){Bg[a>>4&15].call(this,a)},Ef,Bf,tf,uf,zf,vf,xf,Sf,Sf,jg,lg,ng,W,W,W],kg=[function(a){ne(this,Fe(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Se);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,1,We);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Ue);this.b-=this.g?9:3+(7==this.f?2:0)}],mg=[function(a){U(this,a,0, -Ye);this.b-=this.g?11:6},function(a){U(this,a,Ld(this)?1:0,Ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,Ld(this)?1:0,df);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=De(this,a);ne(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],og=[function(a){U(this,a,0,bf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,$e);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Ke);this.b-=this.g?9:3+(7==this.f?2:0)}], -Bg=[function(a){Cg[a&15].call(this,a)},W,W,W,Qf,Qf,Qf,Qf,$f,W,pg,rg,eg,eg,eg,eg],Cg=[Mf,gg,ag,Df,Of,Zf,W,W,W,W,W,W,W,W,W,W],qg=[Yf,function(){this.U=0;this.b-=5},function(){this.V=0;this.b-=5},Hf,function(){this.$=1;this.b-=5},Hf,Hf,Hf,function(){this.Z=0;this.b-=5},Hf,Hf,Hf,Hf,Hf,Hf,Hf],sg=[Yf,function(){this.U=65536;this.b-=5},function(){this.V=32768;this.b-=5},bg,function(){this.$=0;this.b-=5},bg,bg,bg,function(){this.Z=32768;this.b-=5},bg,bg,bg,bg,bg,bg,bg],Ag=[Cf,Af,wf,yf,Ff,Gf,lf,mf,Lf,fg,tg, -vg,xg,W,W,W],ug=[function(a){ne(this,Ee(this,a,0,255));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Te);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Xe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Ve);this.b-=this.g?9:3+(7==this.f?2:0)}],wg=[function(a){T(this,a,0,Ze);this.b-=this.g?11:6},function(a){T(this,a,Ld(this)?1:0,Je);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,Ld(this)?1:0,ef);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Ce(this, -a);ne(this,a<<8);this.b-=this.g?4:3+(7==this.f?2:0)}],yg=[function(a){T(this,a,0,cf);this.b-=this.g?9+(this.Jb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,af);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Ne);this.b-=this.g?9+(this.Jb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Le);this.b-=this.g?9:3+(7==this.f?2:0)}];function Id(a){Dg[a>>12].call(this,a)} -var Dg=[function(a){Eg[a>>8&15].call(this,a)},Uf,If,rf,nf,pf,hf,function(a){Fg[a>>8&15].call(this,a)},function(a){Gg[a>>8&15].call(this,a)},Vf,Jf,sf,of,qf,dg,W],Eg=[function(a){Hg[a>>4&15].call(this,a)},Ef,Bf,tf,uf,zf,vf,xf,Sf,Sf,jg,lg,ng,function(a){Ig[a>>6&3].call(this,a)},W,W],Ig=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.ta(a|this.S);R(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=xe(this,a,0);re(this,a);S(this,a);this.b-=11},function(a){var b=te(this);this.I= -this.b;ye(this,a,0,b);S(this,b);this.b=this.I-Wf[this.g]},function(a){S(this,Fe(this,a,Od(this)?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],Hg=[function(a){Jg[a&15].call(this,a)},W,W,W,Qf,Qf,Qf,Qf,$f,function(a){a&8?(this.N&49152||(this.N=this.N&-2017|(a&7)<<5,this.J|=1),this.b-=5):W.call(this,a)},pg,rg,eg,eg,eg,eg],Jg=[Mf,gg,function(){se(this);this.J|=this.N&16;this.b-=13},Df,Of,Zf,ag,function(){this.qa(8,0,-8)},W,W,W,W,W,W,W,W],Fg=[Xf,Xf,Kf,Kf,jf,jf,kf,kf,hg,hg,W,W,W,W,cg,cg],Gg=[Cf,Af,wf,yf, -Ff,Gf,lf,mf,Lf,fg,tg,vg,xg,function(a){Kg[a>>6&3].call(this,a)},W,W],Kg=[W,function(a){a=xe(this,a,65536);re(this,a);S(this,a);this.b-=11},function(a){var b=te(this);this.I=this.b;ye(this,a,65536,b);S(this,b);this.b=this.I-Wf[this.g]},W]; -function Lg(a){w.call(this,"ROM",a,Lg,512);this.ga=this.g=null;this.B=a.addr;this.f=a.size;this.D=!1;this.w=a.alias;this.C=a.file;this.H=oa(this.C);if(this.C){a=this.C;var b=ta(this.H);"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;Da(a,null,!0,function(a,b,f){f?(c.R("Unable to load ROM resource (error "+f+": "+a+")"),c.C=null):(kb(c.Ua,a,b),(a=Ea(a,b))?(c.g=a.ea,c.ga=a.ga):c.C=null);eh(c)})}}A(Lg);k=Lg.prototype; -k.Ia=function(a,b,c,d){this.v=b;this.b=c;this.j=d;eh(this)};k.Ka=function(){this.ga&&(this.j&&fh(this.j,this.id,this.B,this.f,this.ga),delete this.ga);return!0};k.Ja=function(){return!0}; -function eh(a){if(!xb(a)){if(a.C){if(!a.g||!a.v)return;a.f||(a.f=a.g.length);if(a.g.length!=a.f)zb(a,"ROM size ("+p(a.g.length,8,!0)+") does not match specified size ("+p(a.f,8,!0)+")");else{var b;a:{b=a.B;a.status(a.f+"-byte ROM at "+na(b));if(57344<=b&&b<57344+pc){var c={};b=(c[b]=[Lg.prototype.Sd,Lg.prototype.Ne,null,null,null,a.f>>1],c);if(Ib(a.v,a,b)){b=a.D=!0;break a}}else if(zc(a.v,b,a.f,jd)){for(c=0;c>>a.ka;0=b.length){F(a,"invalid block at offset "+q(m),1048576);break}for(var h=h+2,n=b[h++]&255|(b[h++]&255)<<8,r=b[h++]&255|(b[h++]&255)<<8,l=l+((n&255)+(n>>8)+(r&255)+(r>>8)),t=h,v=n-=6;0=b.length){F(a,"insufficient data for block at offset "+q(m),1048576); -break}l+=b[h++]&255;if(l&255){F(a,"invalid checksum ("+p(l,2,!0)+") for block at offset "+q(m),1048576);break}if(v)for(F(a,"loading "+q(v)+" bytes at "+q(r)+"-"+q(r+v-1),1048576);v--;)a.b.ub(r++,b[t++]&255);else r&1?a.b.da():null==d&&(d=r),null!=d&&F(a,"starting address: "+q(d),1048576);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=b)a.preventDefault&&a.preventDefault(),64e.K&&(e.K-=32),e.f|=128,e.f&64&&Jc(e.b,e.na))});this.M=Lc(52,4);this.ja=Ic(this.b,function(){e.g|=128;e.g&64&&Jc(e.b,e.M)});Ib(b,this,lh);Kb(b,this.reset.bind(this));I(this)}; -k.Ac=function(){if(!this.I){var a=wd(this.C,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ya(b[0]);if(c!=this.bb)return;b=ya(b[1]);if(this.I=tb(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.L=d.receiveData){this.status(this.Ua+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ka=function(a,b){if(!b)if(this.Ac(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.Ja=function(a){return a?this.save():!0};k.reset=function(){mh(this)};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return mh(this)};function mh(a){a.K=0;a.f=0;a.g=128;a.B=[];return!0}k.ac=function(a){if("number"==typeof a)this.B.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.T||8,c=a-this.H%a,this.T&&(b=xa("",c)));this.S&&!this.H&&c&&(b=String.fromCharCode(this.S)+b);this.w.value+=b;this.w.scrollTop=this.w.scrollHeight;this.H+=c}else if(null!=this.D){if(10==a||1024<=this.D.length)this.i(this.D), -this.D="";10!=a&&(this.D+=String.fromCharCode(a))}this.g&=-129;Kc(this.b,this.ja,1E3/Math.round(this.ca/10))}};var nh={},lh=(nh[65392]=[null,null,X.prototype.Md,X.prototype.He,"RCSR"],nh[65394]=[null,null,X.prototype.Ld,X.prototype.Ge,"RBUF"],nh[65396]=[null,null,X.prototype.fe,X.prototype.af,"XCSR"],nh[65398]=[null,null,X.prototype.ee,X.prototype.$e,"XBUF"],nh);$a(function(){for(var a=E(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.G[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.G[b]=c,c.onclick= -function(){var a=d.G.listTapes;a&&qh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.G[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;qh(d,oa(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.G[b]=c,!0}return!1}; -k.Ia=function(a,b,c,d){this.C=a;this.v=b;this.b=c;this.j=d;this.T=rh(a);var e=this;if((this.g=wd(this.C,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){u("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.X=Lc(56,4);this.ca=Ic(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.Kc.indexOf("/api/v1/dump")&&(e=ta(c),f="json"==e||"gz"==e?encodeURI(c):Fa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Da(f,null,!0,function(e,f,g){var h=0>g&&a.C&&!a.C.A.ia;g?a.R('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(kb(a.Ua,e,f),(e=Ea(e,f))&&Ah(a,b,c,d,e.ea,e.Oa, -e.Na));a.A.eb=!1;a.D&&(a.D--,a.D||I(a));xh(a)})}function uh(a,b,c,d){if((a=a.G.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ya);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ta(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ua(c,"/")&&(d="dir"),f=Fa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.jc?"":e)+"&format=json"));return!!Da(f, -null,!0,function(b,c,d){Hh(a,b,c,d)})} -function Hh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.C&&!a.C.A.ia;if(d)a.controller.R('Unable to load disk "'+a.ab+'" (error '+d+": "+b+")",f);else{kb(a.controller.Ua,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(h.length)if(1==h.length)u(h[0]);else{a.ya=h.length;a.Ea=h[0].length;a.sa=h[0][0].length;var l=h[0][0][0];a.Pa=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var t=l.bytes;if(void 0!==t&&t.length){for(var v=m<<2,z=t.length;z>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Fa?f=a.Sa+a.Fa&&(a.Fa+=f-(a.Sa+a.Fa)+1):(a.Sa=f,a.Fa=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;lb&&-2!=b&&this.controller.R("Unable to restore disk '"+this.ab+": "+c);return b}; -k.toJSON=function(){var a;a=0;for(var b;b=Jh(this,a++);)Lh(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function Lh(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function O(a){w.call(this,"RL11",a,O,8388608);this.w=a.autoMount||null;this.H=0;this.f=Array(4);this.L=!Ma("Mobi")&&window&&"FileReader"in window}A(O);k=O.prototype; -k.wa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.G[b]=c,c.onchange=function(){var a=d.G.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){u("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.G[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Mh(d,a)},!0;case "loadDrive":return this.G[b]= -c,c.onclick=function(){var a=d.G.listDisks;a&&Nh(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.L){c.parentNode.removeChild(c);break}this.G[b]=c;c.onclick=function(){var a=d.G.listDrives;if(a&&a.options&&d.f)if(a=d.f[la(a.value,10)||0])if(a=a.Ga){var b;b="";for(var c=0,h;h=Jh(a,c++);)for(var l=0,m=h.length;lb;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Mh(this,0)}}return!0};k.Ja=function(a){return a?this.save():!0};k.reset=function(){Oh(this)};k.save=function(){return(new Q(this)).data()}; -k.restore=function(a){return Oh(this,a[0])};function Rh(a,b){b||(a.H=0);if(a.w)for(var c in a.w){var d=a.w[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.G.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.f.length)a.R("Unable to load the selected drive");else if(c)if("?"==c)a.R('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=oa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Th(a,e,b,c,!1,d)}else Sh(a,e)} -function Th(a,b,c,d,e,f){var g=-1,h=a.f[b];h.ib.toLowerCase()!=d.toLowerCase()&&(g++,Sh(a,b,!0),h.ic?a.R("RL11 busy"):(h.ic=!0,e&&(h.hc=!0,a.H++,H(a)&&F(a,"auto-loading disk: "+c)),h.Vb=!!f,Gh(new Ch(a,h,"preload"),c,d,f,a.ad)&&g++));return g} -k.ad=function(a,b,c,d,e){var f;a.ic=!1;b&&(f=b.b.length?[b.b.length,b.b[0].length,b.b[0][0].length,b.b[0][0][0].length]:[0,0,0,0],b&&f[0]>a.ya||f[1]>a.Ea)&&(this.R('Disk "'+c+'" too large for drive '+("RL"+a.kc)),b=null);b?(a.Ga=b,a.ab=c,a.ib=d,this.R('Mounted disk "'+c+'" in drive '+("RL"+a.kc),a.hc||e),this.C&&this.C.vb()):a.Vb=!1;a.hc&&(a.hc=!1,--this.H||I(this));Mh(this,a.kc)}; -function Qh(a,b,c,d){if((a=a.G.listDisks)&&a.options){for(var e=0;e>12&48;this.K=f>>16&63;this.B=this.g=b<<7|(c?64:0)|d&63;this.D=65536-e&65535;a&&(this.fa=this.fa|a|32768);return!0}; -k.sd=function(a,b,c,d,e,f,g){var h=0,l=a.Ga,m=null,n;l||(h=5120,e=0);for(;e--;){if(!m){m=a.Ga.seek(b,c,d+1);if(!m){h=5120;break}n=0}var r,t;if(0>(r=a.Ga.read(m,n++))||0>(t=a.Ga.read(m,n++))){h=5120;break}this.v.xb(f,r|t<<8);if(Hc(this.v)){h=8192;break}f+=2;if(n>=l.Pa&&(m=null,++d>=l.sa&&(d=0,++c>=l.Ea&&(c=0,++b>=l.ya)))){h=5120;break}}return g(h,b,c,d,e,f)}; -k.pe=function(a,b,c,d,e,f,g){var h=0,l=a.Ga,m=null,n;l||(h=5120,e=0);for(;e--;){var r=this.v.Ya(f);if(Hc(this.v)){h=8192;break}f+=2;if(!m){m=a.Ga.seek(b,c,d+1,!0);if(!m){h=5120;break}n=0}if(!a.Ga.write(m,n++,r&255)||!a.Ga.write(m,n++,r>>8)){h=5120;break}if(n>=l.Pa&&(m=null,++d>=l.sa&&(d=0,++c>=l.Ea&&(c=0,++b>=l.ya)))){h=5120;break}}return g(h,b,c,d,e,f)};k.Pd=function(){return this.fa&65535}; -k.Ke=function(a){this.fa=this.fa&-1023|a&1022;this.M=this.M&-4|(a&48)>>4;if(!(this.fa&128)){var b;a=!0;var c=this.f[(this.fa&768)>>8],d,e,f,g;this.fa&=-2;switch(this.fa&14){case 4:this.g&8&&(this.fa&=63);this.D=c.status|this.B&64;break;case 6:1==(this.g&3)&&(b=this.g&65408,c=(this.g&16)<<2,this.B=this.g&4?this.B+b:this.B-b,this.g=this.B=this.B&65408|c);break;case 8:this.D=this.B;break;case 12:b=this.sd;case 10:b||(b=this.pe),d=this.g>>7,e=this.g&64?1:0,f=this.g&63,d>=c.ya||f>=c.sa?this.fa|=37888: -(g=(this.K&63)<<16|this.I,a=65536-this.D&65535,a=b.call(this,c,d,e,f,a,g,this.Zc.bind(this)))}a&&(this.fa|=129,this.fa&64&&Jc(this.b,this.O))}};k.Nd=function(){return this.I};k.Ie=function(a){this.I=a&65534};k.Qd=function(){return this.g};k.Le=function(a){this.g=a};k.Rd=function(){return this.D};k.Me=function(a){this.D=a};k.Od=function(){return this.K};k.Je=function(a){this.K=a&63}; -var Uh={},Ph=(Uh[63744]=[null,null,O.prototype.Pd,O.prototype.Ke,"RLCS"],Uh[63746]=[null,null,O.prototype.Nd,O.prototype.Ie,"RLBA"],Uh[63748]=[null,null,O.prototype.Qd,O.prototype.Le,"RLDA"],Uh[63750]=[null,null,O.prototype.Rd,O.prototype.Me,"RLMP"],Uh[63752]=[null,null,O.prototype.Od,O.prototype.Je,"RLBE"],Uh);function Vh(a){w.call(this,"Debugger",a,Vh);this.ca=a.base||16;this.Ca=!1;this.K=0;this.T=!1;this.B=-1;this.g=[];this.X={}}A(Vh); -var Wh={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Vh.prototype.yc=function(){return-1};Vh.prototype.zc=function(){}; -function Xh(a,b,c,d){if(c)if(b){0>a.B&&a.g.length&&(a.B=0);if(0>a.B||b!=a.g[a.B])a.g.splice(0,0,b),a.B=0;a.B--}else a.T?b="end":b=a.g[a.B+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ya(b.substring(c,f))),c=f+1}}return a} -function Yh(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Zh(a,b,c){var d;if(b){b=$h(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+na(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}function ci(a,b){if(b)return bi(a,b,a.X[b]);var c=0;for(b in a.X)bi(a,b,a.X[b]),c++;return 0this.b.fb?mi:[];Vc(this,64,function(a){a:{var b=d.v.Y,c=a[0],e=a=0,l=b.length;if(c){a=d.aa(ni(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.v.ka;l=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Dc[c],n&&d.i(p(n.id,8)+" %"+ -p(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"} -k.zc=function(a){var b;if(0<=a)if(8>a)b=this.b.u[a];else if(16>a)b=this.b.$a[a-8];else if(20>a)b=this.b.La[a-16];else{var c=this.b,d=this.w;switch(a){case 20:b=bd(this.b);break;case 21:b=c.Rb;break;case 22:b=c.va;break;case 23:b=c.hb;break;case 24:b=Wc(c);break;case 25:b=Yc(c);break;case 26:b=Zc(c);break;case 27:b=c.Ta;break;case 28:d&&(b=d.ua);break;case 29:d&&(b=d.tb);break;case 30:d&&mc(d)&&(b=d.Za)}}return b}; -k.message=function(a,b){b&&(a+=" @"+K(this,Y(this.b.pa&65535).F));if(this.la&1073741824)this.Aa.push(a);else if(!this.ja||a!=this.ja){this.ja=a;b=!1;if(this.la&-2147483648&&this.b&&(b=this.b.A.W)||wb(this,!0))this.da(),b&&(a+=" (cpu halted)");this.i(a);this.b&&(a=this.b,Ed(a),a.Ba=0,a.ra())}}; -function fi(a){var b;if(!Ge(a))a.H&&a.H.length&&a.i("instruction history buffer freed"),a.ba=0,a.H=[];else if(!a.H||!a.H.length){a.H=Array(1E3);for(b=0;b>8;a.i("trapped to "+K(a,c&255,1)+" ("+(0>d?Bb[-d]:K(a,d))+")")}a.L=Y(a.b.u[7]);b&&1!=a.O?ui(a):vi(a)}}function ti(a,b){var c;(c=!a.b||!xb(a.b))||(c=a.b,c.A.ia?c=!0:(c.i(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.A.W?(b||a.i("cpu busy or unavailable, command ignored"),!1):!yb(a.b)}k.Ka=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; -k.Ja=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){fi(this);this.Ba=0;this.ja=null;this.K=0;this.L=Y(this.b.u[7]);this.A.W=!1;wi(this);a||zd(this)};k.save=function(){var a=new Q(this);a.set(0,pi(this.L));a.set(1,pi(this.S));a.set(2,[this.g,this.T,this.la]);a.set(3,this.I);return a.data()}; -k.restore=function(a){var b=0;void 0!==a[2]&&(this.L=qi(a[b++]),this.S=qi(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.T=a[b][1],this.la|=a[b][2]);a[3]&&(this.I=a[3]);return!0};k.start=function(a,b){this.O||this.i("running");this.A.W=!0;this.Jb=a;this.Kb=b}; -k.stop=function(a,b){if(this.A.W){this.A.W=!1;this.K=b-this.Kb;if(!this.O){b="stopped";if(this.K){a-=this.Jb;var c=0d&&(d=a.b.Ya(b)),65535!=(d&65535)&&(a.pc(a.H[a.ba],b),++a.ba==a.H.length&&(a.ba=0)));return!1}function Nf(a){var b=a.b;if(b.A.W)throw R(b,a.b.pa&65535),a.da(),-1;return!1} -function ei(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b>>d.ka],!1)}a.M=["br"];if(a.D)for(b=1;b>>d.ka],!0);a.D=["bw"];a.nb=0}k.ob=function(a,b,c){var d=!0;c||xi(this,a,b,!1,!0);if(a!=this.f){var e=this.aa(b);if(-1===e)this.i("invalid address: "+K(this,b.F)),d=!1;else{var f=this.v;f.Y[e>>>f.ka].ob(e&f.v,a==this.D)}}d&&(a.push(b),c?b.Ra=!0:(yi(this,a,a.length-1,"set"),fi(this)));return d}; -function xi(a,b,c,d,e){var f=!1;c=a.aa(c);for(var g=1;g>>d.ka],b==a.D));h.Ra||fi(a);break}}return f}function zi(a,b){for(var c=1;c>23)&65535,x=K(v,t);else if(8192==B)t=t.F-((f&63)<<1)&65535,x=K(v,t);else if(12288==B)x=K(v,f&7,1);else if(24576==B)x=K(v,f&63,1);else if(32768==B)x=K(v,f&255,1);else if(B=f&z,z&4032&&(B>>=6,z>>=6), -z&63)switch(z=B&7,B&56){case 0:x=si(z);break;case 8:x="@"+si(z);break;case 16:7>z?x="("+si(z)+")+":(B=v.oa(t,2),x="#"+K(v,B,0,!0));break;case 24:7>z?x="@("+si(z)+")+":(B=v.oa(t,2),x="@#"+K(v,B,0,!0));break;case 32:x="-("+si(z)+")";break;case 40:x="@-("+si(z)+")";break;case 48:B=v.oa(t,2);x=K(v,B,0,!0)+"("+si(z)+")";7==z&&(x=K(v,B+t.F&65535));break;case 56:B=v.oa(t,2),x="@"+K(v,B)+"("+si(z)+")",7==z&&(x="@"+K(v,B+t.F&65535))}v=x;if(!v||!v.length){h="INVALID";break}"string"!=typeof v&&(m=v[1],v=v[0]); -0b)c=si(b),c+="="+K(a,d.u[b]);else if(13>b)c="A"+(b-8)+"="+K(a,d.$a[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+K(a,d.La[b-16]);else switch(b){case 20:c="PS="+K(a,bd(d));break;case 21:c="IR="+K(a,d.Rb);break;case 22:c="ER="+K(a,d.va);break;case 23:c="SL="+K(a,d.hb);break;case 24:c="MMR0="+K(a,Wc(d));break;case 25:c="MMR1="+K(a,Yc(d));break;case 26:c="MMR2="+K(a,Zc(d));break;case 27:c="MMR3="+K(a,d.Ta);break;case 28:a.w&&(c="AR="+K(a,a.w.ua,3));break;case 29:a.w&& -(c="DR="+K(a,a.w.tb));break;case 30:a.w&&mc(a.w)&&(c="SR="+K(a,a.w.Za,3))}c&&(c+=" ");return c}function Di(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,20)+Z(a,21)+Z(a,23);d+=Ci(a,"T")+Ci(a,"N")+Ci(a,"Z")+Ci(a,"V")+Ci(a,"C");b&&(b=d,c=""+(Z(a,24)+Z(a,25)),c+=Z(a,26)+Z(a,27)+Z(a,22),c=c+"\n"+(Z(a,30)+Z(a,28)+Z(a,29)),d=b+("\n"+c));return d}k.uc=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],r=Aa(n,l,a.uc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({gf:b,F:c,dd:d,ga:e,sc:f})}function Ei(a,b,c){var d=[],e=a.aa(b)>>>0;for(b=0;b>>0,h=f.dd;if(e>=g&&eb)){e.u[b]= -g&65535;break}a.i("unknown register: "+f);return}a.C.ra();a.i("updated registers:")}}a.i(Di(a,d));c&&(a.L=Y(e.u[7]),vi(a,K(a,a.L.F)))}}function Ii(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(g=h[3],f=null);f=Bi(a,b,g,f);a.i(f);a.L=b;e-=b.F-l;c++}}} -function Ai(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.T&&(a.i("ended assemble at "+K(a,a.S.F)),a.L=a.S,a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ja=null;if(xb(a)&&0n||"z"qa.length&&(a.i("note: only "+qa.length+" available"),ca=qa.length);ia-=ca;0>ia&&(null==qa[qa.length-1].F?(ca=ia+ca,ia=0):ia+=qa.length);var Ud=[];"call"==Rg&&(Wb=1E5,Ud=["CALL"]);for(void 0!==Qg&&a.i(ca+" instructions earlier:");0=qa.length&&(ia=0);a.pb=ca;Tg++;Wb--}}Tg||(a.i("no "+Sg+"history available"),a.pb=void 0)}else{var ob=ni(a,pa);if(ob){var Yb=0,Vd=!1,Wd="ds"==Pa;Qa&&(Vd=!0,"l"==Qa.charAt(0)&&(Vd=!1,Qa=Qa.substr(1)||bj),Yb=ai(a,Qa)>>>0,65536Zd?String.fromCharCode(Zd):"."),Oc=Oc>>8}Ra&&(Ra+="\n");Ra=Wd?Ra+(Sa+","):Ra+(pa+" "+Sa+(0==Nc?" "+Yd:""))}Ra&&a.i(Ra);a.mb=ob}}}}break;case "e":if("else"==g[0])break;var rb,$d,ae,be,ce=g[0],de=g[1];"eb"==ce?(rb=1,$d=255,ae=a.Yb,be=a.Fb):"e"==ce||"ew"==ce?(rb=2,$d=65535,ae=a.oa,be=a.wb):de=null;if(null==de)a.i("edit memory commands:"), -a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var Pc=ni(a,de);if(Pc)for(var Qc=2;Qcge;){for(var Ta=null,gj=256;65536> -cc.F>>>0;){he.F=a.oa(cc,2);if(null==cc.F||!gj--)break;if(!(he.F&1)){for(var hj=a,Rc=he,Xg=null,dc=Rc.F,Yg=dc,ie=1;6>=ie&&dc;ie++){if(2\nLicense: GPL version 3 or later ");this.i("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bNi){if(Pi(d,this.I)){this.B=new Q(this,"1.30.3","failsafe");Pi(this.B)&&(Ui(this,d),a=2,Vi(this.B));this.B.set("timestamp",Ca());Wi(this.B);var e=this.f&&!this.D;if(1==a||Ha("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Ti(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Pi(d,g):("error"== -f&&"no machine state"!=g?(this.R("Error: "+g),"unable to verify user"==g&&(La("user",""),this.g=null)):this.i(f+": "+g),Vi(d),Pi(d)?(c=Ti(d),e=!0):c=!1))}e&&Si(this,c?d:null)}else 2==a&&d.clear()}else Si(this);delete this.I;delete this.K}e=sb(this.id);for(f=0;fa[1];a=a[2];this.ca=!0;this.A.ia=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.b&&(Xi(this,this.b,b,c,a),this.ra(),this.b.yb());this.O&&(Ui(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.C=0}; -function Ui(a,b){if(Ha("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Da("http://www.pcjs.org/api/v1/report",d,!0)}} -function Ki(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Q(a,"1.30.3"),g=new Q(a,"1.30.3","validate"),h=Ca();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ja&&(c&&a.b.da(),d=a.b.Ja(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.A.ia=!1,!1===d&&(e=null)));for(var h=sb(a.id),l=0;l=c||30<=(b.Ib+=c))&&(d.textContent=b.A.W?b.xa.toFixed(2)+"Mhz":"Stopped",b.Ib=0)}if(this.w&&(b=this.w,a=a||0,b.D)){c=b.b.A.W;d=!!(b.b.J&4);if(0>=a||60<=(b.B+=a)){for(var e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Da(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);nj(a,b,c)}})}else c(a,null)} -function oj(a,b,c,d){function e(a){if(void 0===h){var b=g&&E(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=wa(a))}function f(a){e("Error: "+a);l&&(--aj||bb(!0));l=!1}var g,h,l=!0;aj++;jb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c|| -(c="/versions/pdpjs/1.30.3/components.xsl");m=function(d,h){h?lj(c,null,null,!1,e,function(d,l){l?(kb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--aj||bb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--aj||bb(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?lj(b,a,d,!0,e,m):mj(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return l}window.embedPDP11=function(a,b,c,d){bb(!1);return oj(a,b,c,d)};window.enableEvents=bb;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.30.3/pdp11-dbg.map diff --git a/versions/pdpjs/1.30.3/pdp11.js b/versions/pdpjs/1.30.3/pdp11.js deleted file mode 100644 index 2c5823930..000000000 --- a/versions/pdpjs/1.30.3/pdp11.js +++ /dev/null @@ -1,245 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da>=3;return""+c}function m(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function q(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var qa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ra=Date.now||function(){return+new Date}; -function sa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function r(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function ta(a,b){var c,d={K:null,X:null,ha:null,ga:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ha=g.load;d.ga=g.exec;if(e=g.bytes)d.K=e;else if(e=g.words)for(d.K=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.K=Array(4*e.length),f=c=0;c>8&255,d.K[f++]=e[c]>>16&255,d.K[f++]=e[c]>>24&255;else d.K=g;d.X=g.symbols;d.K.length?1==d.K.length&&(t(d.K[0]),d=null):(t("Empty resource: "+a),d=null)}catch(k){t("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Fa=this.id:(this.ra=this.id.substr(0,b),this.Fa=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Da:!1,vb:!1,N:!1,error:!1};this.nb=null;this.j.error=!1;this.o={};this.F=null;this.xd=d||0;z.push(this)}var Ka=void 0,La={}; -if(window){Ka||(Ka=window.location.search.substr(1));for(var Ma,Na=/\+/g,Oa=/([^&=]+)=?([^&]*)/g;Ma=Oa.exec(Ka);)La[decodeURIComponent(Ma[1].replace(Na," "))]=decodeURIComponent(Ma[2].replace(Na," "))}function Pa(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 A(a,b){b||(b=y);a.prototype=Pa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Qa=window.PCjs.Machines||(window.PCjs.Machines={}),z=window.PCjs.Components||(window.PCjs.Components=[])}else Qa={},z=[];function Ra(a,b,c){Qa[a]&&b&&(Qa[a][b]=c)}function B(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Bc,a]}A(Ya);var Za=7;function $a(a,b){return a.b[b]&&a.b[b][1]}h=Ya.prototype;h.reset=function(){this.stop()}; -h.$=function(a,b,c,d){if(this.l&&this.l.$(a,b,c,d)||this.a&&this.a.$(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this, -b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):this.parent.$.call(this,a,b,c,d)}};h.ja=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.F=d;cb(b,this,db);eb(b,this.reset.bind(this));fb(this);gb(this)};h.la=function(a,b){b||(hb(),this.reset());return!0};h.ka=function(){return!0}; -function ib(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fb(a,b){for(var c in a.g)ib(a,c,null!=b?b:a.g[c])}function jb(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gb(a){for(var b in a.b)jb(a,b,a.b[b][1])}function kb(a,b,c,d){a.o[b]&&(void 0===c&&(Wa(a,"Value for "+b+" is invalid"),G(a.a)),c=8==(a.F&&a.F.h||8)?ka(c,d):m(c,d),a.o[b].textContent!=c&&(a.o[b].textContent=c))} -function ab(a,b){var c=a.b[b];jb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.A="DEP"==b,a.B="EXAM"==b)}function bb(a,b){var c=a.b[b];c[2]&&c[3]&&(jb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.zc=function(a){a||this.a.j.P||(a=this.a,a.h.reset(),lb(a),$a(this,"ENABLE")&&mb(this.a))};h.Ac=function(){};h.vc=function(a){a||G(this.a)}; -h.tc=function(a){if(!a&&!this.a.j.P)if($a(this,"ENABLE"))mb(this.a);else{a=this.F;var b;if(b=a)a.j.Da&&(a.j.vb=!0),b=!a.j.Da;if(b)Ua(a,!0),a.sb(0,null),Ua(a,!1);else try{var c=this.a.sb(1);0a;a++)this.b["S"+a][1]=0&1<a.a.La?8:16,c=65472<=a.ea&&a.ea<65472+b,b=c?1:2,c=c?15:a.h.pa;$a(a,"STEP")||(b=-b);sb(a,a.ea&~c|a.ea+b&c)}function sb(a,b){a.ea=b&a.h.pa;b=a.ea;for(var c=0;22>c;c++)tb(a,"A"+c,b&1<c;c++)tb(a,"D"+c,b&1<>2;this.l=this.b-1;this.A=this.B/this.b|0;this.Aa=[];this.g=0;this.m=!1;this.wb=0;this.w=[];this.jc=[wb,xb,yb,zb];a=new I(this);Ab(a,this.F);this.h=Array(this.A);for(b=0;b>8:e[2](f)&255):f&1&&(e=d.Aa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;J(d,b,16);return 255} -function xb(a,b,c){var d=!1,e=this.controller,f=e.Aa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Aa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||J(e,c,16)}function yb(a,b){var c=-1,d=this.controller;a=d.Aa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;J(d,b,16);return 65535} -function zb(a,b,c){var d=!1,e=this.controller;a=e.Aa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||J(e,c,16)}function Cb(a,b){if(b!=a.s){var c;a.s&&(c=(1<>>a.c;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ka)return l.tb+=l.Ka-f,l.Ka=f,!0;if(f>=l.Ka+l.tb){p=l.size-(f-n);p>g&&(p=g);l.tb=f-l.Ka+p;f=n+a.b;g-=p;k++;continue}}return Hb(1,f,g)}f=new I(a,f,p,a.b,d,e);Ab(f,a.F,l);a.h[k++]=f;f=n+a.b;g-=p}return 0>=g?(d==Ib&&(a.wb+=c),a.status((c>>10)+"Kb "+Jb[d]+" at "+ka(b)),!0):Hb(2,b,c)} -function Eb(a,b,c){var d=[];for(b>>>=a.c;0>>=a.c;0>>a.c].Hb(b&a.l,b)}function Mb(a,b){3932160<=b&&(b=Lb(a.a,b));return a.h[(b&a.pa)>>>a.c].V(b&a.l,b)}h.Ya=function(a){3932160<=a&&(a=Lb(this.a,a));var b=a&this.l,c=(a&this.pa)>>>this.c;this.m=!1;this.g++;a=this.h[c].Xb(b,a);this.g--;return a}; -function Nb(a,b,c){3932160<=b&&(b=Lb(a.a,b));a.h[(b&a.pa)>>>a.c].Lb(b&a.l,c&255,b)}h.cb=function(a,b){3932160<=a&&(a=Lb(this.a,a));this.m=!1;this.g++;this.h[(a&this.pa)>>>this.c].Mb(a&this.l,b&255,a);this.g--};function Ob(a,b,c){3932160<=b&&(b=Lb(a.a,b));a.h[(b&a.pa)>>>a.c].ub(b&a.l,c&65535,b)}h.eb=function(a,b){3932160<=a&&(a=Lb(this.a,a));var c=a&this.l,d=(a&this.pa)>>>this.c;this.m=!1;this.g++;this.h[d].hc(c,b&65535,a);this.g--}; -function Pb(a){for(var b=0,c=[],d=0;da.a.La)){var g=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,l=f[2]?f[2].bind(b):null,n=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&l&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(l)),!k&&n&&(k=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var p=f[4],u=f[5]||1,w=0;w>16&65535);a=a.Fb;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Oc=function(){var a=this.a;a.W&57344||(a.Gb=a.A&65535);return a.Gb};h.Pc=function(){return this.a.Ba}; -h.Jd=function(a){var b=this.a;1170>b.La&&(a&=-49);b.Ba!=a&&(b.Ba=a,b.Sa=a&16?4194303:262143,Yb(b))};h.qd=function(a){a=a>>1&63;var b=this.a.fb[a>>1];return a&1?b>>16:b&65535};h.je=function(a,b){b=b>>1&63;var c=b>>1;this.a.fb[c]=b&1?this.a.fb[c]&65535|(a&63)<<16:this.a.fb[c]&-65536|a&65534};h.jd=function(a){return this.a.H[1][a>>1&7]};h.ce=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.gd=function(a){return this.a.H[1][(a>>1&7)+8]};h.ae=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295}; -h.hd=function(a){return this.a.Y[1][a>>1&7]};h.be=function(a,b){b=b>>1&7;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.fd=function(a){return this.a.Y[1][(a>>1&7)+8]};h.$d=function(a,b){b=(b>>1&7)+8;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Jc=function(a){return this.a.H[0][a>>1&7]};h.Fd=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.Hc=function(a){return this.a.H[0][(a>>1&7)+8]};h.Dd=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295};h.Ic=function(a){return this.a.Y[0][a>>1&7]}; -h.Ed=function(a,b){b=b>>1&7;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.Gc=function(a){return this.a.Y[0][(a>>1&7)+8]};h.Cd=function(a,b){b=(b>>1&7)+8;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.pd=function(a){return this.a.H[3][a>>1&7]};h.ie=function(a,b){this.a.H[3][b>>1&7]=a&65295};h.nd=function(a){return this.a.H[3][(a>>1&7)+8]};h.ge=function(a,b){this.a.H[3][(b>>1&7)+8]=a&65295};h.od=function(a){return this.a.Y[3][a>>1&7]};h.he=function(a,b){b=b>>1&7;this.a.Y[3][b]=a;this.a.H[3][b]&=65295}; -h.md=function(a){return this.a.Y[3][(a>>1&7)+8]};h.fe=function(a,b){b=(b>>1&7)+8;this.a.Y[3][b]=a;this.a.H[3][b]&=65295};h.Na=function(a){a&=7;return this.a.C&2048?this.a.Ea[a]:this.a.f[a]};h.Pa=function(a,b){b&=7;this.a.C&2048?this.a.Ea[b]=a:this.a.f[b]=a};h.Uc=function(){return this.a.C&49152?this.a.qa[0]:this.a.f[6]};h.Od=function(a){this.a.C&49152?this.a.qa[0]=a:this.a.f[6]=a};h.Xc=function(){return this.a.f[7]};h.Rd=function(a){this.a.f[7]=a}; -h.Oa=function(a){a&=7;return this.a.C&2048?this.a.f[a]:this.a.Ea[a]};h.Qa=function(a,b){b&=7;this.a.C&2048?this.a.f[b]=a:this.a.Ea[b]=a};h.Vc=function(){return 1==(this.a.C&49152)>>14?this.a.f[6]:this.a.qa[1]};h.Pd=function(a){1==(this.a.C&49152)>>14?this.a.f[6]=a:this.a.qa[1]=a};h.Wc=function(){return 3==(this.a.C&49152)>>14?this.a.f[6]:this.a.qa[3]};h.Qd=function(a){3==(this.a.C&49152)>>14?this.a.f[6]=a:this.a.qa[3]=a};h.Ec=function(a){return this.a.$b[a-65504>>1]}; -h.Ad=function(a,b){this.a.$b[b-65504>>1]=a};h.Wb=function(a){if(65520==a){a=0;switch(Ib){case Ib:a=this.h.wb}a=(a>>6)-1}else a=0;return a};h.gc=function(){};h.ld=function(){return 1};h.ee=function(){};h.Dc=function(){return this.a.fa};h.zd=function(){this.a.fa=0};h.Lc=function(){return this.a.Zb};h.Hd=function(a,b){b&1||(a&=255);this.a.Zb=a};h.Qc=function(a,b){return b?0:this.a.Ib};h.Kd=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Ib=a;b.u|=2}; -h.kd=function(a,b){return b?0:this.a.bb&65280};h.de=function(a){this.a.bb=a|255};h.Tc=function(){return Zb(this.a)};h.Nd=function(a){$b(this.a,a&-1793|Zb(this.a)&1792);this.a.u|=128};h.fc=function(){}; -var M={},Wb=(M[61568]=[null,null,L.prototype.qd,L.prototype.je,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.jd,L.prototype.ce,"SIPDR",8,1145,256],M[62608]=[null,null,L.prototype.gd,L.prototype.ae,"SDPDR",8,1145,256],M[62624]=[null,null,L.prototype.hd,L.prototype.be,"SIPAR",8,1145,256],M[62640]=[null,null,L.prototype.fd,L.prototype.$d,"SDPAR",8,1145,256],M[62656]=[null,null,L.prototype.Jc,L.prototype.Fd,"KIPDR",8,1145,256],M[62672]=[null,null,L.prototype.Hc,L.prototype.Dd,"KDPDR",8,1145,256], -M[62688]=[null,null,L.prototype.Ic,L.prototype.Ed,"KIPAR",8,1145,256],M[62704]=[null,null,L.prototype.Gc,L.prototype.Cd,"KDPAR",8,1145,256],M[62798]=[null,null,L.prototype.Pc,L.prototype.Jd,"MMR3",1,1145,256],M[65382]=[null,null,L.prototype.Kc,L.prototype.Gd,"LKS"],M[65402]=[null,null,L.prototype.Mc,L.prototype.Id,"MMR0",1,1145,256],M[65404]=[null,null,L.prototype.Nc,L.prototype.fc,"MMR1",1,1145,256],M[65406]=[null,null,L.prototype.Oc,L.prototype.fc,"MMR2",1,1145,256],M[65408]=[null,null,L.prototype.pd, -L.prototype.ie,"UIPDR",8,1145,256],M[65424]=[null,null,L.prototype.nd,L.prototype.ge,"UDPDR",8,1145,256],M[65440]=[null,null,L.prototype.od,L.prototype.he,"UIPAR",8,1145,256],M[65456]=[null,null,L.prototype.md,L.prototype.fe,"UDPAR",8,1145,256],M[65472]=[null,null,L.prototype.Na,L.prototype.Pa,"R0SET0"],M[65473]=[null,null,L.prototype.Na,L.prototype.Pa,"R1SET0"],M[65474]=[null,null,L.prototype.Na,L.prototype.Pa,"R2SET0"],M[65475]=[null,null,L.prototype.Na,L.prototype.Pa,"R3SET0"],M[65476]=[null,null, -L.prototype.Na,L.prototype.Pa,"R4SET0"],M[65477]=[null,null,L.prototype.Na,L.prototype.Pa,"R5SET0"],M[65478]=[null,null,L.prototype.Uc,L.prototype.Od,"R6KERNEL"],M[65479]=[null,null,L.prototype.Xc,L.prototype.Rd,"R7KERNEL"],M[65480]=[null,null,L.prototype.Oa,L.prototype.Qa,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.Oa,L.prototype.Qa,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.Oa,L.prototype.Qa,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.Oa,L.prototype.Qa,"R3SET1",1,1145],M[65484]= -[null,null,L.prototype.Oa,L.prototype.Qa,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Oa,L.prototype.Qa,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.Vc,L.prototype.Pd,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.Wc,L.prototype.Qd,"R6USER",1,1145],M[65504]=[null,null,L.prototype.Ec,L.prototype.Ad,"CTRL",8,1170],M[65520]=[null,null,L.prototype.Wb,L.prototype.gc,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.Wb,L.prototype.gc,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.ld,L.prototype.ee, -"SYSID",1,1170],M[65526]=[null,null,L.prototype.Dc,L.prototype.zd,"CPUERR",1,1170],M[65528]=[null,null,L.prototype.Lc,L.prototype.Hd,"MB",1,1170],M[65530]=[null,null,L.prototype.Qc,L.prototype.Kd,"PIR"],M[65532]=[null,null,L.prototype.kd,L.prototype.de,"SL"],M[65534]=[null,null,L.prototype.Tc,L.prototype.Nd,"PSW"],M); -Ga(function(){for(var a=E(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.b,0,this.size>>2),hc(this,dc?ic:jc);else{a=this.a=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ba:function(a,b){a&1&&J(this.h,b,64);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},sa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.wa=!0},D:function(a,b){return this.I(a,b)},R:function(a,b){return this.Xb(a,b)},na:function(a,b,c){this.l?this.g(a,b,c):this.Mb(a,b,c)},ua:function(a,b,c){this.l?this.g(a,b,c):this.hc(a,b,c)},B:function(a){return this.o[a]},J:function(a){return this.o[a]},O:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},aa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},ma:function(a,b){this.o[a]=b;this.wa=!0},ra:function(a,b){this.o[a]=b;this.wa=!0},ta:function(a,b,c){a&1&&J(this.h, -c,64);this.c.setUint16(a,b,!0);this.wa=!0},va:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.wa=!0}};function Ab(a,b,c){a.F=b;a.i=a.m=0;c&&((a.i=c.i)&&nc(a,oc,!1),(a.m=c.m)&&pc(a,oc,!1))}function pc(a,b,c){c&&a.m||(a.Lb=!a.l&&b[1]||a.g,a.ub=!a.l&&b[3]||a.A);if(c||void 0===c)a.Mb=b[1]||a.g,a.hc=b[3]||a.A}function nc(a,b,c){c&&a.i||(a.Hb=b[0]||a.v,a.V=b[2]||a.w);if(c||void 0===c)a.I=b[0]||a.v,a.Xb=b[2]||a.w}function hc(a,b){b||(b=qc);nc(a,b,void 0);pc(a,b,void 0)} -var qc=[],mc=[I.prototype.M,I.prototype.sa,I.prototype.ba,I.prototype.za],oc=[I.prototype.D,I.prototype.na,I.prototype.R,I.prototype.ua];if(Xa)var jc=[I.prototype.B,I.prototype.ma,I.prototype.O,I.prototype.ta],ic=[I.prototype.J,I.prototype.ra,I.prototype.aa,I.prototype.va]; -function rc(a,b){y.call(this,"CPU",a,rc,1);b=a.cycles||b;var c=a.multiplier||1;this.Bb=0;this.ob=b;this.ua=c;this.Db=Math.round(this.ob/1E4)/100;this.Ha=this.Db*this.ua;this.j.P=!1;this.j.Jb=!1;this.j.Wa=a.autoStart;this.j.ib=!1;this.kb=this.Ia=0;this.mb=a.csStart;this.Ta=a.csInterval;this.Ua=a.csStop;this.J=[];this.ec=this.ud.bind(this);F(this)}A(rc);var sc=["power","reset"];h=rc.prototype; -h.ja=function(a,b,c,d){this.l=a;this.h=b;this.F=d;this.w=a.w;for(b=0;b=a.Ia&&(a.Ia+=a.Ta,c=!0);0<=a.Ua&&a.Ua<=wc(a)&&(a.Ta=a.Ua=-1,vc(a),G(a),c=!0);c&&a.T(wc(a)+" cycles: checksum="+m(a.kb))}} -h.$=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.j.N)a=!0;else{var b=null,c,k=B(a.id);for(c=0;ca.Ga/a.Ha&&(b=1);a.ua=b;b=a.Db*a.ua;if(a.Ha!=b){a.Ha=b;b=a.Ha.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.T("target speed: "+b)}c&&a.l&&zc(a.l)}ob(a,a.na);a.na=0;a.ba=ra();a.sa=0;yc(a)}function Sb(a,b){var c=a.J.length;a.J.push([-1,b]);return c}function Ub(a,b,c,d){0<=b&&ba.J[b][0])&&(c=a.ob*a.ua/1E3*c|0,a.j.P&&(c+=Ac(a)),a.J[b][0]=c)} -function nb(a,b){for(var c=a.J.length-1;0<=c;c--){var d=a.J[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ac(a,b){var c=a.ta-=a.a;a.a=a.I=0;b&&(a.ta=0);return c} -h.ud=function(){if(this.j.P){this.Eb>=this.ob&&yc(this,!0);this.Va=0;this.jb=ra();if(this.sa){var a=this.jb-this.sa;a>this.cc&&(this.ba+=a,this.ba>this.jb&&(this.ba=this.jb))}try{do{for(var b,c=this.j.ib?1:this.pb,d=this.J.length-1;0<=d;d--){var e=this.J[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.sb(b)}catch(f){if("number"!=typeof f)throw f;}b=Ac(this,!0);this.Va+=b;this.na+=b;pb(this,b);nb(this,b);this.Ra-=b;if(0>=this.Ra){this.Ra+=this.pb;15<=++this.dc&&(this.ya(),this.dc=0);break}}while(this.j.P)}catch(f){G(this); -this.l&&this.l.stop(ra(),wc(this));Wa(this,f.stack||f.message);return}if(this.j.P){a=setTimeout;b=this.ec;this.sa=ra();c=this.cc;this.Va&&(c=Math.round(c*this.Va/this.pb));c-=this.sa-this.jb;if(d=this.sa-this.ba)this.Ga=Math.round(this.na/(10*d))/100,864E5<=d&&(this.va=0,xc(this));if(0>c||this.Gac&&(this.ba-=c),c=0;this.Eb+=this.Va;this.sa+=c;a(b,c)}}}; -function mb(a){var b;a.j.error?(a.T(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.P)a.T(a.toString()+" busy");else{xc(a);a.j.P=!0;a.j.Jb=!0;if(b=a.o.run)b.textContent="Halt";a.l&&a.l.start(a.ba,wc(a));setTimeout(a.ec,0)}}h.sb=function(){return 0};function G(a){var b=!1;if(a.j.P){Ac(a);ob(a,a.na);a.na=0;a.j.P=!1;if(b=a.o.run)b.textContent="Run";a.l&&a.l.stop(ra(),wc(a));b=!0}a.j.complete=void 0;return b} -function Bc(a){this.La=+a.model||1170;this.Ub=a.addrReset||0;rc.call(this,a,6666667);this.qb=0;this.bc=255;1120==this.La?(this.decode=Cc.bind(this),this.za=this.mc,this.qb=8,this.bc=-1):(this.decode=Dc.bind(this),this.za=this.nc);Ec(this);this.ma=0;this.O=null;this.j.complete=!1}A(Bc,rc);h=Bc.prototype;h.reset=function(){this.status("model "+this.La);this.j.P&&G(this);Ec(this);uc(this);this.j.error=!1;this.parent.reset.call(this)}; -function Ec(a){a.m=65536;a.g=32768;a.i=65535;a.s=32768;a.C=15;a.f=[0,0,0,0,0,0,0,a.Ub,-1,-2,-3,-4,-5,-6,-7,-8];a.Ea=[0,0,0,0,0,0];a.qa=[0,0,0,0];a.v=0;a.hb=0;a.ne=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Y=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0]];a.fb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.$b=[0,0,0,0,0,0,0,0];a.Zb=0;a.u=0;a.B=a.D=0;a.c=a.b=a.Cb=0;a.Ja=-1;lb(a)}function lb(a){a.W=0;a.Fb=0;a.Gb=0;a.Ba=0;a.fa=0;a.Ib=0;a.bb=255;a.aa=0;a.gb=0;a.Sa=262143;a.Za=0;a.A=0;a.O=null;a.h&&Yb(a)}function Yb(a){a.aa?(a.R=65536,a.Tb=a.Ba&16?4186112:253952,a.M=a.sc,a.V=a.rd,a.ub=a.ke,Cb(a.h,a.Ba&16?22:18)):(a.R=0,a.Tb=57344,a.M=a.rc,a.V=a.Yb,a.ub=a.ic,Cb(a.h,16))} -function Xb(a,b){b&=-3073;if(a.W!=b){b&57344&&!(a.W&57344)&&(a.Fb=a.A>>16&65535,a.Gb=a.A&65535);a.W=b;a.gb=b>>5&3;a.hb=b>>1&15;var c=0;b&257&&(c=4,b&1&&(c|=2));a.aa!=c&&(a.aa=c,Yb(a))}}h.Qb=function(){return 0};h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.va,this.ua]);a.set(2,Pb(this.h));return a.data()}; -h.restore=function(a){var b=a[1];this.va=b[1];xc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c>14&3;c=a.C>>14&3;a.v!=c&&(a.qa[c]=a.f[6],a.f[6]=a.qa[a.v]);a.C=b;a.u|=2}function R(a,b){a.u&128||(a.s=a.i=b,a.g=0)}function Kc(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.g=c||0)}function Lc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.g=(c^b)&(d^b))} -function Mc(a,b){a.u&128||(a.s=a.i=a.m=b,a.g=a.s^a.m>>1)}function Nc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.g=(c^d)&(d^b))}function K(a,b,c,d){if(!a.ma){0>a.Ja?a.Ja=Zb(a):a.v||(d=-3);var e=!1;-3==d&&(b=4,a.fa|=4,a.f[6]=4,e=!0);a.A=b|4143316992;a.v=0;var f=a.V(b|a.R),g=a.V(b+2&65535|a.R);$b(a,g&-12289|a.Ja>>2&12288);Oc(a,a.Ja,e);Oc(a,a.f[7],e);Q(a,f);a.u&=~(c|18);a.u|=9;a.Ja=-1;if(-3<=d)throw b;}}function Pc(a){var b=Qc(a),c=Qc(a)&-1793;a.C&49152&&(c=c&-225|a.C&63712);Q(a,b);$b(a,c);a.u&=-17} -function Lb(a,b){var c=b>>13&31;31>c&&(b=a.Ba&32?a.fb[c]+(b&8190)&4194302:b&-3932161);return b} -function Rc(a,b,c){var d,e,f;if(!(c&a.aa))return f=b&65535,57344<=f&&(f|=a.Tb),f;d=b>>13;a.Ba&a.ne[a.v]||(d&=7);e=a.H[a.v][d];f=(a.Y[a.v][d]<<6)+(b&8191)&a.Sa;if(a.ma)return f;f&1&&!(c&1)&&(a.fa|=64,K(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.H[a.v][d]=e;if(f!=(4194170&a.Sa)||a.v)a.gb= -a.v,a.hb=d;g&&(g&57344&&(0<=a.Ja&&(g|=128),a.W&57344||(g|=a.W&4096|a.gb<<5|a.hb<<1,Xb(a,a.W&-61695|g&61694)),K(a,168,64,-1)),a.W&61440||!(f<(4191360&a.Sa)||f>(4194239&a.Sa))||(a.W|=4096,a.W&512&&(a.u|=64)));return f}function Qc(a){var b=a.V(a.f[6]|a.R);a.f[6]=a.f[6]+2&65535;return b}function Oc(a,b,c){var d=a.f[6]-2&65535;a.f[6]=d;a.A=a.A&65535|(a.A&-65536)<<8|16121856;c||a.za(4,-2,d);a.ub(d,b)} -function Sc(a,b,c,d){var e,f,g=d&8?0:a.R;switch(b){case 0:return K(a,4,0,-2),0;case 1:return 6==c&&a.za(d,0,a.f[6]),a.a-=3,7==c?a.f[c]:a.f[c]|g;case 2:f=2;e=a.f[c];6==c&&a.za(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!=c&&(e|=g);e=a.V(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;6==c&&a.za(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!=c&&(e|=g);e=a.V(e)|g;a.a-=8;break;case 6:return e=a.V(Hc(a,2)),e=e+a.f[c]&65535,6==c&&a.za(d,0, -e),a.a-=6,e|g;case 7:return e=a.V(Hc(a,2)),e=e+a.f[c]&65535,e=a.V(e|a.R),a.a-=10,e|g}a.f[c]=a.f[c]+f&65535;a.A=a.A&65535|(a.A&-65536)<<8|(f<<3&248|c)<<16;return e}h.mc=function(a,b,c){!this.v&&0>=b&&c<=this.bb&&(this.u|=32)};h.nc=function(a,b,c){!this.v&&a&4&&c<=this.bb&&(c<=this.bb-32?K(this,4,0,-3):(this.fa|=8,this.u|=32))};h.Ya=function(a){if(!this.aa)return this.h.Ya(a);this.ma++;a=this.Yb(Rc(this,a,2));this.ma--;return a}; -h.cb=function(a,b){this.aa?(this.ma++,a=Rc(this,a,5),a&1&&this.a--,Nb(this.h,a,b),this.ma--):this.h.cb(a,b)};h.eb=function(a,b){this.aa?(this.ma++,this.ic(Rc(this,a,4),b),this.ma--):this.h.eb(a,b)};h.rc=function(a,b,c){return Sc(this,a,b,c)};h.sc=function(a,b,c){return Rc(this,Sc(this,a,b,c),c)};h.Yb=function(a){return Mb(this.h,this.Za=a)};h.rd=function(a){return Mb(this.h,this.Za=Rc(this,a,2))};h.ic=function(a,b){Ob(this.h,this.Za=a,b&65535)};h.ke=function(a,b){Ob(this.h,this.Za=Rc(this,a,4),b)}; -function Tc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Sc(a,b,d,2),c&65536||61440!==(a.C&61440)&&(d&=65535),a.v=a.C>>12&3,c=a.V(d|c&a.R),a.v=a.C>>14&3):c=6!=d||(a.C>>2&12288)===(a.C&12288)?a.f[d]:a.qa[a.C>>12&3];return c}function Uc(a,b,c,d){a.A=a.A&65535|1441792;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Sc(a,b,e,4),c&65536||(e&=65535),a.v=a.C>>12&3,e=Rc(a,e|c&65536,4),a.v=a.C>>14&3,Ob(a.h,e,d)):6!=e||(a.C>>2&12288)===(a.C&12288)?a.f[e]=d:a.qa[a.C>>12&3]=d} -function Vc(a,b){b>>=6;var c=a.D=b&7;(b=a.B=(b&56)>>3)?(c=a.M(b,c,3),a=Kb(a.h,c)):a=a.f[c+a.qb]&a.bc;return a}function Wc(a,b){b>>=6;var c=a.D=b&7;return(b=a.B=(b&56)>>3)?Mb(a.h,a.M(b,c,2)):a.f[c+a.qb]}function Xc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Sc(a,b,c,8)}function Yc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.M(b,c,3),a=Kb(a.h,c)):a=a.f[c]&255;return a}function Zc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Mb(a.h,a.M(b,c,2)):a.f[c]} -function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Cb=a.M(b,e,7),c=0>c?a.f[-c-1]&255:c,c=d.call(a,c,Kb(a.h,e)),e&1&&a.a--,Nb(a.h,e,c)):(b=a.f[e],c=0>c?a.f[-c-1]&255:c,a.f[e]=b&65280|d.call(a,c,b&255))}function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.M(b,e,6),Ob(a.h,e,d.call(a,0>c?a.f[-c-1]:c,Mb(a.h,e)))):a.f[e]=d.call(a,0>c?a.f[-c-1]:c,a.f[e])} -function $c(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.M(b,e,5),e=c=0>c?a.f[-c-1]&255:c,d&1&&a.a--,Nb(a.h,d,e)):c?(c=0>c?a.f[-c-1]&255:c,a.f[e]=a.f[e]&~d|c<<24>>24&d):a.f[e]&=~d;return c}function ad(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.M(b,d,4),Ob(a.h,d,c=0>c?a.f[-c-1]:c)):a.f[d]=c=0>c?a.f[-c-1]:c;return c}function V(a,b,c){c&&(Q(a,a.f[7]+(b<<24>>23)),a.a-=2);a.a-=3} -h.sb=function(a){this.j.complete=!0;var b=a?this.j.Jb?0:1:-1;this.j.Jb=!1;this.ta=this.a=a;do{if(this.u){if(a=this.u&7){a=!1;if(this.u&2){this.u&=-3;var c=160,d=(this.Ib&224)>>5,e=this.O&&this.O.Ma>d?this.O:null;e&&(c=e.wd,d=e.Ma);d>(this.C&224)>>5?(this.u&4&&(Hc(this,2),this.u&=-5),K(this,c,0,-9),d=!0):d=!1;d&&(e&&Ic(this,e),a=!0)}else this.u&1&&this.u++;a=a&&0>b}if(a)break;if(this.u&112&&Jc(this)&&0>b)break}this.u=this.u&7|this.C&16;this.decode(Gc(this))}while(0>1|b<<16;Mc(this,a);return a&65535}function gd(a,b){a=b&128|b>>1|b<<8;Mc(this,a<<8);return a&255} -function hd(a,b){a=b&~a;R(this,a);return a}function id(a,b){a=b&~a;R(this,a<<8);return a}function jd(a,b){a|=b;R(this,a);return a}function kd(a,b){a|=b;R(this,a<<8);return a}function ld(a,b){a=~b|65536;Kc(this,a);return a&65535}function md(a,b){a=~b|256;Kc(this,a<<8);return a&255}function nd(a,b){a=b-a;this.u&128||(this.s=this.i=a,this.g=b&(b^a));return a&65535}function od(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.s=this.i=c,this.g=b&(b^c));return a&255} -function pd(a,b){a=b+a;this.u&128||(this.s=this.i=a,this.g=a&(b^a));return a&65535}function qd(a,b){a=b+a;var c=a<<8;this.u&128||(this.s=this.i=c,this.g=c&(b<<8^c));return a&255}function rd(a,b){a=-b;Kc(this,a,a&b&32768);return a&65535}function sd(a,b){a=-b;Kc(this,a<<8,(a&b&128)<<8);return a&255}function td(a,b){a=b<<1|this.m>>16&1;Mc(this,a);return a&65535}function ud(a,b){a=b<<1|this.m>>16&1;Mc(this,a<<8);return a&255}function vd(a,b){a=(this.m&65536|b)>>1|b<<16;Mc(this,a);return a&65535} -function wd(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Mc(this,a<<8);return a&255}function xd(a,b){var c=b-a;Nc(this,c,a,b);return c&65535}function yd(a,b){var c=b-a;Nc(this,c<<8,a<<8,b<<8);return c&255}function zd(a,b){this.u&128||(this.s=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function Ad(a,b){a^=b;R(this,a);return a&65535}function Bd(a){U(this,a,Wc(this,a),bd);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)} -function Cd(a){var b=Zc(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.g=32768)}this.f[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b} -function Dd(a){var b=Zc(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.f[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Ed(a){V(this,a,!P(this))}function Fd(a){V(this,a,P(this))} -function Gd(a){U(this,a,Wc(this,a),hd);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Hd(a){S(this,a,Vc(this,a),id);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Id(a){U(this,a,Wc(this,a),jd);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Jd(a){S(this,a,Vc(this,a),kd);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)} -function Kd(a){var b=Wc(this,a);a=Zc(this,a);R(this,(0>b?this.f[-b-1]:b)&a);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Ld(a){var b=Vc(this,a);a=Yc(this,a);R(this,((0>b?this.f[-b-1]&255:b)&a)<<8);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Md(a){V(this,a,this.i&65535?0:4)}function Nd(a){V(this,a,!Fc(this)==!(this.g&32768))}function Od(a){V(this,a,!!(this.i&65535)&&!Fc(this)==!(this.g&32768))} -function Pd(a){V(this,a,!P(this)&&!!(this.i&65535))}function Qd(a){V(this,a,(this.i&65535?0:4)||!Fc(this)!=!(this.g&32768))}function Rd(a){V(this,a,P(this)||(this.i&65535?0:4))}function Sd(a){V(this,a,!Fc(this)!=!(this.g&32768))}function Td(a){V(this,a,Fc(this))}function Ud(a){V(this,a,!!(this.i&65535))}function Vd(a){V(this,a,!Fc(this))}function Wd(){K(this,12,0,-8);this.a-=5}function Xd(a){V(this,a,!0)}function Yd(a){V(this,a,!(this.g&32768))}function Zd(a){V(this,a,this.g&32768?2:0)} -function W(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function $d(a){var b=Wc(this,a);a=Zc(this,a);var c=(b=0>b?this.f[-b-1]:b)-a;Nc(this,c,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ae(a){var b=Vc(this,a);a=Yc(this,a);var c=(b=(0>b?this.f[-b-1]&255:b)<<8)-(a<<=8);Nc(this,c,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)} -function be(a){var b=Zc(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.g=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.s=0,this.g=32768,this.m=65536,this.a-=7}function ce(){K(this,24,0,-8);this.a-=25} -function de(){this.C&49152?(this.fa|=128,K(this,4,0,-7)):(this.w&&1120==this.La&&this.w.setData(this.f[0],!0),this.F?this.F.b():G(this));this.a-=7}function ee(){K(this,16,0,-8);this.a-=25}var fe=[0,7,7,10,7,11,9,13];function ge(a){this.I=this.a;Q(this,Xc(this,a));this.a=this.I-fe[this.c]}var he=[0,14,14,17,14,18,16,20];function ie(a){this.I=this.a;var b=Xc(this,a);a=a>>6&7;Oc(this,this.f[a]);this.f[a]=this.f[7];Q(this,b);this.a=this.I-he[this.c]}var je=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function ke(a){var b=Wc(this,a);this.I=this.a;R(this,ad(this,a,b));this.a=this.I-je[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}function le(a){var b=Vc(this,a);R(this,$c(this,a,b,65535)<<8);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}var me=[7,13,13,17,14,18,17,21]; -function ne(a){var b=Zc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.u&128||(this.s=b>>16,this.i=this.s|b,this.g=0,this.m=-32768>b||32767>6;if(this.f[b]=this.f[b]-1&65535)Q(this,this.f[7]-((a&63)<<1)),this.a+=1;this.a-=6}function te(a){U(this,a,Wc(this,a),xd);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function ue(a){U(this,a,0,zd);this.a-=this.c?9:3+(7==this.b?2:0)}function ve(){K(this,28,0,-8);this.a-=5} -function we(){this.w&&(this.w.ea=this.f[7],this.w.setData(this.f[0],!0));this.u|=4;Hc(this,-2);this.a-=3}function xe(a){U(this,a,this.f[(a>>6&7)+this.qb],Ad);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8,0,-8)}function Cc(a){ye[a>>12].call(this,a)}function ze(a){Ae[a>>6&3].call(this,a)}function Be(a){Ce[a>>6&3].call(this,a)}function De(a){Ee[a>>6&3].call(this,a)}function Fe(a){Ge[a&15].call(this,a)}function He(a){Ie[a&15].call(this,a)}function Je(a){Ke[a>>6&3].call(this,a)} -function Le(a){Me[a>>6&3].call(this,a)}function Ne(a){Oe[a>>6&3].call(this,a)} -var ye=[function(a){Pe[a>>8&15].call(this,a)},ke,$d,Kd,Gd,Id,Bd,Y,function(a){Qe[a>>8&15].call(this,a)},le,ae,Ld,Hd,Jd,te,Y],Pe=[function(a){Re[a>>4&15].call(this,a)},Xd,Ud,Md,Nd,Sd,Od,Qd,ie,ie,ze,Be,De,Y,Y,Y],Ae=[function(a){Kc(this,ad(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,ld);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,pd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,nd);this.a-=this.c?9:3+(7==this.b?2:0)}],Ce=[function(a){U(this,a,0, -rd);this.a-=this.c?11:6},function(a){U(this,a,P(this)?1:0,bd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,P(this)?1:0,xd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Zc(this,a);Kc(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],Ee=[function(a){U(this,a,0,vd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,td);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,fd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,dd);this.a-=this.c?9:3+(7==this.b?2:0)}], -Re=[function(a){Se[a&15].call(this,a)},Y,Y,Y,ge,ge,ge,ge,qe,Y,Fe,He,ue,ue,ue,ue],Se=[de,we,re,Wd,ee,pe,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Ge=[oe,function(){this.m=0;this.a-=5},function(){this.g=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],Ie=[oe,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Qe=[Vd,Td,Pd,Rd,Yd,Zd,Ed,Fd,ce,ve,Je,Le,Ne,Y,Y,Y],Ke=[function(a){Kc(this, -$c(this,a,0,255));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,md);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,qd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,od);this.a-=this.c?9:3+(7==this.b?2:0)}],Me=[function(a){S(this,a,0,sd);this.a-=this.c?11:6},function(a){S(this,a,P(this)?1:0,cd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,P(this)?1:0,yd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Yc(this,a);Kc(this,a<<8);this.a-=this.c?4:3+(7== -this.b?2:0)}],Oe=[function(a){S(this,a,0,wd);this.a-=this.c?9+(this.Cb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,ud);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,gd);this.a-=this.c?9+(this.Cb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,ed);this.a-=this.c?9:3+(7==this.b?2:0)}];function Dc(a){Te[a>>12].call(this,a)} -var Te=[function(a){Ue[a>>8&15].call(this,a)},ke,$d,Kd,Gd,Id,Bd,function(a){Ve[a>>8&15].call(this,a)},function(a){We[a>>8&15].call(this,a)},le,ae,Ld,Hd,Jd,te,Y],Ue=[function(a){Xe[a>>4&15].call(this,a)},Xd,Ud,Md,Nd,Sd,Od,Qd,ie,ie,ze,Be,De,function(a){Ye[a>>6&3].call(this,a)},Y,Y],Ye=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.V(a|this.R);Q(this,this.f[5]);this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=Tc(this,a,0);Oc(this,a);R(this,a);this.a-=11},function(a){var b=Qc(this);this.I= -this.a;Uc(this,a,0,b);R(this,b);this.a=this.I-me[this.c]},function(a){R(this,ad(this,a,Fc(this)?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Xe=[function(a){Ze[a&15].call(this,a)},Y,Y,Y,ge,ge,ge,ge,qe,function(a){a&8?(this.C&49152||(this.C=this.C&-2017|(a&7)<<5,this.u|=1),this.a-=5):K(this,8,0,-8)},Fe,He,ue,ue,ue,ue],Ze=[de,we,function(){Pc(this);this.u|=this.C&16;this.a-=13},Wd,ee,pe,re,function(){K(this,8,0,-8)},Y,Y,Y,Y,Y,Y,Y,Y],Ve=[ne,ne,be,be,Cd,Cd,Dd,Dd,xe,xe,Y,Y,Y,Y,se,se],We=[Vd,Td,Pd,Rd, -Yd,Zd,Ed,Fd,ce,ve,Je,Le,Ne,function(a){$e[a>>6&3].call(this,a)},Y,Y],$e=[Y,function(a){a=Tc(this,a,65536);Oc(this,a);R(this,a);this.a-=11},function(a){var b=Qc(this);this.I=this.a;Uc(this,a,65536,b);R(this,b);this.a=this.I-me[this.c]},Y]; -function af(a){y.call(this,"ROM",a,af,512);this.X=this.c=null;this.i=a.addr;this.b=a.size;this.m=!1;this.g=a.alias;this.l=a.file;this.s=q(this.l);if(this.l){a=this.l;var b=la(this.s);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Ra(c.ra,a,b),(a=ta(a,b))?(c.c=a.K,c.X=a.X):c.l=null);bf(c)})}}A(af);h=af.prototype; -h.ja=function(a,b,c,d){this.h=b;this.a=c;this.F=d;bf(this)};h.la=function(){this.X&&(this.F&&this.F.a(this.id,this.i,this.b,this.X),delete this.X);return!0};h.ka=function(){return!0}; -function bf(a){if(!Va(a)){if(a.l){if(!a.c||!a.h)return;a.b||(a.b=a.c.length);if(a.c.length!=a.b)Wa(a,"ROM size ("+m(a.c.length,8,!0)+") does not match specified size ("+m(a.b,8,!0)+")");else{var b;a:{b=a.i;a.status(a.b+"-byte ROM at "+ka(b));if(57344<=b&&b<57344+H){var c={};b=(c[b]=[af.prototype.ed,af.prototype.Zd,null,null,null,a.b>>1],c);if(cb(a.h,a,b)){b=a.m=!0;break a}}else if(Fb(a.h,b,a.b,gc)){for(c=0;c>>a.c;0=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),u=k,w=n-=6;0=b.length)break;l+=b[k++]&255;if(l&255)break;if(w)for(;w--;)a.a.cb(p++,b[u++]&255);else p&1?G(a.a):null==d&&(d=p);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=b)a.preventDefault&&a.preventDefault(),64e.w&&(e.w-=32),e.b|=128,e.b&64&&Tb(e.a,e.ba))});this.B=Vb(52,4);this.aa=Sb(this.a,function(){e.c|=128;e.c&64&&Tb(e.a,e.B)});cb(b,this,hf);eb(b,this.reset.bind(this));F(this)}; -h.Rb=function(){if(!this.v){var a=tc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.Fa)return;b=pa(b[1]);if(this.v=Sa(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.A=d.receiveData){this.status(this.ra+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.la=function(a,b){if(!b)if(this.Rb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -h.ka=function(a){return a?this.save():!0};h.reset=function(){jf(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return jf(this)};function jf(a){a.w=0;a.b=0;a.c=128;a.i=[];return!0}h.rb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.J||8,c=a-this.s%a,this.J&&(b=" ".slice(0,c)));this.I&&!this.s&&c&&(b=String.fromCharCode(this.I)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<= -this.m.length)this.T(this.m),this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;Ub(this.a,this.aa,1E3/Math.round(this.R/10))}};var kf={},hf=(kf[65392]=[null,null,Z.prototype.Zc,Z.prototype.Td,"RCSR"],kf[65394]=[null,null,Z.prototype.Yc,Z.prototype.Sd,"RBUF"],kf[65396]=[null,null,Z.prototype.td,Z.prototype.me,"XCSR"],kf[65398]=[null,null,Z.prototype.sd,Z.prototype.le,"XBUF"],kf);Ga(function(){for(var a=E(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.o[b]=c,c.onclick=function(){var a= -d.o.listTapes;a&&nf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.D){c.parentNode.removeChild(c);break}this.o[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;nf(d,q(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.o[b]=c,!0}return!1}; -h.ja=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.F=d;this.J=of(a);var e=this;if((this.c=tc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){t("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.M=Vb(56,4);this.R=Sb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.wc.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):v()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!r(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.j.N;g?a.G('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ra(a.ra,e,f),(e=ta(e,f))&&xf(a,b,c,d,e.K,e.ha,e.ga)); -a.j.Da=!1;a.m&&(a.m--,a.m||F(a));uf(a)})}function rf(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.U);for(d=0;dc.indexOf("/api/v1/dump")&&(b=la(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ma(c,"/")&&(d="dir"),f=v()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.zb?"":e)+"&format=json"));return!!r(f, -null,!0,function(b,c,d){Ef(a,b,c,d)})} -function Ef(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.l&&!a.l.j.N;if(d)a.controller.G('Unable to load disk "'+a.xa+'" (error '+d+": "+b+")",f);else{Ra(a.controller.ra,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(k.length)if(1==k.length)t(k[0]);else{a.U=k.length;a.Z=k[0].length;a.S=k[0][0].length;var l=k[0][0][0];a.ia=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var w=l.bytes;if(void 0!==w&&w.length){for(var T=n<<2,va=w.length;va>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ca?f=a.oa+a.ca&&(a.ca+=f-(a.oa+a.ca)+1):(a.oa=f,a.ca=1);d[f]=d[f]&~(255<g)break;e|=g<=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;lb&&-2!=b&&this.controller.G("Unable to restore disk '"+this.xa+": "+c);return b}; -h.toJSON=function(){var a;a=0;for(var b;b=Gf(this,a++);)If(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function If(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function N(a){y.call(this,"RL11",a,N,8388608);this.g=a.autoMount||null;this.s=0;this.b=Array(4);this.A=!Ba("Mobi")&&window&&"FileReader"in window}A(N);h=N.prototype; -h.$=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){var a=d.o.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){t("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=ja(c.value);null!=a&&Jf(d,a)},!0;case "loadDrive":return this.o[b]= -c,c.onclick=function(){var a=d.o.listDisks;a&&Kf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.A){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=d.b[ja(a.value)||0])if(a=a.da){var b;b="";for(var c=0,k;k=Gf(a,c++);)for(var l=0,n=k.length;lb;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Jf(this,0)}}return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){Lf(this)};h.save=function(){return(new O(this)).data()}; -h.restore=function(a){return Lf(this,a[0])};function Of(a,b){b||(a.s=0);if(a.g)for(var c in a.g){var d=a.g[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.b.length)a.G("Unable to load the selected drive");else if(c)if("?"==c)a.G('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=q(c);a.status("Attempting to load "+c+' as "'+b+'"')}Qf(a,e,b,c,!1,d)}else Pf(a,e)} -function Qf(a,b,c,d,e,f){var g=-1,k=a.b[b];k.Ca.toLowerCase()!=d.toLowerCase()&&(g++,Pf(a,b,!0),k.yb?a.G("RL11 busy"):(k.yb=!0,e&&(k.xb=!0,a.s++),k.lb=!!f,Df(new zf(a,k,"preload"),c,d,f,a.qc)&&g++));return g} -h.qc=function(a,b,c,d,e){var f;a.yb=!1;b&&(f=b.a.length?[b.a.length,b.a[0].length,b.a[0][0].length,b.a[0][0][0].length]:[0,0,0,0],b&&f[0]>a.U||f[1]>a.Z)&&(this.G('Disk "'+c+'" too large for drive '+("RL"+a.Ab)),b=null);b?(a.da=b,a.xa=c,a.Ca=d,this.G('Mounted disk "'+c+'" in drive '+("RL"+a.Ab),a.xb||e),this.l&&zc(this.l)):a.lb=!1;a.xb&&(a.xb=!1,--this.s||F(this));Jf(this,a.Ab)}; -function Nf(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e>12&48;this.w=f>>16&63;this.i=this.c=b<<7|(c?64:0)|d&63;this.m=65536-e&65535;a&&(this.L=this.L|a|32768);return!0}; -h.Fc=function(a,b,c,d,e,f,g){var k=0,l=a.da,n=null,p;l||(k=5120,e=0);for(;e--;){if(!n){n=a.da.seek(b,c,d+1);if(!n){k=5120;break}p=0}var u,w;if(0>(u=a.da.read(n,p++))||0>(w=a.da.read(n,p++))){k=5120;break}this.h.eb(f,u|w<<8);if(Rb(this.h)){k=8192;break}f+=2;if(p>=l.ia&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.U)))){k=5120;break}}return g(k,b,c,d,e,f)}; -h.Bd=function(a,b,c,d,e,f,g){var k=0,l=a.da,n=null,p;l||(k=5120,e=0);for(;e--;){var u=this.h.Ya(f);if(Rb(this.h)){k=8192;break}f+=2;if(!n){n=a.da.seek(b,c,d+1,!0);if(!n){k=5120;break}p=0}if(!a.da.write(n,p++,u&255)||!a.da.write(n,p++,u>>8)){k=5120;break}if(p>=l.ia&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.U)))){k=5120;break}}return g(k,b,c,d,e,f)};h.bd=function(){return this.L&65535}; -h.Wd=function(a){this.L=this.L&-1023|a&1022;this.B=this.B&-4|(a&48)>>4;if(!(this.L&128)){var b;a=!0;var c=this.b[(this.L&768)>>8],d,e,f,g;this.L&=-2;switch(this.L&14){case 4:this.c&8&&(this.L&=63);this.m=c.status|this.i&64;break;case 6:1==(this.c&3)&&(b=this.c&65408,c=(this.c&16)<<2,this.i=this.c&4?this.i+b:this.i-b,this.c=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.Fc;case 10:b||(b=this.Bd),d=this.c>>7,e=this.c&64?1:0,f=this.c&63,d>=c.U||f>=c.S?this.L|=37888:(g=(this.w& -63)<<16|this.v,a=65536-this.m&65535,a=b.call(this,c,d,e,f,a,g,this.oc.bind(this)))}a&&(this.L|=129,this.L&64&&Tb(this.a,this.D))}};h.$c=function(){return this.v};h.Ud=function(a){this.v=a&65534};h.cd=function(){return this.c};h.Xd=function(a){this.c=a};h.dd=function(){return this.m};h.Yd=function(a){this.m=a};h.ad=function(){return this.w};h.Vd=function(a){this.w=a&63}; -var Rf={},Mf=(Rf[63744]=[null,null,N.prototype.bd,N.prototype.Wd,"RLCS"],Rf[63746]=[null,null,N.prototype.$c,N.prototype.Ud,"RLBA"],Rf[63748]=[null,null,N.prototype.cd,N.prototype.Xd,"RLDA"],Rf[63750]=[null,null,N.prototype.dd,N.prototype.Yd,"RLMP"],Rf[63752]=[null,null,N.prototype.ad,N.prototype.Vd,"RLBE"],Rf); -function Sf(a,b,c){y.call(this,"Computer",a,Sf,67108864);this.j.N=!1;Tf(this,b);this.A=tc(this,"autoPower",a);this.l=0;this.M=a.busWidth||a.buswidth;this.b=Uf;this.s=null;this.i=this.I=!1;this.O=tc(this,"url")||"";(Math.random()+.1).toString(36);this.c=Vf(this);if(this.a=Ta("CPU",this.id)){this.F=Ta("Debugger",this.id);this.h=new vb({id:this.ra+".bus",busWidth:this.M},this.a,this.F);var d,e=B(this.id);if((this.w=Ta("Panel",this.id))&&this.w.Xa)for(b=0;b\nLicense: GPL version 3 or later ");this.T("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bUf){if(Wf(d,this.s)){this.g=new O(this,"1.30.3","failsafe");Wf(this.g)&&(ag(this,d),a=2,bg(this.g));this.g.set("timestamp",sa());cg(this.g);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=$f(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Wf(d,g):("error"== -f&&"no machine state"!=g?(this.G("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.T(f+": "+g),bg(d),Wf(d)?(c=$f(d),e=!0):c=!1))}e&&Zf(this,c?d:null)}else 2==a&&d.clear()}else Zf(this);delete this.s;delete this.v}e=B(this.id);for(f=0;fa[1];a=a[2];this.R=!0;this.j.N=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(dg(this,this.a,b,c,a),this.ya(),this.a.Wa());this.D&&(ag(this,b),b.clear());!c&&this.g&&(this.g.clear(),delete this.g);this.l=0}; -function ag(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.O;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} -function gg(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new O(a,"1.30.3"),g=new O(a,"1.30.3","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ka&&(c&&G(a.a),d=a.a.ka(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.N=!1,!1===d&&(e=null)));for(var k=B(a.id),l=0;l=c||30<=(b.Bb+=c))&&(d.textContent=b.j.P?b.Ga.toFixed(2)+"Mhz":"Stopped",b.Bb=0)}if(this.w&&(b=this.w,a=a||0,b.v)){c=b.a.j.P;d=!!(b.a.u&4);if(0>=a||60<=(b.s+=a)){for(var e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ng(a,b,c)}})}else c(a,null)} -function og(a,b,c,d){function e(a){if(void 0===k){var b=g&&E(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=oa(a))}function f(a){e("Error: "+a);l&&(--kg||Ia(!0));l=!1}var g,k,l=!0;kg++;Qa[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css";u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n));p.appendChild(u)}c|| -(c="/versions/pdpjs/1.30.3/components.xsl");n=function(d,k){k?lg(c,null,null,!1,e,function(d,l){l?(Ra(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--kg||Ia(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--kg||Ia(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?lg(b,a,d,!0,e,n):mg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(w){f(w.message)}return l}window.embedPDP11=function(a,b,c,d){Ia(!1);return og(a,b,c,d)};window.enableEvents=Ia;window.sendEvent=Ja;})();//# sourceMappingURL=/tmp/pdpjs/1.30.3/pdp11.map diff --git a/versions/pdpjs/1.30.4/common.css b/versions/pdpjs/1.30.4/common.css deleted file mode 100644 index 6b1c0f887..000000000 --- a/versions/pdpjs/1.30.4/common.css +++ /dev/null @@ -1,265 +0,0 @@ -@CHARSET "UTF-8"; -/** - @author Jeff Parsons (@jeffpar) - @website http://www.pcjs.org/ - @created 2013-05-05 - @modified 2014-02-23 - @license http://www.gnu.org/licenses/gpl.html - */ -body { - margin: 0; - background: #202020; -} -h1, h2 { - margin-top: 0; - color: #cccccc; -} -h1, h2, h3, h4 { - word-wrap: break-word; -} - -h4 a { - color: #cccccc !important; -} -p { - line-height: 1.5em; -} -img { - max-width: 100%; -} -a img { - vertical-align: bottom; -} -pre, code { - color: #000000; - background-color: #cccccc; - font-family: Monaco, Consolas, "Lucida Console", monospace; - font-size: 12px; -} -pre { - margin: 1em 2em; - padding: 1em; - border-radius: 5px; - overflow: auto; -} -code { - padding: 1px; -} -pre a, code a { - color: #006400 !important; -} -.common { - width: 100%; - margin: 0 auto; - color: #cccccc; -} -.common a { - - color: #7fc07f; - text-decoration: none; -} -.common hr { - border-color: #808080; -} -.common a:hover { - text-decoration: underline; -} -.common, .machine { - font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - font-size: 15px; -} -.machine { - margin: 15px; - overflow: hidden; -} -.c1pjs { - overflow: visible; -} -.machine-placeholder { - text-align: center; - font-weight: bold; -} -.common-top { - background: #202020; - font-size: small; -} -.common-top-left { - float: left; - width: 60%; -} -.common-top-left ul { - line-height: 1.5em; - list-style-type: none; - margin: 0; - padding: 1em 1em 1em 9px; - overflow: hidden; -} -.common-top-left ul li { - display: block; - float: left; -} -.common-top-left ul li a { - border-right: 1px solid #6f6f6f; - padding: 2px 6px 2px 6px; -} -.common-top-left ul li:last-child a { - border-right: none; -} -.common-top-right { - float: right; - width: 40%; -} -.common-top-right p { - float: right; - margin: 0; - padding: 1em; -} -.common-middle { - clear: both; - padding: 1px 1em 1px 1em; - background: #404040; -} -.common-sidebar { - float: left; - font-size: small; - width: 140px; - padding-bottom: 20px; - overflow: hidden; - white-space: nowrap; - word-wrap: break-word; -} -.common-list { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list li { - - padding-bottom: 7px; -} -.common-list-data { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 0; -} -.common-list-data li { - line-height: 1.5em; -} -.common-list-data-items, .common-list-data-subitems { - font-size: x-small; - list-style-type: none; - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} -.common-list-data-items li, .common-list-data-subitems li { - padding-bottom: 0; -} -.common-main { - margin-left: 150px; - -} -.common-main blockquote { - text-align: justify; -} -.common-image-gallery { - margin: 0 auto; - text-align: center; -} -.common-image-gallery:after { - content: ''; - display: block; -} -.common-image-frame { - display: inline-block; - margin: 8px; - text-align: center; -} -.common-image-link { - padding: 5px; - border: 1px solid black; - border-radius: 5px; - background-color: #FAEBD7; -} -.common-image-label { - font-size: x-small; -} -.common-bottom { - clear: both; - padding-top: 1em; -} -.common-bottom:after { - content: ''; - display: block; - clear: both; -} -.common-reference { - float: left; - font-size: x-small; -} -.common-reference a { - text-decoration: none; -} -.common-copyright { - float: right; - font-size: x-small; -} -.common-copyright a { - text-decoration: none; -} -.md-list { -} -.md-list li { - line-height: 1.5em; - margin-bottom: 1em; -} -.md-list li p { - padding-left: 2em; -} -.md-list-compact { -} -.md-list-compact li { - margin-bottom: 0; -} -.md-list-none { - list-style-type: none; - padding-left: 2em; -} -.md-list-none li { - margin-bottom: 0; -} -@media screen and (max-width: 900px) { - - .common-sidebar { - width: 100%; - white-space: normal; - } - .common-list { - padding-left: 0; - } - .common-list-data { - padding-left: 0; - } - .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { - width: 130px; - float: left; - overflow: hidden; - vertical-align: top; - padding-right: 1em; - margin-top: 0; - } - .common-list-data-subitems { - display: none; - } - .common-main { - clear: both; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - .md-list-none { - padding-left: 1em; - } -} diff --git a/versions/pdpjs/1.30.4/common.xsl b/versions/pdpjs/1.30.4/common.xsl deleted file mode 100644 index 5c92206f3..000000000 --- a/versions/pdpjs/1.30.4/common.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -

    Powered by JavaScript, Vanilla JS, and GitHub

    -
    -
    -
    - - -
    -

    - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.4/components.css b/versions/pdpjs/1.30.4/components.css deleted file mode 100644 index 82802b7af..000000000 --- a/versions/pdpjs/1.30.4/components.css +++ /dev/null @@ -1,244 +0,0 @@ -@CHARSET "UTF-8"; - - -*:not(input,textarea) { - -webkit-user-select: none; -} -.pcjs-embed { -} -.pcjs-embed:after { - clear:both; -} -.pcjs-machine { -} -.pcjs-name, .pcjs-menu { - clear: both; - font-weight: bold; - padding-bottom: 4px; -} -.pcjs-menu { - float: left; -} -.pcjs-canvas { - width: 100%; - height: auto; -} -.pcjs-container { - color: #000000; - position: relative; -} -.pcjs-label { - font-size: small; - line-height: 20px; - vertical-align: middle; - float: left; - font-family: Monaco, "Lucida Console", monospace; -} -.pcjs-controls textarea { - font-family: Monaco, "Lucida Console", monospace; - font-size: x-small; -} -.pcjs-fieldset { - border: none; - margin: 0; - padding: 0; -} -.pcjs-flag { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; -} -.pcjs-progress { - height: 20px; - width: 300px; - margin-top: 8px; - border: 1px solid black; - position: relative; -} -.pcjs-progress-bar { - height: 20px; - width: 0; - background-color: gold; - position: absolute; - top: 0; -} -.pcjs-progress-text { - height: 20px; - width: 300px; - font-size: small; - line-height: 20px; - text-align: center; - position: absolute; - top: 0; - z-index: 1; -} -.pcjs-register { - font-family: Monaco, "Lucida Console", monospace; - font-size: small; - text-align: center; - line-height: 20px; - vertical-align: middle; - border: 1px solid black; -} -.pcjs-switches { - float: left; -} -.pcjs-bitBucket { - float: left; - width: 19px; - height: 38px; -} -.pcjs-bitCell { - float: left; - width: 19px; - height: 19px; - margin-right: -1px; - margin-bottom: -1px; - border: 1px solid black; - text-align: center; - line-height: 19px; -} -.pcjs-bitCellLeft { - border-left: 1px solid black; -} -.pcjs-bitLabel { - font-size: xx-small; - text-align: center; -} -.pcjs-description, .pcjs-status { - font-size: x-small; - line-height: 2.8em; -} -.pcjs-key { - border: 1px solid black; - font-size: x-small; - text-align: center; - position: absolute; - height: 34px; - line-height: 34px; - background-color: #ffffff; -} -.pcjs-panel-group { - color: #ffffff; - background-color: #404040; -} -.pcjs-triplet { - padding: 1px; -} -.pcjs-ledlbl { - text-align: center; - font-size: 40%; - background-color: #000000; -} -.pcjs-ledlbl0 { - text-align: right; - font-size: 50%; - background-color: #8d4076; -} -.pcjs-ledlbl1 { - text-align: right; - font-size: 50%; - background-color: #d83662; -} -.pcjs-ledpad { - text-align: center; - font-size: x-small; - line-height: 32px; - background-color: #000000; - border-bottom-left-radius: 20%; - border-bottom-right-radius: 20%; -} -.pcjs-led { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - text-align: center; - vertical-align: middle; - background-color: #000000; -} -.pcjs-rled { - float: left; - width: 8px; - height: 8px; - margin: 4px; - border: 1px solid black; - border-radius: 50%; - text-align: center; - vertical-align: middle; - background-color: #ff0000; - max-width: 50%; - max-height: 50%; -} -.pcjs-swlbl { - text-align: center; - font-size: 40%; - line-height: 16px; - background-color: #000000; - border-top-left-radius: 20%; - border-top-right-radius: 20%; -} -.pcjs-swpad { - height: 32px; - background-color: #000000; -} -.pcjs-switch { - height: 10px; - width: 28px; - margin-top: 0; - max-width: 90%; - background-color: #00ff00; -} -.pcjs-screen { - clear: both; - height: auto; - position: relative; - line-height: 0; -} -.pcjs-screen textarea { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - border: 0; - padding: 0; - line-height: 0; -} -.pcjs-reference { - float: left; - font-size: x-small; -} -.pcjs-reference a { - text-decoration: none; -} -.pcjs-copyright { - float: right; - font-size: x-small; -} -.pcjs-copyright a { - text-decoration: none; -} - -@media screen and (max-width: 900px) { - .pcjs-textarea { - width: 100% !important; - } - .pcjs-registers { - width: 100% !important; - max-width: none !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - .pdp11-device { - width: 98% !important; - max-width: none !important; - margin-left: 8px !important; - padding-left: 0 !important; - padding-right: 0 !important; - } -} diff --git a/versions/pdpjs/1.30.4/components.xsl b/versions/pdpjs/1.30.4/components.xsl deleted file mode 100644 index c94deecef..000000000 --- a/versions/pdpjs/1.30.4/components.xsl +++ /dev/null @@ -1,1380 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pdp11 - PDPjs - 1.30.4 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pdpjs/1.30.4/document.css b/versions/pdpjs/1.30.4/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pdpjs/1.30.4/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pdpjs/1.30.4/document.xsl b/versions/pdpjs/1.30.4/document.xsl deleted file mode 100644 index 25a3f109b..000000000 --- a/versions/pdpjs/1.30.4/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.4/machine.xsl b/versions/pdpjs/1.30.4/machine.xsl deleted file mode 100644 index 3f6254f8a..000000000 --- a/versions/pdpjs/1.30.4/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.4/manifest.xsl b/versions/pdpjs/1.30.4/manifest.xsl deleted file mode 100644 index 389565beb..000000000 --- a/versions/pdpjs/1.30.4/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pdpjs/1.30.4/outline.xsl b/versions/pdpjs/1.30.4/outline.xsl deleted file mode 100644 index d409c28e3..000000000 --- a/versions/pdpjs/1.30.4/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.4/pdp11-dbg.js b/versions/pdpjs/1.30.4/pdp11-dbg.js deleted file mode 100644 index 9da9f6faa..000000000 --- a/versions/pdpjs/1.30.4/pdp11-dbg.js +++ /dev/null @@ -1,354 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da":62,"?":63,"@":64, -zc:65,Ef:66,Ff:67,If:68,E:69,Jf:70,Kf:71,Lf:72,Mf:73,Nf:74,Of:75,Pf:76,Qf:77,Rf:78,Sf:79,Tf:80,Q:81,Uf:82,Vf:83,Wf:84,Xf:85,Yf:86,Zf:87,$f:88,ag:89,jd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,bg:97,cg:98,dg:99,d:100,e:101,eg:102,fg:103,gg:104,hg:105,kg:106,k:107,lg:108,mg:109,n:110,ng:111,p:112,q:113,r:114,og:115,t:116,qg:117,rg:118,sg:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Zc:127}; -function ma(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return(c?"0o":"")+d}function p(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function q(a){return p(a,4,!0)} -function u(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function sa(a){return a.replace(/[&<>"']/g,function(a){return ra[a]})} -function xa(a,b){return(a+" ").slice(0,b)}function ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; -function Aa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function Da(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function Ea(a,b){var c,d={ha:null,ja:null,Ra:null,Qa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ra=g.load;d.Qa=g.exec;if(e=g.bytes)d.ha=e;else if(e=g.words)for(d.ha=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.ha=Array(4*e.length),f=c=0;c>8&255,d.ha[f++]=e[c]>>16&255,d.ha[f++]=e[c]>>24&255;else d.ha=g;d.ja=g.symbols;d.ha.length?1==d.ha.length&&(w(d.ha[0]),d=null):(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.eb=this.id:(this.fb=this.id.substr(0,b),this.eb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,hb:!1,nc:!1,ma:!1,error:!1};this.cc=null;this.C.error=!1;this.D={};this.j=null;this.pa=d||0;z.push(this)}var eb=void 0,fb={}; -if(window){eb||(eb=window.location.search.substr(1));for(var gb,hb=/\+/g,ib=/([^&=]+)=?([^&]*)/g;gb=ib.exec(eb);)fb[decodeURIComponent(gb[1].replace(hb," "))]=decodeURIComponent(gb[2].replace(hb," "))}function jb(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 B(a,b){b||(b=x);a.prototype=jb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var kb=window.PCjs.Machines||(window.PCjs.Machines={}),z=window.PCjs.Components||(window.PCjs.Components=[])}else kb={},z=[];function lb(a,b,c){kb[a]&&b&&(kb[a][b]=c)}function mb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.f["S"+a]=[0,0,!1,!1,this.Hd,a]}B(Eb);var Fb=7;function Gb(a,b){return a.f[b]&&a.f[b][1]}k=Eb.prototype;k.reset=function(){this.stop()}; -k.va=function(a,b,c,d){if(this.B&&this.B.va(a,b,c,d)||this.b&&this.b.va(a,b,c,d)||this.j&&this.j.va(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.D[b]=c,this.F++,!0;default:return"led"==a||"rled"==a?(this.D[b]=c,this.g[b]=d?1:0,this.F++,!0):"switch"==a?(void 0===this.f[b]&&(this.f[b]=[d?1:0,d?1:0]),this.D[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, -b){return function(){Hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Hb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Ib(a,b)}}(this,b),!0):this.parent.va.call(this,a,b,c,d)}};k.Ha=function(a,b,c,d){this.B=a;this.v=b;this.b=c;this.j=d;Jb(b,this,Kb);Lb(b,this.reset.bind(this));Mb(this);Nb(this)};k.Ka=function(a,b){b||(Ob(),this.reset());return!0};k.Ja=function(){return!0}; -function Pb(a,b,c){if(a=a.D[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Mb(a,b){for(var c in a.g)Pb(a,c,null!=b?b:a.g[c])}function Qb(a,b,c){if(a=a.D[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Nb(a){for(var b in a.f)Qb(a,b,a.f[b][1])}function Rb(a,b,c,d){a.D[b]&&(void 0===c&&(Ab(a,"Value for "+b+" is invalid"),a.b.ea()),c=8==(a.j&&a.j.oa||8)?na(c,d):p(c,d),a.D[b].textContent!=c&&(a.D[b].textContent=c))} -function Hb(a,b){var c=a.f[b];Qb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.J="DEP"==b,a.K="EXAM"==b)}function Ib(a,b){var c=a.f[b];c[2]&&c[3]&&(Qb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}k.Fd=function(a){a||this.b.C.X||(a=this.b,a.v.reset(),Sb(a),Gb(this,"ENABLE")&&this.b.ob())};k.Gd=function(){};k.Bd=function(a){a||this.b.ea()}; -k.zd=function(a){if(!a&&!this.b.C.X)if(Gb(this,"ENABLE"))this.b.ob();else{if((a=this.j)&&!xb(a,!0))pb(a,!0),a.pb(0,null),pb(a,!1);else try{var b=this.b.pb(1);0a.b.ib?8:16,c=65472<=a.Aa&&a.Aa<65472+b,b=c?1:2,c=c?15:a.v.Sa;Gb(a,"STEP")||(b=-b);Yb(a,a.Aa&~c|a.Aa+b&c)} -function Yb(a,b){a.Aa=b&a.v.Sa;b=a.Aa;for(var c=0;22>c;c++)$b(a,"A"+c,b&1<c;c++)$b(a,"D"+c,b&1<c;c++)a.f["S"+c][1]=b&1<>2;this.v=this.Ia-1;this.F=this.H/this.Ia|0;this.gb=[];this.qa=0;this.f=!1;this.pc=0;this.A=[];this.nd=[rc,sc,tc,uc];a=new K(this);vc(a,this.j);this.Y=Array(this.F);for(b=0;b>8:e[2](f)&255):f&1&&(e=d.gb[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.j&&I(this.j,16|e[5])&&G(this.j,e[4]+".readByte("+L(this.j,b)+"): "+L(this.j,c),!0,!d.qa),c;d.Na(b,16,3);c=255;this.j&&I(this.j,16)&&G(this.j,"warning: unconverted read access to byte @"+L(this.j,b)+": "+L(this.j,c),!0,!d.qa);return c} -function sc(a,b,c){var d=!1,e=this.controller,f=e.gb[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.gb[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.j&&I(this.j,16|f[5])&&G(this.j,f[4]+".writeByte("+L(this.j,c)+","+L(this.j,b)+")",!0,!e.qa):(e.Na(c,16,5),this.j&&I(this.j,16)&&G(this.j,"warning: unconverted write access to byte @"+L(this.j,c)+": "+L(this.j, -b),!0,!e.qa))}function tc(a,b){var c=-1,d=this.controller;a=d.gb[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.j&&I(this.j,16|a[5])&&G(this.j,a[4]+".readWord("+L(this.j,b)+"): "+L(this.j,c),!0,!d.qa),c;d.Na(b,16,2);c=65535;this.j&&I(this.j,16)&&G(this.j,"warning: unconverted read access to word @"+L(this.j,b)+": "+L(this.j,c),!0,!d.qa);return c} -function uc(a,b,c){var d=!1,e=this.controller;a=e.gb[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.j&&I(this.j,16|a[5])&&G(this.j,a[4]+".writeWord("+L(this.j,c)+","+L(this.j,b)+")",!0,!e.qa):(e.Na(c,16,4),this.j&&I(this.j,16)&&G(this.j,"warning: unconverted write access to word @"+L(this.j,c)+": "+L(this.j,b),!0,!e.qa))} -function xc(a,b){if(b!=a.g){var c;a.g&&(c=(1<>>a.na;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.G)return l.Zb+=l.G-f,l.G=f,!0;if(f>=l.G+l.Zb){n=l.size-(f-m);n>g&&(n=g);l.Zb=f-l.G+n;f=m+a.Ia;g-=n;h++;continue}}return Cc(1,f,g)}f=new K(a,f,n,a.Ia,d,e);vc(f,a.j,l);a.Y[h++]=f;f=m+a.Ia;g-=n}return 0>=g?(d==Dc&&(a.pc+=c),a.status((c>>10)+"Kb "+Ec[d]+" at "+na(b)),!0):Cc(2,b,c)} -function zc(a,b,c){var d=[];for(b>>>=a.na;0>>=a.na;0>>this.na].fc(a&this.v,a)};k.ec=function(a){3932160<=a&&(a=Fc(this.b,a));this.f=!1;this.qa++;a=this.Y[(a&this.Sa)>>>this.na].sc(a&this.v,a);this.qa--;return a}; -k.ta=function(a){3932160<=a&&(a=Fc(this.b,a));return this.Y[(a&this.Sa)>>>this.na].za(a&this.v,a)};k.Va=function(a){3932160<=a&&(a=Fc(this.b,a));var b=a&this.v,c=(a&this.Sa)>>>this.na;this.f=!1;this.qa++;a=this.Y[c].tc(b,a);this.qa--;return a};k.Nb=function(a,b){3932160<=a&&(a=Fc(this.b,a));this.Y[(a&this.Sa)>>>this.na].ic(a&this.v,b&255,a)};k.Cb=function(a,b){3932160<=a&&(a=Fc(this.b,a));this.f=!1;this.qa++;this.Y[(a&this.Sa)>>>this.na].jc(a&this.v,b&255,a);this.qa--}; -k.Db=function(a,b){3932160<=a&&(a=Fc(this.b,a));this.Y[(a&this.Sa)>>>this.na].$b(a&this.v,b&65535,a)};k.nb=function(a,b){3932160<=a&&(a=Fc(this.b,a));var c=a&this.v,d=(a&this.Sa)>>>this.na;this.f=!1;this.qa++;this.Y[d].yc(c,b&65535,a);this.qa--}; -function Gc(a){for(var b=0,c=[],d=0;da.b.ib)){var g=f[0]?f[0].bind(b):null,h=f[1]?f[1].bind(b):null,l=f[2]?f[2].bind(b):null,m=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&l&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(l)),!h&&m&&(h=function(a){return function(b,c){return a(b,c)}.bind(b)}(m)));for(var n=f[4],r=f[5]||1,t=0;tb.indexOf(e.toUpperCase()))){b+=":";for(e=0;8>e;e++)b+=" "+L(a,c[d+e]);a.i(b+(f?"\n":""))}}k.reset=function(){this.f.Hb=128;Lc(this.b,this.f.wc,1E3/60,!0)};k.Pd=function(){return this.f.Hb};k.Oe=function(a){this.f.Hb=a&192;this.f.Hb&64||Pc(this.b,this.f.Gb)};k.Rd=function(){return Qc(this.b)};k.Qe=function(a){Zc(this.b,a&-129|this.b.Da&128)}; -k.Sd=function(){return $c(this.b)};k.Td=function(){return ad(this.b)};k.Ud=function(){return this.b.Xa};k.Re=function(a){bd(this.b,a)};k.Be=function(a){a=a>>1&63;var b=this.b.Yb[a>>1];return a&1?b>>16:b&65535};k.Af=function(a,b){b=b>>1&63;var c=b>>1;this.b.Yb[c]=b&1?this.b.Yb[c]&65535|(a&63)<<16:this.b.Yb[c]&-65536|a&65534};k.ue=function(a){return this.b.R[1][a>>1&7]};k.tf=function(a,b){this.b.R[1][b>>1&7]=a&65295};k.se=function(a){return this.b.R[1][(a>>1&7)+8]}; -k.rf=function(a,b){this.b.R[1][(b>>1&7)+8]=a&65295};k.te=function(a){return this.b.ka[1][a>>1&7]};k.sf=function(a,b){b=b>>1&7;this.b.ka[1][b]=a;this.b.R[1][b]&=65295};k.re=function(a){return this.b.ka[1][(a>>1&7)+8]};k.qf=function(a,b){b=(b>>1&7)+8;this.b.ka[1][b]=a;this.b.R[1][b]&=65295};k.Od=function(a){return this.b.R[0][a>>1&7]};k.Ne=function(a,b){b=b>>1&7;this.b.R[0][b]=a&=65295;I(this,64)&&G(this,"writeKIPDR["+b+"]: "+na(a),!0)};k.Md=function(a){return this.b.R[0][(a>>1&7)+8]}; -k.Le=function(a,b){this.b.R[0][(b>>1&7)+8]=a&65295};k.Nd=function(a){return this.b.ka[0][a>>1&7]};k.Me=function(a,b){b=b>>1&7;this.b.ka[0][b]=a;this.b.R[0][b]&=65295};k.Ld=function(a){return this.b.ka[0][(a>>1&7)+8]};k.Ke=function(a,b){b=(b>>1&7)+8;this.b.ka[0][b]=a;this.b.R[0][b]&=65295};k.Ae=function(a){return this.b.R[3][a>>1&7]};k.zf=function(a,b){this.b.R[3][b>>1&7]=a&65295};k.ye=function(a){return this.b.R[3][(a>>1&7)+8]};k.xf=function(a,b){this.b.R[3][(b>>1&7)+8]=a&65295}; -k.ze=function(a){return this.b.ka[3][a>>1&7]};k.yf=function(a,b){b=b>>1&7;this.b.ka[3][b]=a;this.b.R[3][b]&=65295};k.xe=function(a){return this.b.ka[3][(a>>1&7)+8]};k.wf=function(a,b){b=(b>>1&7)+8;this.b.ka[3][b]=a;this.b.R[3][b]&=65295};k.Kb=function(a){a&=7;return this.b.P&2048?this.b.cb[a]:this.b.u[a]};k.Ob=function(a,b){b&=7;this.b.P&2048?this.b.cb[b]=a:this.b.u[b]=a};k.Zd=function(){return this.b.P&49152?this.b.Oa[0]:this.b.u[6]};k.We=function(a){this.b.P&49152?this.b.Oa[0]=a:this.b.u[6]=a}; -k.be=function(){return this.b.u[7]};k.Ze=function(a){this.b.u[7]=a};k.Lb=function(a){a&=7;return this.b.P&2048?this.b.u[a]:this.b.cb[a]};k.Pb=function(a,b){b&=7;this.b.P&2048?this.b.u[b]=a:this.b.cb[b]=a};k.$d=function(){return 1==(this.b.P&49152)>>14?this.b.u[6]:this.b.Oa[1]};k.Xe=function(a){1==(this.b.P&49152)>>14?this.b.u[6]=a:this.b.Oa[1]=a};k.ae=function(){return 3==(this.b.P&49152)>>14?this.b.u[6]:this.b.Oa[3]};k.Ye=function(a){3==(this.b.P&49152)>>14?this.b.u[6]=a:this.b.Oa[3]=a}; -k.Kd=function(a){return this.b.Sc[a-65504>>1]};k.Je=function(a,b){this.b.Sc[b-65504>>1]=a};k.Pc=function(a){if(65520==a){a=0;switch(Dc){case Dc:a=this.v.pc}a=(a>>6)-1}else a=0;return a};k.Vc=function(){};k.we=function(){return 1};k.vf=function(){};k.Jd=function(){return this.b.Ba};k.Ie=function(){this.b.Ba=0};k.Qd=function(){return this.b.Rc};k.Pe=function(a,b){b&1||(a&=255);this.b.Rc=a};k.Vd=function(a,b){return b?0:this.b.Mb};k.Se=function(a){cd(this.b,a)}; -k.ve=function(a,b){return b?0:this.b.lb&65280};k.uf=function(a){this.b.lb=a|255};k.Yd=function(){return dd(this.b)};k.Ve=function(a){ed(this.b,a&-1793|dd(this.b)&1792);this.b.I|=256};k.Uc=function(a,b){I(this)&&G(this,"writeIgnored("+na(b)+"): "+na(a),!0,!0)}; -var O={},Nc=(O[61568]=[null,null,M.prototype.Be,M.prototype.Af,"UNIMAP",64,1170],O[62592]=[null,null,M.prototype.ue,M.prototype.tf,"SIPDR",8,1145,64],O[62608]=[null,null,M.prototype.se,M.prototype.rf,"SDPDR",8,1145,64],O[62624]=[null,null,M.prototype.te,M.prototype.sf,"SIPAR",8,1145,64],O[62640]=[null,null,M.prototype.re,M.prototype.qf,"SDPAR",8,1145,64],O[62656]=[null,null,M.prototype.Od,M.prototype.Ne,"KIPDR",8,1145,64],O[62672]=[null,null,M.prototype.Md,M.prototype.Le,"KDPDR",8,1145,64],O[62688]= -[null,null,M.prototype.Nd,M.prototype.Me,"KIPAR",8,1145,64],O[62704]=[null,null,M.prototype.Ld,M.prototype.Ke,"KDPAR",8,1145,64],O[62798]=[null,null,M.prototype.Ud,M.prototype.Re,"MMR3",1,1145,64],O[65382]=[null,null,M.prototype.Pd,M.prototype.Oe,"LKS"],O[65402]=[null,null,M.prototype.Rd,M.prototype.Qe,"MMR0",1,1145,64],O[65404]=[null,null,M.prototype.Sd,M.prototype.Uc,"MMR1",1,1145,64],O[65406]=[null,null,M.prototype.Td,M.prototype.Uc,"MMR2",1,1145,64],O[65408]=[null,null,M.prototype.Ae,M.prototype.zf, -"UIPDR",8,1145,64],O[65424]=[null,null,M.prototype.ye,M.prototype.xf,"UDPDR",8,1145,64],O[65440]=[null,null,M.prototype.ze,M.prototype.yf,"UIPAR",8,1145,64],O[65456]=[null,null,M.prototype.xe,M.prototype.wf,"UDPAR",8,1145,64],O[65472]=[null,null,M.prototype.Kb,M.prototype.Ob,"R0SET0"],O[65473]=[null,null,M.prototype.Kb,M.prototype.Ob,"R1SET0"],O[65474]=[null,null,M.prototype.Kb,M.prototype.Ob,"R2SET0"],O[65475]=[null,null,M.prototype.Kb,M.prototype.Ob,"R3SET0"],O[65476]=[null,null,M.prototype.Kb, -M.prototype.Ob,"R4SET0"],O[65477]=[null,null,M.prototype.Kb,M.prototype.Ob,"R5SET0"],O[65478]=[null,null,M.prototype.Zd,M.prototype.We,"R6KERNEL"],O[65479]=[null,null,M.prototype.be,M.prototype.Ze,"R7KERNEL"],O[65480]=[null,null,M.prototype.Lb,M.prototype.Pb,"R0SET1",1,1145],O[65481]=[null,null,M.prototype.Lb,M.prototype.Pb,"R1SET1",1,1145],O[65482]=[null,null,M.prototype.Lb,M.prototype.Pb,"R2SET1",1,1145],O[65483]=[null,null,M.prototype.Lb,M.prototype.Pb,"R3SET1",1,1145],O[65484]=[null,null,M.prototype.Lb, -M.prototype.Pb,"R4SET1",1,1145],O[65485]=[null,null,M.prototype.Lb,M.prototype.Pb,"R5SET1",1,1145],O[65486]=[null,null,M.prototype.$d,M.prototype.Xe,"R6SUPER",1,1145],O[65487]=[null,null,M.prototype.ae,M.prototype.Ye,"R6USER",1,1145],O[65504]=[null,null,M.prototype.Kd,M.prototype.Je,"CTRL",8,1170],O[65520]=[null,null,M.prototype.Pc,M.prototype.Vc,"LSIZE",1,1170],O[65522]=[null,null,M.prototype.Pc,M.prototype.Vc,"HSIZE",1,1170],O[65524]=[null,null,M.prototype.we,M.prototype.vf,"SYSID",1,1170],O[65526]= -[null,null,M.prototype.Jd,M.prototype.Ie,"CPUERR",1,1170],O[65528]=[null,null,M.prototype.Qd,M.prototype.Pe,"MB",1,1170],O[65530]=[null,null,M.prototype.Vd,M.prototype.Se,"PIR"],O[65532]=[null,null,M.prototype.ve,M.prototype.uf,"SL"],O[65534]=[null,null,M.prototype.Yd,M.prototype.Ve,"PSW"],O); -ab(function(){for(var a=F(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.A,0,this.size>>2),md(this,id?nd:od);else{a=this.b=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},U:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa:function(a,b){a&1&&this.v.Na(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+ -1]&255)<<8},Ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.$a=!0},S:function(a,b){if(this.j&&null!=this.G){var c=this.j;td(c,this.G+a,1,c.O)&&c.ea(!0)}return this.sc(a,b)},eb:function(a,b){if(this.j&&null!=this.G){var c=this.j;td(c,this.G+a,2,c.O)&&c.ea(!0)}return this.tc(a,b)},oa:function(a, -b,c){if(this.j&&null!=this.G){var d=this.j;td(d,this.G+a,1,d.F)&&d.ea(!0)}this.f?this.w(a,b,c):this.jc(a,b,c)},Fa:function(a,b,c){if(this.j&&null!=this.G){var d=this.j;td(d,this.G+a,2,d.F)&&d.ea(!0)}this.f?this.w(a,b,c):this.yc(a,b,c)},O:function(a){return this.D[a]},T:function(a,b){a=this.D[a];this.j&&I(this.j,32)&&G(this.j,"Memory.readByte("+L(this.j,b)+"): "+L(this.j,a),!0);return a},ba:function(a,b){a&1&&this.v.Na(b,64,2);return this.F.getUint16(a,!0)},fb:function(a,b){a&1&&this.v.Na(b,64,2); -a=this.J[a>>1];this.j&&I(this.j,32)&&G(this.j,"Memory.readWord("+L(this.j,b)+"): "+L(this.j,a),!0);return a},ga:function(a,b){this.D[a]=b;this.$a=!0},sa:function(a,b,c){this.D[a]=b;this.$a=!0;this.j&&I(this.j,32)&&G(this.j,"Memory.writeByte("+L(this.j,c)+","+L(this.j,b)+")",!0)},Ca:function(a,b,c){a&1&&this.v.Na(c,64,4);this.F.setUint16(a,b,!0);this.$a=!0},Ga:function(a,b,c){a&1&&this.v.Na(c,64,4);this.J[a>>1]=b;this.$a=!0;this.j&&I(this.j,32)&&G(this.j,"Memory.writeWord("+L(this.j,c)+","+L(this.j, -b)+")",!0)}};function vc(a,b,c){a.j=b;a.B=a.g=0;c&&((a.B=c.B)&&sd(a,rd,!1),(a.g=c.g)&&qd(a,rd,!1))}function ud(a,b){b?--a.g||(a.ic=a.f?a.w:a.jc,a.$b=a.f?a.H:a.yc):--a.B||(a.fc=a.sc,a.za=a.tc)}function qd(a,b,c){c&&a.g||(a.ic=!a.f&&b[1]||a.w,a.$b=!a.f&&b[3]||a.H);if(c||void 0===c)a.jc=b[1]||a.w,a.yc=b[3]||a.H}function sd(a,b,c){c&&a.B||(a.fc=b[0]||a.K,a.za=b[2]||a.L);if(c||void 0===c)a.sc=b[0]||a.K,a.tc=b[2]||a.L}function md(a,b){b||(b=vd);sd(a,b,void 0);qd(a,b,void 0)} -var vd=[],pd=[K.prototype.U,K.prototype.Ea,K.prototype.fa,K.prototype.Pa],rd=[K.prototype.S,K.prototype.oa,K.prototype.eb,K.prototype.Fa];if(Bb)var od=[K.prototype.O,K.prototype.ga,K.prototype.ba,K.prototype.Ca],nd=[K.prototype.T,K.prototype.sa,K.prototype.fb,K.prototype.Ga]; -function wd(a,b){x.call(this,"CPU",a,wd,1);b=a.cycles||b;var c=a.multiplier||1;this.Qb=0;this.tb=b;this.jb=c;this.Sb=Math.round(this.tb/1E4)/100;this.Ab=this.Sb*this.jb;this.C.X=!1;this.C.hc=!1;this.C.Eb=a.autoStart;this.C.Fb=!1;this.Vb=this.Ca=0;this.Wb=a.csStart;this.Ib=a.csInterval;this.Jb=a.csStop;this.O=[];this.Gc=this.Fe.bind(this);J(this)}B(wd);var xd=["power","reset"];k=wd.prototype; -k.Ha=function(a,b,c,d){this.B=a;this.v=b;this.j=d;this.w=a.w;for(b=0;b=a.Ca&&(a.Ca+=a.Ib,c=!0);0<=a.Jb&&a.Jb<=Dd(a)&&(a.Ib=a.Jb=-1,Ad(a),a.ea(),c=!0);c&&a.i(Dd(a)+" cycles: checksum="+p(a.Vb))}} -k.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.D[b]=c,!0;case "run":return this.D[b]=c,c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.ma)a=!0;else{var b=null,c,h=mb(a.id);for(c=0;ca.Ea/a.Ab?b=1:d=!0;a.jb=b;b=a.Sb*a.jb;if(a.Ab!=b){a.Ab=b;b=a.Ab.toFixed(2)+"Mhz";var e=a.D.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.B&&a.B.mb()}Ub(a,a.ba);a.ba=0;a.U=Ba();a.fa=0;Fd(a);return d}function Jc(a,b){var c=a.O.length;a.O.push([-1,b]);return c}function Lc(a,b,c,d){0<=b&&ba.O[b][0])&&(c=a.tb*a.jb/1E3*c|0,a.C.X&&(c+=Gd(a)),a.O[b][0]=c)} -function Hd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Tb(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Gd(a,b){var c=a.ga-=a.b;a.b=a.K=0;b&&(a.ga=0);return c} -k.Fe=function(){if(this.C.X){this.Tb>=this.tb&&Fd(this,!0);this.Ya=0;this.sb=Ba();if(this.fa){var a=this.sb-this.fa;a>this.Ec&&(this.U+=a,this.U>this.sb&&(this.U=this.sb))}try{do{var b=Hd(this,this.C.Fb?1:this.ub);try{this.pb(b)}catch(e){if("number"!=typeof e)throw e;}b=Gd(this,!0);this.Ya+=b;this.ba+=b;Vb(this,b);Tb(this,b);this.Fa-=b;if(0>=this.Fa){this.Fa+=this.ub;15<=++this.Fc&&(this.xa(),this.Fc=0);break}}while(this.C.X)}catch(e){this.ea();this.B&&this.B.stop(Ba(),Dd(this));Ab(this,e.stack|| -e.message);return}if(this.C.X){a=setTimeout;b=this.Gc;this.fa=Ba();var c=this.Ec;this.Ya&&(c=Math.round(c*this.Ya/this.ub));var c=c-(this.fa-this.sb),d=this.fa-this.U;d&&(this.Ea=Math.round(this.ba/(10*d))/100,864E5<=d&&(this.oa=0,Ed(this)));if(0>c||this.Eac&&(this.U-=c),c=0;this.Tb+=this.Ya;this.fa+=c;a(b,c)}}}; -k.ob=function(a){if(zb(this))return!1;if(this.C.X)return this.i(this.toString()+" busy"),!1;Ed(this);this.C.X=!0;this.C.hc=!0;var b=this.D.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.mb(!0),this.B.start(this.U,Dd(this)));setTimeout(this.Gc,0);return!0};k.pb=function(){return 0};k.ea=function(a){var b=!1;if(this.C.X){Gd(this);Ub(this,this.ba);this.ba=0;this.C.X=!1;if(b=this.D.run)b.textContent="Run";this.B&&this.B.stop(Ba(),Dd(this));b=!0}this.C.complete=a;return b}; -function Id(a){this.ib=+a.model||1170;this.Bc=a.addrReset||0;wd.call(this,a,6666667);this.vb=0;this.Dc=255;1120==this.ib?(this.decode=Jd.bind(this),this.sa=this.sd,this.vb=8,this.Dc=-1):(this.decode=Kd.bind(this),this.sa=this.td);Ld(this);this.L=0;this.J=null;this.C.complete=!1}B(Id,wd);k=Id.prototype;k.reset=function(){this.status("model "+this.ib);this.C.X&&this.ea();Ld(this);zd(this);this.C.error=!1;this.parent.reset.call(this)}; -function Ld(a){a.V=65536;a.W=32768;a.ca=65535;a.aa=32768;a.P=15;a.u=[0,0,0,0,0,0,0,a.Bc,-1,-2,-3,-4,-5,-6,-7,-8];a.cb=[0,0,0,0,0,0];a.Oa=[0,0,0,0];a.A=0;a.rb=0;a.hd=[4,2,0,1];a.R=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.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]];a.Yb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.Sc=[0,0,0,0,0,0,0,0];a.Rc=0;a.I=0;a.F=a.H=0;a.g=a.f=a.Rb=0;a.Ga=-1;Sb(a)}function Sb(a){a.Da=0;a.kc=0;a.lc=0;a.Xa=0;a.Ba=0;a.Mb=0;a.lb=255;a.S=0;a.qb=0;a.Pa=262143;a.Ub=0;a.ua=0;a.J=null;a.v&&Md(a)}function Md(a){a.S?(a.T=65536,a.Ac=a.Xa&16?4186112:253952,a.da=a.wd,a.za=a.Ce,a.$b=a.Bf,xc(a.v,a.Xa&16?22:18)):(a.T=0,a.Ac=57344,a.da=a.vd,a.za=a.Qc,a.$b=a.Wc,xc(a.v,16))} -function Qc(a){var b=a.Da;b&57344||(b=b&-3199|a.qb<<5|a.rb<<1);return b}function Zc(a,b){b&=-3073;if(a.Da!=b){b&57344&&!(a.Da&57344)&&(a.kc=a.ua>>16&65535,a.lc=a.ua&65535);a.Da=b;a.qb=b>>5&3;a.rb=b>>1&15;var c=0;b&257&&(c=4,b&1&&(c|=2));a.S!=c&&(a.S=c,Md(a))}}function $c(a){a.Da&57344||(a.kc=a.ua>>16&65535);a=a.kc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function ad(a){a.Da&57344||(a.lc=a.ua&65535);return a.lc}function bd(a,b){1170>a.ib&&(b&=-49);a.Xa!=b&&(a.Xa=b,a.Pa=b&16?4194303:262143,Md(a))} -k.Lc=function(){return 0};k.save=function(){var a=new S(this);a.set(0,[]);a.set(1,[this.oa,this.jb]);a.set(2,Gc(this.v));return a.data()};k.restore=function(a){var b=a[1];this.oa=b[1];Ed(this,b[3]);a:{b=this.v;a=a[2];var c;for(c=0;c>14&3;c=a.P>>14&3;a.A!=c&&(a.Oa[c]=a.u[6],a.u[6]=a.Oa[a.A]);a.P=b;a.I&=-3;a.I|=a.J?2:1}function cd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.I|=1}a.Mb=b}function U(a,b){a.I&256||(a.aa=a.ca=b,a.W=0)}function Vd(a,b,c){a.I&256||(a.aa=a.ca=a.V=b,a.W=c||0)} -function Wd(a,b,c,d){a.I&256||(a.aa=a.ca=a.V=b,a.W=(c^b)&(d^b))}function Xd(a,b){a.I&256||(a.aa=a.ca=a.V=b,a.W=a.aa^a.V>>1)}function Yd(a,b,c,d){a.I&256||(a.aa=a.ca=a.V=b,a.W=(c^d)&(d^b))} -k.wa=function(a,b,c){if(!this.L){0>this.Ga?this.Ga=dd(this):this.A||(c=-3);var d=!1;-3==c&&(a=4,this.Ba|=4,this.u[6]=4,d=!0);this.ua=a|4143316992;this.A=0;var e=this.za(a|this.T),f=this.za(a+2&65535|this.T);ed(this,f&-12289|this.Ga>>2&12288);Zd(this,this.Ga,d);Zd(this,this.u[7],d);T(this,e);this.I&=~(b|19);this.I|=129;this.Ga=-1;this.md=a;this.Xc=c;if(-3<=c)throw a;}};function te(a){var b=ue(a),c=ue(a)&-1793;a.P&49152&&(c=c&-225|a.P&63712);T(a,b);ed(a,c);a.I&=-17} -function Fc(a,b){var c=b>>13&31;31>c&&(b=a.Xa&32?a.Yb[c]+(b&8190)&4194302:b&-3932161);return b} -function ve(a,b,c){var d,e,f;if(!(c&a.S))return f=b&65535,57344<=f&&(f|=a.Ac),f;d=b>>13;a.Xa&a.hd[a.A]||(d&=7);e=a.R[a.A][d];f=(a.ka[a.A][d]<<6)+(b&8191)&a.Pa;if(a.L)return f;f&1&&!(c&1)&&(a.Ba|=64,a.wa(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.R[a.A][d]=e;if(f!=(4194170&a.Pa)||a.A)a.qb= -a.A,a.rb=d;g&&(g&57344&&(0<=a.Ga&&(g|=128),a.Da&57344||(g|=a.Da&4096|a.qb<<5|a.rb<<1,Zc(a,a.Da&-61695|g&61694)),a.wa(168,64,-1)),a.Da&61440||!(f<(4191360&a.Pa)||f>(4194239&a.Pa))||(a.Da|=4096,a.Da&512&&(a.I|=64)));return f}function we(a,b){return a.v.dc(b)}function ue(a){var b=a.za(a.u[6]|a.T);a.u[6]=a.u[6]+2&65535;return b}function Zd(a,b,c){var d=a.u[6]-2&65535;a.u[6]=d;a.ua=a.ua&65535|(a.ua&-65536)<<8|16121856;c||a.sa(4,-2,d);a.$b(d,b)} -function xe(a,b,c,d){var e,f,g=d&8?0:a.T;switch(b){case 0:return a.wa(4,0,-2),0;case 1:return 6==c&&a.sa(d,0,a.u[6]),a.b-=3,7==c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];6==c&&a.sa(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!=c&&(e|=g);e=a.za(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;6==c&&a.sa(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!=c&&(e|=g);e=a.za(e)|g;a.b-=8;break;case 6:return e=a.za(Sd(a,2)),e=e+a.u[c]&65535,6==c&&a.sa(d, -0,e),a.b-=6,e|g;case 7:return e=a.za(Sd(a,2)),e=e+a.u[c]&65535,e=a.za(e|a.T),a.b-=10,e|g}a.u[c]=a.u[c]+f&65535;a.ua=a.ua&65535|(a.ua&-65536)<<8|(f<<3&248|c)<<16;return e}k.sd=function(a,b,c){!this.A&&0>=b&&c<=this.lb&&(this.I|=32)};k.td=function(a,b,c){this.A||(65534<=c&&(c|=-65536),a&4&&c<=this.lb&&(c<=this.lb-32?this.wa(4,0,-3):(this.Ba|=8,this.I|=32)))};k.ec=function(a){if(!this.S)return this.v.ec(a);this.L++;a=we(this,ve(this,a,3));this.L--;return a}; -k.Va=function(a){if(!this.S)return this.v.Va(a);this.L++;a=this.Qc(ve(this,a,2));this.L--;return a};k.Cb=function(a,b){this.S?(this.L++,a=ve(this,a,5),a&1&&this.b--,this.v.Nb(a,b),this.L--):this.v.Cb(a,b)};k.nb=function(a,b){this.S?(this.L++,this.Wc(ve(this,a,4),b),this.L--):this.v.nb(a,b)};k.vd=function(a,b,c){return xe(this,a,b,c)};k.wd=function(a,b,c){return ve(this,xe(this,a,b,c),c)};k.Qc=function(a){return this.v.ta(this.Ub=a)};k.Ce=function(a){return this.v.ta(this.Ub=ve(this,a,2))}; -k.Wc=function(a,b){this.v.Db(this.Ub=a,b&65535)};k.Bf=function(a,b){this.v.Db(this.Ub=ve(this,a,4),b)};function ye(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=xe(a,b,d,2),c&65536||61440!==(a.P&61440)&&(d&=65535),a.A=a.P>>12&3,c=a.za(d|c&a.T),a.A=a.P>>14&3):c=6!=d||(a.P>>2&12288)===(a.P&12288)?a.u[d]:a.Oa[a.P>>12&3];return c} -function ze(a,b,c,d){a.ua=a.ua&65535|1441792;var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=xe(a,b,e,4),c&65536||(e&=65535),a.A=a.P>>12&3,e=ve(a,e|c&65536,4),a.A=a.P>>14&3,a.v.Db(e,d)):6!=e||(a.P>>2&12288)===(a.P&12288)?a.u[e]=d:a.Oa[a.P>>12&3]=d}function Ae(a,b){b>>=6;var c=a.H=b&7;return(b=a.F=(b&56)>>3)?we(a,a.da(b,c,3)):a.u[c+a.vb]&a.Dc}function Be(a,b){b>>=6;var c=a.H=b&7;return(b=a.F=(b&56)>>3)?a.v.ta(a.da(b,c,2)):a.u[c+a.vb]}function Ce(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return xe(a,b,c,8)} -function De(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?we(a,a.da(b,c,3)):a.u[c]&255}function Ee(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.v.ta(a.da(b,c,2)):a.u[c]}function Fe(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Rb=a.da(b,e,7),c=0>c?a.u[-c-1]&255:c,c=d.call(a,c,we(a,e)),e&1&&a.b--,a.v.Nb(e,c)):(b=a.u[e],c=0>c?a.u[-c-1]&255:c,a.u[e]=b&65280|d.call(a,c,b&255))} -function V(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.da(b,e,6),a.v.Db(e,d.call(a,0>c?a.u[-c-1]:c,a.v.ta(e)))):a.u[e]=d.call(a,0>c?a.u[-c-1]:c,a.u[e])}function Ge(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.da(b,e,5),e=c=0>c?a.u[-c-1]&255:c,d&1&&a.b--,a.v.Nb(d,e)):c?(c=0>c?a.u[-c-1]&255:c,a.u[e]=a.u[e]&~d|c<<24>>24&d):a.u[e]&=~d;return c}function He(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.da(b,d,4),a.v.Db(d,c=0>c?a.u[-c-1]:c)):a.u[d]=c=0>c?a.u[-c-1]:c;return c} -function W(a,b,c){c&&(T(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} -k.pb=function(a){this.C.complete=!0;var b=this.j?Ie(this.j)?1:this.C.hc?-1:0:0,c=a?this.C.hc?0:1:-1;this.C.hc=!1;this.ga=this.b=a;do{if(b){if(Je(this.j,this.u[7],c)){this.ea();break}c||c++;b++}if(this.I){if(a=this.I&11)if(a=!1,this.I&2){var d=160,e=(this.Mb&224)>>5,f=this.J&&this.J.kb>e?this.J:null;f&&(d=f.xc,e=f.kb);e>(this.P&224)>>5?(this.I&8&&(Sd(this,2),this.I&=-9),this.wa(d,0,-9),e=!0):e=!1;e&&(f&&Td(this,f),a=!0);this.J||this.Mb||(this.I&=-3)}else this.I&1&&this.I++;if(a){if(b&&Je(this.j,this.u[7], -c)){this.ea();break}if(0>c)break}if(this.I&112&&Ud(this)){if(b&&Je(this.j,this.u[7],c)){this.ea();break}if(0>c)break}}this.I=this.I&15|this.P&16;this.decode(Rd(this))}while(0>1|b<<16;Xd(this,a);return a&65535}function Pe(a,b){a=b&128|b>>1|b<<8;Xd(this,a<<8);return a&255}function Qe(a,b){a=b&~a;U(this,a);return a}function Re(a,b){a=b&~a;U(this,a<<8);return a}function Se(a,b){a|=b;U(this,a);return a}function Te(a,b){a|=b;U(this,a<<8);return a}function Ue(a,b){a=~b|65536;Vd(this,a);return a&65535} -function Ve(a,b){a=~b|256;Vd(this,a<<8);return a&255}function We(a,b){a=b-a;this.I&256||(this.aa=this.ca=a,this.W=b&(b^a));return a&65535}function Xe(a,b){a=b-a;var c=a<<8;b<<=8;this.I&256||(this.aa=this.ca=c,this.W=b&(b^c));return a&255}function Ye(a,b){a=b+a;this.I&256||(this.aa=this.ca=a,this.W=a&(b^a));return a&65535}function Ze(a,b){a=b+a;var c=a<<8;this.I&256||(this.aa=this.ca=c,this.W=c&(b<<8^c));return a&255}function $e(a,b){a=-b;Vd(this,a,a&b&32768);return a&65535} -function af(a,b){a=-b;Vd(this,a<<8,(a&b&128)<<8);return a&255}function bf(a,b){a=b<<1|this.V>>16&1;Xd(this,a);return a&65535}function cf(a,b){a=b<<1|this.V>>16&1;Xd(this,a<<8);return a&255}function df(a,b){a=(this.V&65536|b)>>1|b<<16;Xd(this,a);return a&65535}function ef(a,b){a=((this.V&65536)>>8|b)>>1|b<<8;Xd(this,a<<8);return a&255}function ff(a,b){var c=b-a;Yd(this,c,a,b);return c&65535}function gf(a,b){var c=b-a;Yd(this,c<<8,a<<8,b<<8);return c&255} -function hf(a,b){this.I&256||(this.aa=this.ca=b&65280,this.W=this.V=0);return(b<<8|b>>8)&65535}function jf(a,b){a^=b;U(this,a);return a&65535}function kf(a){V(this,a,Be(this,a),Ke);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)} -function lf(a){var b=Ee(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.V=this.W=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.W=32768)}this.u[a]=c&65535;this.aa=this.ca=c;this.b-=(this.g?6:7)+b} -function mf(a){var b=Ee(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.V=this.W=0;b&=63;if(b&32){b=64-b;32>b-1;this.V=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.aa=d>>16;this.ca=d>>16|d;this.b-=(this.g?6:7)+b}function nf(a){W(this,a,!Nd(this))}function of(a){W(this,a,Nd(this))} -function pf(a){V(this,a,Be(this,a),Qe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function qf(a){Fe(this,a,Ae(this,a),Re);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function rf(a){V(this,a,Be(this,a),Se);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function sf(a){Fe(this,a,Ae(this,a),Te);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)} -function tf(a){var b=Be(this,a);a=Ee(this,a);U(this,(0>b?this.u[-b-1]:b)&a);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function uf(a){var b=Ae(this,a);a=De(this,a);U(this,((0>b?this.u[-b-1]&255:b)&a)<<8);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function vf(a){W(this,a,Pd(this))}function wf(a){W(this,a,!Qd(this)==!Od(this))}function xf(a){W(this,a,!Pd(this)&&!Qd(this)==!Od(this))}function yf(a){W(this,a,!Nd(this)&&!Pd(this))} -function zf(a){W(this,a,Pd(this)||!Qd(this)!=!Od(this))}function Af(a){W(this,a,Nd(this)||Pd(this))}function Bf(a){W(this,a,!Qd(this)!=!Od(this))}function Cf(a){W(this,a,Qd(this))}function Df(a){W(this,a,!Pd(this))}function Ef(a){W(this,a,!Qd(this))}function Ff(){this.wa(12,0,-8);this.b-=5}function Gf(a){W(this,a,!0)}function Hf(a){W(this,a,!Od(this))}function If(a){W(this,a,Od(this))}function Jf(a){a&1&&(this.V=0);a&2&&(this.W=0);a&4&&(this.ca=1);a&8&&(this.aa=0);this.b-=5} -function Kf(a){var b=Be(this,a);a=Ee(this,a);var c=(b=0>b?this.u[-b-1]:b)-a;Yd(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Lf(a){var b=Ae(this,a);a=De(this,a);var c=(b=(0>b?this.u[-b-1]&255:b)<<8)-(a<<=8);Yd(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)} -function Mf(a){var b=Ee(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.V=this.W=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.ca=d>>16|d,this.aa=d>>16):(this.W=32768,this.ca=d>>15|d,this.aa=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.ca=this.aa=0,this.W=32768,this.V=65536,this.b-=7}function Nf(){this.wa(24,0,-8);this.b-=25} -function Of(){this.P&49152?(this.Ba|=128,this.wa(4,0,-7)):(this.w&&1120==this.ib&&this.w.setData(this.u[0],!0),this.j?Pf(this.j):this.ea());this.b-=7}function Qf(){this.wa(16,0,-8);this.b-=25}var Rf=[0,7,7,10,7,11,9,13];function Sf(a){this.K=this.b;T(this,Ce(this,a));this.b=this.K-Rf[this.g]}var Tf=[0,14,14,17,14,18,16,20];function Uf(a){this.K=this.b;var b=Ce(this,a);a=a>>6&7;Zd(this,this.u[a]);this.u[a]=this.u[7];T(this,b);this.b=this.K-Tf[this.g]} -var Vf=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Wf(a){var b=Be(this,a);this.K=this.b;U(this,He(this,a,b));this.b=this.K-Vf[(this.F?8:0)+this.g]+(7!=this.f||this.g?0:2)}function Xf(a){var b=Ae(this,a);U(this,Ge(this,a,b,65535)<<8);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}var Yf=[7,13,13,17,14,18,17,21]; -function Zf(a){var b=Ee(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.I&256||(this.aa=b>>16,this.ca=this.aa|b,this.W=0,this.V=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)T(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function fg(a){V(this,a,Be(this,a),ff);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function gg(a){V(this,a,0,hf);this.b-=this.g?9:3+(7==this.f?2:0)}function hg(){this.wa(28,0,-8);this.b-=5} -function ig(){this.w&&(this.w.vc(this.u[7],!0),this.w.setData(this.u[0],!0));this.I|=8;Sd(this,-2);this.b-=3}function jg(a){V(this,a,this.u[(a>>6&7)+this.vb],jf);this.b-=this.g?9:3+(7==this.f?2:0)}function X(a){var b;if(b=this.j)b=this.j,I(b,1)?(G(b,"undefined opcode "+L(b,a),!0,!0),b=Pf(b)):b=!1;b||this.wa(8,0,-8)}function Jd(a){kg[a>>12].call(this,a)}function lg(a){mg[a>>6&3].call(this,a)}function ng(a){og[a>>6&3].call(this,a)}function pg(a){qg[a>>6&3].call(this,a)} -function rg(a){sg[a&15].call(this,a)}function tg(a){ug[a&15].call(this,a)}function vg(a){wg[a>>6&3].call(this,a)}function xg(a){yg[a>>6&3].call(this,a)}function zg(a){Ag[a>>6&3].call(this,a)} -var kg=[function(a){Bg[a>>8&15].call(this,a)},Wf,Kf,tf,pf,rf,kf,X,function(a){Cg[a>>8&15].call(this,a)},Xf,Lf,uf,qf,sf,fg,X],Bg=[function(a){Dg[a>>4&15].call(this,a)},Gf,Df,vf,wf,Bf,xf,zf,Uf,Uf,lg,ng,pg,X,X,X],mg=[function(a){Vd(this,He(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Ue);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,Ye);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,We);this.b-=this.g?9:3+(7==this.f?2:0)}],og=[function(a){V(this,a,0, -$e);this.b-=this.g?11:6},function(a){V(this,a,Nd(this)?1:0,Ke);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,Nd(this)?1:0,ff);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Ee(this,a);Vd(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],qg=[function(a){V(this,a,0,df);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,bf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Oe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Me);this.b-=this.g?9:3+(7==this.f?2:0)}], -Dg=[function(a){Eg[a&15].call(this,a)},X,X,X,Sf,Sf,Sf,Sf,bg,X,rg,tg,gg,gg,gg,gg],Eg=[Of,ig,cg,Ff,Qf,ag,X,X,X,X,X,X,X,X,X,X],sg=[$f,function(){this.V=0;this.b-=5},function(){this.W=0;this.b-=5},Jf,function(){this.ca=1;this.b-=5},Jf,Jf,Jf,function(){this.aa=0;this.b-=5},Jf,Jf,Jf,Jf,Jf,Jf,Jf],ug=[$f,function(){this.V=65536;this.b-=5},function(){this.W=32768;this.b-=5},dg,function(){this.ca=0;this.b-=5},dg,dg,dg,function(){this.aa=32768;this.b-=5},dg,dg,dg,dg,dg,dg,dg],Cg=[Ef,Cf,yf,Af,Hf,If,nf,of,Nf, -hg,vg,xg,zg,X,X,X],wg=[function(a){Vd(this,Ge(this,a,0,255));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Fe(this,a,0,Ve);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Fe(this,a,1,Ze);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Fe(this,a,1,Xe);this.b-=this.g?9:3+(7==this.f?2:0)}],yg=[function(a){Fe(this,a,0,af);this.b-=this.g?11:6},function(a){Fe(this,a,Nd(this)?1:0,Le);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Fe(this,a,Nd(this)?1:0,gf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a= -De(this,a);Vd(this,a<<8);this.b-=this.g?4:3+(7==this.f?2:0)}],Ag=[function(a){Fe(this,a,0,ef);this.b-=this.g?9+(this.Rb&1):3+(7==this.f?2:0)},function(a){Fe(this,a,0,cf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Fe(this,a,0,Pe);this.b-=this.g?9+(this.Rb&1):3+(7==this.f?2:0)},function(a){Fe(this,a,0,Ne);this.b-=this.g?9:3+(7==this.f?2:0)}];function Kd(a){Fg[a>>12].call(this,a)} -var Fg=[function(a){Gg[a>>8&15].call(this,a)},Wf,Kf,tf,pf,rf,kf,function(a){Hg[a>>8&15].call(this,a)},function(a){Ig[a>>8&15].call(this,a)},Xf,Lf,uf,qf,sf,fg,X],Gg=[function(a){Jg[a>>4&15].call(this,a)},Gf,Df,vf,wf,Bf,xf,zf,Uf,Uf,lg,ng,pg,function(a){Kg[a>>6&3].call(this,a)},X,X],Kg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.za(a|this.T);T(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=ye(this,a,0);Zd(this,a);U(this,a);this.b-=11},function(a){var b=ue(this);this.K= -this.b;ze(this,a,0,b);U(this,b);this.b=this.K-Yf[this.g]},function(a){U(this,He(this,a,Qd(this)?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],Jg=[function(a){Lg[a&15].call(this,a)},X,X,X,Sf,Sf,Sf,Sf,bg,function(a){a&8?(this.P&49152||(this.P=this.P&-2017|(a&7)<<5,this.I|=1,this.I&=-3),this.b-=5):X.call(this,a)},rg,tg,gg,gg,gg,gg],Lg=[Of,ig,function(){te(this);this.I|=this.P&16;this.b-=13},Ff,Qf,ag,cg,function(){this.wa(8,0,-8)},X,X,X,X,X,X,X,X],Hg=[Zf,Zf,Mf,Mf,lf,lf,mf,mf,jg,jg,X,X,X,X,eg,eg],Ig= -[Ef,Cf,yf,Af,Hf,If,nf,of,Nf,hg,vg,xg,zg,function(a){Mg[a>>6&3].call(this,a)},X,X],Mg=[X,function(a){a=ye(this,a,65536);Zd(this,a);U(this,a);this.b-=11},function(a){var b=ue(this);this.K=this.b;ze(this,a,65536,b);U(this,b);this.b=this.K-Yf[this.g]},X]; -function Ng(a){x.call(this,"ROM",a,Ng,128);this.ja=this.B=null;this.A=a.addr;this.f=a.size;this.F=!1;this.w=a.alias;this.g=a.file;this.H=u(this.g);if(this.g){a=this.g;var b=oa(this.H);"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Da(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(lb(c.fb,a,b),(a=Ea(a,b))?(c.B=a.ha,c.ja=a.ja):c.g=null);Og(c)})}}B(Ng);k=Ng.prototype; -k.Ha=function(a,b,c,d){this.v=b;this.b=c;this.j=d;Og(this)};k.Ka=function(){this.ja&&(this.j&&Pg(this.j,this.id,this.A,this.f,this.ja),delete this.ja);return!0};k.Ja=function(){return!0}; -function Og(a){if(!yb(a)){if(a.g){if(!a.B||!a.v)return;a.f||(a.f=a.B.length);if(a.B.length!=a.f)Ab(a,"ROM size ("+p(a.B.length,8,!0)+") does not match specified size ("+p(a.f,8,!0)+")");else{var b;a:{b=a.A;a.status(a.f+"-byte ROM at "+na(b));if(57344<=b&&b<57344+qc){var c={};b=(c[b]=[Ng.prototype.qe,Ng.prototype.pf,null,null,null,a.f>>1],c);if(Jb(a.v,a,b)){b=a.F=!0;break a}}else if(Ac(a.v,b,a.f,ld)){for(c=0;c>>a.na;0=b.length){G(a,"invalid block at offset "+q(m),4096);break}for(var h=h+2,n=b[h++]&255|(b[h++]&255)<<8,r=b[h++]&255|(b[h++]&255)<<8,l=l+((n&255)+(n>>8)+(r&255)+(r>>8)),t=h,v=n-=6;0=b.length){G(a,"insufficient data for block at offset "+q(m),4096);break}l+= -b[h++]&255;if(l&255){G(a,"invalid checksum ("+p(l,2,!0)+") for block at offset "+q(m),4096);break}if(v)for(G(a,"loading "+q(v)+" bytes at "+q(r)+"-"+q(r+v-1),4096);v--;)a.b.Cb(r++,b[t++]&255);else r&1?a.b.ea():null==d&&(d=r),null!=d&&G(a,"starting address: "+q(d),4096);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=la.zc&&c<=la.jd&&(b=!0,c-=la.zc-la.Yc);b&&(a.preventDefault&&a.preventDefault(),d.gc(c));return!0},c.onkeypress=function(a){a=a||window.event;d.gc(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();a.preventDefault&&a.preventDefault();(a=a.clipboardData|| -window.clipboardData)&&d.gc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.v=b;this.b=c;this.j=d;var e=this;this.ga=Mc(48,4,262144);this.ba=Jc(this.b,function(){var a;a=-1;e.H.length&&(a=e.H.shift()&255,G(e,"receiveByte("+p(a,2,!0)+")"),e.fa&&97<=a&&122>a&&(a-=32),Lc(e.b,e.ba,1E3/Math.round(e.S/10)));0<=a&&(e.K=a,e.f&128?e.K|=49152:e.f|=128,e.f&64&&Kc(c,e.ga))});this.O=Mc(52,4,262144);this.sa=Jc(this.b,function(){e.g|=128;e.g&64&&Kc(c,e.O)});Jb(b,this,Wg);Lb(b,this.reset.bind(this));J(this)}; -k.Oc=function(){if(!this.J){var a=yd(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ya(b[0]);if(c!=this.eb)return;b=ya(b[1]);if(this.J=nb(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.L=d.receiveData){this.status(this.fb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ka=function(a,b){if(!b)if(this.Oc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.Ja=function(a){return a?this.save():!0};k.reset=function(){Xg(this)};k.save=function(){var a=new S(this);a.set(0,[]);return a.data()};k.restore=function(){return Xg(this)};function Xg(a){a.K=0;a.f=0;a.g=128;a.H=[];return!0}k.gc=function(a){if("number"==typeof a)this.H.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.U||8,c=a-this.F%a,this.U&&(b=xa("",c)));this.T&&!this.F&&c&&(b=String.fromCharCode(this.T)+b);this.w.value+=b;this.w.scrollTop=this.w.scrollHeight;this.F+=c}}else if(null!=this.A){if(10==a||1024<= -this.A.length)this.i(this.A),this.A="";10!=a&&(this.A+=String.fromCharCode(a))}Lc(this.b,this.sa,1E3/Math.round(this.oa/10));this.g&=-129};var Yg={},Wg=(Yg[65392]=[null,null,Ug.prototype.de,Ug.prototype.af,"RCSR"],Yg[65394]=[null,null,Ug.prototype.ce,Ug.prototype.$e,"RBUF"],Yg[65396]=[null,null,Ug.prototype.Ee,Ug.prototype.Df,"XCSR"],Yg[65398]=[null,null,Ug.prototype.De,Ug.prototype.Cf,"XBUF"],Yg); -ab(function(){for(var a=F(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.D[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.D[b]=c,c.onclick= -function(){var a=d.D.listTapes;a&&uh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.S){c.parentNode.removeChild(c);break}this.D[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;uh(d,u(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.D[b]=c,!0}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.v=b;this.b=c;this.j=d;this.ba=vh(a);var e=this;if((this.g=yd(this.B,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){w("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.T=Mc(56,4,4096);this.ga=Jc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.Kc.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Fa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Da(f,null,!0,function(e,f,g){var h=0>g&&a.B&&!a.B.C.ma;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(lb(a.fb,e,f),(e=Ea(e,f))&&Eh(a,b,c,d,e.ha,e.Ra, -e.Qa));a.C.hb=!1;a.F&&(a.F--,a.F||J(a));Bh(a)})}function yh(a,b,c,d){if((a=a.D.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.la);for(d=0;dc.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Fa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.bc?"":e)+"&format=json"));return!!Da(f, -null,!0,function(b,c,d){Lh(a,b,c,d)})} -function Lh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.B&&!a.B.C.ma;if(d)a.controller.N('Unable to load disk "'+a.Ta+'" (error '+d+": "+b+")",f);else{lb(a.controller.fb,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(h.length)if(1==h.length)w(h[0]);else{a.la=h.length;a.ra=h[0].length;a.ia=h[0][0].length;var l=h[0][0][0];a.ya=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var t=l.bytes;if(void 0!==t&&t.length){for(var v=m<<2,A=t.length;A>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ma?f=a.Wa+a.Ma&&(a.Ma+=f-(a.Wa+a.Ma)+1):(a.Wa=f,a.Ma=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;lb&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Ta+": "+c);return b}; -k.toJSON=function(){var a;a=0;for(var b;b=Oh(this,a++);)Rh(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function Rh(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function Q(a){x.call(this,"RK11",a,Q,65536);this.J=a.autoMount||{};this.F=0;this.g=Array(8);this.K=!Ma("Mobi")&&window&&"FileReader"in window}B(Q);k=Q.prototype; -k.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("RK11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&Sh(d,a)},!0;case "loadDrive":return this.D[b]= -c,c.onclick=function(){var a=d.D.listDisks;a&&Th(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.K){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[ma(a.value,10)||0])?(a=a.Z)?(a=Na(Qh(a),a.uc.replace(".json",".img")),w(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.K)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Th(d,u(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.v=b;this.b=c;this.j=d;if((a=yd(this.B,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){w(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.J[e]=a[e]);Uh(this);this.Gb=Mc(144,5,65536);Jb(b,this,Vh);Lb(b,this.reset.bind(this));Wh(this,"None","",!0);this.K&&Wh(this,"Local Disk","?");Wh(this,"Remote Disk","??");Xh(this)||J(this)}; -k.Ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.B.qc){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Sh(this,0)}}return!0};k.Ja=function(a){return a?this.save():!0};k.reset=function(){Uh(this)};k.save=function(){return(new S(this)).data()}; -k.restore=function(a){return Uh(this,a[0])};function Xh(a,b){b||(a.F=0);for(var c in a.J){var d=a.J[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"')}Zh(a,e,b,c,!1,d)}else Yh(a,e)} -function Zh(a,b,c,d,e,f){var g=-1,h=a.g[b];h.La.toLowerCase()!=d.toLowerCase()&&(g++,Yh(a,b,!0),h.yb?a.N("RK11 busy"):(h.yb=!0,e&&(h.xb=!0,a.F++,I(a)&&G(a,"auto-loading disk: "+c)),h.ab=!!f,Kh(new Gh(a,h,"preload"),c,d,f,a.ad)&&g++));return g} -k.ad=function(a,b,c,d,e){var f;a.yb=!1;b&&(f=Nh(b),b&&f[0]>a.la||f[1]>a.ra)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.zb)),b=null);b?(a.Z=b,a.Ta=c,a.La=d,this.N('Mounted disk "'+c+'" in drive '+("RK"+a.zb),a.xb||e),this.B&&this.B.mb()):a.ab=!1;a.xb&&(a.xb=!1,--this.F||J(this));Sh(this,a.zb)}; -function Wh(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e>12&48;this.H=65536-e&65535;a&&(this.A=this.A|a|32768,this.M|=49152);return!0};k.bd=function(a,b,c,d,e,f,g){var h=0,l=a.Z,m=null,n;l||(h=128,e=0);for(;e--;){if(!m){m=a.Z.seek(b,c,d+1);if(!m){h=4096;break}n=0}var r,t;if(0>(r=a.Z.read(m,n++))||0>(t=a.Z.read(m,n++))){h=32;break}this.v.nb(f,r|t<<8);if(Ic(this.v)){h=1024;break}f+=2;if(n>=l.ya&&(m=null,++d>=l.ia&&(d=0,++c>=l.ra&&(c=0,++b>=l.la)))){h=64;break}}return g(h,b,c,d,e,f)}; -k.cd=function(a,b,c,d,e,f,g){var h=0,l=a.Z,m=null,n;l||(h=128,e=0);for(;e--;){var r=this.v.Va(f);if(Ic(this.v)){h=1024;break}f+=2;if(!m){m=a.Z.seek(b,c,d+1,!0);if(!m){h=4096;break}n=0}if(!a.Z.write(m,n++,r&255)||!a.Z.write(m,n++,r>>8)){h=32;break}if(n>=l.ya&&(m=null,++d>=l.ia&&(d=0,++c>=l.ra&&(c=0,++b>=l.la)))){h=64;break}}return g(h,b,c,d,e,f)};k.ie=function(){return this.L};k.ff=function(){};k.je=function(){return this.A};k.gf=function(){};k.fe=function(){return this.M&61438}; -k.cf=function(a){this.M=this.M&-3968|a&3967;if(this.M&1){var b,c=!0;a=(this.f&57344)>>13;var d=this.g[a],e,f,g,h;this.M&=-129;switch(this.M&14){case 0:this.L=d.status;this.A=0;this.M=128;this.f=0;break;case 4:b=this.bd;case 2:b||(b=this.cd),e=(this.f&8160)>>5,f=(this.f&16)>>4,g=this.f&15,e>=d.la?(this.A|=32832,this.M|=49152):g>=d.ia?(this.A|=32800,this.M|=49152):(h=(this.M&48)<<12|this.w,c=65536-this.H&65535,c=b.call(this,d,e,f,g,c,h,this.$c.bind(this)))}this.L=d.status|a<<13|this.f%9&15;c&&(this.M&= --2,this.M|=128,this.M&64&&Kc(this.b,this.Gb))}};k.ke=function(){return this.H};k.hf=function(a){this.H=a};k.ee=function(){return this.w};k.bf=function(a){this.w=a};k.ge=function(){return this.f};k.df=function(a){this.f=a};k.he=function(){return this.O};k.ef=function(a){this.O=a}; -var $h={},Vh=($h[65280]=[null,null,Q.prototype.ie,Q.prototype.ff,"RKDS"],$h[65282]=[null,null,Q.prototype.je,Q.prototype.gf,"RKER"],$h[65284]=[null,null,Q.prototype.fe,Q.prototype.cf,"RKCS"],$h[65286]=[null,null,Q.prototype.ke,Q.prototype.hf,"RKWC"],$h[65288]=[null,null,Q.prototype.ee,Q.prototype.bf,"RKBA"],$h[65290]=[null,null,Q.prototype.ge,Q.prototype.df,"RKDA"],$h[65294]=[null,null,Q.prototype.he,Q.prototype.ef,"RKDB"],$h); -function P(a){x.call(this,"RL11",a,P,131072);this.K=a.autoMount||{};this.H=0;this.g=Array(4);this.L=!Ma("Mobi")&&window&&"FileReader"in window}B(P);k=P.prototype; -k.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&ai(d,a)},!0;case "loadDrive":return this.D[b]= -c,c.onclick=function(){var a=d.D.listDisks;a&&bi(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.L){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[ma(a.value,10)||0])?(a=a.Z)?(a=Na(Qh(a),a.uc.replace(".json",".img")),w(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.L)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;bi(d,u(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.v=b;this.b=c;this.j=d;if((a=yd(this.B,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){w(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.K[e]=a[e]);ci(this);this.Gb=Mc(112,5,131072);Jb(b,this,di);Lb(b,this.reset.bind(this));ei(this,"None","",!0);this.L&&ei(this,"Local Disk","?");ei(this,"Remote Disk","??");fi(this)||J(this)}; -k.Ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.B.qc){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";ai(this,0)}}return!0};k.Ja=function(a){return a?this.save():!0};k.reset=function(){ci(this)};k.save=function(){return(new S(this)).data()}; -k.restore=function(a){return ci(this,a[0])};function fi(a,b){b||(a.H=0);for(var c in a.K){var d=a.K[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"')}hi(a,e,b,c,!1,d)}else gi(a,e)} -function hi(a,b,c,d,e,f){var g=-1,h=a.g[b];h.La.toLowerCase()!=d.toLowerCase()&&(g++,gi(a,b,!0),h.yb?a.N("RL11 busy"):(h.yb=!0,e&&(h.xb=!0,a.H++,I(a)&&G(a,"auto-loading disk: "+c)),h.ab=!!f,Kh(new Gh(a,h,"preload"),c,d,f,a.ed)&&g++));return g} -k.ed=function(a,b,c,d,e){var f;a.yb=!1;b&&(f=Nh(b),b&&f[0]>a.la||f[1]>a.ra)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.zb)),b=null);b?(a.Z=b,a.Ta=c,a.La=d,this.N('Mounted disk "'+c+'" in drive '+("RL"+a.zb),a.xb||e),this.B&&this.B.mb()):a.ab=!1;a.xb&&(a.xb=!1,--this.H||J(this));ai(this,a.zb)}; -function ei(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e>12&48;this.J=f>>16&63;this.A=this.f=b<<7|(c?64:0)|d&63;this.F=65536-e&65535;a&&(this.M=this.M|a|32768);return!0}; -k.fd=function(a,b,c,d,e,f,g){var h=0,l=a.Z,m=null,n;l||(h=5120,e=0);for(;e--;){if(!m){m=a.Z.seek(b,c,d+1);if(!m){h=5120;break}n=0}var r,t;if(0>(r=a.Z.read(m,n++))||0>(t=a.Z.read(m,n++))){h=5120;break}this.v.nb(f,r|t<<8);if(Ic(this.v)){h=8192;break}f+=2;if(n>=l.ya&&(m=null,++d>=l.ia&&(d=0,++c>=l.ra&&(c=0,++b>=l.la)))){h=5120;break}}return g(h,b,c,d,e,f)}; -k.gd=function(a,b,c,d,e,f,g){var h=0,l=a.Z,m=null,n;l||(h=5120,e=0);for(;e--;){var r=this.v.Va(f);if(Ic(this.v)){h=8192;break}f+=2;if(!m){m=a.Z.seek(b,c,d+1,!0);if(!m){h=5120;break}n=0}if(!a.Z.write(m,n++,r&255)||!a.Z.write(m,n++,r>>8)){h=5120;break}if(n>=l.ya&&(m=null,++d>=l.ia&&(d=0,++c>=l.ra&&(c=0,++b>=l.la)))){h=5120;break}}return g(h,b,c,d,e,f)};k.ne=function(){return this.M&65535}; -k.lf=function(a){this.M=this.M&-1023|a&1022;this.O=this.O&-4|(a&48)>>4;if(!(this.M&128)){var b;a=!0;var c=this.g[(this.M&768)>>8],d,e,f,g;this.M&=-2;switch(this.M&14){case 4:this.f&8&&(this.M&=63);this.F=c.status|this.A&64;break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.A=this.f&4?this.A+b:this.A-b,this.f=this.A=this.A&65408|c);break;case 8:this.F=this.A;break;case 12:b=this.fd;case 10:b||(b=this.gd),d=this.f>>7,e=this.f&64?1:0,f=this.f&63,d>=c.la||f>=c.ia?this.M|=37888:(g=(this.J& -63)<<16|this.w,a=65536-this.F&65535,a=b.call(this,c,d,e,f,a,g,this.dd.bind(this)))}a&&(this.M|=129,this.M&64&&Kc(this.b,this.Gb))}};k.le=function(){return this.w};k.jf=function(a){this.w=a&65534};k.oe=function(){return this.f};k.mf=function(a){this.f=a};k.pe=function(){return this.F};k.nf=function(a){this.F=a};k.me=function(){return this.J};k.kf=function(a){this.J=a&63}; -var ii={},di=(ii[63744]=[null,null,P.prototype.ne,P.prototype.lf,"RLCS"],ii[63746]=[null,null,P.prototype.le,P.prototype.jf,"RLBA"],ii[63748]=[null,null,P.prototype.oe,P.prototype.mf,"RLDA"],ii[63750]=[null,null,P.prototype.pe,P.prototype.nf,"RLMP"],ii[63752]=[null,null,P.prototype.me,P.prototype.kf,"RLBE"],ii);function ji(a){x.call(this,"Debugger",a,ji);this.oa=a.base||16;this.Ga=!1;this.K=0;this.U=!1;this.A=-1;this.g=[];this.fa={}}B(ji); -var ki={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ji.prototype.Mc=function(){return-1};ji.prototype.Nc=function(){}; -function li(a,b,c,d){if(c)if(b){0>a.A&&a.g.length&&(a.A=0);if(0>a.A||b!=a.g[a.A])a.g.splice(0,0,b),a.A=0;a.A--}else a.U?b="end":b=a.g[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ya(b.substring(c,f))),c=f+1}}return a} -function mi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function ni(a,b,c){var d;if(b){b=oi(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+na(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}function ri(a,b){if(b)return qi(a,b,a.fa[b]);var c=0;for(b in a.fa)qi(a,b,a.fa[b]),c++;return 0this.b.ib?Bi:[];Oc(this,16,function(a){a:{var b=d.v.Y,c=a[0],e=a=0,l=b.length;if(c){a=d.da(Ci(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.v.na;l=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Ec[c],n&&d.i(p(n.id,8)+" %"+ -p(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"} -k.Nc=function(a){var b;if(0<=a)if(8>a)b=this.b.u[a];else if(16>a)b=this.b.cb[a-8];else if(20>a)b=this.b.Oa[a-16];else{var c=this.b,d=this.w;switch(a){case 20:b=dd(this.b);break;case 21:b=c.Mb;break;case 22:b=c.Ba;break;case 23:b=c.lb;break;case 24:b=Qc(c);break;case 25:b=$c(c);break;case 26:b=ad(c);break;case 27:b=c.Xa;break;case 28:d&&(b=d.Aa);break;case 29:d&&(b=d.Bb);break;case 30:d&&nc(d)&&(b=d.bb)}}return b}; -k.message=function(a,b){b&&(a+=" @"+L(this,Y(this.b.ua&65535).G));if(!this.sa||a!=this.sa)if(this.sa=a,this.pa&1073741824)this.ba.push(a);else{var c;if(this.pa&-2147483648&&this.b&&(c=this.b.C.X)||xb(this,!0))this.ea(),c&&(a+=" (cpu halted)");this.i(a);this.b&&(a=this.b,Gd(a),a.Fa=0,a.xa())}}; -function ui(a){var b;if(!Ie(a))a.H&&a.H.length&&a.i("instruction history buffer freed"),a.ga=0,a.H=[];else if(!a.H||!a.H.length){a.H=Array(1E3);for(b=0;b>8;a.i("trapped to "+L(a,c&255,1)+" ("+(0>d?Cb[-d]:L(a,d))+")")}a.L=Y(a.b.u[7]);b&&1!=a.S?Ji(a):Ki(a)}}function Ii(a,b){var c;(c=!a.b||!yb(a.b))||(c=a.b,c.C.ma?c=!0:(c.i(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.C.X?(b||a.i("cpu busy or unavailable, command ignored"),!1):!zb(a.b)}k.Ka=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; -k.Ja=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){ui(this);this.Fa=0;this.sa=null;this.K=0;this.L=Y(this.b.u[7]);this.C.X=!1;Li(this);a||Bd(this)};k.save=function(){var a=new S(this);a.set(0,Ei(this.L));a.set(1,Ei(this.T));a.set(2,[this.g,this.U,this.pa]);a.set(3,this.J);return a.data()}; -k.restore=function(a){var b=0;void 0!==a[2]&&(this.L=Fi(a[b++]),this.T=Fi(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.U=a[b][1],this.pa|=a[b][2]);a[3]&&(this.J=a[3]);return!0};k.start=function(a,b){this.S||this.i("running");this.C.X=!0;this.Rb=a;this.Sb=b}; -k.stop=function(a,b){if(this.C.X){this.C.X=!1;this.K=b-this.Sb;if(!this.S){b="stopped";if(this.K){a-=this.Rb;var c=0d&&(d=a.b.Va(b)),65535!=(d&65535)&&(a.vc(a.H[a.ga],b),++a.ga==a.H.length&&(a.ga=0)));return!1}function Pf(a){var b=a.b;if(b.C.X)throw T(b,a.b.ua&65535),a.ea(),-1;return!1} -function ti(a){var b,c;a.f=["bp"];if(a.O)for(b=1;b>>d.na],!1)}a.O=["br"];if(a.F)for(b=1;b>>d.na],!0);a.F=["bw"];a.sb=0}k.wb=function(a,b,c){var d=!0;c||Mi(this,a,b,!1,!0);if(a!=this.f){var e=this.da(b);if(-1===e)this.i("invalid address: "+L(this,b.G)),d=!1;else{var f=this.v;f.Y[e>>>f.na].wb(e&f.v,a==this.F)}}d&&(a.push(b),c?b.Ua=!0:(Ni(this,a,a.length-1,"set"),ui(this)));return d}; -function Mi(a,b,c,d,e){var f=!1;c=a.da(c);for(var g=1;g>>d.na],b==a.F));h.Ua||ui(a);break}}return f}function Oi(a,b){for(var c=1;c>23)&65535,y=L(v,t);else if(8192==C)t=t.G-((f&63)<<1)&65535,y=L(v,t);else if(12288==C)y=L(v,f&7,1);else if(24576==C)y=L(v,f&63,1);else if(32768==C)y=L(v,f&255,1);else if(C=f&A,A&4032&&(C>>=6,A>>=6), -A&63)switch(A=C&7,C&56){case 0:y=Hi(A);break;case 8:y="@"+Hi(A);break;case 16:7>A?y="("+Hi(A)+")+":(C=v.ta(t,2),y="#"+L(v,C,0,!0));break;case 24:7>A?y="@("+Hi(A)+")+":(C=v.ta(t,2),y="@#"+L(v,C,0,!0));break;case 32:y="-("+Hi(A)+")";break;case 40:y="@-("+Hi(A)+")";break;case 48:C=v.ta(t,2);y=L(v,C,0,!0)+"("+Hi(A)+")";7==A&&(y=L(v,C+t.G&65535));break;case 56:C=v.ta(t,2),y="@"+L(v,C)+"("+Hi(A)+")",7==A&&(y="@"+L(v,C+t.G&65535))}v=y;if(!v||!v.length){h="INVALID";break}"string"!=typeof v&&(m=v[1],v=v[0]); -0b)c=Hi(b),c+="="+L(a,d.u[b]);else if(13>b)c="A"+(b-8)+"="+L(a,d.cb[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+L(a,d.Oa[b-16]);else switch(b){case 20:c="PS="+L(a,dd(d));break;case 21:c="IR="+L(a,d.Mb);break;case 22:c="ER="+L(a,d.Ba);break;case 23:c="SL="+L(a,d.lb);break;case 24:c="MMR0="+L(a,Qc(d));break;case 25:c="MMR1="+L(a,$c(d));break;case 26:c="MMR2="+L(a,ad(d));break;case 27:c="MMR3="+L(a,d.Xa);break;case 28:a.w&&(c="AR="+L(a,a.w.Aa,3));break;case 29:a.w&& -(c="DR="+L(a,a.w.Bb));break;case 30:a.w&&nc(a.w)&&(c="SR="+L(a,a.w.bb,3))}c&&(c+=" ");return c}function Si(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,20)+Z(a,21)+Z(a,23);d+=Ri(a,"T")+Ri(a,"N")+Ri(a,"Z")+Ri(a,"V")+Ri(a,"C");b&&(b=d,c=""+(Z(a,24)+Z(a,25)),c+=Z(a,26)+Z(a,27)+Z(a,22),c=c+"\n"+(Z(a,30)+Z(a,28)+Z(a,29)),d=b+("\n"+c));return d}k.Jc=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],r=Aa(n,l,a.Jc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.J.push({pg:b,G:c,yd:d,ja:e,Hc:f})}function Ti(a,b,c){var d=[],e=a.da(b)>>>0;for(b=0;b>>0,h=f.yd;if(e>=g&&eb)){e.u[b]= -g&65535;break}a.i("unknown register: "+f);return}a.B.xa();a.i("updated registers:")}}a.i(Si(a,d));c&&(a.L=Y(e.u[7]),Ki(a,L(a,a.L.G)))}}function Xi(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(g=h[3],f=null);f=Qi(a,b,g,f);a.i(f);a.L=b;e-=b.G-l;c++}}} -function Pi(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.U&&(a.i("ended assemble at "+L(a,a.T.G)),a.L=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.sa=null;if(yb(a)&&0n||"z"ua.length&&(a.i("note: only "+ua.length+" available"),ea=ua.length);ka-=ea;0>ka&&(null==ua[ua.length-1].G?(ea=ka+ea,ka=0):ka+=ua.length);var be=[];"call"==eh&&(ac=1E5,be=["CALL"]);for(void 0!==dh&&a.i(ea+" instructions earlier:");0=ua.length&&(ka=0);a.tb=ea;gh++;ac--}}gh||(a.i("no "+fh+"history available"),a.tb=void 0)}else{var tb=Ci(a,ta);if(tb){var cc=0,ce=!1,de="ds"==Ta;Ua&&(ce=!0,"l"==Ua.charAt(0)&&(ce=!1,Ua=Ua.substr(1)||qj),cc=pi(a,Ua)>>>0,65536ge?String.fromCharCode(ge):"."),Tc=Tc>>8}Va&&(Va+="\n");Va=de?Va+(Wa+","):Va+(ta+" "+Wa+(0==Sc?" "+fe:""))}Va&&a.i(Va);a.qb=tb}}}}break;case "e":if("else"==g[0])break;var wb,he,ie,je,ke=g[0],le=g[1];"eb"==ke?(wb=1,he=255,ie=a.dc,je=a.Nb):"e"== -ke||"ew"==ke?(wb=2,he=65535,ie=a.ta,je=a.Db):le=null;if(null==le)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var Uc=Ci(a,le);if(Uc)for(var Vc=2;Vcoe;){for(var Xa=null,vj=256;65536>hc.G>>>0;){pe.G=a.ta(hc,2);if(null==hc.G||!vj--)break;if(!(pe.G&1)){for(var wj=a,Wc=pe,kh=null,ic=Wc.G,lh=ic,qe=1;6>=qe&⁣qe++){if(2\nLicense: GPL version 3 or later ");this.i("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bbj){if(dj(d,this.J)){this.A=new S(this,"1.30.4","failsafe");dj(this.A)&&(ij(this,d),a=2,jj(this.A));this.A.set("timestamp",Ca());kj(this.A);var e=this.f&&!this.F;if(1==a||Ga("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=hj(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?dj(d,g):("error"== -f&&"no machine state"!=g?(this.N("Error: "+g),"unable to verify user"==g&&(La("user",""),this.B=null)):this.i(f+": "+g),jj(d),dj(d)?(c=hj(d),e=!0):c=!1))}e&&gj(this,c?d:null)}else 2==a&&d.clear()}else gj(this);delete this.J;delete this.K}e=mb(this.id);for(f=0;fa[1];a=a[2];this.ga=!0;this.C.ma=!0;var d=this.D.power;d&&(d.textContent="Shutdown");this.b&&(lj(this,this.b,b,c,a),this.xa(),this.b.Eb());this.S&&(ij(this,b),b.clear());!c&&this.A&&(this.A.clear(),delete this.A);this.g=0}; -function ij(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.4"};d.url=a.fa;d.user=c;d.type="bug";d.data=b;Da("http://www.pcjs.org/api/v1/report",d,!0)}} -function Zi(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new S(a,"1.30.4"),g=new S(a,"1.30.4","validate"),h=Ca();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ja&&(c&&a.b.ea(),d=a.b.Ja(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.ma=!1,!1===d&&(e=null)));for(var h=mb(a.id),l=0;l=c||30<=(b.Qb+=c))&&(d.textContent=b.C.X?b.Ea.toFixed(2)+"Mhz":"Stopped",b.Qb=0)}if(this.w&&(b=this.w,a=a||0,b.F)){c=b.b.C.X;d=!!(b.b.I&8);if(0>=a||60<=(b.A+=a)){for(var e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Da(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Cj(a,b,c)}})}else c(a,null)} -function Dj(a,b,c,d){function e(a){if(void 0===h){var b=g&&F(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);l&&(--pj||cb(!0));l=!1}var g,h,l=!0;pj++;kb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c|| -(c="/versions/pdpjs/1.30.4/components.xsl");m=function(d,h){h?Aj(c,null,null,!1,e,function(d,l){l?(lb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--pj||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--pj||cb(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Aj(b,a,d,!0,e,m):Bj(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return l}window.embedPDP11=function(a,b,c,d){cb(!1);return Dj(a,b,c,d)};window.enableEvents=cb;window.sendEvent=db;})();//# sourceMappingURL=/tmp/pdpjs/1.30.4/pdp11-dbg.map diff --git a/versions/pdpjs/1.30.4/pdp11.js b/versions/pdpjs/1.30.4/pdp11.js deleted file mode 100644 index abb1873bb..000000000 --- a/versions/pdpjs/1.30.4/pdp11.js +++ /dev/null @@ -1,269 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da":62,"?":63,"@":64, -Tb:65,Qe:66,Re:67,Ue:68,E:69,Ve:70,We:71,Xe:72,Ye:73,Ze:74,$e:75,af:76,bf:77,cf:78,df:79,ef:80,Q:81,ff:82,gf:83,hf:84,jf:85,kf:86,lf:87,mf:88,nf:89,xc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pf:97,qf:98,rf:99,d:100,e:101,sf:102,tf:103,uf:104,vf:105,yf:106,k:107,zf:108,Af:109,n:110,Bf:111,p:112,q:113,r:114,Cf:115,t:116,Df:117,Ef:118,Ff:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,oc:127}; -function m(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return""+c}function q(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function r(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function oa(a){return a.replace(/[&<>"']/g,function(a){return na[a]})} -function pa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var qa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},ra=Date.now||function(){return+new Date}; -function sa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function t(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function ta(a,b){var c,d={M:null,ba:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=g.load;d.ma=g.exec;if(e=g.bytes)d.M=e;else if(e=g.words)for(d.M=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.M=Array(4*e.length),f=c=0;c>8&255,d.M[f++]=e[c]>>16&255,d.M[f++]=e[c]>>24&255;else d.M=g;d.ba=g.symbols;d.M.length?1==d.M.length&&(w(d.M[0]),d=null):(w("Empty resource: "+a),d=null)}catch(k){w("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Ca=this.id:(this.ua=this.id.substr(0,b),this.Ca=this.id.substr(b+1));this[a]=c;this.o={ready:!1,Fa:!1,Jb:!1,R:!1,error:!1};this.wb=null;this.o.error=!1;this.j={};this.G=null;this.Ic=d||0;y.push(this)}var Na=void 0,Oa={}; -if(window){Na||(Na=window.location.search.substr(1));for(var Pa,Qa=/\+/g,Ra=/([^&=]+)=?([^&]*)/g;Pa=Ra.exec(Na);)Oa[decodeURIComponent(Pa[1].replace(Qa," "))]=decodeURIComponent(Pa[2].replace(Qa," "))}function Sa(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 z(a,b){b||(b=x);a.prototype=Sa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ta=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Ta={},y=[];function Ua(a,b,c){Ta[a]&&b&&(Ta[a][b]=c)}function A(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Tc,a]}z(ab);var bb=7;function cb(a,b){return a.b[b]&&a.b[b][1]}h=ab.prototype;h.reset=function(){this.stop()}; -h.aa=function(a,b,c,d){if(this.l&&this.l.aa(a,b,c,d)||this.a&&this.a.aa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.j[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.j[b]=c,this.h[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.j[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a, -b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):this.parent.aa.call(this,a,b,c,d)}};h.fa=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;fb(b,this,gb);hb(b,this.reset.bind(this));ib(this);jb(this)};h.ha=function(a,b){b||(kb(),this.reset());return!0};h.ga=function(){return!0}; -function lb(a,b,c){if(a=a.j[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ib(a,b){for(var c in a.h)lb(a,c,null!=b?b:a.h[c])}function mb(a,b,c){if(a=a.j[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jb(a){for(var b in a.b)mb(a,b,a.b[b][1])}function nb(a,b,c,d){a.j[b]&&(void 0===c&&(Za(a,"Value for "+b+" is invalid"),F(a.a)),c=8==(a.G&&a.G.g||8)?ka(c,d):q(c,d),a.j[b].textContent!=c&&(a.j[b].textContent=c))} -function db(a,b){var c=a.b[b];mb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.w="DEP"==b,a.C="EXAM"==b)}function eb(a,b){var c=a.b[b];c[2]&&c[3]&&(mb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Rc=function(a){a||this.a.o.T||(a=this.a,a.g.reset(),ob(a),cb(this,"ENABLE")&&pb(this.a))};h.Sc=function(){};h.Nc=function(a){a||F(this.a)}; -h.Lc=function(a){if(!a&&!this.a.o.T)if(cb(this,"ENABLE"))pb(this.a);else{a=this.G;var b;if(b=a)a.o.Fa&&(a.o.Jb=!0),b=!a.o.Fa;if(b)Xa(a,!0),a.zb(0,null),Xa(a,!1);else try{var c=this.a.zb(1);0a;a++)this.b["S"+a][1]=0&1<a.a.Ta?8:16,c=65472<=a.ia&&a.ia<65472+b,b=c?1:2,c=c?15:a.g.qa;cb(a,"STEP")||(b=-b);vb(a,a.ia&~c|a.ia+b&c)}function vb(a,b){a.ia=b&a.g.qa;b=a.ia;for(var c=0;22>c;c++)wb(a,"A"+c,b&1<c;c++)wb(a,"D"+c,b&1<>2;this.l=this.b-1;this.w=this.C/this.b|0;this.Da=[];this.h=0;this.m=!1;this.Kb=0;this.A=[];this.yc=[zb,Ab,Bb,Cb];a=new H(this);Db(a,this.G);this.g=Array(this.w);for(b=0;b>8:e[2](f)&255):f&1&&(e=d.Da[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;I(d,b,16);return 255} -function Ab(a,b,c){var d=!1,e=this.controller,f=e.Da[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Da[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||I(e,c,16)}function Bb(a,b){var c=-1,d=this.controller;a=d.Da[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;I(d,b,16);return 65535} -function Cb(a,b,c){var d=!1,e=this.controller;a=e.Da[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||I(e,c,16)}function Fb(a,b){if(b!=a.s){var c;a.s&&(c=(1<>>a.c;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Pa)return l.Ab+=l.Pa-f,l.Pa=f,!0;if(f>=l.Pa+l.Ab){p=l.size-(f-n);p>g&&(p=g);l.Ab=f-l.Pa+p;f=n+a.b;g-=p;k++;continue}}return Kb(1,f,g)}f=new H(a,f,p,a.b,d,e);Db(f,a.G,l);a.g[k++]=f;f=n+a.b;g-=p}return 0>=g?(d==Lb&&(a.Kb+=c),a.status((c>>10)+"Kb "+Mb[d]+" at "+ka(b)),!0):Kb(2,b,c)} -function Hb(a,b,c){var d=[];for(b>>>=a.c;0>>=a.c;0>>a.c].Nb(b&a.l,b)}function Pb(a,b){3932160<=b&&(b=Ob(a.a,b));return a.g[(b&a.qa)>>>a.c].Y(b&a.l,b)}h.Qa=function(a){3932160<=a&&(a=Ob(this.a,a));var b=a&this.l,c=(a&this.qa)>>>this.c;this.m=!1;this.h++;a=this.g[c].fc(b,a);this.h--;return a}; -function Qb(a,b,c){3932160<=b&&(b=Ob(a.a,b));a.g[(b&a.qa)>>>a.c].Rb(b&a.l,c&255,b)}h.kb=function(a,b){3932160<=a&&(a=Ob(this.a,a));this.m=!1;this.h++;this.g[(a&this.qa)>>>this.c].Sb(a&this.l,b&255,a);this.h--};function Rb(a,b,c){3932160<=b&&(b=Ob(a.a,b));a.g[(b&a.qa)>>>a.c].Bb(b&a.l,c&65535,b)}h.Xa=function(a,b){3932160<=a&&(a=Ob(this.a,a));var c=a&this.l,d=(a&this.qa)>>>this.c;this.m=!1;this.h++;this.g[d].lc(c,b&65535,a);this.h--}; -function Sb(a){for(var b=0,c=[],d=0;da.a.Ta)){var g=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,l=f[2]?f[2].bind(b):null,n=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&l&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(l)),!k&&n&&(k=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var p=f[4],u=f[5]||1,v=0;v>16&65535);a=a.Gb;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.ed=function(){var a=this.a;a.Z&57344||(a.Ib=a.w&65535);return a.Ib};h.fd=function(){return this.a.Ea};h.ee=function(a){var b=this.a;1170>b.Ta&&(a&=-49);b.Ea!=a&&(b.Ea=a,b.$a=a&16?4194303:262143,bc(b))};h.Od=function(a){a=a>>1&63;var b=this.a.lb[a>>1];return a&1?b>>16:b&65535}; -h.Me=function(a,b){b=b>>1&63;var c=b>>1;this.a.lb[c]=b&1?this.a.lb[c]&65535|(a&63)<<16:this.a.lb[c]&-65536|a&65534};h.Hd=function(a){return this.a.I[1][a>>1&7]};h.Fe=function(a,b){this.a.I[1][b>>1&7]=a&65295};h.Fd=function(a){return this.a.I[1][(a>>1&7)+8]};h.De=function(a,b){this.a.I[1][(b>>1&7)+8]=a&65295};h.Gd=function(a){return this.a.ca[1][a>>1&7]};h.Ee=function(a,b){b=b>>1&7;this.a.ca[1][b]=a;this.a.I[1][b]&=65295};h.Ed=function(a){return this.a.ca[1][(a>>1&7)+8]}; -h.Ce=function(a,b){b=(b>>1&7)+8;this.a.ca[1][b]=a;this.a.I[1][b]&=65295};h.$c=function(a){return this.a.I[0][a>>1&7]};h.ae=function(a,b){this.a.I[0][b>>1&7]=a&65295};h.Yc=function(a){return this.a.I[0][(a>>1&7)+8]};h.Zd=function(a,b){this.a.I[0][(b>>1&7)+8]=a&65295};h.Zc=function(a){return this.a.ca[0][a>>1&7]};h.$d=function(a,b){b=b>>1&7;this.a.ca[0][b]=a;this.a.I[0][b]&=65295};h.Xc=function(a){return this.a.ca[0][(a>>1&7)+8]};h.Yd=function(a,b){b=(b>>1&7)+8;this.a.ca[0][b]=a;this.a.I[0][b]&=65295}; -h.Nd=function(a){return this.a.I[3][a>>1&7]};h.Le=function(a,b){this.a.I[3][b>>1&7]=a&65295};h.Ld=function(a){return this.a.I[3][(a>>1&7)+8]};h.Je=function(a,b){this.a.I[3][(b>>1&7)+8]=a&65295};h.Md=function(a){return this.a.ca[3][a>>1&7]};h.Ke=function(a,b){b=b>>1&7;this.a.ca[3][b]=a;this.a.I[3][b]&=65295};h.Kd=function(a){return this.a.ca[3][(a>>1&7)+8]};h.Ie=function(a,b){b=(b>>1&7)+8;this.a.ca[3][b]=a;this.a.I[3][b]&=65295};h.Va=function(a){a&=7;return this.a.F&2048?this.a.Ja[a]:this.a.f[a]}; -h.Ya=function(a,b){b&=7;this.a.F&2048?this.a.Ja[b]=a:this.a.f[b]=a};h.ld=function(){return this.a.F&49152?this.a.ra[0]:this.a.f[6]};h.je=function(a){this.a.F&49152?this.a.ra[0]=a:this.a.f[6]=a};h.od=function(){return this.a.f[7]};h.me=function(a){this.a.f[7]=a};h.Wa=function(a){a&=7;return this.a.F&2048?this.a.f[a]:this.a.Ja[a]};h.Za=function(a,b){b&=7;this.a.F&2048?this.a.f[b]=a:this.a.Ja[b]=a};h.md=function(){return 1==(this.a.F&49152)>>14?this.a.f[6]:this.a.ra[1]}; -h.ke=function(a){1==(this.a.F&49152)>>14?this.a.f[6]=a:this.a.ra[1]=a};h.nd=function(){return 3==(this.a.F&49152)>>14?this.a.f[6]:this.a.ra[3]};h.le=function(a){3==(this.a.F&49152)>>14?this.a.f[6]=a:this.a.ra[3]=a};h.Wc=function(a){return this.a.ic[a-65504>>1]};h.Xd=function(a,b){this.a.ic[b-65504>>1]=a};h.ec=function(a){if(65520==a){a=0;switch(Lb){case Lb:a=this.g.Kb}a=(a>>6)-1}else a=0;return a};h.kc=function(){};h.Jd=function(){return 1};h.He=function(){};h.Vc=function(){return this.a.ja}; -h.Wd=function(){this.a.ja=0};h.bd=function(){return this.a.hc};h.ce=function(a,b){b&1||(a&=255);this.a.hc=a};h.gd=function(a,b){return b?0:this.a.yb};h.fe=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.u|=1}b.yb=a};h.Id=function(a,b){return b?0:this.a.jb&65280};h.Ge=function(a){this.a.jb=a|255};h.kd=function(){return cc(this.a)};h.ie=function(a){dc(this.a,a&-1793|cc(this.a)&1792);this.a.u|=256};h.jc=function(){}; -var L={},Zb=(L[61568]=[null,null,K.prototype.Od,K.prototype.Me,"UNIMAP",64,1170],L[62592]=[null,null,K.prototype.Hd,K.prototype.Fe,"SIPDR",8,1145,64],L[62608]=[null,null,K.prototype.Fd,K.prototype.De,"SDPDR",8,1145,64],L[62624]=[null,null,K.prototype.Gd,K.prototype.Ee,"SIPAR",8,1145,64],L[62640]=[null,null,K.prototype.Ed,K.prototype.Ce,"SDPAR",8,1145,64],L[62656]=[null,null,K.prototype.$c,K.prototype.ae,"KIPDR",8,1145,64],L[62672]=[null,null,K.prototype.Yc,K.prototype.Zd,"KDPDR",8,1145,64],L[62688]= -[null,null,K.prototype.Zc,K.prototype.$d,"KIPAR",8,1145,64],L[62704]=[null,null,K.prototype.Xc,K.prototype.Yd,"KDPAR",8,1145,64],L[62798]=[null,null,K.prototype.fd,K.prototype.ee,"MMR3",1,1145,64],L[65382]=[null,null,K.prototype.ad,K.prototype.be,"LKS"],L[65402]=[null,null,K.prototype.cd,K.prototype.de,"MMR0",1,1145,64],L[65404]=[null,null,K.prototype.dd,K.prototype.jc,"MMR1",1,1145,64],L[65406]=[null,null,K.prototype.ed,K.prototype.jc,"MMR2",1,1145,64],L[65408]=[null,null,K.prototype.Nd,K.prototype.Le, -"UIPDR",8,1145,64],L[65424]=[null,null,K.prototype.Ld,K.prototype.Je,"UDPDR",8,1145,64],L[65440]=[null,null,K.prototype.Md,K.prototype.Ke,"UIPAR",8,1145,64],L[65456]=[null,null,K.prototype.Kd,K.prototype.Ie,"UDPAR",8,1145,64],L[65472]=[null,null,K.prototype.Va,K.prototype.Ya,"R0SET0"],L[65473]=[null,null,K.prototype.Va,K.prototype.Ya,"R1SET0"],L[65474]=[null,null,K.prototype.Va,K.prototype.Ya,"R2SET0"],L[65475]=[null,null,K.prototype.Va,K.prototype.Ya,"R3SET0"],L[65476]=[null,null,K.prototype.Va, -K.prototype.Ya,"R4SET0"],L[65477]=[null,null,K.prototype.Va,K.prototype.Ya,"R5SET0"],L[65478]=[null,null,K.prototype.ld,K.prototype.je,"R6KERNEL"],L[65479]=[null,null,K.prototype.od,K.prototype.me,"R7KERNEL"],L[65480]=[null,null,K.prototype.Wa,K.prototype.Za,"R0SET1",1,1145],L[65481]=[null,null,K.prototype.Wa,K.prototype.Za,"R1SET1",1,1145],L[65482]=[null,null,K.prototype.Wa,K.prototype.Za,"R2SET1",1,1145],L[65483]=[null,null,K.prototype.Wa,K.prototype.Za,"R3SET1",1,1145],L[65484]=[null,null,K.prototype.Wa, -K.prototype.Za,"R4SET1",1,1145],L[65485]=[null,null,K.prototype.Wa,K.prototype.Za,"R5SET1",1,1145],L[65486]=[null,null,K.prototype.md,K.prototype.ke,"R6SUPER",1,1145],L[65487]=[null,null,K.prototype.nd,K.prototype.le,"R6USER",1,1145],L[65504]=[null,null,K.prototype.Wc,K.prototype.Xd,"CTRL",8,1170],L[65520]=[null,null,K.prototype.ec,K.prototype.kc,"LSIZE",1,1170],L[65522]=[null,null,K.prototype.ec,K.prototype.kc,"HSIZE",1,1170],L[65524]=[null,null,K.prototype.Jd,K.prototype.He,"SYSID",1,1170],L[65526]= -[null,null,K.prototype.Vc,K.prototype.Wd,"CPUERR",1,1170],L[65528]=[null,null,K.prototype.bd,K.prototype.ce,"MB",1,1170],L[65530]=[null,null,K.prototype.gd,K.prototype.fe,"PIR"],L[65532]=[null,null,K.prototype.Id,K.prototype.Ge,"SL"],L[65534]=[null,null,K.prototype.kd,K.prototype.ie,"PSW"],L); -Ja(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.b,0,this.size>>2),lc(this,hc?mc:nc);else{a=this.a=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},P:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},la:function(a,b){a&1&&I(this.g,b,64);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},ua:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.za=!0},H:function(a,b){return this.K(a,b)},V:function(a,b){return this.fc(a,b)},ta:function(a,b,c){this.l?this.h(a,b,c):this.Sb(a,b,c)},wa:function(a,b,c){this.l?this.h(a,b,c):this.lc(a,b,c)},C:function(a){return this.j[a]},L:function(a){return this.j[a]},U:function(a,b){a&1&&I(this.g,b,64);return this.c.getUint16(a,!0)},ka:function(a,b){a&1&&I(this.g,b,64);return this.s[a>>1]},sa:function(a,b){this.j[a]=b;this.za=!0},Ca:function(a,b){this.j[a]=b;this.za=!0},va:function(a,b,c){a&1&&I(this.g, -c,64);this.c.setUint16(a,b,!0);this.za=!0},xa:function(a,b,c){a&1&&I(this.g,c,64);this.s[a>>1]=b;this.za=!0}};function Db(a,b,c){a.G=b;a.i=a.m=0;c&&((a.i=c.i)&&pc(a,qc,!1),(a.m=c.m)&&tc(a,qc,!1))}function tc(a,b,c){c&&a.m||(a.Rb=!a.l&&b[1]||a.h,a.Bb=!a.l&&b[3]||a.w);if(c||void 0===c)a.Sb=b[1]||a.h,a.lc=b[3]||a.w}function pc(a,b,c){c&&a.i||(a.Nb=b[0]||a.v,a.Y=b[2]||a.A);if(c||void 0===c)a.K=b[0]||a.v,a.fc=b[2]||a.A}function lc(a,b){b||(b=uc);pc(a,b,void 0);tc(a,b,void 0)} -var uc=[],oc=[H.prototype.P,H.prototype.ua,H.prototype.la,H.prototype.ya],qc=[H.prototype.H,H.prototype.ta,H.prototype.V,H.prototype.wa];if($a)var nc=[H.prototype.C,H.prototype.sa,H.prototype.U,H.prototype.va],mc=[H.prototype.L,H.prototype.Ca,H.prototype.ka,H.prototype.xa]; -function vc(a,b){x.call(this,"CPU",a,vc,1);b=a.cycles||b;var c=a.multiplier||1;this.Db=0;this.rb=b;this.xa=c;this.Fb=Math.round(this.rb/1E4)/100;this.Ma=this.Fb*this.xa;this.o.T=!1;this.o.Pb=!1;this.o.fb=a.autoStart;this.o.ub=!1;this.pb=this.Na=0;this.qb=a.csStart;this.ab=a.csInterval;this.bb=a.csStop;this.P=[];this.dc=this.Sd.bind(this);E(this)}z(vc);var wc=["power","reset"];h=vc.prototype; -h.fa=function(a,b,c,d){this.l=a;this.g=b;this.G=d;this.A=a.A;for(b=0;b=a.Na&&(a.Na+=a.ab,c=!0);0<=a.bb&&a.bb<=Ac(a)&&(a.ab=a.bb=-1,zc(a),F(a),c=!0);c&&a.X(Ac(a)+" cycles: checksum="+q(a.pb))}} -h.aa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.j[b]=c,!0;case "run":return this.j[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.o.R)a=!0;else{var b=null,c,k=A(a.id);for(c=0;ca.La/a.Ma&&(b=1);a.xa=b;b=a.Fb*a.xa;if(a.Ma!=b){a.Ma=b;b=a.Ma.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.X("target speed: "+b)}c&&a.l&&Dc(a.l)}rb(a,a.ta);a.ta=0;a.la=ra();a.va=0;Cc(a)}function Vb(a,b){var c=a.P.length;a.P.push([-1,b]);return c}function Xb(a,b,c,d){0<=b&&ba.P[b][0])&&(c=a.rb*a.xa/1E3*c|0,a.o.T&&(c+=Ec(a)),a.P[b][0]=c)} -function qb(a,b){for(var c=a.P.length-1;0<=c;c--){var d=a.P[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ec(a,b){var c=a.wa-=a.a;a.a=a.L=0;b&&(a.wa=0);return c} -h.Sd=function(){if(this.o.T){this.Cb>=this.rb&&Cc(this,!0);this.eb=0;this.ob=ra();if(this.va){var a=this.ob-this.va;a>this.ac&&(this.la+=a,this.la>this.ob&&(this.la=this.ob))}try{do{for(var b,c=this.o.ub?1:this.sb,d=this.P.length-1;0<=d;d--){var e=this.P[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.zb(b)}catch(f){if("number"!=typeof f)throw f;}b=Ec(this,!0);this.eb+=b;this.ta+=b;sb(this,b);qb(this,b);this.cb-=b;if(0>=this.cb){this.cb+=this.sb;15<=++this.bc&&(this.Ba(),this.bc=0);break}}while(this.o.T)}catch(f){F(this); -this.l&&this.l.stop(ra(),Ac(this));Za(this,f.stack||f.message);return}if(this.o.T){a=setTimeout;b=this.dc;this.va=ra();c=this.ac;this.eb&&(c=Math.round(c*this.eb/this.sb));c-=this.va-this.ob;if(d=this.va-this.la)this.La=Math.round(this.ta/(10*d))/100,864E5<=d&&(this.ya=0,Bc(this));if(0>c||this.Lac&&(this.la-=c),c=0;this.Cb+=this.eb;this.va+=c;a(b,c)}}}; -function pb(a){var b;a.o.error?(a.X(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.o.T)a.X(a.toString()+" busy");else{Bc(a);a.o.T=!0;a.o.Pb=!0;if(b=a.j.run)b.textContent="Halt";a.l&&a.l.start(a.la,Ac(a));setTimeout(a.dc,0)}}h.zb=function(){return 0};function F(a){var b=!1;if(a.o.T){Ec(a);rb(a,a.ta);a.ta=0;a.o.T=!1;if(b=a.j.run)b.textContent="Run";a.l&&a.l.stop(ra(),Ac(a));b=!0}a.o.complete=void 0;return b} -function Fc(a){this.Ta=+a.model||1170;this.Xb=a.addrReset||0;vc.call(this,a,6666667);this.tb=0;this.Zb=255;1120==this.Ta?(this.decode=Gc.bind(this),this.Ka=this.Cc,this.tb=8,this.Zb=-1):(this.decode=Hc.bind(this),this.Ka=this.Dc);Ic(this);this.sa=0;this.K=null;this.o.complete=!1}z(Fc,vc);h=Fc.prototype;h.reset=function(){this.status("model "+this.Ta);this.o.T&&F(this);Ic(this);yc(this);this.o.error=!1;this.parent.reset.call(this)}; -function Ic(a){a.m=65536;a.h=32768;a.i=65535;a.s=32768;a.F=15;a.f=[0,0,0,0,0,0,0,a.Xb,-1,-2,-3,-4,-5,-6,-7,-8];a.Ja=[0,0,0,0,0,0];a.ra=[0,0,0,0];a.v=0;a.nb=0;a.Jc=[4,2,0,1];a.I=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ca=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0]];a.lb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.ic=[0,0,0,0,0,0,0,0];a.hc=0;a.u=0;a.C=a.H=0;a.c=a.b=a.Eb=0;a.Oa=-1;ob(a)}function ob(a){a.Z=0;a.Gb=0;a.Ib=0;a.Ea=0;a.ja=0;a.yb=0;a.jb=255;a.ka=0;a.mb=0;a.$a=262143;a.hb=0;a.w=0;a.K=null;a.g&&bc(a)}function bc(a){a.ka?(a.V=65536,a.Vb=a.Ea&16?4186112:253952,a.U=a.Gc,a.Y=a.Pd,a.Bb=a.Ne,Fb(a.g,a.Ea&16?22:18)):(a.V=0,a.Vb=57344,a.U=a.Fc,a.Y=a.gc,a.Bb=a.mc,Fb(a.g,16))} -function ac(a,b){b&=-3073;if(a.Z!=b){b&57344&&!(a.Z&57344)&&(a.Gb=a.w>>16&65535,a.Ib=a.w&65535);a.Z=b;a.mb=b>>5&3;a.nb=b>>1&15;var c=0;b&257&&(c=4,b&1&&(c|=2));a.ka!=c&&(a.ka=c,bc(a))}}h.$b=function(){return 0};h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.ya,this.xa]);a.set(2,Sb(this.g));return a.data()}; -h.restore=function(a){var b=a[1];this.ya=b[1];Bc(this,b[3]);a:{b=this.g;a=a[2];var c;for(c=0;c>14&3;c=a.F>>14&3;a.v!=c&&(a.ra[c]=a.f[6],a.f[6]=a.ra[a.v]);a.F=b;a.u&=-3;a.u|=a.K?2:1}function R(a,b){a.u&256||(a.s=a.i=b,a.h=0)} -function Nc(a,b,c){a.u&256||(a.s=a.i=a.m=b,a.h=c||0)}function Oc(a,b,c,d){a.u&256||(a.s=a.i=a.m=b,a.h=(c^b)&(d^b))}function Pc(a,b){a.u&256||(a.s=a.i=a.m=b,a.h=a.s^a.m>>1)}function Qc(a,b,c,d){a.u&256||(a.s=a.i=a.m=b,a.h=(c^d)&(d^b))} -function J(a,b,c,d){if(!a.sa){0>a.Oa?a.Oa=cc(a):a.v||(d=-3);var e=!1;-3==d&&(b=4,a.ja|=4,a.f[6]=4,e=!0);a.w=b|4143316992;a.v=0;var f=a.Y(b|a.V),g=a.Y(b+2&65535|a.V);dc(a,g&-12289|a.Oa>>2&12288);Rc(a,a.Oa,e);Rc(a,a.f[7],e);Q(a,f);a.u&=~(c|19);a.u|=129;a.Oa=-1;if(-3<=d)throw b;}}function Sc(a){var b=Tc(a),c=Tc(a)&-1793;a.F&49152&&(c=c&-225|a.F&63712);Q(a,b);dc(a,c);a.u&=-17}function Ob(a,b){var c=b>>13&31;31>c&&(b=a.Ea&32?a.lb[c]+(b&8190)&4194302:b&-3932161);return b} -function Uc(a,b,c){var d,e,f;if(!(c&a.ka))return f=b&65535,57344<=f&&(f|=a.Vb),f;d=b>>13;a.Ea&a.Jc[a.v]||(d&=7);e=a.I[a.v][d];f=(a.ca[a.v][d]<<6)+(b&8191)&a.$a;if(a.sa)return f;f&1&&!(c&1)&&(a.ja|=64,J(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.I[a.v][d]=e;if(f!=(4194170&a.$a)||a.v)a.mb= -a.v,a.nb=d;g&&(g&57344&&(0<=a.Oa&&(g|=128),a.Z&57344||(g|=a.Z&4096|a.mb<<5|a.nb<<1,ac(a,a.Z&-61695|g&61694)),J(a,168,64,-1)),a.Z&61440||!(f<(4191360&a.$a)||f>(4194239&a.$a))||(a.Z|=4096,a.Z&512&&(a.u|=64)));return f}function Tc(a){var b=a.Y(a.f[6]|a.V);a.f[6]=a.f[6]+2&65535;return b}function Rc(a,b,c){var d=a.f[6]-2&65535;a.f[6]=d;a.w=a.w&65535|(a.w&-65536)<<8|16121856;c||a.Ka(4,-2,d);a.Bb(d,b)} -function Vc(a,b,c,d){var e,f,g=d&8?0:a.V;switch(b){case 0:return J(a,4,0,-2),0;case 1:return 6==c&&a.Ka(d,0,a.f[6]),a.a-=3,7==c?a.f[c]:a.f[c]|g;case 2:f=2;e=a.f[c];6==c&&a.Ka(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!=c&&(e|=g);e=a.Y(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;6==c&&a.Ka(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!=c&&(e|=g);e=a.Y(e)|g;a.a-=8;break;case 6:return e=a.Y(Lc(a,2)),e=e+a.f[c]&65535,6==c&&a.Ka(d,0, -e),a.a-=6,e|g;case 7:return e=a.Y(Lc(a,2)),e=e+a.f[c]&65535,e=a.Y(e|a.V),a.a-=10,e|g}a.f[c]=a.f[c]+f&65535;a.w=a.w&65535|(a.w&-65536)<<8|(f<<3&248|c)<<16;return e}h.Cc=function(a,b,c){!this.v&&0>=b&&c<=this.jb&&(this.u|=32)};h.Dc=function(a,b,c){this.v||(65534<=c&&(c|=-65536),a&4&&c<=this.jb&&(c<=this.jb-32?J(this,4,0,-3):(this.ja|=8,this.u|=32)))};h.Qa=function(a){if(!this.ka)return this.g.Qa(a);this.sa++;a=this.gc(Uc(this,a,2));this.sa--;return a}; -h.kb=function(a,b){this.ka?(this.sa++,a=Uc(this,a,5),a&1&&this.a--,Qb(this.g,a,b),this.sa--):this.g.kb(a,b)};h.Xa=function(a,b){this.ka?(this.sa++,this.mc(Uc(this,a,4),b),this.sa--):this.g.Xa(a,b)};h.Fc=function(a,b,c){return Vc(this,a,b,c)};h.Gc=function(a,b,c){return Uc(this,Vc(this,a,b,c),c)};h.gc=function(a){return Pb(this.g,this.hb=a)};h.Pd=function(a){return Pb(this.g,this.hb=Uc(this,a,2))};h.mc=function(a,b){Rb(this.g,this.hb=a,b&65535)};h.Ne=function(a,b){Rb(this.g,this.hb=Uc(this,a,4),b)}; -function Wc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Vc(a,b,d,2),c&65536||61440!==(a.F&61440)&&(d&=65535),a.v=a.F>>12&3,c=a.Y(d|c&a.V),a.v=a.F>>14&3):c=6!=d||(a.F>>2&12288)===(a.F&12288)?a.f[d]:a.ra[a.F>>12&3];return c}function Xc(a,b,c,d){a.w=a.w&65535|1441792;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Vc(a,b,e,4),c&65536||(e&=65535),a.v=a.F>>12&3,e=Uc(a,e|c&65536,4),a.v=a.F>>14&3,Rb(a.g,e,d)):6!=e||(a.F>>2&12288)===(a.F&12288)?a.f[e]=d:a.ra[a.F>>12&3]=d} -function Yc(a,b){b>>=6;var c=a.H=b&7;(b=a.C=(b&56)>>3)?(c=a.U(b,c,3),a=Nb(a.g,c)):a=a.f[c+a.tb]&a.Zb;return a}function Zc(a,b){b>>=6;var c=a.H=b&7;return(b=a.C=(b&56)>>3)?Pb(a.g,a.U(b,c,2)):a.f[c+a.tb]}function $c(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Vc(a,b,c,8)}function ad(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.U(b,c,3),a=Nb(a.g,c)):a=a.f[c]&255;return a}function bd(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Pb(a.g,a.U(b,c,2)):a.f[c]} -function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Eb=a.U(b,e,7),c=0>c?a.f[-c-1]&255:c,c=d.call(a,c,Nb(a.g,e)),e&1&&a.a--,Qb(a.g,e,c)):(b=a.f[e],c=0>c?a.f[-c-1]&255:c,a.f[e]=b&65280|d.call(a,c,b&255))}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.U(b,e,6),Rb(a.g,e,d.call(a,0>c?a.f[-c-1]:c,Pb(a.g,e)))):a.f[e]=d.call(a,0>c?a.f[-c-1]:c,a.f[e])} -function cd(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.U(b,e,5),e=c=0>c?a.f[-c-1]&255:c,d&1&&a.a--,Qb(a.g,d,e)):c?(c=0>c?a.f[-c-1]&255:c,a.f[e]=a.f[e]&~d|c<<24>>24&d):a.f[e]&=~d;return c}function dd(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.U(b,d,4),Rb(a.g,d,c=0>c?a.f[-c-1]:c)):a.f[d]=c=0>c?a.f[-c-1]:c;return c}function V(a,b,c){c&&(Q(a,a.f[7]+(b<<24>>23)),a.a-=2);a.a-=3} -h.zb=function(a){this.o.complete=!0;var b=a?this.o.Pb?0:1:-1;this.o.Pb=!1;this.wa=this.a=a;do{if(this.u){if(a=this.u&11){a=!1;if(this.u&2){var c=160,d=(this.yb&224)>>5,e=this.K&&this.K.Ua>d?this.K:null;e&&(c=e.Ud,d=e.Ua);d>(this.F&224)>>5?(this.u&8&&(Lc(this,2),this.u&=-9),J(this,c,0,-9),d=!0):d=!1;d&&(e&&$b(this,e),a=!0);this.K||this.yb||(this.u&=-3)}else this.u&1&&this.u++;a=a&&0>b}if(a)break;if(this.u&112&&Mc(this)&&0>b)break}this.u=this.u&15|this.F&16;this.decode(Kc(this))}while(0>1|b<<16;Pc(this,a);return a&65535} -function jd(a,b){a=b&128|b>>1|b<<8;Pc(this,a<<8);return a&255}function kd(a,b){a=b&~a;R(this,a);return a}function ld(a,b){a=b&~a;R(this,a<<8);return a}function md(a,b){a|=b;R(this,a);return a}function nd(a,b){a|=b;R(this,a<<8);return a}function od(a,b){a=~b|65536;Nc(this,a);return a&65535}function pd(a,b){a=~b|256;Nc(this,a<<8);return a&255}function qd(a,b){a=b-a;this.u&256||(this.s=this.i=a,this.h=b&(b^a));return a&65535} -function rd(a,b){a=b-a;var c=a<<8;b<<=8;this.u&256||(this.s=this.i=c,this.h=b&(b^c));return a&255}function sd(a,b){a=b+a;this.u&256||(this.s=this.i=a,this.h=a&(b^a));return a&65535}function td(a,b){a=b+a;var c=a<<8;this.u&256||(this.s=this.i=c,this.h=c&(b<<8^c));return a&255}function ud(a,b){a=-b;Nc(this,a,a&b&32768);return a&65535}function vd(a,b){a=-b;Nc(this,a<<8,(a&b&128)<<8);return a&255}function wd(a,b){a=b<<1|this.m>>16&1;Pc(this,a);return a&65535} -function xd(a,b){a=b<<1|this.m>>16&1;Pc(this,a<<8);return a&255}function yd(a,b){a=(this.m&65536|b)>>1|b<<16;Pc(this,a);return a&65535}function zd(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Pc(this,a<<8);return a&255}function Ad(a,b){var c=b-a;Qc(this,c,a,b);return c&65535}function Bd(a,b){var c=b-a;Qc(this,c<<8,a<<8,b<<8);return c&255}function Cd(a,b){this.u&256||(this.s=this.i=b&65280,this.h=this.m=0);return(b<<8|b>>8)&65535}function Dd(a,b){a^=b;R(this,a);return a&65535} -function Ed(a){T(this,a,Zc(this,a),ed);this.a-=this.c?9+(this.H&&6<=this.b?1:0):(this.C?5:3)+(7==this.b?2:0)}function Fd(a){var b=bd(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.m=this.h=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.h=32768)}this.f[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b} -function Gd(a){var b=bd(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.h=0;b&=63;if(b&32){b=64-b;32>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.f[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Hd(a){V(this,a,!P(this))}function Id(a){V(this,a,P(this))} -function Jd(a){T(this,a,Zc(this,a),kd);this.a-=this.c?9+(this.H&&6<=this.b?1:0):(this.C?5:3)+(7==this.b?2:0)}function Kd(a){S(this,a,Yc(this,a),ld);this.a-=this.c?9+(this.H&&6<=this.b?1:0):(this.C?5:3)+(7==this.b?2:0)}function Ld(a){T(this,a,Zc(this,a),md);this.a-=this.c?9+(this.H&&6<=this.b?1:0):(this.C?5:3)+(7==this.b?2:0)}function Md(a){S(this,a,Yc(this,a),nd);this.a-=this.c?9+(this.H&&6<=this.b?1:0):(this.C?5:3)+(7==this.b?2:0)} -function Nd(a){var b=Zc(this,a);a=bd(this,a);R(this,(0>b?this.f[-b-1]:b)&a);this.a-=this.c?4+(this.H&&6<=this.b?1:0):(this.C?4:3)+(7==this.b?2:0)}function Od(a){var b=Yc(this,a);a=ad(this,a);R(this,((0>b?this.f[-b-1]&255:b)&a)<<8);this.a-=this.c?4+(this.H&&6<=this.b?1:0):(this.C?4:3)+(7==this.b?2:0)}function Pd(a){V(this,a,this.i&65535?0:4)}function Qd(a){V(this,a,!Jc(this)==!(this.h&32768))}function Rd(a){V(this,a,!!(this.i&65535)&&!Jc(this)==!(this.h&32768))} -function Sd(a){V(this,a,!P(this)&&!!(this.i&65535))}function Td(a){V(this,a,(this.i&65535?0:4)||!Jc(this)!=!(this.h&32768))}function Ud(a){V(this,a,P(this)||(this.i&65535?0:4))}function Vd(a){V(this,a,!Jc(this)!=!(this.h&32768))}function Wd(a){V(this,a,Jc(this))}function Xd(a){V(this,a,!!(this.i&65535))}function Yd(a){V(this,a,!Jc(this))}function Zd(){J(this,12,0,-8);this.a-=5}function $d(a){V(this,a,!0)}function ae(a){V(this,a,!(this.h&32768))}function be(a){V(this,a,this.h&32768?2:0)} -function W(a){a&1&&(this.m=0);a&2&&(this.h=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function ce(a){var b=Zc(this,a);a=bd(this,a);var c=(b=0>b?this.f[-b-1]:b)-a;Qc(this,c,a,b);this.a-=this.c?4+(this.H&&6<=this.b?1:0):(this.C?4:3)+(7==this.b?2:0)}function de(a){var b=Yc(this,a);a=ad(this,a);var c=(b=(0>b?this.f[-b-1]&255:b)<<8)-(a<<=8);Qc(this,c,a,b);this.a-=this.c?4+(this.H&&6<=this.b?1:0):(this.C?4:3)+(7==this.b?2:0)} -function ee(a){var b=bd(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.h=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.h=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.s=0,this.h=32768,this.m=65536,this.a-=7}function fe(){J(this,24,0,-8);this.a-=25} -function ge(){this.F&49152?(this.ja|=128,J(this,4,0,-7)):(this.A&&1120==this.Ta&&this.A.setData(this.f[0],!0),this.G?this.G.b():F(this));this.a-=7}function he(){J(this,16,0,-8);this.a-=25}var ie=[0,7,7,10,7,11,9,13];function je(a){this.L=this.a;Q(this,$c(this,a));this.a=this.L-ie[this.c]}var ke=[0,14,14,17,14,18,16,20];function le(a){this.L=this.a;var b=$c(this,a);a=a>>6&7;Rc(this,this.f[a]);this.f[a]=this.f[7];Q(this,b);this.a=this.L-ke[this.c]}var me=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function ne(a){var b=Zc(this,a);this.L=this.a;R(this,dd(this,a,b));this.a=this.L-me[(this.C?8:0)+this.c]+(7!=this.b||this.c?0:2)}function oe(a){var b=Yc(this,a);R(this,cd(this,a,b,65535)<<8);this.a-=this.c?9+(this.H&&6<=this.b?1:0):(this.C?5:3)+(7==this.b?2:0)}var pe=[7,13,13,17,14,18,17,21]; -function qe(a){var b=bd(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.u&256||(this.s=b>>16,this.i=this.s|b,this.h=0,this.m=-32768>b||32767>6;if(this.f[b]=this.f[b]-1&65535)Q(this,this.f[7]-((a&63)<<1)),this.a+=1;this.a-=6}function we(a){T(this,a,Zc(this,a),Ad);this.a-=this.c?9+(this.H&&6<=this.b?1:0):(this.C?5:3)+(7==this.b?2:0)}function xe(a){T(this,a,0,Cd);this.a-=this.c?9:3+(7==this.b?2:0)}function ye(){J(this,28,0,-8);this.a-=5} -function ze(){this.A&&(this.A.ia=this.f[7],this.A.setData(this.f[0],!0));this.u|=8;Lc(this,-2);this.a-=3}function Ae(a){T(this,a,this.f[(a>>6&7)+this.tb],Dd);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){J(this,8,0,-8)}function Gc(a){Be[a>>12].call(this,a)}function Ce(a){De[a>>6&3].call(this,a)}function Ee(a){Fe[a>>6&3].call(this,a)}function Ge(a){He[a>>6&3].call(this,a)}function Ie(a){Je[a&15].call(this,a)}function Ke(a){Le[a&15].call(this,a)}function Me(a){Ne[a>>6&3].call(this,a)} -function Oe(a){Pe[a>>6&3].call(this,a)}function Qe(a){Re[a>>6&3].call(this,a)} -var Be=[function(a){Se[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,Ed,Y,function(a){Te[a>>8&15].call(this,a)},oe,de,Od,Kd,Md,we,Y],Se=[function(a){Ue[a>>4&15].call(this,a)},$d,Xd,Pd,Qd,Vd,Rd,Td,le,le,Ce,Ee,Ge,Y,Y,Y],De=[function(a){Nc(this,dd(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,od);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,sd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,qd);this.a-=this.c?9:3+(7==this.b?2:0)}],Fe=[function(a){T(this,a,0, -ud);this.a-=this.c?11:6},function(a){T(this,a,P(this)?1:0,ed);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,P(this)?1:0,Ad);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=bd(this,a);Nc(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],He=[function(a){T(this,a,0,yd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,wd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,id);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,gd);this.a-=this.c?9:3+(7==this.b?2:0)}], -Ue=[function(a){Ve[a&15].call(this,a)},Y,Y,Y,je,je,je,je,te,Y,Ie,Ke,xe,xe,xe,xe],Ve=[ge,ze,ue,Zd,he,se,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Je=[re,function(){this.m=0;this.a-=5},function(){this.h=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],Le=[re,function(){this.m=65536;this.a-=5},function(){this.h=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Te=[Yd,Wd,Sd,Ud,ae,be,Hd,Id,fe,ye,Me,Oe,Qe,Y,Y,Y],Ne=[function(a){Nc(this, -cd(this,a,0,255));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,pd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,td);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,rd);this.a-=this.c?9:3+(7==this.b?2:0)}],Pe=[function(a){S(this,a,0,vd);this.a-=this.c?11:6},function(a){S(this,a,P(this)?1:0,fd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,P(this)?1:0,Bd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=ad(this,a);Nc(this,a<<8);this.a-=this.c?4:3+(7== -this.b?2:0)}],Re=[function(a){S(this,a,0,zd);this.a-=this.c?9+(this.Eb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,xd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,jd);this.a-=this.c?9+(this.Eb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,hd);this.a-=this.c?9:3+(7==this.b?2:0)}];function Hc(a){We[a>>12].call(this,a)} -var We=[function(a){Xe[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,Ed,function(a){Ye[a>>8&15].call(this,a)},function(a){Ze[a>>8&15].call(this,a)},oe,de,Od,Kd,Md,we,Y],Xe=[function(a){$e[a>>4&15].call(this,a)},$d,Xd,Pd,Qd,Vd,Rd,Td,le,le,Ce,Ee,Ge,function(a){af[a>>6&3].call(this,a)},Y,Y],af=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.Y(a|this.V);Q(this,this.f[5]);this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=Wc(this,a,0);Rc(this,a);R(this,a);this.a-=11},function(a){var b=Tc(this);this.L= -this.a;Xc(this,a,0,b);R(this,b);this.a=this.L-pe[this.c]},function(a){R(this,dd(this,a,Jc(this)?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],$e=[function(a){bf[a&15].call(this,a)},Y,Y,Y,je,je,je,je,te,function(a){a&8?(this.F&49152||(this.F=this.F&-2017|(a&7)<<5,this.u|=1,this.u&=-3),this.a-=5):J(this,8,0,-8)},Ie,Ke,xe,xe,xe,xe],bf=[ge,ze,function(){Sc(this);this.u|=this.F&16;this.a-=13},Zd,he,se,ue,function(){J(this,8,0,-8)},Y,Y,Y,Y,Y,Y,Y,Y],Ye=[qe,qe,ee,ee,Fd,Fd,Gd,Gd,Ae,Ae,Y,Y,Y,Y,ve,ve],Ze=[Yd, -Wd,Sd,Ud,ae,be,Hd,Id,fe,ye,Me,Oe,Qe,function(a){cf[a>>6&3].call(this,a)},Y,Y],cf=[Y,function(a){a=Wc(this,a,65536);Rc(this,a);R(this,a);this.a-=11},function(a){var b=Tc(this);this.L=this.a;Xc(this,a,65536,b);R(this,b);this.a=this.L-pe[this.c]},Y]; -function df(a){x.call(this,"ROM",a,df,128);this.ba=this.c=null;this.i=a.addr;this.b=a.size;this.m=!1;this.h=a.alias;this.l=a.file;this.s=r(this.l);if(this.l){a=this.l;var b=la(this.s);"json"!=b&&"hex"!=b&&(a=ua()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;t(a,null,!0,function(a,b,f){f?(c.D("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Ua(c.ua,a,b),(a=ta(a,b))?(c.c=a.M,c.ba=a.ba):c.l=null);ef(c)})}}z(df);h=df.prototype; -h.fa=function(a,b,c,d){this.g=b;this.a=c;this.G=d;ef(this)};h.ha=function(){this.ba&&(this.G&&this.G.a(this.id,this.i,this.b,this.ba),delete this.ba);return!0};h.ga=function(){return!0}; -function ef(a){if(!Ya(a)){if(a.l){if(!a.c||!a.g)return;a.b||(a.b=a.c.length);if(a.c.length!=a.b)Za(a,"ROM size ("+q(a.c.length,8,!0)+") does not match specified size ("+q(a.b,8,!0)+")");else{var b;a:{b=a.i;a.status(a.b+"-byte ROM at "+ka(b));if(57344<=b&&b<57344+G){var c={};b=(c[b]=[df.prototype.Dd,df.prototype.Be,null,null,null,a.b>>1],c);if(fb(a.g,a,b)){b=a.m=!0;break a}}else if(Ib(a.g,b,a.b,kc)){for(c=0;c>>a.c;0=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),u=k,v=n-=6;0=b.length)break;l+=b[k++]&255;if(l&255)break;if(v)for(;v--;)a.a.kb(p++,b[u++]&255);else p&1?F(a.a):null==d&&(d=p);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=ja.Tb&&c<=ja.xc&&(b=!0,c-=ja.Tb-ja.nc);b&&(a.preventDefault&&a.preventDefault(),d.xb(c));return!0},c.onkeypress=function(a){a=a||window.event;d.xb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();a.preventDefault&&a.preventDefault();(a=a.clipboardData|| -window.clipboardData)&&d.xb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; -h.fa=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;var e=this;this.V=Yb(48,4,262144);this.P=Vb(this.a,function(){var a;a=-1;e.s.length&&(a=e.s.shift()&255,e.U&&97<=a&&122>a&&(a-=32),Xb(e.a,e.P,1E3/Math.round(e.H/10)));0<=a&&(e.A=a,e.b&128?e.A|=49152:e.b|=128,e.b&64&&Wb(c,e.V))});this.C=Yb(52,4,262144);this.la=Vb(this.a,function(){e.c|=128;e.c&64&&Wb(c,e.C)});fb(b,this,lf);hb(b,this.reset.bind(this));E(this)}; -h.cc=function(){if(!this.v){var a=xc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.Ca)return;b=pa(b[1]);if(this.v=Va(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.w=d.receiveData){this.status(this.ua+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ha=function(a,b){if(!b)if(this.cc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -h.ga=function(a){return a?this.save():!0};h.reset=function(){mf(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return mf(this)};function mf(a){a.A=0;a.b=0;a.c=128;a.s=[];return!0}h.xb=function(a){if("number"==typeof a)this.s.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.L||8,c=a-this.m%a,this.L&&(b=" ".slice(0,c)));this.K&&!this.m&&c&&(b=String.fromCharCode(this.K)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.m+=c}}else if(null!=this.i){if(10==a|| -1024<=this.i.length)this.X(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}Xb(this.a,this.la,1E3/Math.round(this.ka/10));this.c&=-129};var nf={},lf=(nf[65392]=[null,null,Z.prototype.qd,Z.prototype.oe,"RCSR"],nf[65394]=[null,null,Z.prototype.pd,Z.prototype.ne,"RBUF"],nf[65396]=[null,null,Z.prototype.Rd,Z.prototype.Pe,"XCSR"],nf[65398]=[null,null,Z.prototype.Qd,Z.prototype.Oe,"XBUF"],nf); -Ja(function(){for(var a=D(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.j[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.j[b]=c,c.onclick= -function(){var a=d.j.listTapes;a&&qf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.H){c.parentNode.removeChild(c);break}this.j[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;qf(d,r(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.j[b]=c,!0}return!1}; -h.fa=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;this.P=rf(a);var e=this;if((this.c=xc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){w("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.K=Yb(56,4,4096);this.V=Vb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.Ac.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):ua()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!t(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.o.R;g?a.D('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ua(a.ua,e,f),(e=ta(e,f))&&Af(a,b,c,d,e.M,e.na,e.ma)); -a.o.Fa=!1;a.m&&(a.m--,a.m||E(a));xf(a)})}function uf(a,b,c,d){if((a=a.j.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.O);for(d=0;dc.indexOf("/api/v1/dump")&&(b=la(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ma(c,"/")&&(d="dir"),f=ua()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.vb?"":e)+"&format=json"));return!!t(f, -null,!0,function(b,c,d){Hf(a,b,c,d)})} -function Hf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.l&&!a.l.o.R;if(d)a.controller.D('Unable to load disk "'+a.oa+'" (error '+d+": "+b+")",f);else{Ua(a.controller.ua,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(k.length)if(1==k.length)w(k[0]);else{a.O=k.length;a.S=k[0].length;a.N=k[0][0].length;var l=k[0][0][0];a.W=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var v=l.bytes;if(void 0!==v&&v.length){for(var U=n<<2,za=v.length;za>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ea?f=a.pa+a.ea&&(a.ea+=f-(a.pa+a.ea)+1):(a.pa=f,a.ea=1);d[f]=d[f]&~(255<g)break;e|=g<=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;lb&&-2!=b&&this.controller.D("Unable to restore disk '"+this.oa+": "+c);return b}; -h.toJSON=function(){var a;a=0;for(var b;b=Kf(this,a++);)Nf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function Nf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function N(a){x.call(this,"RK11",a,N,65536);this.v=a.autoMount||{};this.m=0;this.c=Array(8);this.A=!Ca("Mobi")&&window&&"FileReader"in window}z(N);h=N.prototype; -h.aa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){w("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.j[b]=c,c.onchange=function(){var a=m(c.value);null!=a&&Of(d,a)},!0;case "loadDrive":return this.j[b]= -c,c.onclick=function(){var a=d.j.listDisks;a&&Pf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.A){c.parentNode.removeChild(c);break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.c&&((a=d.c[m(a.value)||0])?(a=a.J)?(a=Da(Mf(a),a.Ob.replace(".json",".img")),w(a)):d.D("No disk loaded in drive."):d.D("No disk drive selected."))};return!0;case "mountDrive":if(this.A)return this.j[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Pf(d,r(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -h.fa=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;if((a=xc(this.l,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){w(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.v[e]=a[e]);Qf(this);this.Ra=Yb(144,5,65536);fb(b,this,Rf);hb(b,this.reset.bind(this));Sf(this,"None","",!0);this.A&&Sf(this,"Local Disk","?");Sf(this,"Remote Disk","??");Tf(this)||E(this)}; -h.ha=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.l.Lb){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Of(this,0)}}return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){Qf(this)};h.save=function(){return(new O(this)).data()}; -h.restore=function(a){return Qf(this,a[0])};function Tf(a,b){b||(a.m=0);for(var c in a.v){var d=a.v[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.j.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.c.length)a.D("Unable to load the selected drive");else if(c)if("?"==c)a.D('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=r(c);a.status("Attempting to load "+c+' as "'+b+'"')}Vf(a,e,b,c,!1,d)}else Uf(a,e)} -function Vf(a,b,c,d,e,f){var g=-1,k=a.c[b];k.da.toLowerCase()!=d.toLowerCase()&&(g++,Uf(a,b,!0),k.Ha?a.D("RK11 busy"):(k.Ha=!0,e&&(k.Ga=!0,a.m++),k.Aa=!!f,Gf(new Cf(a,k,"preload"),c,d,f,a.qc)&&g++));return g} -h.qc=function(a,b,c,d,e){var f;a.Ha=!1;b&&(f=Jf(b),b&&f[0]>a.O||f[1]>a.S)&&(this.D('Disk "'+c+'" too large for drive '+("RK"+a.Ia)),b=null);b?(a.J=b,a.oa=c,a.da=d,this.D('Mounted disk "'+c+'" in drive '+("RK"+a.Ia),a.Ga||e),this.l&&Dc(this.l)):a.Aa=!1;a.Ga&&(a.Ga=!1,--this.m||E(this));Of(this,a.Ia)}; -function Sf(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e>12&48;this.s=65536-e&65535;a&&(this.i=this.i|a|32768,this.B|=49152);return!0}; -h.rc=function(a,b,c,d,e,f,g){var k=0,l=a.J,n=null,p;l||(k=128,e=0);for(;e--;){if(!n){n=a.J.seek(b,c,d+1);if(!n){k=4096;break}p=0}var u,v;if(0>(u=a.J.read(n,p++))||0>(v=a.J.read(n,p++))){k=32;break}this.g.Xa(f,u|v<<8);if(Ub(this.g)){k=1024;break}f+=2;if(p>=l.W&&(n=null,++d>=l.N&&(d=0,++c>=l.S&&(c=0,++b>=l.O)))){k=64;break}}return g(k,b,c,d,e,f)}; -h.sc=function(a,b,c,d,e,f,g){var k=0,l=a.J,n=null,p;l||(k=128,e=0);for(;e--;){var u=this.g.Qa(f);if(Ub(this.g)){k=1024;break}f+=2;if(!n){n=a.J.seek(b,c,d+1,!0);if(!n){k=4096;break}p=0}if(!a.J.write(n,p++,u&255)||!a.J.write(n,p++,u>>8)){k=32;break}if(p>=l.W&&(n=null,++d>=l.N&&(d=0,++c>=l.S&&(c=0,++b>=l.O)))){k=64;break}}return g(k,b,c,d,e,f)};h.vd=function(){return this.w};h.te=function(){};h.wd=function(){return this.i};h.ue=function(){};h.sd=function(){return this.B&61438}; -h.qe=function(a){this.B=this.B&-3968|a&3967;if(this.B&1){var b,c=!0;a=(this.b&57344)>>13;var d=this.c[a],e,f,g,k;this.B&=-129;switch(this.B&14){case 0:this.w=d.status;this.i=0;this.B=128;this.b=0;break;case 4:b=this.rc;case 2:b||(b=this.sc),e=(this.b&8160)>>5,f=(this.b&16)>>4,g=this.b&15,e>=d.O?(this.i|=32832,this.B|=49152):g>=d.N?(this.i|=32800,this.B|=49152):(k=(this.B&48)<<12|this.h,c=65536-this.s&65535,c=b.call(this,d,e,f,g,c,k,this.pc.bind(this)))}this.w=d.status|a<<13|this.b%9&15;c&&(this.B&= --2,this.B|=128,this.B&64&&Wb(this.a,this.Ra))}};h.xd=function(){return this.s};h.ve=function(a){this.s=a};h.rd=function(){return this.h};h.pe=function(a){this.h=a};h.td=function(){return this.b};h.re=function(a){this.b=a};h.ud=function(){return this.C};h.se=function(a){this.C=a}; -var Wf={},Rf=(Wf[65280]=[null,null,N.prototype.vd,N.prototype.te,"RKDS"],Wf[65282]=[null,null,N.prototype.wd,N.prototype.ue,"RKER"],Wf[65284]=[null,null,N.prototype.sd,N.prototype.qe,"RKCS"],Wf[65286]=[null,null,N.prototype.xd,N.prototype.ve,"RKWC"],Wf[65288]=[null,null,N.prototype.rd,N.prototype.pe,"RKBA"],Wf[65290]=[null,null,N.prototype.td,N.prototype.re,"RKDA"],Wf[65294]=[null,null,N.prototype.ud,N.prototype.se,"RKDB"],Wf); -function M(a){x.call(this,"RL11",a,M,131072);this.A=a.autoMount||{};this.s=0;this.c=Array(4);this.w=!Ca("Mobi")&&window&&"FileReader"in window}z(M);h=M.prototype; -h.aa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){w("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.j[b]=c,c.onchange=function(){var a=m(c.value);null!=a&&Xf(d,a)},!0;case "loadDrive":return this.j[b]= -c,c.onclick=function(){var a=d.j.listDisks;a&&Yf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.w){c.parentNode.removeChild(c);break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.c&&((a=d.c[m(a.value)||0])?(a=a.J)?(a=Da(Mf(a),a.Ob.replace(".json",".img")),w(a)):d.D("No disk loaded in drive."):d.D("No disk drive selected."))};return!0;case "mountDrive":if(this.w)return this.j[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Yf(d,r(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -h.fa=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;if((a=xc(this.l,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){w(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.A[e]=a[e]);Zf(this);this.Ra=Yb(112,5,131072);fb(b,this,$f);hb(b,this.reset.bind(this));ag(this,"None","",!0);this.w&&ag(this,"Local Disk","?");ag(this,"Remote Disk","??");bg(this)||E(this)}; -h.ha=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.l.Lb){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Xf(this,0)}}return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){Zf(this)};h.save=function(){return(new O(this)).data()}; -h.restore=function(a){return Zf(this,a[0])};function bg(a,b){b||(a.s=0);for(var c in a.A){var d=a.A[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.j.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.c.length)a.D("Unable to load the selected drive");else if(c)if("?"==c)a.D('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=r(c);a.status("Attempting to load "+c+' as "'+b+'"')}dg(a,e,b,c,!1,d)}else cg(a,e)} -function dg(a,b,c,d,e,f){var g=-1,k=a.c[b];k.da.toLowerCase()!=d.toLowerCase()&&(g++,cg(a,b,!0),k.Ha?a.D("RL11 busy"):(k.Ha=!0,e&&(k.Ga=!0,a.s++),k.Aa=!!f,Gf(new Cf(a,k,"preload"),c,d,f,a.uc)&&g++));return g} -h.uc=function(a,b,c,d,e){var f;a.Ha=!1;b&&(f=Jf(b),b&&f[0]>a.O||f[1]>a.S)&&(this.D('Disk "'+c+'" too large for drive '+("RL"+a.Ia)),b=null);b?(a.J=b,a.oa=c,a.da=d,this.D('Mounted disk "'+c+'" in drive '+("RL"+a.Ia),a.Ga||e),this.l&&Dc(this.l)):a.Aa=!1;a.Ga&&(a.Ga=!1,--this.s||E(this));Xf(this,a.Ia)}; -function ag(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e>12&48;this.v=f>>16&63;this.i=this.b=b<<7|(c?64:0)|d&63;this.m=65536-e&65535;a&&(this.B=this.B|a|32768);return!0}; -h.vc=function(a,b,c,d,e,f,g){var k=0,l=a.J,n=null,p;l||(k=5120,e=0);for(;e--;){if(!n){n=a.J.seek(b,c,d+1);if(!n){k=5120;break}p=0}var u,v;if(0>(u=a.J.read(n,p++))||0>(v=a.J.read(n,p++))){k=5120;break}this.g.Xa(f,u|v<<8);if(Ub(this.g)){k=8192;break}f+=2;if(p>=l.W&&(n=null,++d>=l.N&&(d=0,++c>=l.S&&(c=0,++b>=l.O)))){k=5120;break}}return g(k,b,c,d,e,f)}; -h.wc=function(a,b,c,d,e,f,g){var k=0,l=a.J,n=null,p;l||(k=5120,e=0);for(;e--;){var u=this.g.Qa(f);if(Ub(this.g)){k=8192;break}f+=2;if(!n){n=a.J.seek(b,c,d+1,!0);if(!n){k=5120;break}p=0}if(!a.J.write(n,p++,u&255)||!a.J.write(n,p++,u>>8)){k=5120;break}if(p>=l.W&&(n=null,++d>=l.N&&(d=0,++c>=l.S&&(c=0,++b>=l.O)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Ad=function(){return this.B&65535}; -h.ye=function(a){this.B=this.B&-1023|a&1022;this.C=this.C&-4|(a&48)>>4;if(!(this.B&128)){var b;a=!0;var c=this.c[(this.B&768)>>8],d,e,f,g;this.B&=-2;switch(this.B&14){case 4:this.b&8&&(this.B&=63);this.m=c.status|this.i&64;break;case 6:1==(this.b&3)&&(b=this.b&65408,c=(this.b&16)<<2,this.i=this.b&4?this.i+b:this.i-b,this.b=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.vc;case 10:b||(b=this.wc),d=this.b>>7,e=this.b&64?1:0,f=this.b&63,d>=c.O||f>=c.N?this.B|=37888:(g=(this.v& -63)<<16|this.h,a=65536-this.m&65535,a=b.call(this,c,d,e,f,a,g,this.tc.bind(this)))}a&&(this.B|=129,this.B&64&&Wb(this.a,this.Ra))}};h.yd=function(){return this.h};h.we=function(a){this.h=a&65534};h.Bd=function(){return this.b};h.ze=function(a){this.b=a};h.Cd=function(){return this.m};h.Ae=function(a){this.m=a};h.zd=function(){return this.v};h.xe=function(a){this.v=a&63}; -var eg={},$f=(eg[63744]=[null,null,M.prototype.Ad,M.prototype.ye,"RLCS"],eg[63746]=[null,null,M.prototype.yd,M.prototype.we,"RLBA"],eg[63748]=[null,null,M.prototype.Bd,M.prototype.ze,"RLDA"],eg[63750]=[null,null,M.prototype.Cd,M.prototype.Ae,"RLMP"],eg[63752]=[null,null,M.prototype.zd,M.prototype.xe,"RLBE"],eg); -function fg(a,b,c){x.call(this,"Computer",a,fg,33554432);this.o.R=!1;gg(this,b);this.w=xc(this,"autoPower",a);this.l=0;this.P=a.busWidth||a.buswidth;this.b=hg;this.s=null;this.i=this.K=!1;this.U=xc(this,"url")||"";(Math.random()+.1).toString(36);this.c=ig(this);if(this.a=Wa("CPU",this.id)){this.G=Wa("Debugger",this.id);this.g=new yb({id:this.ua+".bus",busWidth:this.P},this.a,this.G);var d,e=A(this.id);if((this.A=Wa("Panel",this.id))&&this.A.gb)for(b=0;b\nLicense: GPL version 3 or later ");this.X("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bhg){if(jg(d,this.s)){this.h=new O(this,"1.30.4","failsafe");jg(this.h)&&(og(this,d),a=2,pg(this.h));this.h.set("timestamp",sa());qg(this.h);var e=this.b&&!this.i;if(1==a||va("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=ng(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?jg(d,g):("error"== -f&&"no machine state"!=g?(this.D("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.c=null)):this.X(f+": "+g),pg(d),jg(d)?(c=ng(d),e=!0):c=!1))}e&&mg(this,c?d:null)}else 2==a&&d.clear()}else mg(this);delete this.s;delete this.v}e=A(this.id);for(f=0;fa[1];a=a[2];this.V=!0;this.o.R=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.a&&(tg(this,this.a,b,c,a),this.Ba(),this.a.fb());this.H&&(og(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.l=0}; -function og(a,b){if(va("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.4"};d.url=a.U;d.user=c;d.type="bug";d.data=b;t("http://www.pcjs.org/api/v1/report",d,!0)}} -function ug(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new O(a,"1.30.4"),g=new O(a,"1.30.4","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ga&&(c&&F(a.a),d=a.a.ga(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.o.R=!1,!1===d&&(e=null)));for(var k=A(a.id),l=0;l=c||30<=(b.Db+=c))&&(d.textContent=b.o.T?b.La.toFixed(2)+"Mhz":"Stopped",b.Db=0)}if(this.A&&(b=this.A,a=a||0,b.v)){c=b.a.o.T;d=!!(b.a.u&8);if(0>=a||60<=(b.s+=a)){for(var e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Bg(a,b,c)}})}else c(a,null)} -function Cg(a,b,c,d){function e(a){if(void 0===k){var b=g&&D(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=oa(a))}function f(a){e("Error: "+a);l&&(--yg||La(!0));l=!1}var g,k,l=!0;yg++;Ta[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css";u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n));p.appendChild(u)}c|| -(c="/versions/pdpjs/1.30.4/components.xsl");n=function(d,k){k?zg(c,null,null,!1,e,function(d,l){l?(Ua(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--yg||La(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--yg||La(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?zg(b,a,d,!0,e,n):Ag(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(v){f(v.message)}return l}window.embedPDP11=function(a,b,c,d){La(!1);return Cg(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})();//# sourceMappingURL=/tmp/pdpjs/1.30.4/pdp11.map diff --git a/versions/pdpjs/1.30.5/components.xsl b/versions/pdpjs/1.30.5/components.xsl deleted file mode 100644 index fffdfd49f..000000000 --- a/versions/pdpjs/1.30.5/components.xsl +++ /dev/null @@ -1,1380 +0,0 @@ - - - -]> - - - - - - - - pc - pcjs - pdp11 - PDPjs - 1.30.5 - www.pcjs.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float: - - - - js - - - -
    - - - - - - - - - - js - - - "" - - - - - -
    -
    - - - - - - - - - - - - - - - , - - - - - - - - - - - - - .machine - . - . - - - - - - - - - - - - - - - - - - - - ,comment:'' - - - - - - border:1px solid black;border-radius:15px; - border:; - - - - - - left:; - - - - - - top:; - - - - - - - - width:; - width:;max-width:; - width:auto;max-width:; - - - - - - - - height:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto;clear:both; - position:; - position:relative; - - - - - overflow:auto;width:100%; - background-color:; - - - - - -component - -
    - - - - - - -
    - - - - - - - - --object -screen - - -
    -
    - -
    - -
    -
    - - - - -
    - - -
    [XML]
    - -
    - - -
    -
    -
    -
    - - - - - text-align:center; - - - -

    -
    - - -
    -
    - - - - - - -
    -
    - - - - type:'' - - - binding:'' - - - value:'' - - - - border:1px solid black; - border:; - - - - - - width:; - - - - - - height:; - - - - - - left:; - - - - - - top:; - - - - - - padding:; - - padding-top:; - padding-right:; - padding-bottom:; - padding-left:; - - - - - - float:left; - float:right; - margin:0 auto; - clear:both; - position:; - position:relative; - text-align:; - float:left; - - - - - - - - - - - - - - - - - - -
    - - - font-size:; - - - - - -label - - - - width:; - width:; - - - - - - - - text-align:right; - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - ; - - - - - - - - - - - - - - - : - - - - - - - - - - - - - - - - - desc:'' - - ,href:'' - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8088 - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - - null - - - - - - 0 - - - - - - - -1 - - - - - - - -1 - - - - - - - -1 - - - - - - ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: - - - - - - - - - - - - - - - 8087 - - - - - - - - - - - - ,model:'',stepping:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - true - - - - - - false - - - - - - {} - - - - - - - - - - - - - - - - - chipset - ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - device - ,type:'',baudReceive:,baudTransmit:,autoMount:'' - - - - - - - - - - - - - - - - - - - - keyboard - ,model:'' - - - - - - - - - - - - - - - 0 - - - - - - - - - - - parallel - ,adapter:,binding:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - - 0 - - - - - - - 0 - - - - - - - false - - - - - serial - ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: - - - - - - - - - - - - - - - - - - - - mouse - ,serial:'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fdc - ,autoMount:'',sortBy:'' - - - - - - - - - - - - - - - - - - - - - xt - - - - - hdc - ,drives:'',type:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - null - - - - - - - - - - - - - - - - - rom - ,addr:,size:,alias:,file:'',notify:'' - - - - - - - - - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - null - - - - - - null - - - - - - true - - - - - ram - ,addr:,size:,file:'',load:,exec:,test: - - - - - - - - - - - - - - - - - - - - - null - - - - - - - 256 - - - - - - - 224 - - - - - - - black - - - - - - 0 - - - - - - 0 - - - - - - false - - - - - - 1bpp - - - - - - 0 - - - - - - 0 - - - - - - 1 - - - - - - 0 - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - false - - - - - - 1 - - - - - - 1 - - - - - - - 80 - - - - - - - 25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - 0 - - - - - - null - - - - - - 0 - - - - - - 60 - - - - - video - ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: - - - - - - - - - - - - - - - 16 - - - - - - - - - - - - - - - - - debugger - ,base:,commands:'',messages:'' - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0 - - - - - - 0 - - - - - - - - - - - - computer - ,autoPower:,busWidth:,resume:,state:'' - - - - - - - -
    diff --git a/versions/pdpjs/1.30.5/document.css b/versions/pdpjs/1.30.5/document.css deleted file mode 100644 index 7072b406e..000000000 --- a/versions/pdpjs/1.30.5/document.css +++ /dev/null @@ -1,162 +0,0 @@ -@CHARSET "UTF-8"; - -.page { - margin: 2% 2%; - padding: 2% 2%; - min-width: 30em; - overflow: auto; - font-size: large; - font-family: Helvetica, Arial, sans-serif; - background: #303030; - color: #ccc; - -} -.page-header { -} -.page-header-title { - text-align: center; - -} -.page a { - color: #7fc07f; - text-decoration: none; -} -a.footlink, a.paralink { - text-decoration: none; -} -a.footlink:link, a.paralink:link { - color: blue; -} -a.footlink:visited, a.paralink:visited { - color: blue; -} -.galleryitem { - float: left; - width: 200px; -} -.item { - float: left; - width: 2em; - text-indent: 1em; -} -.list { - margin-left: 3em; - text-indent: 0; - text-align: justify; -} -ul { - list-style: none; -} -div.pnumber { - float: left; - width: 2em; - text-indent: 1em; -} -div.pitem { - margin-left: 10em; -} -p.indent, .justified p { - text-indent: 2em; - text-align: justify; - line-height: 1.5em; -} -p.noindent { - text-indent: 0; - text-align: justify; -} -p.center, .center { - text-align: center; -} -li.para { - margin-top: 1em; - margin-bottom: 1em; -} -.left { - text-align: left; -} -.right { - text-align: right; -} -blockquote.tag { - font-size: small; - font-family: Monaco, Fixed, monospace; - margin-top: 0; - margin-bottom: 0; -} -.blockquote { - padding-left: 1em; - text-indent: 0; - text-align: justify; -} -.italics { - font-style: italic; -} -.medium { - font-size: medium; -} -.small { - font-size: x-small; -} -.smallcaps { - font-variant: small-caps; -} -.strike { - text-decoration: line-through; -} -.summation, .bracelist { - display: inline-block; - position: relative; - vertical-align: middle; - text-align: center; - margin-bottom: 0.5ex; - text-indent: 0; -} -.bracelist-symbol { - font-size: 3em; - vertical-align: -40%; -} -.summation .summation-lower, .summation .summation-upper, .bracelist-item { - display: block; - font-size: 75%; - text-align: center; -} -.summation .summation-upper { - margin-bottom: 0; - margin-left: 0.8ex; - font-style: italic; -} -.summation .summation-lower{ - margin-bottom: -0.6ex; - font-style: italic; -} -.summation .summation-symbol { - font-size: 2em; -} -p sup { - vertical-align: baseline; - position: relative; - bottom: .5em; - font-size: small; -} -p sub { - vertical-align: baseline; - position: relative; - bottom: -.5em; - font-size: small; -} -.footnote { - font-size: medium; - text-indent: 1em; - text-align: justify; - margin-top: .5em; -} -.image-right { - float: right; - margin-left: 1em; - margin-top: 1em; - margin-bottom: 1em; -} -.image-caption { - font-size: small; - text-align: center; -} \ No newline at end of file diff --git a/versions/pdpjs/1.30.5/document.xsl b/versions/pdpjs/1.30.5/document.xsl deleted file mode 100644 index 5da0c83da..000000000 --- a/versions/pdpjs/1.30.5/document.xsl +++ /dev/null @@ -1,452 +0,0 @@ - - - - - -]> - - - - - - - - - -

    -
    - - - - - - - -

    -
    - -

    -
    -
    -
    - - - - - - -
    -
    - - -
    - -   - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - -

    -
    - - -

    -
    - - -

    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - -
    -
    - - -
    -
    - - -
  • -
    - - -
    image
    -
    - - -
    -
    - - - - -
    {.}
    -
    - -
    {.}
    -
    -
    -
    - - - - - - - - - - < - > - - - - × - - ÷ - σ - - - - - - - - - - - - { - - - - - - - - - - [] - - - - -
    - -
    -
    - - - , and - - - - - MDY - - - - - - - - - - - - - - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - - - , - - - - - -

    - -
    -
    - - -
    - {.}
    -
    -
    -
    - - - -

    Timeline

    -
    - -

    -
    -
    - -
    -
    - - - - - - - - - -

    -
    - -
    -
    -
    - - - -

    People

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - -

    -
      - -
    -
    - - - - - - - - - - -
  • - -
  • -
    - - - -

    -
    -

    - -

    -
    -
    - - - - false - - - - - - [Original] - - - - - - - - - - [] - - -
    by
    - - -
    - [Source: - - - - - - - ] -
    -
    -
    - - - -

    Resources

    -
    - -

    -
    -
    - -
    -
    - - -

    - -
    - - - -

    -
    -
      - -
    -
    - - -
  • -
    - - - -

    -
    -
    - -
    -
    - - - -

    -
    - -
    - - - -

    -
    -
      - -
    -
    - - - - - -
      - -
    -
    - - - - -
  • -
    - -
  • -
    - -
  • -
    -
    -
    - - -
  • -
    - - - - - - - - - - -
    - < ="" - - ></> - ></> - /> - -
    -
    - -
    diff --git a/versions/pdpjs/1.30.5/machine.xsl b/versions/pdpjs/1.30.5/machine.xsl deleted file mode 100644 index 46abcbdc4..000000000 --- a/versions/pdpjs/1.30.5/machine.xsl +++ /dev/null @@ -1,49 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    -
    - - - - js - , - -
    -
    - -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.5/manifest.xsl b/versions/pdpjs/1.30.5/manifest.xsl deleted file mode 100644 index 1d40d2e0d..000000000 --- a/versions/pdpjs/1.30.5/manifest.xsl +++ /dev/null @@ -1,247 +0,0 @@ - - - - -]> - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Document Manifest

    -
    -
      - - - - None - - - - - - - - - - - - - - - - -
    -
    -
    -

    - -
    -
    -
    - - -
    - - - - - - - - - - - <xsl:value-of select="$SITEHOST"/> - - - - -
    - -
    -

    Software Manifest

    -
    -
      - - - - None - - - - - Unknown - - - - - None - - - - - None - - - - - - - - - - - - - UpdatedReleased - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - -

    No default machine specified for '' in manifest.xml

    -
    - -
    -
    -
    - - - - -dbg - - - - - - -
    - - - - - Unknown - -
  • -
      - - - - - - - - -
    • - - - - - - - - - - - - - - - - - - - - - - - - - -
        - -
      • - - - - - - -
      • -
        -
      -
      -
    • -
      - - - - - - - - -
    -
  • -
    -
    - -
    diff --git a/versions/pdpjs/1.30.5/outline.xsl b/versions/pdpjs/1.30.5/outline.xsl deleted file mode 100644 index 7e6b6abde..000000000 --- a/versions/pdpjs/1.30.5/outline.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> - - - - - -
    -
    - -
    -
    - - - - -dbg - - - - - - -
    - -
    diff --git a/versions/pdpjs/1.30.5/pdp11-dbg.js b/versions/pdpjs/1.30.5/pdp11-dbg.js deleted file mode 100644 index 2c1e0b537..000000000 --- a/versions/pdpjs/1.30.5/pdp11-dbg.js +++ /dev/null @@ -1,363 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da":62,"?":63,"@":64,xc:65,Ef:66,Gf:67,cg:68,E:69,dg:70,eg:71,fg:72,gg:73,hg:74,ig:75,jg:76,kg:77,lg:78,mg:79,ng:80,Q:81,og:82,pg:83,qg:84,rg:85,sg:86,tg:87,ug:88,vg:89,gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,wg:97,xg:98,yg:99,d:100,e:101,Ag:102,Bg:103,Cg:104,Dg:105,Gg:106,k:107,Hg:108,Ig:109,n:110,Jg:111,p:112,q:113,r:114,Kg:115,t:116,Mg:117,Ng:118,Og:119,x:120,y:121,z:122,"{":123, -"|":124,"}":125,"~":126,Yc:127}; -function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=1,f--;return d}function p(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d} -function q(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function v(a){return q(a,4,!0)}function w(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function sa(a){return a.replace(/[&<>"']/g,function(a){return ra[a]})}function ua(a,b){return(a+" ").slice(0,b)}function va(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} -var Ca={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function Da(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function Ga(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function Ha(a,b){var c,d={ha:null,ja:null,Ua:null,Ta:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ua=g.load;d.Ta=g.exec;if(e=g.bytes)d.ha=e;else if(e=g.words)for(d.ha=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.ha=Array(4*e.length),f=c=0;c>8&255,d.ha[f++]=e[c]>>16&255,d.ha[f++]=e[c]>>24&255;else d.ha=g;d.ja=g.symbols;d.ha.length?1==d.ha.length&&(x(d.ha[0]),d=null):(x("Empty resource: "+a),d=null)}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.hb=this.id:(this.ib=this.id.substr(0,b),this.hb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,kb:!1,nc:!1,la:!1,error:!1};this.cc=null;this.C.error=!1;this.D={};this.j=null;this.pa=d||0;A.push(this)}var ib=void 0,jb={}; -if(window){ib||(ib=window.location.search.substr(1));for(var kb,lb=/\+/g,mb=/([^&=]+)=?([^&]*)/g;kb=mb.exec(ib);)jb[decodeURIComponent(kb[1].replace(lb," "))]=decodeURIComponent(kb[2].replace(lb," "))}function nb(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 D(a,b){b||(b=y);a.prototype=nb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ob=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else ob={},A=[];function pb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.f["S"+a]=[0,0,!1,!1,this.Gd,a]}D(Hb);var Ib=7;function Jb(a,b){return a.f[b]&&a.f[b][1]}k=Hb.prototype; -k.reset=function(){this.stop()}; -k.xa=function(a,b,c,d){if(this.B&&this.B.xa(a,b,c,d)||this.b&&this.b.xa(a,b,c,d)||this.j&&this.j.xa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.D[b]=c,this.F++,!0;default:return"led"==a||"rled"==a?(this.D[b]=c,this.g[b]=d?1:0,this.F++,!0):"switch"==a?(void 0===this.f[b]&&(this.f[b]=[d?1:0,d?1:0]),this.D[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, -b){return function(){Kb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Lb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Kb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Lb(a,b)}}(this,b),!0):this.parent.xa.call(this,a,b,c,d)}};k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;Mb(b,this,Nb);Ob(b,this.reset.bind(this));Pb(this);Qb(this)};k.La=function(a,b){b||(Rb(),this.reset());return!0};k.Ka=function(){return!0}; -function Sb(a,b,c){if(a=a.D[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Pb(a,b){for(var c in a.g)Sb(a,c,null!=b?b:a.g[c])}function Tb(a,b,c){if(a=a.D[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Qb(a){for(var b in a.f)Tb(a,b,a.f[b][1])}function Ub(a,b,c,d){a.D[b]&&(void 0===c&&(Cb(a,"Value for "+b+" is invalid"),a.b.ba()),c=8==(a.j&&a.j.ma||8)?p(c,d):q(c,d),a.D[b].textContent!=c&&(a.D[b].textContent=c))} -function Kb(a,b){var c=a.f[b];Tb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.I="DEP"==b,a.J="EXAM"==b)}function Lb(a,b){var c=a.f[b];c[2]&&c[3]&&(Tb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}k.Ed=function(a){a||this.b.C.X||(a=this.b,a.w.reset(),Vb(a),Jb(this,"ENABLE")&&this.b.pb())};k.Fd=function(){};k.Ad=function(a){a||this.b.ba()}; -k.yd=function(a){if(!a&&!this.b.C.X)if(Jb(this,"ENABLE"))this.b.pb();else{if((a=this.j)&&!zb(a,!0))tb(a,!0),a.qb(0,null),tb(a,!1);else try{var b=this.b.qb(1);0a.b.lb?8:16,c=65472<=a.Da&&a.Da<65472+b,b=c?1:2,c=c?15:a.w.Mb;Jb(a,"STEP")||(b=-b);rc(a,a.Da&~c|a.Da+b&c)} -function rc(a,b){a.Da=b&a.w.Mb;b=a.Da;for(var c=0;22>c;c++)tc(a,"A"+c,b&1<c;c++)tc(a,"D"+c,b&1<c;c++)a.f["S"+c][1]=b&1<>2;this.w=this.Ja-1;this.v=this.A/this.Ja|0;this.jb=[];this.ra=0;this.B=!1;this.F=[];this.kd=[yc,zc,Ac,Bc];a=new M(this);Cc(a,this.j);this.ea=Array(this.v);this.f=Array(this.v);for(b=0;b>>this.qa;this.H=0;this.g=this.Mb;L(this)}D(wc); -var xc=8192,Fc=xc-1;function yc(a,b){var c=-1,d=this.controller,e=d.jb[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.jb[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.j&&K(this.j,16|e[5])&&H(this.j,e[4]+".readByte("+N(this.j,b)+"): "+N(this.j,c),!0,!d.ra),c;d.Ra(b,16,3);c=255;this.j&&K(this.j,16)&&H(this.j,"warning: unconverted read access to byte @"+N(this.j,b)+": "+N(this.j,c),!0,!d.ra);return c} -function zc(a,b,c){var d=!1,e=this.controller,f=e.jb[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.jb[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.j&&K(this.j,16|f[5])&&H(this.j,f[4]+".writeByte("+N(this.j,c)+","+N(this.j,b)+")",!0,!e.ra):(e.Ra(c,16,5),this.j&&K(this.j,16)&&H(this.j,"warning: unconverted write access to byte @"+N(this.j,c)+": "+N(this.j, -b),!0,!e.ra))}function Ac(a,b){var c=-1,d=this.controller;a=d.jb[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.j&&K(this.j,16|a[5])&&H(this.j,a[4]+".readWord("+N(this.j,b)+"): "+N(this.j,c),!0,!d.ra),c;d.Ra(b,16,2);c=65535;this.j&&K(this.j,16)&&H(this.j,"warning: unconverted read access to word @"+N(this.j,b)+": "+N(this.j,c),!0,!d.ra);return c} -function Bc(a,b,c){var d=!1,e=this.controller;a=e.jb[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.j&&K(this.j,16|a[5])&&H(this.j,a[4]+".writeWord("+N(this.j,c)+","+N(this.j,b)+")",!0,!e.ra):(e.Ra(c,16,4),this.j&&K(this.j,16)&&H(this.j,"warning: unconverted write access to word @"+N(this.j,c)+": "+N(this.j,b),!0,!e.ra))} -function Gc(a,b){if(b!=a.H){for(var c=0;c>>a.qa,a.f[a.J]=a.ea[a.I])}}k=wc.prototype;k.reset=function(){for(var a=0;a>>a.qa;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.G)return l.Sb+=l.G-f,l.G=f,!0;if(f>=l.G+l.Sb){n=l.size-(f-m);n>g&&(n=g);l.Sb=f-l.G+n;f=m+a.Ja;g-=n;h++;continue}}return Hc(1,f,g)}f=new M(a,f,n,a.Ja,d,e);Cc(f,a.j,l);a.ea[h++]=f;f=m+a.Ja;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Ic[d]+" at "+p(b)),!0):Hc(2,b,c)}k.dc=function(a){return this.f[(a&this.g)>>>this.qa].ec(a&this.w,a)}; -k.wa=function(a){return this.f[(a&this.g)>>>this.qa].Ca(a&this.w,a)};k.Rb=function(a,b){this.f[(a&this.g)>>>this.qa].hc(a&this.w,b,a)};k.Db=function(a,b){this.f[(a&this.g)>>>this.qa].$b(a&this.w,b,a)};function Jc(a,b){return a.ea[(b&a.Mb)>>>a.qa]}function pc(a,b){a.B=!1;a.ra++;b=Jc(a,b).J(b&a.w,b);a.ra--;return b}function Kc(a,b,c){a.B=!1;a.ra++;Jc(a,b).H(b&a.w,c&255,b);a.ra--}function ac(a,b,c){a.B=!1;a.ra++;Jc(a,b).M(b&a.w,c&65535,b);a.ra--} -function Lc(a){for(var b=0,c=[],d=0;da.b.lb)){var h=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!h&&m&&(h=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;tb.indexOf(e.toUpperCase()))){e=8;var g="",h=!1,l=0,m=8;0>d&&(e=c.length,d=0,h=!0,m=l=4);for(var n=0;n>1&63;var b=this.b.Cb[a>>1];return a&1?b>>16:b&65535};k.Af=function(a,b){b=b>>1&63;var c=b>>1;this.b.Cb[c]=b&1?this.b.Cb[c]&65535|(a&63)<<16:this.b.Cb[c]&-65536|a&65534}; -k.te=function(a){return this.b.R[1][a>>1&7]};k.tf=function(a,b){this.b.R[1][b>>1&7]=a&65295};k.re=function(a){return this.b.R[1][(a>>1&7)+8]};k.rf=function(a,b){this.b.R[1][(b>>1&7)+8]=a&65295};k.se=function(a){return this.b.ga[1][a>>1&7]};k.sf=function(a,b){b=b>>1&7;this.b.ga[1][b]=a;this.b.R[1][b]&=65295};k.qe=function(a){return this.b.ga[1][(a>>1&7)+8]};k.qf=function(a,b){b=(b>>1&7)+8;this.b.ga[1][b]=a;this.b.R[1][b]&=65295};k.Nd=function(a){return this.b.R[0][a>>1&7]}; -k.Ne=function(a,b){this.b.R[0][b>>1&7]=a&65295};k.Ld=function(a){return this.b.R[0][(a>>1&7)+8]};k.Le=function(a,b){this.b.R[0][(b>>1&7)+8]=a&65295};k.Md=function(a){return this.b.ga[0][a>>1&7]};k.Me=function(a,b){b=b>>1&7;this.b.ga[0][b]=a;this.b.R[0][b]&=65295};k.Kd=function(a){return this.b.ga[0][(a>>1&7)+8]};k.Ke=function(a,b){b=(b>>1&7)+8;this.b.ga[0][b]=a;this.b.R[0][b]&=65295};k.ze=function(a){return this.b.R[3][a>>1&7]};k.zf=function(a,b){this.b.R[3][b>>1&7]=a&65295}; -k.xe=function(a){return this.b.R[3][(a>>1&7)+8]};k.xf=function(a,b){this.b.R[3][(b>>1&7)+8]=a&65295};k.ye=function(a){return this.b.ga[3][a>>1&7]};k.yf=function(a,b){b=b>>1&7;this.b.ga[3][b]=a;this.b.R[3][b]&=65295};k.we=function(a){return this.b.ga[3][(a>>1&7)+8]};k.wf=function(a,b){b=(b>>1&7)+8;this.b.ga[3][b]=a;this.b.R[3][b]&=65295};k.Pb=function(a){a&=7;return this.b.O&2048?this.b.$a[a]:this.b.u[a]};k.Tb=function(a,b){b&=7;this.b.O&2048?this.b.$a[b]=a:this.b.u[b]=a}; -k.Yd=function(){return this.b.O&49152?this.b.Na[0]:this.b.u[6]};k.We=function(a){this.b.O&49152?this.b.Na[0]=a:this.b.u[6]=a};k.ae=function(){return this.b.u[7]};k.Ze=function(a){this.b.u[7]=a};k.Qb=function(a){a&=7;return this.b.O&2048?this.b.u[a]:this.b.$a[a]};k.Ub=function(a,b){b&=7;this.b.O&2048?this.b.u[b]=a:this.b.$a[b]=a};k.Zd=function(){return 1==(this.b.O&49152)>>14?this.b.u[6]:this.b.Na[1]};k.Xe=function(a){1==(this.b.O&49152)>>14?this.b.u[6]=a:this.b.Na[1]=a}; -k.$d=function(){return 3==(this.b.O&49152)>>14?this.b.u[6]:this.b.Na[3]};k.Ye=function(a){3==(this.b.O&49152)>>14?this.b.u[6]=a:this.b.Na[3]=a};k.Jd=function(a){return this.b.sc[a-65504>>1]};k.Je=function(a,b){this.b.sc[b-65504>>1]=a};k.Pc=function(a){return 65520==a?(Mc(this.w)>>6)-1:0};k.Tc=function(){};k.ve=function(){return 1};k.vf=function(){};k.Id=function(){return this.b.oa};k.Ie=function(){this.b.oa=0};k.Pd=function(){return this.b.rc};k.Pe=function(a,b){b&1||(a&=255);this.b.rc=a}; -k.Ud=function(a,b){return b?0:this.b.Bb};k.Se=function(a){kd(this.b,a)};k.ue=function(a,b){return b?0:this.b.fb&65280};k.uf=function(a){this.b.fb=a|255};k.Xd=function(){return ld(this.b)};k.Ve=function(a){md(this.b,a&-1793|ld(this.b)&1792)};k.Sc=function(a,b){K(this)&&H(this,"writeIgnored("+p(b)+"): "+p(a),!0,!0)}; -var Q={},Uc=(Q[61568]=[null,null,O.prototype.Ae,O.prototype.Af,"UNIMAP",64,1170],Q[62592]=[null,null,O.prototype.te,O.prototype.tf,"SIPDR",8,1145,64],Q[62608]=[null,null,O.prototype.re,O.prototype.rf,"SDPDR",8,1145,64],Q[62624]=[null,null,O.prototype.se,O.prototype.sf,"SIPAR",8,1145,64],Q[62640]=[null,null,O.prototype.qe,O.prototype.qf,"SDPAR",8,1145,64],Q[62656]=[null,null,O.prototype.Nd,O.prototype.Ne,"KIPDR",8,1145,64],Q[62672]=[null,null,O.prototype.Ld,O.prototype.Le,"KDPDR",8,1145,64],Q[62688]= -[null,null,O.prototype.Md,O.prototype.Me,"KIPAR",8,1145,64],Q[62704]=[null,null,O.prototype.Kd,O.prototype.Ke,"KDPAR",8,1145,64],Q[62798]=[null,null,O.prototype.Td,O.prototype.Re,"MMR3",1,1145,64],Q[65382]=[null,null,O.prototype.Od,O.prototype.Oe,"LKS"],Q[65402]=[null,null,O.prototype.Qd,O.prototype.Qe,"MMR0",1,1145,64],Q[65404]=[null,null,O.prototype.Rd,O.prototype.Sc,"MMR1",1,1145,64],Q[65406]=[null,null,O.prototype.Sd,O.prototype.Sc,"MMR2",1,1145,64],Q[65408]=[null,null,O.prototype.ze,O.prototype.zf, -"UIPDR",8,1145,64],Q[65424]=[null,null,O.prototype.xe,O.prototype.xf,"UDPDR",8,1145,64],Q[65440]=[null,null,O.prototype.ye,O.prototype.yf,"UIPAR",8,1145,64],Q[65456]=[null,null,O.prototype.we,O.prototype.wf,"UDPAR",8,1145,64],Q[65472]=[null,null,O.prototype.Pb,O.prototype.Tb,"R0SET0"],Q[65473]=[null,null,O.prototype.Pb,O.prototype.Tb,"R1SET0"],Q[65474]=[null,null,O.prototype.Pb,O.prototype.Tb,"R2SET0"],Q[65475]=[null,null,O.prototype.Pb,O.prototype.Tb,"R3SET0"],Q[65476]=[null,null,O.prototype.Pb, -O.prototype.Tb,"R4SET0"],Q[65477]=[null,null,O.prototype.Pb,O.prototype.Tb,"R5SET0"],Q[65478]=[null,null,O.prototype.Yd,O.prototype.We,"R6KERNEL"],Q[65479]=[null,null,O.prototype.ae,O.prototype.Ze,"R7KERNEL"],Q[65480]=[null,null,O.prototype.Qb,O.prototype.Ub,"R0SET1",1,1145],Q[65481]=[null,null,O.prototype.Qb,O.prototype.Ub,"R1SET1",1,1145],Q[65482]=[null,null,O.prototype.Qb,O.prototype.Ub,"R2SET1",1,1145],Q[65483]=[null,null,O.prototype.Qb,O.prototype.Ub,"R3SET1",1,1145],Q[65484]=[null,null,O.prototype.Qb, -O.prototype.Ub,"R4SET1",1,1145],Q[65485]=[null,null,O.prototype.Qb,O.prototype.Ub,"R5SET1",1,1145],Q[65486]=[null,null,O.prototype.Zd,O.prototype.Xe,"R6SUPER",1,1145],Q[65487]=[null,null,O.prototype.$d,O.prototype.Ye,"R6USER",1,1145],Q[65504]=[null,null,O.prototype.Jd,O.prototype.Je,"CTRL",8,1170],Q[65520]=[null,null,O.prototype.Pc,O.prototype.Tc,"LSIZE",1,1170],Q[65522]=[null,null,O.prototype.Pc,O.prototype.Tc,"HSIZE",1,1170],Q[65524]=[null,null,O.prototype.ve,O.prototype.vf,"SYSID",1,1170],Q[65526]= -[null,null,O.prototype.Id,O.prototype.Ie,"CPUERR",1,1170],Q[65528]=[null,null,O.prototype.Pd,O.prototype.Pe,"MB",1,1170],Q[65530]=[null,null,O.prototype.Ud,O.prototype.Se,"PIR"],Q[65532]=[null,null,O.prototype.ue,O.prototype.uf,"SL"],Q[65534]=[null,null,O.prototype.Xd,O.prototype.Ve,"PSW"],Q); -eb(function(){for(var a=G(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.A,0,this.size>>2),ud(this,qd?vd:wd);else{a=this.b=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},ca:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ua:function(a,b){a&1&&this.w.Ra(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+ -1]&255)<<8},Pa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.cb=!0},hb:function(a,b){if(this.j&&null!=this.G){var c=this.j;Bd(c,this.G+a,1,c.M)&&c.ba(!0)}return this.I(a,b)},ma:function(a,b){if(this.j&&null!=this.G){var c=this.j;Bd(c,this.G+a,2,c.M)&&c.ba(!0)}return this.J(a,b)},za:function(a, -b,c){if(this.j&&null!=this.G){var d=this.j;Bd(d,this.G+a,1,d.F)&&d.ba(!0)}this.f?this.v(a,b,c):this.H(a,b,c)},Wa:function(a,b,c){if(this.j&&null!=this.G){var d=this.j;Bd(d,this.G+a,2,d.F)&&d.ba(!0)}this.f?this.v(a,b,c):this.M(a,b,c)},Y:function(a){return this.D[a]},ib:function(a,b){a=this.D[a];this.j&&K(this.j,32)&&H(this.j,"Memory.readByte("+N(this.j,b)+"): "+N(this.j,a),!0);return a},da:function(a,b){a&1&&this.w.Ra(b,64,2);return this.F.getUint16(a,!0)},na:function(a,b){a&1&&this.w.Ra(b,64,2);a= -this.P[a>>1];this.j&&K(this.j,32)&&H(this.j,"Memory.readWord("+N(this.j,b)+"): "+N(this.j,a),!0);return a},va:function(a,b){this.D[a]=b;this.cb=!0},Ga:function(a,b,c){this.D[a]=b;this.cb=!0;this.j&&K(this.j,32)&&H(this.j,"Memory.writeByte("+N(this.j,c)+","+N(this.j,b)+")",!0)},Sa:function(a,b,c){a&1&&this.w.Ra(c,64,4);this.F.setUint16(a,b,!0);this.cb=!0},Xa:function(a,b,c){a&1&&this.w.Ra(c,64,4);this.P[a>>1]=b;this.cb=!0;this.j&&K(this.j,32)&&H(this.j,"Memory.writeWord("+N(this.j,c)+","+N(this.j, -b)+")",!0)}};function Cc(a,b,c){a.j=b;a.B=a.g=0;c&&((a.B=c.B)&&Ad(a,zd,!1),(a.g=c.g)&&yd(a,zd,!1))}function Cd(a,b){b?--a.g||(a.hc=a.f?a.v:a.H,a.$b=a.f?a.K:a.M):--a.B||(a.ec=a.I,a.Ca=a.J)}function yd(a,b,c){c&&a.g||(a.hc=!a.f&&b[1]||a.v,a.$b=!a.f&&b[3]||a.K);if(c||void 0===c)a.H=b[1]||a.v,a.M=b[3]||a.K}function Ad(a,b,c){c&&a.B||(a.ec=b[0]||a.S,a.Ca=b[2]||a.T);if(c||void 0===c)a.I=b[0]||a.S,a.J=b[2]||a.T}function ud(a,b){b||(b=Dd);Ad(a,b,void 0);yd(a,b,void 0)} -var Dd=[],xd=[M.prototype.ca,M.prototype.Pa,M.prototype.ua,M.prototype.ab],zd=[M.prototype.hb,M.prototype.za,M.prototype.ma,M.prototype.Wa];if(Db)var wd=[M.prototype.Y,M.prototype.va,M.prototype.da,M.prototype.Sa],vd=[M.prototype.ib,M.prototype.Ga,M.prototype.na,M.prototype.Xa]; -function Ed(a,b){y.call(this,"CPU",a,Ed,1);b=a.cycles||b;var c=a.multiplier||1;this.Vb=0;this.tb=b;this.mb=c;this.kc=Math.round(this.tb/1E4)/100;this.zb=this.kc*this.mb;this.C.X=!1;this.C.gc=!1;this.C.Ib=a.autoStart;this.C.Jb=!1;this.Wb=this.Ga=0;this.Xb=a.csStart;this.Nb=a.csInterval;this.Ob=a.csStop;this.M=[];this.Gc=this.Fe.bind(this);L(this)}D(Ed);var Fd=["power","reset"];k=Ed.prototype; -k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.j=d;this.v=a.v;for(b=0;b=a.Ga&&(a.Ga+=a.Nb,c=!0);0<=a.Ob&&a.Ob<=Ld(a)&&(a.Nb=a.Ob=-1,Id(a),a.ba(),c=!0);c&&a.i(Ld(a)+" cycles: checksum="+q(a.Wb))}} -k.xa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.D[b]=c,!0;case "run":return this.D[b]=c,c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.la)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;ca.za/a.zb?b=1:d=!0;a.mb=b;b=a.kc*a.mb;if(a.zb!=b){a.zb=b;b=a.zb.toFixed(2)+"Mhz";var e=a.D.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.B&&a.B.ob()}Xb(a,a.Y);a.Y=0;a.T=Ea();a.da=0;Nd(a);return d}function Qc(a,b){var c=a.M.length;a.M.push([-1,b]);return c}function Sc(a,b,c,d){0<=b&&ba.M[b][0])&&(c=a.tb*a.mb/1E3*c|0,a.C.X&&(c+=Od(a)),a.M[b][0]=c)} -function Pd(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Wb(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Od(a,b){var c=a.ma-=a.b;a.b=a.K=0;b&&(a.ma=0);return c} -k.Fe=function(){if(this.C.X){this.lc>=this.tb&&Nd(this,!0);this.Xa=0;this.sb=Ea();if(this.da){var a=this.sb-this.da;a>this.Ec&&(this.T+=a,this.T>this.sb&&(this.T=this.sb))}try{do{var b=Pd(this,this.C.Jb?1:this.ub);try{this.qb(b)}catch(e){if("number"!=typeof e)throw e;}b=Od(this,!0);this.Xa+=b;this.Y+=b;Yb(this,b);Wb(this,b);this.Pa-=b;if(0>=this.Pa){this.Pa+=this.ub;15<=++this.Fc&&(this.ya(),this.Fc=0);break}}while(this.C.X)}catch(e){this.ba();this.B&&this.B.stop(Ea(),Ld(this));Cb(this,e.stack||e.message); -return}if(this.C.X){a=setTimeout;b=this.Gc;this.da=Ea();var c=this.Ec;this.Xa&&(c=Math.round(c*this.Xa/this.ub));var c=c-(this.da-this.sb),d=this.da-this.T;d&&(this.za=Math.round(this.Y/(10*d))/100,864E5<=d&&(this.na=0,Md(this)));if(0>c||this.zac&&(this.T-=c),c=0;this.lc+=this.Xa;this.da+=c;a(b,c)}}}; -k.pb=function(a){if(Bb(this))return!1;if(this.C.X)return this.i(this.toString()+" busy"),!1;Md(this);this.C.X=!0;this.C.gc=!0;var b=this.D.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.ob(!0),this.B.start(this.T,Ld(this)));setTimeout(this.Gc,0);return!0};k.qb=function(){return 0};k.ba=function(a){var b=!1;if(this.C.X){Od(this);Xb(this,this.Y);this.Y=0;this.C.X=!1;if(b=this.D.run)b.textContent="Run";this.B&&this.B.stop(Ea(),Ld(this));b=!0;this.j||this.status("Stopped")}this.C.complete=a;return b}; -function Qd(a){this.lb=+a.model||1170;this.Ac=a.addrReset||0;Ed.call(this,a,6666667);this.Eb=0;this.Dc=255;1120==this.lb?(this.decode=Rd.bind(this),this.va=this.rd,this.Eb=8,this.Dc=-1):(this.decode=Sd.bind(this),this.va=this.sd);Td(this);this.J=0;this.I=null;this.ic=[];this.C.complete=!1}D(Qd,Ed);k=Qd.prototype;k.yc=function(){for(var a=192,b=0;bc.Zb&&(c.Zb=a,a+=4)}}; -k.reset=function(){this.status("Model "+this.lb);this.C.X&&this.ba();Td(this);Hd(this);this.C.error=!1;this.parent.reset.call(this)}; -function Td(a){a.U=65536;a.V=32768;a.Z=65535;a.W=32768;a.O=15;a.u=[0,0,0,0,0,0,0,a.Ac,-1,-2,-3,-4,-5,-6,-7,-8];a.$a=[0,0,0,0,0,0];a.Na=[0,0,0,0];a.A=0;a.Cc=[4,2,0,1];a.R=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ga=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0]];a.Cb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.sc=[0,0,0,0,0,0,0,0];a.rc=0;a.L=0;a.F=a.H=0;a.g=a.f=a.jc=0;a.ua=-1;Vb(a)}function Vb(a){a.Ea=0;a.Fb=0;a.Gb=0;a.Ma=0;a.oa=0;a.Bb=0;a.fb=255;a.ca=0;a.Sa=0;a.Wa=0;a.S=262143;a.Hb=0;a.sa=0;a.I=null;a.w&&(Ud(a),a.Uc=Mc(a.w))}function Ud(a){a.ca?(a.P=65536,a.ab=a.Ma&16?4186112:253952,a.aa=a.vd,a.Ca=a.Be,a.$b=a.Bf,Gc(a.w,a.Ma&16?22:18)):(a.P=0,a.ab=57344,a.aa=a.ud,a.Ca=a.Qc,a.$b=a.wc,Gc(a.w,16))} -function fd(a){var b=a.Ea;b&57344||(b=b&-3199|a.Sa<<5|a.Wa<<1);return b}function gd(a,b){b&=-3073;if(a.Ea!=b){b&57344&&!(a.Ea&57344)&&(a.Fb=a.sa>>16&65535,a.Gb=a.sa&65535);a.Ea=b;a.Sa=(b&96)>>5;a.Wa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.ca!=c&&(a.ca=c,Ud(a))}}function hd(a){a.Ea&57344||(a.Fb=a.sa>>16&65535);a=a.Fb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function id(a){a.Ea&57344||(a.Gb=a.sa&65535);return a.Gb} -function jd(a,b){1170>a.lb&&(b&=-49);a.Ma!=b&&(a.Ma=b,a.S=b&16?4194303:262143,Ud(a))}k.Lc=function(){return 0};k.save=function(){var a=new U(this);a.set(0,[this.u,this.$a,this.Na,this.Cb,this.sc,this.oa,this.rc,this.Bb,this.fb,ld(this),this.ua,this.A,this.L,this.Ea,this.Fb,this.Gb,this.Ma,this.Sa,this.Wa,this.R,this.ga,this.ca,this.S,this.Hb,this.sa]);a.set(1,[this.na,this.mb]);a.set(2,Lc(this.w));return a.data()}; -k.restore=function(a){var b=a[1];this.na=b[1];Md(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c>14&3;c=a.O>>14&3;a.A!=c&&(a.Na[c]=a.u[6],a.u[6]=a.Na[a.A]);a.O=b;a.L&=-3;a.L|=a.I?2:1}function kd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.L|=1}a.Bb=b}k.Fa=function(a){this.W=this.Z=a;this.V=0};k.rb=function(a,b){this.W=this.Z=this.U=a;this.V=b||0}; -function ye(a,b){a.W=a.Z=a.U=b;a.V=a.W^a.U>>1}function ze(a,b,c,d){a.W=a.Z=a.U=b;a.V=(c^d)&(d^b)} -k.ta=function(a,b,c){if(!this.J){0>this.ua?this.ua=ld(this):this.A||(c=-4);-4==c&&(this.L&256&&(c=-1),this.L|=256,this.oa|=4,this.u[6]=a=4);if(-1!=c){this.sa=a|4143316992;this.A=0;var d=this.Ca(a|this.P),e=this.Ca(a+2&65535|this.P);md(this,e&-12289|this.ua>>2&12288);Ae(this,this.ua);Ae(this,this.u[7]);ae(this,d)}this.b-=5;this.L&=~(b|19);this.L|=129;this.ua=-1;this.qd=a;this.od=c;-1==c&&this.ba();if(-4<=c)throw a;}}; -function Be(a){var b=Ce(a),c=Ce(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);ae(a,b);md(a,c);a.L&=-17}k.Ia=function(a){var b=a>>13&31;31>b&&(a=this.Ma&32?this.Cb[b]+(a&8190)&4194302:a&-3932161);return a}; -function oc(a,b,c){var d,e,f;if(!(c&a.ca))return f=b&65535,57344<=f&&(f|=a.ab),f;d=b>>13;a.Ma&a.Cc[a.A]||(d&=7);e=a.R[a.A][d];f=(a.ga[a.A][d]<<6)+(b&8191)&a.S;3932160<=f&&(f=a.Ia(f));if(a.J)return f;f>=a.Uc&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2& -8128)&&(g|=16384));a.R[a.A][d]=e;if(f!=(4194170&a.S)||a.A)a.Sa=a.A,a.Wa=d;g&&(g&57344&&(0<=a.ua&&(g|=128),a.Ea&57344||(g|=a.Ea&4096|a.Sa<<5|a.Wa<<1,gd(a,a.Ea&-61695|g&61694)),a.ta(168,64,-2)),a.Ea&61440||!(f<(4191360&a.S)||f>(4194239&a.S))||(a.Ea|=4096,a.Ea&512&&(a.L|=64)));return f}function De(a,b){return a.w.dc(b)}function Ce(a){var b=a.Ca(a.u[6]|a.P);a.u[6]=a.u[6]+2&65535;return b} -function Ae(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.sa=a.sa&65535|(a.sa&-65536)<<8|16121856;a.L&256||a.va(4,-2,c);a.$b(c,b)} -function Ee(a,b,c,d){var e,f,g=d&8?0:a.P;switch(b){case 0:return a.ta(4,0,-3),0;case 1:return 6==c&&a.va(d,0,a.u[6]),a.b-=3,7==c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];6==c&&a.va(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!=c&&(e|=g);e=a.Ca(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;6==c&&a.va(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!=c&&(e|=g);e=a.Ca(e)|g;a.b-=8;break;case 6:return e=a.Ca($d(a,2)),e=e+a.u[c]&65535,6==c&&a.va(d, -0,e),a.b-=6,e|g;case 7:return e=a.Ca($d(a,2)),e=e+a.u[c]&65535,e=a.Ca(e|a.P),a.b-=10,e|g}a.u[c]=a.u[c]+f&65535;a.sa=a.sa&65535|(a.sa&-65536)<<8|(f<<3&248|c)<<16;return e}k.rd=function(a,b,c){!this.A&&0>=b&&c<=this.fb&&(this.L|=32)};k.sd=function(a,b,c){this.A||(65534<=c&&(c|=-65536),a&4&&c<=this.fb&&(c<=this.fb-32?this.ta(4,0,-4):(this.oa|=8,this.L|=32)))};function qc(a,b){a.J++;b=a.Qc(oc(a,b,2));a.J--;return b}k.ud=function(a,b,c){a=Ee(this,a,b,c);3932160<=a&&(a=this.Ia(a));return a}; -k.vd=function(a,b,c){return oc(this,Ee(this,a,b,c),c)};k.Qc=function(a){3932160<=a&&(a=this.Ia(a));return this.w.wa(this.Hb=a)};k.Be=function(a){return this.w.wa(this.Hb=oc(this,a,2))};k.wc=function(a,b){3932160<=a&&(a=this.Ia(a));this.w.Db(this.Hb=a,b)};k.Bf=function(a,b){this.w.Db(this.Hb=oc(this,a,4),b)}; -function Fe(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Ee(a,b,d,2),c&65536||61440!==(a.O&61440)&&(d&=65535),a.A=a.O>>12&3,c=a.Ca(d|c&a.P),a.A=a.O>>14&3):c=6!=d||(a.O>>2&12288)===(a.O&12288)?a.u[d]:a.Na[a.O>>12&3];return c}function Ge(a,b,c,d){a.sa=a.sa&65535|1441792;var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Ee(a,b,e,4),c&65536||(e&=65535),a.A=a.O>>12&3,e=oc(a,e|c&65536,4),a.A=a.O>>14&3,a.w.Db(e,d)):6!=e||(a.O>>2&12288)===(a.O&12288)?a.u[e]=d:a.Na[a.O>>12&3]=d} -function He(a,b){b>>=6;var c=a.H=b&7;return(b=a.F=(b&56)>>3)?De(a,a.aa(b,c,3)):a.u[c+a.Eb]&a.Dc}function Ie(a,b){b>>=6;var c=a.H=b&7;return(b=a.F=(b&56)>>3)?a.w.wa(a.aa(b,c,2)):a.u[c+a.Eb]}function Je(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Ee(a,b,c,8)}function Ke(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?De(a,a.aa(b,c,3)):a.u[c]&255}function Le(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.wa(a.aa(b,c,2)):a.u[c]} -function Me(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.jc=a.aa(b,e,7),c=0>c?a.u[-c-1]&255:c,c=d.call(a,c,De(a,e)),e&1&&a.b--,a.w.Rb(e,c)):(b=a.u[e],c=0>c?a.u[-c-1]&255:c,a.u[e]=b&65280|d.call(a,c,b&255))}function V(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,6),a.w.Db(e,d.call(a,0>c?a.u[-c-1]:c,a.w.wa(e)))):a.u[e]=d.call(a,0>c?a.u[-c-1]:c,a.u[e])} -function Ne(a,b,c,d,e){var f=a.f=b&7;(b=a.g=(b&56)>>3)?(d=a.aa(b,f,5),e.call(a,(c=0>c?a.u[-c-1]&255:c)<<8),d&1&&a.b--,a.w.Rb(d,c)):(c?(c=0>c?a.u[-c-1]&255:c,a.u[f]=a.u[f]&~d|c<<24>>24&d):a.u[f]&=~d,e.call(a,c<<8))}function Oe(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.aa(b,e,4),d.call(a,c=0>c?a.u[-c-1]:c),a.w.Db(e,c)):(a.u[e]=c=0>c?a.u[-c-1]:c,d.call(a,c))}function W(a,b,c){c&&(ae(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} -k.qb=function(a){this.C.complete=!0;var b=this.j?Pe(this.j)?1:this.C.gc?-1:0:0,c=a?this.C.gc?0:1:-1;this.C.gc=!1;this.ma=this.b=a;do{if(b){if(Qe(this.j,this.u[7],c)){this.ba();break}c||c++;b++}if(this.L){if(a=this.L&11)if(a=!1,this.L&2){var d=160,e=(this.Bb&224)>>5,f=this.I&&this.I.nb>e?this.I:null;f&&(d=f.Zb,e=f.nb);e>(this.O&224)>>5?(this.L&8&&($d(this,2),this.L&=-9),this.ta(d,0,-10),e=!0):e=!1;e&&(f&&be(this,f),a=!0);this.I||this.Bb||(this.L&=-3)}else this.L&1&&this.L++;if(a){if(b&&Qe(this.j,this.u[7], -c)){this.ba();break}if(0>c)break}if(this.L&112&&ce(this)){if(b&&Qe(this.j,this.u[7],c)){this.ba();break}if(0>c)break}}this.L=this.L&15|this.O&16;this.decode(Zd(this))}while(0>1|b<<16;ye(this,a);return a&65535}function We(a,b){a=b&128|b>>1|b<<8;ye(this,a<<8);return a&255}function Xe(a,b){a=b&~a;this.Fa(a);return a}function Ye(a,b){a=b&~a;this.Fa(a<<8);return a}function Ze(a,b){a|=b;this.Fa(a);return a}function $e(a,b){a|=b;this.Fa(a<<8);return a} -function af(a,b){a=~b|65536;this.rb(a);return a&65535}function bf(a,b){a=~b|256;this.rb(a<<8);return a&255}function cf(a,b){this.W=this.Z=a=b-a;this.V=b&(b^a);return a&65535}function df(a,b){a=b-a;var c=a<<8;b<<=8;this.W=this.Z=c;this.V=b&(b^c);return a&255}function ef(a,b){this.W=this.Z=a=b+a;this.V=a&(b^a);return a&65535}function ff(a,b){a=b+a;var c=a<<8;this.W=this.Z=c;this.V=c&(b<<8^c);return a&255}function gf(a,b){a=-b;this.rb(a,a&b&32768);return a&65535} -function hf(a,b){a=-b;this.rb(a<<8,(a&b&128)<<8);return a&255}function jf(a,b){a=b<<1|this.U>>16&1;ye(this,a);return a&65535}function kf(a,b){a=b<<1|this.U>>16&1;ye(this,a<<8);return a&255}function lf(a,b){a=(this.U&65536|b)>>1|b<<16;ye(this,a);return a&65535}function mf(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;ye(this,a<<8);return a&255}function nf(a,b){var c=b-a;ze(this,c,a,b);return c&65535}function of(a,b){var c=b-a;ze(this,c<<8,a<<8,b<<8);return c&255} -function pf(a,b){this.W=this.Z=b&65280;this.V=this.U=0;return(b<<8|b>>8)&65535}function qf(a,b){a^=b;this.Fa(a);return a&65535}function rf(a){V(this,a,Ie(this,a),Re);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)} -function sf(a){var b=Le(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.V=32768)}this.u[a]=c&65535;this.W=this.Z=c;this.b-=(this.g?6:7)+b} -function tf(a){var b=Le(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.u[a|1]=d&65535;this.W=d>>16;this.Z=d>>16|d;this.b-=(this.g?6:7)+b}function uf(a){W(this,a,!Vd(this))}function vf(a){W(this,a,Vd(this))} -function wf(a){V(this,a,Ie(this,a),Xe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function xf(a){Me(this,a,He(this,a),Ye);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function yf(a){V(this,a,Ie(this,a),Ze);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function zf(a){Me(this,a,He(this,a),$e);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)} -function Af(a){var b=Ie(this,a);a=Le(this,a);this.Fa((0>b?this.u[-b-1]:b)&a);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Bf(a){var b=He(this,a);a=Ke(this,a);this.Fa(((0>b?this.u[-b-1]&255:b)&a)<<8);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Cf(a){W(this,a,Xd(this))}function Df(a){W(this,a,!Yd(this)==!Wd(this))}function Ef(a){W(this,a,!Xd(this)&&!Yd(this)==!Wd(this))}function Ff(a){W(this,a,!Vd(this)&&!Xd(this))} -function Gf(a){W(this,a,Xd(this)||!Yd(this)!=!Wd(this))}function Hf(a){W(this,a,Vd(this)||Xd(this))}function If(a){W(this,a,!Yd(this)!=!Wd(this))}function Jf(a){W(this,a,Yd(this))}function Kf(a){W(this,a,!Xd(this))}function Lf(a){W(this,a,!Yd(this))}function Mf(){this.ta(12,0,-9)}function Nf(a){W(this,a,!0)}function Of(a){W(this,a,!Wd(this))}function Pf(a){W(this,a,Wd(this))}function Qf(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Z=1);a&8&&(this.W=0);this.b-=5} -function Rf(a){var b=Ie(this,a);a=Le(this,a);var c=(b=0>b?this.u[-b-1]:b)-a;ze(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)}function Sf(a){var b=He(this,a);a=Ke(this,a);var c=(b=(0>b?this.u[-b-1]&255:b)<<8)-(a<<=8);ze(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.F?4:3)+(7==this.f?2:0)} -function Tf(a){var b=Le(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.Z=d>>16|d,this.W=d>>16):(this.V=32768,this.Z=d>>15|d,this.W=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.Z=this.W=0,this.V=32768,this.U=65536,this.b-=7}function Uf(){this.ta(24,0,-9);this.b-=20} -function Vf(){this.O&49152?(this.oa|=128,this.ta(4,0,-8)):(this.v&&1120==this.lb&&this.v.setData(this.u[0],!0),this.j?Wf(this.j):this.ba());this.b-=7}function Xf(){this.ta(16,0,-9);this.b-=20}var Yf=[0,7,7,10,7,11,9,13];function Zf(a){this.K=this.b;ae(this,Je(this,a));this.b=this.K-Yf[this.g]}var $f=[0,14,14,17,14,18,16,20];function ag(a){this.K=this.b;var b=Je(this,a);a=a>>6&7;Ae(this,this.u[a]);this.u[a]=this.u[7];ae(this,b);this.b=this.K-$f[this.g]} -var bg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function cg(a){var b=Ie(this,a);this.K=this.b;Oe(this,a,b,this.Fa);this.b=this.K-bg[(this.F?8:0)+this.g]+(7!=this.f||this.g?0:2)}function dg(a){var b=He(this,a);Ne(this,a,b,65535,this.Fa);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}var eg=[7,13,13,17,14,18,17,21]; -function fg(a){var b=Le(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.W=b>>16;this.Z=this.W|b;this.V=0;this.U=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)ae(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function mg(a){V(this,a,Ie(this,a),nf);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.F?5:3)+(7==this.f?2:0)}function ng(a){V(this,a,0,pf);this.b-=this.g?9:3+(7==this.f?2:0)}function og(){this.ta(28,0,-9)} -function pg(){this.v&&(this.v.uc(this.u[7],!0),this.v.setData(this.u[0],!0));this.L|=8;$d(this,-2);this.b-=3}function qg(a){V(this,a,this.u[(a>>6&7)+this.Eb],qf);this.b-=this.g?9:3+(7==this.f?2:0)}function X(a){var b;if(b=this.j)b=this.j,K(b,1)?(H(b,"undefined opcode "+N(b,a),!0,!0),b=Wf(b)):b=!1;b||this.ta(8,0,-9)}function Rd(a){rg[a>>12].call(this,a)}function sg(a){tg[a>>6&3].call(this,a)}function ug(a){vg[a>>6&3].call(this,a)}function wg(a){xg[a>>6&3].call(this,a)} -function yg(a){zg[a&15].call(this,a)}function Ag(a){Bg[a&15].call(this,a)}function Cg(a){Dg[a>>6&3].call(this,a)}function Eg(a){Fg[a>>6&3].call(this,a)}function Gg(a){Hg[a>>6&3].call(this,a)} -var rg=[function(a){Ig[a>>8&15].call(this,a)},cg,Rf,Af,wf,yf,rf,X,function(a){Jg[a>>8&15].call(this,a)},dg,Sf,Bf,xf,zf,mg,X],Ig=[function(a){Kg[a>>4&15].call(this,a)},Nf,Kf,Cf,Df,If,Ef,Gf,ag,ag,sg,ug,wg,X,X,X],tg=[function(a){Oe(this,a,0,this.rb);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,af);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,ef);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,1,cf);this.b-=this.g?9:3+(7==this.f?2:0)}],vg=[function(a){V(this,a,0,gf); -this.b-=this.g?11:6},function(a){V(this,a,Vd(this)?1:0,Re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,Vd(this)?1:0,nf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Le(this,a);this.rb(a);this.b-=this.g?4:3+(7==this.f?2:0)}],xg=[function(a){V(this,a,0,lf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,jf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Ve);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){V(this,a,0,Te);this.b-=this.g?9:3+(7==this.f?2:0)}],Kg= -[function(a){Lg[a&15].call(this,a)},X,X,X,Zf,Zf,Zf,Zf,ig,X,yg,Ag,ng,ng,ng,ng],Lg=[Vf,pg,jg,Mf,Xf,hg,X,X,X,X,X,X,X,X,X,X],zg=[gg,function(){this.U=0;this.b-=5},function(){this.V=0;this.b-=5},Qf,function(){this.Z=1;this.b-=5},Qf,Qf,Qf,function(){this.W=0;this.b-=5},Qf,Qf,Qf,Qf,Qf,Qf,Qf],Bg=[gg,function(){this.U=65536;this.b-=5},function(){this.V=32768;this.b-=5},kg,function(){this.Z=0;this.b-=5},kg,kg,kg,function(){this.W=32768;this.b-=5},kg,kg,kg,kg,kg,kg,kg],Jg=[Lf,Jf,Ff,Hf,Of,Pf,uf,vf,Uf,og,Cg,Eg, -Gg,X,X,X],Dg=[function(a){Ne(this,a,0,255,this.rb);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,0,bf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,1,ff);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,1,df);this.b-=this.g?9:3+(7==this.f?2:0)}],Fg=[function(a){Me(this,a,0,hf);this.b-=this.g?11:6},function(a){Me(this,a,Vd(this)?1:0,Se);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,Vd(this)?1:0,of);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Ke(this, -a);this.rb(a<<8);this.b-=this.g?4:3+(7==this.f?2:0)}],Hg=[function(a){Me(this,a,0,mf);this.b-=this.g?9+(this.jc&1):3+(7==this.f?2:0)},function(a){Me(this,a,0,kf);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Me(this,a,0,We);this.b-=this.g?9+(this.jc&1):3+(7==this.f?2:0)},function(a){Me(this,a,0,Ue);this.b-=this.g?9:3+(7==this.f?2:0)}];function Sd(a){Mg[a>>12].call(this,a)} -var Mg=[function(a){Ng[a>>8&15].call(this,a)},cg,Rf,Af,wf,yf,rf,function(a){Og[a>>8&15].call(this,a)},function(a){Pg[a>>8&15].call(this,a)},dg,Sf,Bf,xf,zf,mg,X],Ng=[function(a){Qg[a>>4&15].call(this,a)},Nf,Kf,Cf,Df,If,Ef,Gf,ag,ag,sg,ug,wg,function(a){Rg[a>>6&3].call(this,a)},X,X],Rg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.Ca(a|this.P);ae(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Fe(this,a,0);this.Fa(a);Ae(this,a);this.b-=11},function(a){var b=Ce(this); -this.K=this.b;this.Fa(b);Ge(this,a,0,b);this.b=this.K-eg[this.g]},function(a){Oe(this,a,Yd(this)?65535:0,this.Fa);this.b-=this.g?9:3+(7==this.f?2:0)}],Qg=[function(a){Sg[a&15].call(this,a)},X,X,X,Zf,Zf,Zf,Zf,ig,function(a){a&8?(this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.L|=1,this.L&=-3),this.b-=5):X.call(this,a)},yg,Ag,ng,ng,ng,ng],Sg=[Vf,pg,function(){Be(this);this.L|=this.O&16;this.b-=13},Mf,Xf,hg,jg,function(){this.ta(8,0,-9)},X,X,X,X,X,X,X,X],Og=[fg,fg,Tf,Tf,sf,sf,tf,tf,qg,qg,X,X,X,X,lg, -lg],Pg=[Lf,Jf,Ff,Hf,Of,Pf,uf,vf,Uf,og,Cg,Eg,Gg,function(a){Tg[a>>6&3].call(this,a)},X,X],Tg=[X,function(a){a=Fe(this,a,65536);this.Fa(a);Ae(this,a);this.b-=11},function(a){var b=Ce(this);this.K=this.b;this.Fa(b);Ge(this,a,65536,b);this.b=this.K-eg[this.g]},X]; -function Ug(a){y.call(this,"ROM",a,Ug,128);this.ja=this.B=null;this.A=a.addr;this.f=a.size;this.F=!1;this.v=a.alias;this.g=a.file;this.H=w(this.g);if(this.g){a=this.g;var b=pa(this.H);"json"!=b&&"hex"!=b&&(a=Ia()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(pb(c.ib,a,b),(a=Ha(a,b))?(c.B=a.ha,c.ja=a.ja):c.g=null);Vg(c)})}}D(Ug);k=Ug.prototype; -k.Ha=function(a,b,c,d){this.w=b;this.b=c;this.j=d;Vg(this)};k.La=function(){this.ja&&(this.j&&Wg(this.j,this.id,this.A,this.f,this.ja),delete this.ja);return!0};k.Ka=function(){return!0}; -function Vg(a){if(!Ab(a)){if(a.g){if(!a.B||!a.w)return;a.f||(a.f=a.B.length);if(a.B.length!=a.f)Cb(a,"ROM size ("+q(a.B.length,8,!0)+") does not match specified size ("+q(a.f,8,!0)+")");else{var b;a:{b=a.A;a.status(a.f+"-byte ROM at "+p(b));if(57344<=b&&b<57344+xc){var c={};b=(c[b]=[Ug.prototype.pe,Ug.prototype.pf,null,null,null,a.f>>1],c);if(Mb(a.w,a,b)){b=a.F=!0;break a}}else if(Dc(a.w,b,a.f,td)){for(c=0;c>>f.qa;0>>=f.qa;0>>a.qa;0=b.length){H(a,"invalid block at offset "+v(m),4096);break}for(var h=h+2,n=b[h++]&255|(b[h++]&255)<<8,r=b[h++]&255|(b[h++]&255)<<8,l=l+((n&255)+(n>>8)+(r&255)+(r>>8)),u=h,t=n-=6;0=b.length){H(a,"insufficient data for block at offset "+v(m),4096);break}l+= -b[h++]&255;if(l&255){H(a,"invalid checksum ("+q(l,2,!0)+") for block at offset "+v(m),4096);break}if(t)for(H(a,"loading "+v(t)+" bytes at "+v(r)+"-"+v(r+t-1),4096);t--;)Kc(a.w,r++,b[u++]&255);else r&1?a.b.ba():null==d&&(d=r),null!=d&&H(a,"starting address: "+v(d),4096);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=ma.xc&&c<=ma.gd&&(b=c-(ma.xc-ma.Vc));b&&(a.preventDefault&&a.preventDefault(),d.fc(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==ma.Xc&&(b=ma.Wc);d.fc(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.fc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;var e=this;this.da=Tc(this.b,this.K?-1:48,4,262144);this.na=Qc(this.b,function(){var a;a=-1;e.I.length&&(a=e.I.shift()&255,H(e,"receiveByte("+q(a,2,!0)+")"),e.ua&&97<=a&&122>a&&(a-=32),Sc(e.b,e.na,1E3/Math.round(e.Y/10)));0<=a&&(e.M=a,e.f&128?e.M|=49152:e.f|=128,e.f&64&&Rc(c,e.da))});this.T=Tc(this.b,this.K?-1:52,4,262144);this.za=Qc(this.b,function(){e.g|=128;e.g&64&&Rc(c,e.T)});Mb(b,this,ch,this.K?64832+8*(this.K-1)-65392:0);Ob(b,this.reset.bind(this)); -L(this)};k.Oc=function(a){if(!this.A){var b=Gd(this.B,"connection");if(b){var c=b.split("->");if(2==c.length){var d=va(c[0]);if(d!=this.hb)return;c=va(c[1]);if(this.A=rb(c)){var e=this.A.exports;if(e){var f=e.connect;f&&f.call(this.A,this.J);if(this.P=e.receiveData){this.J=a;this.S=e.receiveStatus;this.status(this.ib+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; -k.La=function(a,b){if(!b)if(this.Oc(this.J),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Ka=function(a){return a?this.save():!0};k.reset=function(){dh(this)};k.save=function(){var a=new U(this);a.set(0,[]);return a.data()};k.restore=function(){return dh(this)};function dh(a){a.M=0;a.f=8192;a.g=128;a.I=[];return!0} -k.fc=function(a){if("number"==typeof a)this.I.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.ma||8,c=a-this.H%a,this.ma&&(b=ua("",c)));this.ca&&!this.H&&c&&(b=String.fromCharCode(this.ca)+b);this.v.value+=b;this.v.scrollTop=this.v.scrollHeight;this.H+=c}}else if(null!=this.F){if(10==a||1024<= -this.F.length)this.i(this.F),this.F="";10!=a&&(this.F+=String.fromCharCode(a))}Sc(this.b,this.za,1E3/Math.round(this.va/10));this.g&=-129};var Bh={},ch=(Bh[65392]=[null,null,ah.prototype.ce,ah.prototype.af,"RCSR"],Bh[65394]=[null,null,ah.prototype.be,ah.prototype.$e,"RBUF"],Bh[65396]=[null,null,ah.prototype.De,ah.prototype.Df,"XCSR"],Bh[65398]=[null,null,ah.prototype.Ce,ah.prototype.Cf,"XBUF"],Bh); -eb(function(){for(var a=G(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.D[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.D[b]=c,c.onclick= -function(){var a=d.D.listTapes;a&&Eh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.P){c.parentNode.removeChild(c);break}this.D[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Eh(d,w(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.D[b]=c,!0}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;this.Y=Fh(a);var e=this;if((this.g=Gd(this.B,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){x("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.S=Tc(this.b,56,4,4096);this.da=Qc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.Jc.indexOf("/api/v1/dump")&&(e=pa(c),f="json"==e||"gz"==e?encodeURI(c):Ia()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ga(f,null,!0,function(e,f,g){var h=0>g&&a.B&&!a.B.C.la;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(pb(a.ib,e,f),(e=Ha(e,f))&&Oh(a,b,c,d,e.ha,e.Ua, -e.Ta));a.C.kb=!1;a.F&&(a.F--,a.F||L(a));Lh(a)})}function Ih(a,b,c,d){if((a=a.D.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.fa);for(d=0;dc.indexOf("/api/v1/dump")&&(b=pa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):qa(c,"/")&&(d="dir"),f=Ia()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.bc?"":e)+"&format=json"));return!!Ga(f, -null,!0,function(b,c,d){Vh(a,b,c,d)})} -function Vh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.B&&!a.B.C.la;if(d)a.controller.N('Unable to load disk "'+a.Va+'" (error '+d+": "+b+")",f);else{pb(a.controller.ib,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(h.length)if(1==h.length)x(h[0]);else{a.fa=h.length;a.ka=h[0].length;a.ia=h[0][0].length;var l=h[0][0][0];a.Aa=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,B=u.length;B>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Qa?f=a.Za+a.Qa&&(a.Qa+=f-(a.Za+a.Qa)+1):(a.Za=f,a.Qa=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;lb&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Va+": "+c);return b}; -k.toJSON=function(){var a;a=0;for(var b;b=Xh(this,a++);)$h(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function $h(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function T(a){y.call(this,"RK11",a,T,65536);this.J=a.autoMount||{};this.F=0;this.g=Array(8);this.K=!Qa("Mobi")&&window&&"FileReader"in window}D(T);k=T.prototype; -k.xa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){x("RK11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&ai(d,a)},!0;case "loadDrive":return this.D[b]= -c,c.onclick=function(){var a=d.D.listDisks;a&&bi(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.K){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[na(a.value,10)||0])?(a=a.Ba)?(a=Ra(Zh(a),a.tc.replace(".json",".img")),x(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.K)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;bi(d,w(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;if((a=Gd(this.B,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.J[e]=a[e]);ci(this);this.Kb=Tc(this.b,144,5,65536);Mb(b,this,di);Ob(b,this.reset.bind(this));ei(this,"None","",!0);this.K&&ei(this,"Local Disk","?");ei(this,"Remote Disk","??");fi(this)||L(this)}; -k.La=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.B.pc){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";ai(this,0)}}return!0};k.Ka=function(a){return a?this.save():!0};k.reset=function(){ci(this)};k.save=function(){return(new U(this)).data()}; -k.restore=function(a){return ci(this,a[0])};function fi(a,b){b||(a.F=0);for(var c in a.J){var d=a.J[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=w(c);a.status("Attempting to load "+c+' as "'+b+'"')}hi(a,e,b,c,!1,d)}else gi(a,e)} -function hi(a,b,c,d,e,f){var g=-1,h=a.g[b];h.Oa.toLowerCase()!=d.toLowerCase()&&(g++,gi(a,b,!0),h.xb?a.N("RK11 busy"):(h.xb=!0,e&&(h.wb=!0,a.F++,K(a)&&H(a,"auto-loading disk: "+c)),h.eb=!!f,Uh(new Qh(a,h,"preload"),c,d,f,a.$c)&&g++));return g} -k.$c=function(a,b,c,d,e){a.xb=!1;b&&(b.fa>a.fa||b.ka>a.ka)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.yb)),b=null);b?(a.Ba=b,a.Va=c,a.Oa=d,this.N('Mounted disk "'+c+'" in drive '+("RK"+a.yb),a.wb||e),this.B&&this.B.ob()):a.eb=!1;a.wb&&(a.wb=!1,--this.F||L(this));ai(this,a.yb)}; -function ei(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e>12&48;this.I=65536-e&65535;this.A=this.A&-16|d&15;a&&(this.v=this.v|a|32768,this.f|=49152);return!0}; -k.ad=function(a,b,c,d,e,f,g,h){var l=0;a=a.Ba;var m=null,n;a||(l=128,e=0);for(;e--;){if(!m){m=a.seek(b,c,d+1);if(!m){l=4096;break}n=0}var r,u;if(0>(r=a.read(m,n++))||0>(u=a.read(m,n++))){l=32;break}if(!g&&(ac(this.w,f,r|u<<8),Pc(this.w))){l=1024;break}f+=2;if(n>=a.Aa&&(m=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){l=64;break}}return h(l,b,c,d,e,f)}; -k.bd=function(a,b,c,d,e,f,g,h){var l=0;a=a.Ba;var m=null,n;a||(l=128,e=0);for(;e--;){var r=pc(this.w,f);if(Pc(this.w)){l=1024;break}f+=2;if(!m){m=a.seek(b,c,d+1,!0);if(!m){l=4096;break}n=0}if(g){var u,t;if(0>(u=a.read(m,n++))||0>(t=a.read(m,n++))){l=32;break}if(r!=(u|t<<8)){l=1;break}}else if(!a.write(m,n++,r&255)||!a.write(m,n++,r>>8)){l=32;break}if(n>=a.Aa&&(m=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){l=64;break}}return h(l,b,c,d,e,f)};k.he=function(){return this.P};k.ff=function(){}; -k.ie=function(){return this.v};k.gf=function(){};k.ee=function(){return this.f&61438}; -k.cf=function(a){this.f=this.f&-3968|a&3967;if(this.f&1){a=!0;var b,c="",d=(this.A&57344)>>13,e=this.g[d],f,g,h,l,m;this.f&=-129;var n=(this.f&14)>>1;switch(n){case 0:K(this)&&H(this,this.type+": CRESET("+d+")",!0);this.v=0;this.f=128;this.A=0;break;case 4:f=(this.A&8160)>>5;K(this)&&H(this,this.type+": SEEK("+f+")",!0);f>=e.fa&&(this.v|=32832,this.f|=49152);break;case 5:c="RCHK";case 2:c||(c="READ"),b=this.ad;case 3:c||(c="WCHK");case 1:c||(c="WRITE");f=(this.A&8160)>>5;g=(this.A&16)>>4;h=this.A& -15;l=65536-this.I&65535;m=(this.f&48)<<12|this.H;K(this)&&H(this,this.type+": "+c+"("+f+":"+g+":"+h+") @"+p(m)+"-"+p(m+(l-1<<1)),!0);b||(b=this.bd);if(f>=e.fa){this.v|=32832;this.f|=49152;break}if(h>=e.ia){this.v|=32800;this.f|=49152;break}a=b.call(this,e,f,g,h,l,m,3<=n,this.Zc.bind(this));break;case 6:K(this)&&H(this,this.type+": DRESET("+d+")");break;default:K(this)&&H(this,this.type+": UNSUPPORTED("+n+")")}this.P=e.status|(e.Ba?128:0)|d<<13|this.A&15;this.v&32768&&K(this)&&H(this,this.type+": ERROR: "+ -p(this.v)+")");a&&(this.f&=-2,this.f|=128,this.f&64&&Rc(this.b,this.Kb))}};k.je=function(){return this.I};k.hf=function(a){this.I=a};k.de=function(){return this.H};k.bf=function(a){this.H=a};k.fe=function(){return this.A};k.df=function(a){this.A=a};k.ge=function(){return this.M};k.ef=function(a){this.M=a}; -var ii={},di=(ii[65280]=[null,null,T.prototype.he,T.prototype.ff,"RKDS"],ii[65282]=[null,null,T.prototype.ie,T.prototype.gf,"RKER"],ii[65284]=[null,null,T.prototype.ee,T.prototype.cf,"RKCS"],ii[65286]=[null,null,T.prototype.je,T.prototype.hf,"RKWC"],ii[65288]=[null,null,T.prototype.de,T.prototype.bf,"RKBA"],ii[65290]=[null,null,T.prototype.fe,T.prototype.df,"RKDA"],ii[65294]=[null,null,T.prototype.ge,T.prototype.ef,"RKDB"],ii); -function R(a){y.call(this,"RL11",a,R,131072);this.K=a.autoMount||{};this.I=0;this.g=Array(4);this.M=!Qa("Mobi")&&window&&"FileReader"in window}D(R);k=R.prototype; -k.xa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.D[b]=c,c.onchange=function(){var a=d.D.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){x("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.D[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&ji(d,a)},!0;case "loadDrive":return this.D[b]= -c,c.onclick=function(){var a=d.D.listDisks;a&&ki(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.M){c.parentNode.removeChild(c);break}this.D[b]=c;c.onclick=function(){var a=d.D.listDrives;a&&a.options&&d.g&&((a=d.g[na(a.value,10)||0])?(a=a.Ba)?(a=Ra(Zh(a),a.tc.replace(".json",".img")),x(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDrive":if(this.M)return this.D[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ki(d,w(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.j=d;if((a=Gd(this.B,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.K[e]=a[e]);li(this);this.Kb=Tc(this.b,112,5,131072);Mb(b,this,mi);Ob(b,this.reset.bind(this));ni(this,"None","",!0);this.M&&ni(this,"Local Disk","?");ni(this,"Remote Disk","??");oi(this)||L(this)}; -k.La=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.B.pc){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";ji(this,0)}}return!0};k.Ka=function(a){return a?this.save():!0};k.reset=function(){li(this)};k.save=function(){return(new U(this)).data()}; -k.restore=function(a){return li(this,a[0])};function oi(a,b){b||(a.I=0);for(var c in a.K){var d=a.K[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.D.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if("?"==c)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=w(c);a.status("Attempting to load "+c+' as "'+b+'"')}qi(a,e,b,c,!1,d)}else pi(a,e)} -function qi(a,b,c,d,e,f){var g=-1,h=a.g[b];h.Oa.toLowerCase()!=d.toLowerCase()&&(g++,pi(a,b,!0),h.xb?a.N("RL11 busy"):(h.xb=!0,e&&(h.wb=!0,a.I++,K(a)&&H(a,"auto-loading disk: "+c)),h.eb=!!f,Uh(new Qh(a,h,"preload"),c,d,f,a.dd)&&g++));return g} -k.dd=function(a,b,c,d,e){a.xb=!1;b&&(b.fa>a.fa||b.ka>a.ka)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.yb)),b=null);b?(a.Ba=b,a.Va=c,a.Oa=d,this.N('Mounted disk "'+c+'" in drive '+("RL"+a.yb),a.wb||e),this.B&&this.B.ob()):a.eb=!1;a.wb&&(a.wb=!1,--this.I||L(this));ji(this,a.yb)}; -function ni(a,b,c,d){if((a=a.D.listDisks)&&a.options){for(var e=0;e>12&48;this.F=f>>16&63;this.A=this.v=b<<7|(c?64:0)|d&63;this.H=65536-e&65535;a&&(this.f=this.f|a|32768);return!0}; -k.ed=function(a,b,c,d,e,f,g){var h=0;a=a.Ba;var l=null,m;a||(h=5120,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){h=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){h=5120;break}ac(this.w,this.b.Ia(f),n|r<<8);if(Pc(this.w)){h=8192;break}f+=2;if(m>=a.Aa&&(l=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=5120;break}}return g(h,b,c,d,e,f)}; -k.fd=function(a,b,c,d,e,f,g){var h=0;a=a.Ba;var l=null,m;a||(h=5120,e=0);for(;e--;){var n=pc(this.w,this.b.Ia(f));if(Pc(this.w)){h=8192;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){h=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){h=5120;break}if(m>=a.Aa&&(l=null,++d>=a.ia&&(d=0,++c>=a.ka&&(c=0,++b>=a.fa)))){h=5120;break}}return g(h,b,c,d,e,f)};k.me=function(){return this.f&65535}; -k.lf=function(a){this.f=this.f&-1023|a&1022;this.F=this.F&60|(a&48)>>4;if(!(this.f&128)){var b;a=!0;var c=this.g[(this.f&768)>>8],d=c.Ba,e,f,g;this.f&=-2;switch(this.f&14){case 4:this.H&8&&(this.f&=63);this.H=c.status|this.A&64|(d&&512==d.fa?128:0);break;case 6:1==(this.v&3)&&(b=this.v&65408,c=(this.v&16)<<2,this.A=this.v&4?this.A+b:this.A-b,this.v=this.A=this.A&65408|c);break;case 8:this.H=this.A;break;case 12:b=this.ed;case 10:b||(b=this.fd),e=this.v>>7,f=this.v&64?1:0,g=this.v&63,!d||e>=d.fa|| -g>=d.ia?this.f|=37888:(d=(this.F&63)<<16|this.J,a=65536-this.H&65535,a=b.call(this,c,e,f,g,a,d,this.cd.bind(this)))}a&&(this.f|=129,this.f&64&&Rc(this.b,this.Kb))}};k.ke=function(){return this.J};k.jf=function(a){this.J=a&65534};k.ne=function(){return this.v};k.mf=function(a){this.v=a};k.oe=function(){return this.H};k.nf=function(a){this.H=a};k.le=function(){return this.F};k.kf=function(a){this.F=a&63;this.f=this.f&-49|(this.F&3)<<4}; -var ri={},mi=(ri[63744]=[null,null,R.prototype.me,R.prototype.lf,"RLCS"],ri[63746]=[null,null,R.prototype.ke,R.prototype.jf,"RLBA"],ri[63748]=[null,null,R.prototype.ne,R.prototype.mf,"RLDA"],ri[63750]=[null,null,R.prototype.oe,R.prototype.nf,"RLMP"],ri[63752]=[null,null,R.prototype.le,R.prototype.kf,"RLBE"],ri);function si(a){y.call(this,"Debugger",a,si);this.ma=a.base||16;this.Ga=!1;this.J=0;this.T=!1;this.A=-1;this.g=[];this.ca={}}D(si); -var ti={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};si.prototype.Mc=function(){return-1};si.prototype.Nc=function(){}; -function ui(a,b,c,d){if(c)if(b){0>a.A&&a.g.length&&(a.A=0);if(0>a.A||b!=a.g[a.A])a.g.splice(0,0,b),a.A=0;a.A--}else a.T?b="end":b=a.g[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(va(b.substring(c,f))),c=f+1}}return a} -function vi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; -case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function wi(a,b,c){var d;if(b){b=xi(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=8;d=q(c,0,!0)+" "+c+". "+p(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} -function Ai(a,b){if(b)return zi(a,b,a.ca[b]);var c=0;for(b in a.ca)zi(a,b,a.ca[b]),c++;return 0this.b.lb?Li:[];Vc(this,16,function(a){a:{var b=d.w.ea,c=a[0],e=a=0,l=b.length;if(c){a=d.aa(Mi(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.w.qa;l=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Ic[c],n&&d.i(q(n.id,8)+" %"+ -q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"} -k.Nc=function(a){var b;if(0<=a)if(8>a)b=this.b.u[a];else if(16>a)b=this.b.$a[a-8];else if(20>a)b=this.b.Na[a-16];else{var c=this.b,d=this.v;switch(a){case 20:b=ld(this.b);break;case 21:b=c.Bb;break;case 22:b=c.oa;break;case 23:b=c.fb;break;case 24:b=fd(c);break;case 25:b=hd(c);break;case 26:b=id(c);break;case 27:b=c.Ma;break;case 28:d&&(b=d.Da);break;case 29:d&&(b=d.Ab);break;case 30:d&&uc(d)&&(b=d.gb)}}return b}; -k.message=function(a,b){b&&(a+=" @"+N(this,Y(this.b.sa&65535).G));if(!this.na||a!=this.na)if(this.na=a,this.pa&1073741824)this.Y.push(a);else{var c;if(this.pa&-2147483648&&this.b&&(c=this.b.C.X)||zb(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.i(a);this.b&&(a=this.b,Od(a),a.Pa=0,a.ya())}}; -function Di(a){var b;if(!Pe(a))a.H&&a.H.length&&a.i("instruction history buffer freed"),a.da=0,a.H=[];else if(!a.H||!a.H.length){a.H=Array(1E3);for(b=0;b>8;a.i("trapped to "+N(a,c&255,1)+" ("+(0>d?Eb[-d]:N(a,d))+")")}a.K=Y(a.b.u[7]);b&&1!=a.P?Ti(a):Ui(a)}}function Si(a,b){var c;(c=!a.b||!Ab(a.b))||(c=a.b,c.C.la?c=!0:(c.i(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.C.X?(b||a.i("cpu busy or unavailable, command ignored"),!1):!Bb(a.b)}k.La=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; -k.Ka=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){Di(this);this.za=0;this.na=null;this.J=0;this.K=Y(this.b.u[7]);this.C.X=!1;Vi(this);a||Jd(this)};k.save=function(){var a=new U(this);a.set(0,Oi(this.K));a.set(1,Oi(this.S));a.set(2,[this.g,this.T,this.pa]);a.set(3,this.I);return a.data()}; -k.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Pi(a[b++]),this.S=Pi(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.T=a[b][1],this.pa|=a[b][2]);a[3]&&(this.I=a[3]);return!0};k.start=function(a,b){this.P||this.i("running");this.C.X=!0;this.Fb=a;this.Gb=b}; -k.stop=function(a,b){if(this.C.X){this.C.X=!1;this.J=b-this.Gb;if(!this.P){b="stopped";if(this.J){a-=this.Fb;var c=0d&&(d=qc(a.b,b)),65535!=(d&65535)&&(a.uc(a.H[a.da],b),++a.da==a.H.length&&(a.da=0)));return!1}function Wf(a){var b=a.b;if(b.C.X)throw ae(b,a.b.sa&65535),a.ba(),-1;return!1} -function Ci(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b>>d.qa],!1)}a.M=["br"];if(a.F)for(b=1;b>>d.qa],!0);a.F=["bw"];a.ab=0}k.vb=function(a,b,c){var d=!0;c||Wi(this,a,b,!1,!0);if(a!=this.f){var e=this.aa(b);if(-1===e)this.i("invalid address: "+N(this,b.G)),d=!1;else{var f=this.w;f.ea[e>>>f.qa].vb(e&f.w,a==this.F)}}d&&(a.push(b),c?b.Ya=!0:(Xi(this,a,a.length-1,"set"),Di(this)));return d}; -function Wi(a,b,c,d,e){var f=!1;c=a.aa(c);for(var g=1;g>>d.qa],b==a.F));h.Ya||Di(a);break}}return f}function Yi(a,b){for(var c=1;c>23)&65535,z=N(t,u);else if(8192==C)u=u.G-((f&63)<<1)&65535,z=N(t,u);else if(12288==C)z=N(t,f&7,1);else if(24576==C)z=N(t,f&63,1);else if(32768==C)z=N(t,f&255,1);else if(C=f&B,B&4032&&(C>>=6,B>>=6), -B&63)switch(B=C&7,C&56){case 0:z=Ri(B);break;case 8:z="@"+Ri(B);break;case 16:7>B?z="("+Ri(B)+")+":(C=t.wa(u,2),z="#"+N(t,C,0,!0));break;case 24:7>B?z="@("+Ri(B)+")+":(C=t.wa(u,2),z="@#"+N(t,C,0,!0));break;case 32:z="-("+Ri(B)+")";break;case 40:z="@-("+Ri(B)+")";break;case 48:C=t.wa(u,2);z=N(t,C,0,!0)+"("+Ri(B)+")";7==B&&(z=N(t,C+u.G&65535));break;case 56:C=t.wa(u,2),z="@"+N(t,C)+"("+Ri(B)+")",7==B&&(z="@"+N(t,C+u.G&65535))}t=z;if(!t||!t.length){h="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]); -0b)c=Ri(b),c+="="+N(a,d.u[b]);else if(13>b)c="A"+(b-8)+"="+N(a,d.$a[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+N(a,d.Na[b-16]);else switch(b){case 20:c="PS="+N(a,ld(d));break;case 21:c="IR="+N(a,d.Bb);break;case 22:c="ER="+N(a,d.oa);break;case 23:c="SL="+N(a,d.fb);break;case 24:c="MMR0="+N(a,fd(d));break;case 25:c="MMR1="+N(a,hd(d));break;case 26:c="MMR2="+N(a,id(d));break;case 27:c="MMR3="+N(a,d.Ma);break;case 28:a.v&&(c="AR="+N(a,a.v.Da,3));break;case 29:a.v&& -(c="DR="+N(a,a.v.Ab));break;case 30:a.v&&uc(a.v)&&(c="SR="+N(a,a.v.gb,3))}c&&(c+=" ");return c}function bj(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,20)+Z(a,21)+Z(a,23);d+=aj(a,"T")+aj(a,"N")+aj(a,"Z")+aj(a,"V")+aj(a,"C");b&&(b=d,c=""+(Z(a,24)+Z(a,25)),c+=Z(a,26)+Z(a,27)+Z(a,22),c=c+"\n"+(Z(a,30)+Z(a,28)+Z(a,29)),d=b+("\n"+c));return d}k.Jc=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],r=Da(n,l,a.Jc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({Lg:b,G:c,xd:d,ja:e,Hc:f})}function cj(a,b,c){var d=[],e=a.aa(b)>>>0;for(b=0;b>>0,h=f.xd;if(e>=g&&eb)){e.u[b]= -g&65535;break}a.i("unknown register: "+f);return}a.B.ya();a.i("updated registers:")}}a.i(bj(a,d));c&&(a.K=Y(e.u[7]),Ui(a,N(a,a.K.G)))}}function gj(a,b){b=va(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(g=h[3],f=null);f=$i(a,b,g,f);a.i(f);a.K=b;e-=b.G-l;c++}}} -function Zi(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.T&&(a.i("ended assemble at "+N(a,a.S.G)),a.K=a.S,a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.na=null;if(Ab(a)&&0n||"z"xa.length&&(a.i("note: only "+xa.length+" available"),fa=xa.length);ka-=fa;0>ka&&(null==xa[xa.length-1].G?(fa=ka+fa,ka=0):ka+=xa.length);var fe=[];"call"==jh&&(bc=1E5,fe=["CALL"]);for(void 0!==ih&&a.i(fa+" instructions earlier:");0=xa.length&&(ka=0);a.sb=fa;lh++;bc--}}lh||(a.i("no "+kh+"history available"),a.sb=void 0)}else{var ya=Mi(a,wa);if(ya)if("da"==Ma){var ga=a.b,ge=ya.G,za,I=[];if(ga.ca){var oh=ga.A<<1,Wc=ge>>13;7>>0,65536le?String.fromCharCode(le):"."),Zc=Zc>>8}Za&&(Za+="\n");Za=ie?Za+($a+","):Za+(wa+": "+$a+(0==Yc?" "+ke:""))}Za&&a.i(Za);a.Wa=ya}}}}break;case "e":if("else"== -g[0])break;var yb,me,ne,oe,pe=g[0],qe=g[1];"eb"==pe?(yb=1,me=255,ne=a.dc,oe=a.Rb):"e"==pe||"ew"==pe?(yb=2,me=65535,ne=a.wa,oe=a.Db):qe=null;if(null==qe)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var $c=Mi(a,qe);if($c)for(var ad=2;adte;){for(var ab=null,Fj=256;65536>ic.G>>>0;){ue.G=a.wa(ic,2);if(null==ic.G||!Fj--)break;if(!(ue.G&1)){for(var Gj=a,bd=ue,sh=null,jc=bd.G,th=jc,ve=1;6>=ve&&jc;ve++){if(2\nLicense: GPL version 3 or later ");this.i("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;blj){if(nj(d,this.I)){this.A=new U(this,"1.30.5","failsafe");nj(this.A)&&(sj(this,d),a=2,tj(this.A));this.A.set("timestamp",Fa());uj(this.A);var e=this.f&&!this.F;if(1==a||Ja("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=rj(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?nj(d,g):("error"== -f&&"no machine state"!=g?(this.N("Error: "+g),"unable to verify user"==g&&(Pa("user",""),this.B=null)):this.i(f+": "+g),tj(d),nj(d)?(c=rj(d),e=!0):c=!1))}e&&qj(this,c?d:null)}else 2==a&&d.clear()}else qj(this);delete this.I;delete this.J}e=qb(this.id);for(f=0;fa[1];a=a[2];this.da=!0;this.C.la=!0;var d=this.D.power;d&&(d.textContent="Shutdown");this.b&&(vj(this,this.b,b,c,a),this.ya(),this.b.Ib());this.P&&(sj(this,b),b.clear());!c&&this.A&&(this.A.clear(),delete this.A);this.g=0}; -function sj(a,b){if(Ja("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.5"};d.url=a.ca;d.user=c;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}} -function ij(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new U(a,"1.30.5"),g=new U(a,"1.30.5","validate"),h=Fa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ka&&(c&&a.b.ba(),d=a.b.Ka(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.la=!1,!1===d&&(e=null)));for(var h=qb(a.id),l=0;l=c||30<=(b.Vb+=c))&&(d.textContent=b.C.X?b.za.toFixed(2)+"Mhz":"Stopped",b.Vb=0)}if(this.v&&(b=this.v,a=a||0,b.F)){c=b.b.C.X;d=!!(b.b.L&8);if(0>=a||60<=(b.A+=a)){for(var e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Mj(a,b,c)}})}else c(a,null)} -function Nj(a,b,c,d){function e(a){if(void 0===h){var b=g&&G(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);l&&(--zj||gb(!0));l=!1}var g,h,l=!0;zj++;ob[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c|| -(c="/versions/pdpjs/1.30.5/components.xsl");m=function(d,h){h?Kj(c,null,null,!1,e,function(d,l){l?(pb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--zj||gb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zj||gb(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Kj(b,a,d,!0,e,m):Lj(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){gb(!1);return Nj(a,b,c,d)};window.enableEvents=gb;window.sendEvent=hb;})();//# sourceMappingURL=/tmp/pdpjs/1.30.5/pdp11-dbg.map diff --git a/versions/pdpjs/1.30.5/pdp11.js b/versions/pdpjs/1.30.5/pdp11.js deleted file mode 100644 index 6542313b2..000000000 --- a/versions/pdpjs/1.30.5/pdp11.js +++ /dev/null @@ -1,273 +0,0 @@ -(function(){/* - http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 - http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 -*/ -for(var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da":62,"?":63,"@":64,Vb:65,Ue:66,We:67,uf:68,E:69,vf:70,wf:71,xf:72,yf:73,zf:74,Af:75,Bf:76,Cf:77,Df:78,Ef:79,Ff:80,Q:81,Gf:82,Hf:83,If:84,Jf:85,Kf:86,Lf:87,Mf:88,Nf:89,Ac:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Of:97,Pf:98,Qf:99,d:100,e:101,Sf:102,Tf:103,Uf:104,Vf:105,Yf:106,k:107,Zf:108,$f:109,n:110,ag:111,p:112,q:113,r:114,bg:115,t:116,cg:117,dg:118,eg:119,x:120,y:121,z:122,"{":123, -"|":124,"}":125,"~":126,rc:127}; -function q(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return""+c}function r(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} -function t(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function na(a){return a.replace(/[&<>"']/g,function(a){return ma[a]})} -function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var pa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"},qa=Date.now||function(){return+new Date}; -function ra(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function w(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"== -typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function sa(a,b){var c,d={M:null,da:null,pa:null,oa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.pa=g.load;d.oa=g.exec;if(e=g.bytes)d.M=e;else if(e=g.words)for(d.M=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.M=Array(4*e.length),f=c=0;c>8&255,d.M[f++]=e[c]>>16&255,d.M[f++]=e[c]>>24&255;else d.M=g;d.da=g.symbols;d.M.length?1==d.M.length&&(x(d.M[0]),d=null):(x("Empty resource: "+a),d=null)}catch(k){x("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Aa=this.id:(this.Ba=this.id.substr(0,b),this.Aa=this.id.substr(b+1));this[a]=c;this.o={ready:!1,Ia:!1,Ib:!1,P:!1,error:!1};this.yb=null;this.o.error=!1;this.l={};this.G=null;this.Mc=d||0;z.push(this)}var Ma=void 0,Na={}; -if(window){Ma||(Ma=window.location.search.substr(1));for(var Oa,Pa=/\+/g,Qa=/([^&=]+)=?([^&]*)/g;Oa=Qa.exec(Ma);)Na[decodeURIComponent(Oa[1].replace(Pa," "))]=decodeURIComponent(Oa[2].replace(Pa," "))}function Ra(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 B(a,b){b||(b=y);a.prototype=Ra(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Sa=window.PCjs.Machines||(window.PCjs.Machines={}),z=window.PCjs.Components||(window.PCjs.Components=[])}else Sa={},z=[];function Ta(a,b,c){Sa[a]&&b&&(Sa[a][b]=c)}function C(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Xc,a]}B(ab);var bb=7;function cb(a,b){return a.b[b]&&a.b[b][1]}h=ab.prototype;h.reset=function(){this.stop()}; -h.ba=function(a,b,c,d){if(this.m&&this.m.ba(a,b,c,d)||this.a&&this.a.ba(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.l[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.l[b]=c,this.f[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.l[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a, -b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):this.parent.ba.call(this,a,b,c,d)}};h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;fb(b,this,gb);hb(b,this.reset.bind(this));ib(this);jb(this)};h.ka=function(a,b){b||(kb(),this.reset());return!0};h.ja=function(){return!0}; -function lb(a,b,c){if(a=a.l[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ib(a,b){for(var c in a.f)lb(a,c,null!=b?b:a.f[c])}function mb(a,b,c){if(a=a.l[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jb(a){for(var b in a.b)mb(a,b,a.b[b][1])}function nb(a,b,c,d){a.l[b]&&(void 0===c&&(Ya(a,"Value for "+b+" is invalid"),H(a.a)),c=8==(a.G&&a.G.b||8)?ja(c,d):r(c,d),a.l[b].textContent!=c&&(a.l[b].textContent=c))} -function db(a,b){var c=a.b[b];mb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.w="DEP"==b,a.B="EXAM"==b)}function eb(a,b){var c=a.b[b];c[2]&&c[3]&&(mb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Vc=function(a){a||this.a.o.S||(a=this.a,a.h.reset(),ob(a),cb(this,"ENABLE")&&pb(this.a))};h.Wc=function(){};h.Rc=function(a){a||H(this.a)}; -h.Pc=function(a){if(!a&&!this.a.o.S)if(cb(this,"ENABLE"))pb(this.a);else{a=this.G;var b;if(b=a)a.o.Ia&&(a.o.Ib=!0),b=!a.o.Ia;if(b)Wa(a,!0),a.Ab(0,null),Wa(a,!1);else try{var c=this.a.Ab(1);0a;a++)this.b["S"+a][1]=0&1<a.a.Va?8:16,c=65472<=a.la&&a.la<65472+b,b=c?1:2,c=c?15:a.h.Ea;cb(a,"STEP")||(b=-b);yb(a,a.la&~c|a.la+b&c)}function yb(a,b){a.la=b&a.h.Ea;b=a.la;for(var c=0;22>c;c++)zb(a,"A"+c,b&1<c;c++)zb(a,"D"+c,b&1<>2;this.m=this.c-1;this.u=this.A/this.c|0;this.Da=[];this.j=0;this.s=!1;this.w=[];this.Bc=[Db,Eb,Fb,Gb];a=new I(this);Hb(a,this.G);this.h=Array(this.u);this.f=Array(this.u);for(b=0;b>>this.b;this.B=0;this.i=this.Ea;G(this)}B(Bb); -var Cb=8192,Kb=Cb-1;function Db(a,b){var c=-1,d=this.controller,e=d.Da[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Da[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;J(d,b,16);return 255} -function Eb(a,b,c){var d=!1,e=this.controller,f=e.Da[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Da[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||J(e,c,16)}function Fb(a,b){var c=-1,d=this.controller;a=d.Da[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;J(d,b,16);return 65535} -function Gb(a,b,c){var d=!1,e=this.controller;a=e.Da[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||J(e,c,16)}function Lb(a,b){if(b!=a.B){for(var c=0;c>>a.b,a.f[a.I]=a.h[a.F])}}Bb.prototype.reset=function(){for(var a=0;a>>a.b;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ha)return l.nb+=l.Ha-f,l.Ha=f,!0;if(f>=l.Ha+l.nb){p=l.size-(f-n);p>g&&(p=g);l.nb=f-l.Ha+p;f=n+a.c;g-=p;k++;continue}}return Mb(1,f,g)}f=new I(a,f,p,a.c,d,e);Hb(f,a.G,l);a.h[k++]=f;f=n+a.c;g-=p}return 0>=g?(a.status((c>>10)+"Kb "+Nb[d]+" at "+ja(b)),!0):Mb(2,b,c)}function Ob(a,b){return a.f[(b&a.i)>>>a.b].Nb(b&a.m,b)} -function Pb(a,b){return a.f[(b&a.i)>>>a.b].aa(b&a.m,b)}function Qb(a,b,c){a.f[(b&a.i)>>>a.b].Cb(b&a.m,c,b)}function xb(a,b){a.s=!1;a.j++;b=a.h[(b&a.Ea)>>>a.b].ic(b&a.m,b);a.j--;return b}function Rb(a,b,c){a.s=!1;a.j++;a.h[(b&a.Ea)>>>a.b].Ub(b&a.m,c&255,b);a.j--}function vb(a,b,c){a.s=!1;a.j++;a.h[(b&a.Ea)>>>a.b].mc(b&a.m,c&65535,b);a.j--} -function Sb(a){for(var b=0,c=[],d=0;da.a.Va)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,n=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var u=g[4],v=g[5]||1,A=0;A>16&65535);a=a.ub;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.jd=function(){var a=this.a;a.Y&57344||(a.vb=a.w&65535);return a.vb};h.kd=function(){return this.a.ya};h.ie=function(a){var b=this.a;1170>b.Va&&(a&=-49);b.ya!=a&&(b.ya=a,b.Pa=a&16?4194303:262143,dc(b))};h.Sd=function(a){a=a>>1&63;var b=this.a.$a[a>>1];return a&1?b>>16:b&65535}; -h.Qe=function(a,b){b=b>>1&63;var c=b>>1;this.a.$a[c]=b&1?this.a.$a[c]&65535|(a&63)<<16:this.a.$a[c]&-65536|a&65534};h.Ld=function(a){return this.a.H[1][a>>1&7]};h.Je=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.Jd=function(a){return this.a.H[1][(a>>1&7)+8]};h.He=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295};h.Kd=function(a){return this.a.Z[1][a>>1&7]};h.Ie=function(a,b){b=b>>1&7;this.a.Z[1][b]=a;this.a.H[1][b]&=65295};h.Id=function(a){return this.a.Z[1][(a>>1&7)+8]}; -h.Ge=function(a,b){b=(b>>1&7)+8;this.a.Z[1][b]=a;this.a.H[1][b]&=65295};h.dd=function(a){return this.a.H[0][a>>1&7]};h.ee=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.bd=function(a){return this.a.H[0][(a>>1&7)+8]};h.ce=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295};h.cd=function(a){return this.a.Z[0][a>>1&7]};h.de=function(a,b){b=b>>1&7;this.a.Z[0][b]=a;this.a.H[0][b]&=65295};h.ad=function(a){return this.a.Z[0][(a>>1&7)+8]};h.be=function(a,b){b=(b>>1&7)+8;this.a.Z[0][b]=a;this.a.H[0][b]&=65295}; -h.Rd=function(a){return this.a.H[3][a>>1&7]};h.Pe=function(a,b){this.a.H[3][b>>1&7]=a&65295};h.Pd=function(a){return this.a.H[3][(a>>1&7)+8]};h.Ne=function(a,b){this.a.H[3][(b>>1&7)+8]=a&65295};h.Qd=function(a){return this.a.Z[3][a>>1&7]};h.Oe=function(a,b){b=b>>1&7;this.a.Z[3][b]=a;this.a.H[3][b]&=65295};h.Od=function(a){return this.a.Z[3][(a>>1&7)+8]};h.Me=function(a,b){b=(b>>1&7)+8;this.a.Z[3][b]=a;this.a.H[3][b]&=65295};h.Xa=function(a){a&=7;return this.a.D&2048?this.a.Fa[a]:this.a.g[a]}; -h.ab=function(a,b){b&=7;this.a.D&2048?this.a.Fa[b]=a:this.a.g[b]=a};h.pd=function(){return this.a.D&49152?this.a.qa[0]:this.a.g[6]};h.ne=function(a){this.a.D&49152?this.a.qa[0]=a:this.a.g[6]=a};h.sd=function(){return this.a.g[7]};h.qe=function(a){this.a.g[7]=a};h.Ya=function(a){a&=7;return this.a.D&2048?this.a.g[a]:this.a.Fa[a]};h.bb=function(a,b){b&=7;this.a.D&2048?this.a.g[b]=a:this.a.Fa[b]=a};h.qd=function(){return 1==(this.a.D&49152)>>14?this.a.g[6]:this.a.qa[1]}; -h.oe=function(a){1==(this.a.D&49152)>>14?this.a.g[6]=a:this.a.qa[1]=a};h.rd=function(){return 3==(this.a.D&49152)>>14?this.a.g[6]:this.a.qa[3]};h.pe=function(a){3==(this.a.D&49152)>>14?this.a.g[6]=a:this.a.qa[3]=a};h.$c=function(a){return this.a.Pb[a-65504>>1]};h.ae=function(a,b){this.a.Pb[b-65504>>1]=a};h.hc=function(a){return 65520==a?(Tb(this.h)>>6)-1:0};h.lc=function(){};h.Nd=function(){return 1};h.Le=function(){};h.Zc=function(){return this.a.X};h.$d=function(){this.a.X=0};h.fd=function(){return this.a.Ob}; -h.ge=function(a,b){b&1||(a&=255);this.a.Ob=a};h.ld=function(a,b){return b?0:this.a.mb};h.je=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.v|=1}b.mb=a};h.Md=function(a,b){return b?0:this.a.Za&65280};h.Ke=function(a){this.a.Za=a|255};h.od=function(){return ec(this.a)};h.me=function(a){fc(this.a,a&-1793|ec(this.a)&1792)};h.kc=function(){}; -var N={},$b=(N[61568]=[null,null,L.prototype.Sd,L.prototype.Qe,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.Ld,L.prototype.Je,"SIPDR",8,1145,64],N[62608]=[null,null,L.prototype.Jd,L.prototype.He,"SDPDR",8,1145,64],N[62624]=[null,null,L.prototype.Kd,L.prototype.Ie,"SIPAR",8,1145,64],N[62640]=[null,null,L.prototype.Id,L.prototype.Ge,"SDPAR",8,1145,64],N[62656]=[null,null,L.prototype.dd,L.prototype.ee,"KIPDR",8,1145,64],N[62672]=[null,null,L.prototype.bd,L.prototype.ce,"KDPDR",8,1145,64],N[62688]= -[null,null,L.prototype.cd,L.prototype.de,"KIPAR",8,1145,64],N[62704]=[null,null,L.prototype.ad,L.prototype.be,"KDPAR",8,1145,64],N[62798]=[null,null,L.prototype.kd,L.prototype.ie,"MMR3",1,1145,64],N[65382]=[null,null,L.prototype.ed,L.prototype.fe,"LKS"],N[65402]=[null,null,L.prototype.gd,L.prototype.he,"MMR0",1,1145,64],N[65404]=[null,null,L.prototype.hd,L.prototype.kc,"MMR1",1,1145,64],N[65406]=[null,null,L.prototype.jd,L.prototype.kc,"MMR2",1,1145,64],N[65408]=[null,null,L.prototype.Rd,L.prototype.Pe, -"UIPDR",8,1145,64],N[65424]=[null,null,L.prototype.Pd,L.prototype.Ne,"UDPDR",8,1145,64],N[65440]=[null,null,L.prototype.Qd,L.prototype.Oe,"UIPAR",8,1145,64],N[65456]=[null,null,L.prototype.Od,L.prototype.Me,"UDPAR",8,1145,64],N[65472]=[null,null,L.prototype.Xa,L.prototype.ab,"R0SET0"],N[65473]=[null,null,L.prototype.Xa,L.prototype.ab,"R1SET0"],N[65474]=[null,null,L.prototype.Xa,L.prototype.ab,"R2SET0"],N[65475]=[null,null,L.prototype.Xa,L.prototype.ab,"R3SET0"],N[65476]=[null,null,L.prototype.Xa, -L.prototype.ab,"R4SET0"],N[65477]=[null,null,L.prototype.Xa,L.prototype.ab,"R5SET0"],N[65478]=[null,null,L.prototype.pd,L.prototype.ne,"R6KERNEL"],N[65479]=[null,null,L.prototype.sd,L.prototype.qe,"R7KERNEL"],N[65480]=[null,null,L.prototype.Ya,L.prototype.bb,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.Ya,L.prototype.bb,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.Ya,L.prototype.bb,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.Ya,L.prototype.bb,"R3SET1",1,1145],N[65484]=[null,null,L.prototype.Ya, -L.prototype.bb,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.Ya,L.prototype.bb,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.qd,L.prototype.oe,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.rd,L.prototype.pe,"R6USER",1,1145],N[65504]=[null,null,L.prototype.$c,L.prototype.ae,"CTRL",8,1170],N[65520]=[null,null,L.prototype.hc,L.prototype.lc,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.hc,L.prototype.lc,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.Nd,L.prototype.Le,"SYSID",1,1170],N[65526]= -[null,null,L.prototype.Zc,L.prototype.$d,"CPUERR",1,1170],N[65528]=[null,null,L.prototype.fd,L.prototype.ge,"MB",1,1170],N[65530]=[null,null,L.prototype.ld,L.prototype.je,"PIR"],N[65532]=[null,null,L.prototype.Md,L.prototype.Ke,"SL"],N[65534]=[null,null,L.prototype.od,L.prototype.me,"PSW"],N); -Ia(function(){for(var a=F(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.b,0,this.size>>2),nc(this,jc?oc:qc);else{a=this.a=Array(this.size>> -2);for(f=0;f>2),b=0;b>8,c)},L:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ga:function(a,b){a&1&&J(this.h,b,64);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},ma:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.wa=!0},F:function(a,b){return this.I(a,b)},T:function(a,b){return this.ic(a,b)},Ba:function(a,b,c){this.m?this.f(a,b,c):this.Ub(a,b,c)},ua:function(a,b,c){this.m?this.f(a,b,c):this.mc(a,b,c)},B:function(a){return this.l[a]},J:function(a){return this.l[a]},R:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},fa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},Aa:function(a,b){this.l[a]=b;this.wa=!0},sa:function(a,b){this.l[a]=b;this.wa=!0},na:function(a,b,c){a&1&&J(this.h, -c,64);this.c.setUint16(a,b,!0);this.wa=!0},va:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.wa=!0}};function Hb(a,b,c){a.G=b;a.i=a.j=0;c&&((a.i=c.i)&&sc(a,tc,!1),(a.j=c.j)&&uc(a,tc,!1))}function uc(a,b,c){c&&a.j||(a.Bb=!a.m&&b[1]||a.f,a.Cb=!a.m&&b[3]||a.w);if(c||void 0===c)a.Ub=b[1]||a.f,a.mc=b[3]||a.w}function sc(a,b,c){c&&a.i||(a.Nb=b[0]||a.u,a.aa=b[2]||a.A);if(c||void 0===c)a.I=b[0]||a.u,a.ic=b[2]||a.A}function nc(a,b){b||(b=vc);sc(a,b,void 0);uc(a,b,void 0)} -var vc=[],rc=[I.prototype.L,I.prototype.ma,I.prototype.ga,I.prototype.Ca],tc=[I.prototype.F,I.prototype.Ba,I.prototype.T,I.prototype.ua];if(Za)var qc=[I.prototype.B,I.prototype.Aa,I.prototype.R,I.prototype.na],oc=[I.prototype.J,I.prototype.sa,I.prototype.fa,I.prototype.va]; -function wc(a,b){y.call(this,"CPU",a,wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Eb=0;this.rb=b;this.na=c;this.Jb=Math.round(this.rb/1E4)/100;this.Na=this.Jb*this.na;this.o.S=!1;this.o.Rb=!1;this.o.jb=a.autoStart;this.o.wb=!1;this.pb=this.Qa=0;this.qb=a.csStart;this.fb=a.csInterval;this.gb=a.csStop;this.L=[];this.gc=this.Xd.bind(this);G(this)}B(wc);var xc=["power","reset"];h=wc.prototype; -h.ia=function(a,b,c,d){this.m=a;this.h=b;this.G=d;this.A=a.A;for(b=0;b=a.Qa&&(a.Qa+=a.fb,c=!0);0<=a.gb&&a.gb<=Bc(a)&&(a.fb=a.gb=-1,Ac(a),H(a),c=!0);c&&a.W(Bc(a)+" cycles: checksum="+r(a.pb))}} -h.ba=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.l[b]=c,!0;case "run":return this.l[b]=c,c.onclick=function(){var a;if(a=d.m)if(a=d.m,a.o.P)a=!0;else{var b=null,c,k=C(a.id);for(c=0;ca.Ma/a.Na&&(b=1);a.na=b;b=a.Jb*a.na;if(a.Na!=b){a.Na=b;b=a.Na.toFixed(2)+"Mhz";var d=a.l.setSpeed;d&&(d.textContent=b);a.W("target speed: "+b)}c&&a.m&&Ec(a.m)}rb(a,a.ga);a.ga=0;a.fa=qa();a.sa=0;Dc(a)}function Xb(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Yb(a,b,c,d){0<=b&&ba.L[b][0])&&(c=a.rb*a.na/1E3*c|0,a.o.S&&(c+=Fc(a)),a.L[b][0]=c)} -function qb(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fc(a,b){var c=a.ma-=a.a;a.a=a.J=0;b&&(a.ma=0);return c} -h.Xd=function(){if(this.o.S){this.Kb>=this.rb&&Dc(this,!0);this.ib=0;this.ob=qa();if(this.sa){var a=this.ob-this.sa;a>this.dc&&(this.fa+=a,this.fa>this.ob&&(this.fa=this.ob))}try{do{for(var b,c=this.o.wb?1:this.sb,d=this.L.length-1;0<=d;d--){var e=this.L[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}b=Fc(this,!0);this.ib+=b;this.ga+=b;sb(this,b);qb(this,b);this.hb-=b;if(0>=this.hb){this.hb+=this.sb;15<=++this.fc&&(this.za(),this.fc=0);break}}while(this.o.S)}catch(f){H(this); -this.m&&this.m.stop(qa(),Bc(this));Ya(this,f.stack||f.message);return}if(this.o.S){a=setTimeout;b=this.gc;this.sa=qa();c=this.dc;this.ib&&(c=Math.round(c*this.ib/this.sb));c-=this.sa-this.ob;if(d=this.sa-this.fa)this.Ma=Math.round(this.ga/(10*d))/100,864E5<=d&&(this.ua=0,Cc(this));if(0>c||this.Mac&&(this.fa-=c),c=0;this.Kb+=this.ib;this.sa+=c;a(b,c)}}}; -function pb(a){var b;a.o.error?(a.W(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.o.S)a.W(a.toString()+" busy");else{Cc(a);a.o.S=!0;a.o.Rb=!0;if(b=a.l.run)b.textContent="Halt";a.m&&a.m.start(a.fa,Bc(a));setTimeout(a.gc,0)}}h.Ab=function(){return 0};function H(a){var b=!1;if(a.o.S){Fc(a);rb(a,a.ga);a.ga=0;a.o.S=!1;if(b=a.l.run)b.textContent="Run";a.m&&a.m.stop(qa(),Bc(a));b=!0;a.G||a.status("Stopped")}a.o.complete=void 0;return b} -function Gc(a){this.Va=+a.model||1170;this.$b=a.addrReset||0;wc.call(this,a,6666667);this.tb=0;this.cc=255;1120==this.Va?(this.decode=Hc.bind(this),this.Ca=this.Fc,this.tb=8,this.cc=-1):(this.decode=Ic.bind(this),this.Ca=this.Gc);Jc(this);this.Ra=0;this.I=null;this.Db=[];this.o.complete=!1}B(Gc,wc);h=Gc.prototype;h.Wb=function(){for(var a=192,b=0;bc.Tb&&(c.Tb=a,a+=4)}}; -h.reset=function(){this.status("Model "+this.Va);this.o.S&&H(this);Jc(this);zc(this);this.o.error=!1;this.parent.reset.call(this)}; -function Jc(a){a.j=65536;a.f=32768;a.i=65535;a.s=32768;a.D=15;a.g=[0,0,0,0,0,0,0,a.$b,-1,-2,-3,-4,-5,-6,-7,-8];a.Fa=[0,0,0,0,0,0];a.qa=[0,0,0,0];a.u=0;a.Nc=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Z=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0]];a.$a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.Pb=[0,0,0,0,0,0,0,0];a.Ob=0;a.v=0;a.B=a.F=0;a.c=a.b=a.Hb=0;a.va=-1;ob(a)}function ob(a){a.Y=0;a.ub=0;a.vb=0;a.ya=0;a.X=0;a.mb=0;a.Za=255;a.Oa=0;a.cb=0;a.eb=0;a.Pa=262143;a.Sa=0;a.w=0;a.I=null;a.h&&(dc(a),a.Lc=Tb(a.h))}function dc(a){a.Oa?(a.T=65536,a.Fb=a.ya&16?4186112:253952,a.R=a.Jc,a.aa=a.Td,a.Cb=a.Re,Lb(a.h,a.ya&16?22:18)):(a.T=0,a.Fb=57344,a.R=a.Ic,a.aa=a.jc,a.Cb=a.nc,Lb(a.h,16))} -function cc(a,b){b&=-3073;if(a.Y!=b){b&57344&&!(a.Y&57344)&&(a.ub=a.w>>16&65535,a.vb=a.w&65535);a.Y=b;a.cb=(b&96)>>5;a.eb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Oa!=c&&(a.Oa=c,dc(a))}}h.bc=function(){return 0}; -h.save=function(){var a=new Q(this);a.set(0,[this.g,this.Fa,this.qa,this.$a,this.Pb,this.X,this.Ob,this.mb,this.Za,ec(this),this.va,this.u,this.v,this.Y,this.ub,this.vb,this.ya,this.cb,this.eb,this.H,this.Z,this.Oa,this.Pa,this.Sa,this.w]);a.set(1,[this.ua,this.na]);a.set(2,Sb(this.h));return a.data()}; -h.restore=function(a){var b=a[1];this.ua=b[1];Cc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c>14&3;c=a.D>>14&3;a.u!=c&&(a.qa[c]=a.g[6],a.g[6]=a.qa[a.u]);a.D=b;a.v&=-3;a.v|=a.I?2:1}h.ca=function(a){this.s=this.i=a;this.f=0}; -h.Ga=function(a,b){this.s=this.i=this.j=a;this.f=b||0};function Oc(a,b){a.s=a.i=a.j=b;a.f=a.s^a.j>>1}function Pc(a,b,c,d){a.s=a.i=a.j=b;a.f=(c^d)&(d^b)}function K(a,b,c,d){if(!a.Ra){0>a.va?a.va=ec(a):a.u||(d=-4);-4==d&&(a.v&256&&(d=-1),a.v|=256,a.X|=4,a.g[6]=b=4);if(-1!=d){a.w=b|4143316992;a.u=0;var e=a.aa(b|a.T),f=a.aa(b+2&65535|a.T);fc(a,f&-12289|a.va>>2&12288);Qc(a,a.va);Qc(a,a.g[7]);S(a,e)}a.a-=5;a.v&=~(c|19);a.v|=129;a.va=-1;-1==d&&H(a);if(-4<=d)throw b;}} -function Rc(a){var b=Sc(a),c=Sc(a)&-1793;a.D&49152&&(c=c&-225|a.D&63712);S(a,b);fc(a,c);a.v&=-17}function Tc(a,b){var c=b>>13&31;31>c&&(b=a.ya&32?a.$a[c]+(b&8190)&4194302:b&-3932161);return b} -function wb(a,b,c){var d,e,f;if(!(c&a.Oa))return f=b&65535,57344<=f&&(f|=a.Fb),f;d=b>>13;a.ya&a.Nc[a.u]||(d&=7);e=a.H[a.u][d];f=(a.Z[a.u][d]<<6)+(b&8191)&a.Pa;3932160<=f&&(f=Tc(a,f));if(a.Ra)return f;f>=a.Lc&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& -(g|=16384));a.H[a.u][d]=e;if(f!=(4194170&a.Pa)||a.u)a.cb=a.u,a.eb=d;g&&(g&57344&&(0<=a.va&&(g|=128),a.Y&57344||(g|=a.Y&4096|a.cb<<5|a.eb<<1,cc(a,a.Y&-61695|g&61694)),K(a,168,64,-2)),a.Y&61440||!(f<(4191360&a.Pa)||f>(4194239&a.Pa))||(a.Y|=4096,a.Y&512&&(a.v|=64)));return f}function Sc(a){var b=a.aa(a.g[6]|a.T);a.g[6]=a.g[6]+2&65535;return b}function Qc(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.w=a.w&65535|(a.w&-65536)<<8|16121856;a.v&256||a.Ca(4,-2,c);a.Cb(c,b)} -function Uc(a,b,c,d){var e,f,g=d&8?0:a.T;switch(b){case 0:return K(a,4,0,-3),0;case 1:return 6==c&&a.Ca(d,0,a.g[6]),a.a-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Ca(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.aa(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Ca(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.aa(e)|g;a.a-=8;break;case 6:return e=a.aa(Mc(a,2)),e=e+a.g[c]&65535,6==c&&a.Ca(d, -0,e),a.a-=6,e|g;case 7:return e=a.aa(Mc(a,2)),e=e+a.g[c]&65535,e=a.aa(e|a.T),a.a-=10,e|g}a.g[c]=a.g[c]+f&65535;a.w=a.w&65535|(a.w&-65536)<<8|(f<<3&248|c)<<16;return e}h.Fc=function(a,b,c){!this.u&&0>=b&&c<=this.Za&&(this.v|=32)};h.Gc=function(a,b,c){this.u||(65534<=c&&(c|=-65536),a&4&&c<=this.Za&&(c<=this.Za-32?K(this,4,0,-4):(this.X|=8,this.v|=32)))};h.Ic=function(a,b,c){a=Uc(this,a,b,c);3932160<=a&&(a=Tc(this,a));return a};h.Jc=function(a,b,c){return wb(this,Uc(this,a,b,c),c)}; -h.jc=function(a){3932160<=a&&(a=Tc(this,a));return Pb(this.h,this.Sa=a)};h.Td=function(a){return Pb(this.h,this.Sa=wb(this,a,2))};h.nc=function(a,b){3932160<=a&&(a=Tc(this,a));Qb(this.h,this.Sa=a,b)};h.Re=function(a,b){Qb(this.h,this.Sa=wb(this,a,4),b)};function Vc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Uc(a,b,d,2),c&65536||61440!==(a.D&61440)&&(d&=65535),a.u=a.D>>12&3,c=a.aa(d|c&a.T),a.u=a.D>>14&3):c=6!=d||(a.D>>2&12288)===(a.D&12288)?a.g[d]:a.qa[a.D>>12&3];return c} -function Wc(a,b,c,d){a.w=a.w&65535|1441792;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Uc(a,b,e,4),c&65536||(e&=65535),a.u=a.D>>12&3,e=wb(a,e|c&65536,4),a.u=a.D>>14&3,Qb(a.h,e,d)):6!=e||(a.D>>2&12288)===(a.D&12288)?a.g[e]=d:a.qa[a.D>>12&3]=d}function Xc(a,b){b>>=6;var c=a.F=b&7;(b=a.B=(b&56)>>3)?(c=a.R(b,c,3),a=Ob(a.h,c)):a=a.g[c+a.tb]&a.cc;return a}function Yc(a,b){b>>=6;var c=a.F=b&7;return(b=a.B=(b&56)>>3)?Pb(a.h,a.R(b,c,2)):a.g[c+a.tb]} -function Zc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Uc(a,b,c,8)}function $c(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.R(b,c,3),a=Ob(a.h,c)):a=a.g[c]&255;return a}function ad(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Pb(a.h,a.R(b,c,2)):a.g[c]}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Hb=a.R(b,e,7),c=0>c?a.g[-c-1]&255:c,c=d.call(a,c,Ob(a.h,e)),e&1&&a.a--,a=a.h,a.f[(e&a.i)>>>a.b].Bb(e&a.m,c,e)):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))} -function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.R(b,e,6),Qb(a.h,e,d.call(a,0>c?a.g[-c-1]:c,Pb(a.h,e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function bd(a,b,c,d,e){var f=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.R(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),d&1&&a.a--,a=a.h,a.f[(d&a.i)>>>a.b].Bb(d&a.m,c,d)):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))} -function cd(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.R(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),Qb(a.h,e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}function V(a,b,c){c&&(S(a,a.g[7]+(b<<24>>23)),a.a-=2);a.a-=3} -h.Ab=function(a){this.o.complete=!0;var b=a?this.o.Rb?0:1:-1;this.o.Rb=!1;this.ma=this.a=a;do{if(this.v){if(a=this.v&11){a=!1;if(this.v&2){var c=160,d=(this.mb&224)>>5,e=this.I&&this.I.Wa>d?this.I:null;e&&(c=e.Tb,d=e.Wa);d>(this.D&224)>>5?(this.v&8&&(Mc(this,2),this.v&=-9),K(this,c,0,-10),d=!0):d=!1;d&&(e&&bc(this,e),a=!0);this.I||this.mb||(this.v&=-3)}else this.v&1&&this.v++;a=a&&0>b}if(a)break;if(this.v&112&&Nc(this)&&0>b)break}this.v=this.v&15|this.D&16;this.decode(Lc(this))}while(0>1|b<<16;Oc(this,a);return a&65535} -function id(a,b){a=b&128|b>>1|b<<8;Oc(this,a<<8);return a&255}function jd(a,b){a=b&~a;this.ca(a);return a}function kd(a,b){a=b&~a;this.ca(a<<8);return a}function ld(a,b){a|=b;this.ca(a);return a}function md(a,b){a|=b;this.ca(a<<8);return a}function nd(a,b){a=~b|65536;this.Ga(a);return a&65535}function od(a,b){a=~b|256;this.Ga(a<<8);return a&255}function pd(a,b){this.s=this.i=a=b-a;this.f=b&(b^a);return a&65535}function qd(a,b){a=b-a;var c=a<<8;b<<=8;this.s=this.i=c;this.f=b&(b^c);return a&255} -function rd(a,b){this.s=this.i=a=b+a;this.f=a&(b^a);return a&65535}function sd(a,b){a=b+a;var c=a<<8;this.s=this.i=c;this.f=c&(b<<8^c);return a&255}function td(a,b){a=-b;this.Ga(a,a&b&32768);return a&65535}function ud(a,b){a=-b;this.Ga(a<<8,(a&b&128)<<8);return a&255}function vd(a,b){a=b<<1|this.j>>16&1;Oc(this,a);return a&65535}function wd(a,b){a=b<<1|this.j>>16&1;Oc(this,a<<8);return a&255}function xd(a,b){a=(this.j&65536|b)>>1|b<<16;Oc(this,a);return a&65535} -function yd(a,b){a=((this.j&65536)>>8|b)>>1|b<<8;Oc(this,a<<8);return a&255}function zd(a,b){var c=b-a;Pc(this,c,a,b);return c&65535}function Ad(a,b){var c=b-a;Pc(this,c<<8,a<<8,b<<8);return c&255}function Bd(a,b){this.s=this.i=b&65280;this.f=this.j=0;return(b<<8|b>>8)&65535}function Cd(a,b){a^=b;this.ca(a);return a&65535}function Dd(a){U(this,a,Yc(this,a),dd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)} -function Ed(a){var b=ad(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.j=this.f=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.f=32768)}this.g[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b} -function Fd(a){var b=ad(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.j=this.f=0;b&=63;if(b&32){b=64-b;32>b-1;this.j=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Gd(a){V(this,a,!R(this))}function Hd(a){V(this,a,R(this))} -function Id(a){U(this,a,Yc(this,a),jd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Jd(a){T(this,a,Xc(this,a),kd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Kd(a){U(this,a,Yc(this,a),ld);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Ld(a){T(this,a,Xc(this,a),md);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)} -function Md(a){var b=Yc(this,a);a=ad(this,a);this.ca((0>b?this.g[-b-1]:b)&a);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Nd(a){var b=Xc(this,a);a=$c(this,a);this.ca(((0>b?this.g[-b-1]&255:b)&a)<<8);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function Od(a){V(this,a,this.i&65535?0:4)}function Pd(a){V(this,a,!Kc(this)==!(this.f&32768))}function Qd(a){V(this,a,!!(this.i&65535)&&!Kc(this)==!(this.f&32768))} -function Rd(a){V(this,a,!R(this)&&!!(this.i&65535))}function Sd(a){V(this,a,(this.i&65535?0:4)||!Kc(this)!=!(this.f&32768))}function Td(a){V(this,a,R(this)||(this.i&65535?0:4))}function Ud(a){V(this,a,!Kc(this)!=!(this.f&32768))}function Vd(a){V(this,a,Kc(this))}function Wd(a){V(this,a,!!(this.i&65535))}function Xd(a){V(this,a,!Kc(this))}function Yd(){K(this,12,0,-9)}function Zd(a){V(this,a,!0)}function $d(a){V(this,a,!(this.f&32768))}function ae(a){V(this,a,this.f&32768?2:0)} -function W(a){a&1&&(this.j=0);a&2&&(this.f=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function be(a){var b=Yc(this,a);a=ad(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Pc(this,c,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ce(a){var b=Xc(this,a);a=$c(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Pc(this,c,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)} -function de(a){var b=ad(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.j=this.f=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.f=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.a-=53}else this.i=this.s=0,this.f=32768,this.j=65536,this.a-=7}function ee(){K(this,24,0,-9);this.a-=20} -function fe(){this.D&49152?(this.X|=128,K(this,4,0,-8)):(this.A&&1120==this.Va&&this.A.setData(this.g[0],!0),this.G?this.G.c():H(this));this.a-=7}function ge(){K(this,16,0,-9);this.a-=20}var he=[0,7,7,10,7,11,9,13];function ie(a){this.J=this.a;S(this,Zc(this,a));this.a=this.J-he[this.c]}var je=[0,14,14,17,14,18,16,20];function ke(a){this.J=this.a;var b=Zc(this,a);a=a>>6&7;Qc(this,this.g[a]);this.g[a]=this.g[7];S(this,b);this.a=this.J-je[this.c]}var le=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function me(a){var b=Yc(this,a);this.J=this.a;cd(this,a,b,this.ca);this.a=this.J-le[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}function ne(a){var b=Xc(this,a);bd(this,a,b,65535,this.ca);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}var oe=[7,13,13,17,14,18,17,21]; -function pe(a){var b=ad(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.s=b>>16;this.i=this.s|b;this.f=0;this.j=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)S(this,this.g[7]-((a&63)<<1)),this.a+=1;this.a-=6}function ve(a){U(this,a,Yc(this,a),zd);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function we(a){U(this,a,0,Bd);this.a-=this.c?9:3+(7==this.b?2:0)}function xe(){K(this,28,0,-9)} -function ye(){this.A&&(this.A.la=this.g[7],this.A.setData(this.g[0],!0));this.v|=8;Mc(this,-2);this.a-=3}function ze(a){U(this,a,this.g[(a>>6&7)+this.tb],Cd);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8,0,-9)}function Hc(a){Ae[a>>12].call(this,a)}function Be(a){Ce[a>>6&3].call(this,a)}function De(a){Ee[a>>6&3].call(this,a)}function Fe(a){Ge[a>>6&3].call(this,a)}function He(a){Ie[a&15].call(this,a)}function Je(a){Ke[a&15].call(this,a)}function Le(a){Me[a>>6&3].call(this,a)} -function Ne(a){Oe[a>>6&3].call(this,a)}function Pe(a){Qe[a>>6&3].call(this,a)} -var Ae=[function(a){Re[a>>8&15].call(this,a)},me,be,Md,Id,Kd,Dd,Y,function(a){Se[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,ve,Y],Re=[function(a){Te[a>>4&15].call(this,a)},Zd,Wd,Od,Pd,Ud,Qd,Sd,ke,ke,Be,De,Fe,Y,Y,Y],Ce=[function(a){cd(this,a,0,this.Ga);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,nd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,rd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,pd);this.a-=this.c?9:3+(7==this.b?2:0)}],Ee=[function(a){U(this,a,0,td); -this.a-=this.c?11:6},function(a){U(this,a,R(this)?1:0,dd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,R(this)?1:0,zd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=ad(this,a);this.Ga(a);this.a-=this.c?4:3+(7==this.b?2:0)}],Ge=[function(a){U(this,a,0,xd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,vd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,hd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,fd);this.a-=this.c?9:3+(7==this.b?2:0)}],Te=[function(a){Ue[a& -15].call(this,a)},Y,Y,Y,ie,ie,ie,ie,se,Y,He,Je,we,we,we,we],Ue=[fe,ye,te,Yd,ge,re,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Ie=[qe,function(){this.j=0;this.a-=5},function(){this.f=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],Ke=[qe,function(){this.j=65536;this.a-=5},function(){this.f=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Se=[Xd,Vd,Rd,Td,$d,ae,Gd,Hd,ee,xe,Le,Ne,Pe,Y,Y,Y],Me=[function(a){bd(this,a,0, -255,this.Ga);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,od);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,sd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,qd);this.a-=this.c?9:3+(7==this.b?2:0)}],Oe=[function(a){T(this,a,0,ud);this.a-=this.c?11:6},function(a){T(this,a,R(this)?1:0,ed);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,R(this)?1:0,Ad);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=$c(this,a);this.Ga(a<<8);this.a-=this.c?4:3+(7==this.b? -2:0)}],Qe=[function(a){T(this,a,0,yd);this.a-=this.c?9+(this.Hb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,wd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,id);this.a-=this.c?9+(this.Hb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,gd);this.a-=this.c?9:3+(7==this.b?2:0)}];function Ic(a){Ve[a>>12].call(this,a)} -var Ve=[function(a){We[a>>8&15].call(this,a)},me,be,Md,Id,Kd,Dd,function(a){Xe[a>>8&15].call(this,a)},function(a){Ye[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,ve,Y],We=[function(a){Ze[a>>4&15].call(this,a)},Zd,Wd,Od,Pd,Ud,Qd,Sd,ke,ke,Be,De,Fe,function(a){$e[a>>6&3].call(this,a)},Y,Y],$e=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.aa(a|this.T);S(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Vc(this,a,0);this.ca(a);Qc(this,a);this.a-=11},function(a){var b=Sc(this);this.J= -this.a;this.ca(b);Wc(this,a,0,b);this.a=this.J-oe[this.c]},function(a){cd(this,a,Kc(this)?65535:0,this.ca);this.a-=this.c?9:3+(7==this.b?2:0)}],Ze=[function(a){af[a&15].call(this,a)},Y,Y,Y,ie,ie,ie,ie,se,function(a){a&8?(this.D&49152||(this.D=this.D&-2017|(a&7)<<5,this.v|=1,this.v&=-3),this.a-=5):K(this,8,0,-9)},He,Je,we,we,we,we],af=[fe,ye,function(){Rc(this);this.v|=this.D&16;this.a-=13},Yd,ge,re,te,function(){K(this,8,0,-9)},Y,Y,Y,Y,Y,Y,Y,Y],Xe=[pe,pe,de,de,Ed,Ed,Fd,Fd,ze,ze,Y,Y,Y,Y,ue,ue],Ye= -[Xd,Vd,Rd,Td,$d,ae,Gd,Hd,ee,xe,Le,Ne,Pe,function(a){bf[a>>6&3].call(this,a)},Y,Y],bf=[Y,function(a){a=Vc(this,a,65536);this.ca(a);Qc(this,a);this.a-=11},function(a){var b=Sc(this);this.J=this.a;this.ca(b);Wc(this,a,65536,b);this.a=this.J-oe[this.c]},Y]; -function cf(a){y.call(this,"ROM",a,cf,128);this.da=this.c=null;this.i=a.addr;this.b=a.size;this.j=!1;this.f=a.alias;this.m=a.file;this.s=t(this.m);if(this.m){a=this.m;var b=ka(this.s);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.m+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.m=null):(Ta(c.Ba,a,b),(a=sa(a,b))?(c.c=a.M,c.da=a.da):c.m=null);df(c)})}}B(cf);h=cf.prototype; -h.ia=function(a,b,c,d){this.h=b;this.a=c;this.G=d;df(this)};h.ka=function(){this.da&&(this.G&&this.G.a(this.id,this.i,this.b,this.da),delete this.da);return!0};h.ja=function(){return!0}; -function df(a){if(!Xa(a)){if(a.m){if(!a.c||!a.h)return;a.b||(a.b=a.c.length);if(a.c.length!=a.b)Ya(a,"ROM size ("+r(a.c.length,8,!0)+") does not match specified size ("+r(a.b,8,!0)+")");else{var b;a:{b=a.i;a.status(a.b+"-byte ROM at "+ja(b));if(57344<=b&&b<57344+Cb){var c={};b=(c[b]=[cf.prototype.Hd,cf.prototype.Fe,null,null,null,a.b>>1],c);if(fb(a.h,a,b)){b=a.j=!0;break a}}else if(Ib(a.h,b,a.b,mc)){for(c=0;c>>f.b;0>>=f.b;0>>a.b;0=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),u=k,v=n-=6;0=b.length)break;l+=b[k++]&255;if(l&255)break;if(v)for(;v--;)Rb(a.h,p++,b[u++]&255);else p&1?H(a.a):null==d&&(d=p);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=m.Vb&&c<=m.Ac&&(b=c-(m.Vb-m.oc));b&&(a.preventDefault&&a.preventDefault(),d.zb(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==m.qc&&(b=m.pc);d.zb(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();a.preventDefault&& -a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.zb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; -h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;var e=this;this.T=Zb(this.a,this.w?-1:48,4,262144);this.ga=Xb(this.a,function(){var a;a=-1;e.u.length&&(a=e.u.shift()&255,e.sa&&97<=a&&122>a&&(a-=32),Yb(e.a,e.ga,1E3/Math.round(e.L/10)));0<=a&&(e.B=a,e.b&128?e.B|=49152:e.b|=128,e.b&64&&M(c,e.T))});this.J=Zb(this.a,this.w?-1:52,4,262144);this.na=Xb(this.a,function(){e.c|=128;e.c&64&&M(c,e.J)});fb(b,this,kf,this.w?64832+8*(this.w-1)-65392:0);hb(b,this.reset.bind(this));G(this)}; -h.ec=function(a){if(!this.i){var b=yc(this.m,"connection");if(b){var c=b.split("->");if(2==c.length){var d=oa(c[0]);if(d!=this.Aa)return;c=oa(c[1]);if(this.i=Ua(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.A);if(this.F=e.receiveData){this.A=a;this.I=e.receiveStatus;this.status(this.Ba+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; -h.ka=function(a,b){if(!b)if(this.ec(this.A),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){lf(this)};h.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};h.restore=function(){return lf(this)};function lf(a){a.B=0;a.b=8192;a.c=128;a.u=[];return!0} -h.zb=function(a){if("number"==typeof a)this.u.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.fa||8,c=a-this.s%a,this.fa&&(b=" ".slice(0,c)));this.R&&!this.s&&c&&(b=String.fromCharCode(this.R)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}}else if(null!=this.j){if(10== -a||1024<=this.j.length)this.W(this.j),this.j="";10!=a&&(this.j+=String.fromCharCode(a))}Yb(this.a,this.na,1E3/Math.round(this.ma/10));this.c&=-129};var mf={},kf=(mf[65392]=[null,null,Z.prototype.ud,Z.prototype.se,"RCSR"],mf[65394]=[null,null,Z.prototype.td,Z.prototype.re,"RBUF"],mf[65396]=[null,null,Z.prototype.Vd,Z.prototype.Te,"XCSR"],mf[65398]=[null,null,Z.prototype.Ud,Z.prototype.Se,"XBUF"],mf); -Ia(function(){for(var a=F(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.l[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.l[b]=c,c.onclick= -function(){var a=d.l.listTapes;a&&pf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.l[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;pf(d,t(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.l[b]=c,!0}return!1}; -h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;this.L=qf(a);var e=this;if((this.c=yc(this.m,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){x("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.I=Zb(this.a,56,4,4096);this.T=Xb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.Ac.indexOf("/api/v1/dump")&&(e=ka(c),f="json"==e||"gz"==e?encodeURI(c):ta()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!w(f,null,!0,function(e,f,g){var k=0>g&&a.m&&!a.m.o.P;g?a.C('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ta(a.Ba,e,f),(e=sa(e,f))&&zf(a,b,c,d,e.M,e.pa,e.oa)); -a.o.Ia=!1;a.j&&(a.j--,a.j||G(a));wf(a)})}function tf(a,b,c,d){if((a=a.l.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.K);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ka(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):la(c,"/")&&(d="dir"),f=ta()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.xb?"":e)+"&format=json"));return!!w(f, -null,!0,function(b,c,d){Gf(a,b,c,d)})} -function Gf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.m&&!a.m.o.P;if(d)a.controller.C('Unable to load disk "'+a.ra+'" (error '+d+": "+b+")",f);else{Ta(a.controller.Ba,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ -c+")");if(k.length)if(1==k.length)x(k[0]);else{a.K=k.length;a.O=k[0].length;a.N=k[0][0].length;var l=k[0][0][0];a.U=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var v=l.bytes;if(void 0!==v&&v.length){for(var A=n<<2,xa=v.length;xa>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ha?f=a.ta+a.ha&&(a.ha+=f-(a.ta+a.ha)+1):(a.ta=f,a.ha=1);d[f]=d[f]&~(255<g)break;e|=g<=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;lb&&-2!=b&&this.controller.C("Unable to restore disk '"+this.ra+": "+c);return b}; -h.toJSON=function(){var a;a=0;for(var b;b=If(this,a++);)Lf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function Lf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function P(a){y.call(this,"RK11",a,P,65536);this.A=a.autoMount||{};this.j=0;this.c=Array(8);this.w=!Ba("Mobi")&&window&&"FileReader"in window}B(P);h=P.prototype; -h.ba=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){x("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=q(c.value);null!=a&&Mf(d,a)},!0;case "loadDrive":return this.l[b]= -c,c.onclick=function(){var a=d.l.listDisks;a&&Nf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.w){c.parentNode.removeChild(c);break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.c&&((a=d.c[q(a.value)||0])?(a=a.V)?(a=Ca(Kf(a),a.Qb.replace(".json",".img")),x(a)):d.C("No disk loaded in drive."):d.C("No disk drive selected."))};return!0;case "mountDrive":if(this.w)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Nf(d,t(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;if((a=yc(this.m,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.A[e]=a[e]);Of(this);this.Ta=Zb(this.a,144,5,65536);fb(b,this,Pf);hb(b,this.reset.bind(this));Qf(this,"None","",!0);this.w&&Qf(this,"Local Disk","?");Qf(this,"Remote Disk","??");Rf(this)||G(this)}; -h.ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.m.Lb){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Mf(this,0)}}return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){Of(this)};h.save=function(){return(new Q(this)).data()}; -h.restore=function(a){return Of(this,a[0])};function Rf(a,b){b||(a.j=0);for(var c in a.A){var d=a.A[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.c.length)a.C("Unable to load the selected drive");else if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"')}Tf(a,e,b,c,!1,d)}else Sf(a,e)} -function Tf(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&(g++,Sf(a,b,!0),k.Ka?a.C("RK11 busy"):(k.Ka=!0,e&&(k.Ja=!0,a.j++),k.xa=!!f,Ff(new Bf(a,k,"preload"),c,d,f,a.tc)&&g++));return g}h.tc=function(a,b,c,d,e){a.Ka=!1;b&&(b.K>a.K||b.O>a.O)&&(this.C('Disk "'+c+'" too large for drive '+("RK"+a.La)),b=null);b?(a.V=b,a.ra=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RK"+a.La),a.Ja||e),this.m&&Ec(this.m)):a.xa=!1;a.Ja&&(a.Ja=!1,--this.j||G(this));Mf(this,a.La)}; -function Qf(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e>12&48;this.u=65536-e&65535;this.f=this.f&-16|d&15;a&&(this.i=this.i|a|32768,this.b|=49152);return!0}; -h.uc=function(a,b,c,d,e,f,g,k){var l=0;a=a.V;var n=null,p;a||(l=128,e=0);for(;e--;){if(!n){n=a.seek(b,c,d+1);if(!n){l=4096;break}p=0}var u,v;if(0>(u=a.read(n,p++))||0>(v=a.read(n,p++))){l=32;break}if(!g&&(vb(this.h,f,u|v<<8),Wb(this.h))){l=1024;break}f+=2;if(p>=a.U&&(n=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){l=64;break}}return k(l,b,c,d,e,f)}; -h.vc=function(a,b,c,d,e,f,g,k){var l=0;a=a.V;var n=null,p;a||(l=128,e=0);for(;e--;){var u=xb(this.h,f);if(Wb(this.h)){l=1024;break}f+=2;if(!n){n=a.seek(b,c,d+1,!0);if(!n){l=4096;break}p=0}if(g){var v,A;if(0>(v=a.read(n,p++))||0>(A=a.read(n,p++))){l=32;break}if(u!=(v|A<<8)){l=1;break}}else if(!a.write(n,p++,u&255)||!a.write(n,p++,u>>8)){l=32;break}if(p>=a.U&&(n=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){l=64;break}}return k(l,b,c,d,e,f)};h.zd=function(){return this.F};h.xe=function(){};h.Ad=function(){return this.i}; -h.ye=function(){};h.wd=function(){return this.b&61438}; -h.ue=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c=(this.f&57344)>>13,d=this.c[c],e,f,g,k,l;this.b&=-129;var n=(this.b&14)>>1;switch(n){case 0:this.i=0;this.b=128;this.f=0;break;case 4:e=(this.f&8160)>>5;e>=d.K&&(this.i|=32832,this.b|=49152);break;case 5:case 2:b=this.uc;case 3:case 1:e=(this.f&8160)>>5,f=(this.f&16)>>4,g=this.f&15,k=65536-this.u&65535,l=(this.b&48)<<12|this.s,b||(b=this.vc),e>=d.K?(this.i|=32832,this.b|=49152):g>=d.N?(this.i|=32800,this.b|=49152):a=b.call(this, -d,e,f,g,k,l,3<=n,this.sc.bind(this))}this.F=d.status|(d.V?128:0)|c<<13|this.f&15;a&&(this.b&=-2,this.b|=128,this.b&64&&M(this.a,this.Ta))}};h.Bd=function(){return this.u};h.ze=function(a){this.u=a};h.vd=function(){return this.s};h.te=function(a){this.s=a};h.xd=function(){return this.f};h.ve=function(a){this.f=a};h.yd=function(){return this.B};h.we=function(a){this.B=a}; -var Uf={},Pf=(Uf[65280]=[null,null,P.prototype.zd,P.prototype.xe,"RKDS"],Uf[65282]=[null,null,P.prototype.Ad,P.prototype.ye,"RKER"],Uf[65284]=[null,null,P.prototype.wd,P.prototype.ue,"RKCS"],Uf[65286]=[null,null,P.prototype.Bd,P.prototype.ze,"RKWC"],Uf[65288]=[null,null,P.prototype.vd,P.prototype.te,"RKBA"],Uf[65290]=[null,null,P.prototype.xd,P.prototype.ve,"RKDA"],Uf[65294]=[null,null,P.prototype.yd,P.prototype.we,"RKDB"],Uf); -function O(a){y.call(this,"RL11",a,O,131072);this.w=a.autoMount||{};this.u=0;this.c=Array(4);this.B=!Ba("Mobi")&&window&&"FileReader"in window}B(O);h=O.prototype; -h.ba=function(a,b,c){var d=this;switch(b){case "listDisks":return this.l[b]=c,c.onchange=function(){var a=d.l.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){x("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.l[b]=c,c.onchange=function(){var a=q(c.value);null!=a&&Vf(d,a)},!0;case "loadDrive":return this.l[b]= -c,c.onclick=function(){var a=d.l.listDisks;a&&Wf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.B){c.parentNode.removeChild(c);break}this.l[b]=c;c.onclick=function(){var a=d.l.listDrives;a&&a.options&&d.c&&((a=d.c[q(a.value)||0])?(a=a.V)?(a=Ca(Kf(a),a.Qb.replace(".json",".img")),x(a)):d.C("No disk loaded in drive."):d.C("No disk drive selected."))};return!0;case "mountDrive":if(this.B)return this.l[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled= -!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Wf(d,t(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; -h.ia=function(a,b,c,d){this.m=a;this.h=b;this.a=c;this.G=d;if((a=yc(this.m,"autoMount"))&&"string"==typeof a)try{a=eval("("+a+")")}catch(f){x(this.type+" auto-mount error: "+f.message+" ("+a+")"),a=null}if(a)for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.w[e]=a[e]);Xf(this);this.Ta=Zb(this.a,112,5,131072);fb(b,this,Yf);hb(b,this.reset.bind(this));Zf(this,"None","",!0);this.B&&Zf(this,"Local Disk","?");Zf(this,"Remote Disk","??");$f(this)||G(this)}; -h.ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.m.Lb){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Vf(this,0)}}return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){Xf(this)};h.save=function(){return(new Q(this)).data()}; -h.restore=function(a){return Xf(this,a[0])};function $f(a,b){b||(a.u=0);for(var c in a.w){var d=a.w[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.l.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.c.length)a.C("Unable to load the selected drive");else if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"')}bg(a,e,b,c,!1,d)}else ag(a,e)} -function bg(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&(g++,ag(a,b,!0),k.Ka?a.C("RL11 busy"):(k.Ka=!0,e&&(k.Ja=!0,a.u++),k.xa=!!f,Ff(new Bf(a,k,"preload"),c,d,f,a.xc)&&g++));return g}h.xc=function(a,b,c,d,e){a.Ka=!1;b&&(b.K>a.K||b.O>a.O)&&(this.C('Disk "'+c+'" too large for drive '+("RL"+a.La)),b=null);b?(a.V=b,a.ra=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RL"+a.La),a.Ja||e),this.m&&Ec(this.m)):a.xa=!1;a.Ja&&(a.Ja=!1,--this.u||G(this));Vf(this,a.La)}; -function Zf(a,b,c,d){if((a=a.l.listDisks)&&a.options){for(var e=0;e>12&48;this.j=f>>16&63;this.i=this.f=b<<7|(c?64:0)|d&63;this.s=65536-e&65535;a&&(this.b=this.b|a|32768);return!0}; -h.yc=function(a,b,c,d,e,f,g){var k=0;a=a.V;var l=null,n;a||(k=5120,e=0);for(;e--;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}n=0}var p,u;if(0>(p=a.read(l,n++))||0>(u=a.read(l,n++))){k=5120;break}vb(this.h,Tc(this.a,f),p|u<<8);if(Wb(this.h)){k=8192;break}f+=2;if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=5120;break}}return g(k,b,c,d,e,f)}; -h.zc=function(a,b,c,d,e,f,g){var k=0;a=a.V;var l=null,n;a||(k=5120,e=0);for(;e--;){var p=xb(this.h,Tc(this.a,f));if(Wb(this.h)){k=8192;break}f+=2;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}n=0}if(!a.write(l,n++,p&255)||!a.write(l,n++,p>>8)){k=5120;break}if(n>=a.U&&(l=null,++d>=a.N&&(d=0,++c>=a.O&&(c=0,++b>=a.K)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Ed=function(){return this.b&65535}; -h.Ce=function(a){this.b=this.b&-1023|a&1022;this.j=this.j&60|(a&48)>>4;if(!(this.b&128)){var b;a=!0;var c=this.c[(this.b&768)>>8],d=c.V,e,f,g;this.b&=-2;switch(this.b&14){case 4:this.s&8&&(this.b&=63);this.s=c.status|this.i&64|(d&&512==d.K?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.i=this.f&4?this.i+b:this.i-b,this.f=this.i=this.i&65408|c);break;case 8:this.s=this.i;break;case 12:b=this.yc;case 10:b||(b=this.zc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.K||g>= -d.N?this.b|=37888:(d=(this.j&63)<<16|this.A,a=65536-this.s&65535,a=b.call(this,c,e,f,g,a,d,this.wc.bind(this)))}a&&(this.b|=129,this.b&64&&M(this.a,this.Ta))}};h.Cd=function(){return this.A};h.Ae=function(a){this.A=a&65534};h.Fd=function(){return this.f};h.De=function(a){this.f=a};h.Gd=function(){return this.s};h.Ee=function(a){this.s=a};h.Dd=function(){return this.j};h.Be=function(a){this.j=a&63;this.b=this.b&-49|(this.j&3)<<4}; -var cg={},Yf=(cg[63744]=[null,null,O.prototype.Ed,O.prototype.Ce,"RLCS"],cg[63746]=[null,null,O.prototype.Cd,O.prototype.Ae,"RLBA"],cg[63748]=[null,null,O.prototype.Fd,O.prototype.De,"RLDA"],cg[63750]=[null,null,O.prototype.Gd,O.prototype.Ee,"RLMP"],cg[63752]=[null,null,O.prototype.Dd,O.prototype.Be,"RLBE"],cg); -function dg(a,b,c){y.call(this,"Computer",a,dg,33554432);this.o.P=!1;eg(this,b);this.w=yc(this,"autoPower",a);this.m=0;this.L=a.busWidth||a.buswidth;this.b=fg;this.s=null;this.i=this.I=!1;this.R=yc(this,"url")||"";(Math.random()+.1).toString(36);this.c=gg(this);if(this.a=Va("CPU",this.id)){this.G=Va("Debugger",this.id);this.h=new Bb({id:this.Ba+".bus",busWidth:this.L},this.a,this.G);var d,e=C(this.id);if((this.A=Va("Panel",this.id))&&this.A.kb)for(b=0;b\nLicense: GPL version 3 or later ");this.W("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bfg){if(hg(d,this.s)){this.f=new Q(this,"1.30.5","failsafe");hg(this.f)&&(mg(this,d),a=2,ng(this.f));this.f.set("timestamp",ra());og(this.f);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=lg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?hg(d,g):("error"== -f&&"no machine state"!=g?(this.C("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.W(f+": "+g),ng(d),hg(d)?(c=lg(d),e=!0):c=!1))}e&&kg(this,c?d:null)}else 2==a&&d.clear()}else kg(this);delete this.s;delete this.u}e=C(this.id);for(f=0;fa[1];a=a[2];this.T=!0;this.o.P=!0;var d=this.l.power;d&&(d.textContent="Shutdown");this.a&&(rg(this,this.a,b,c,a),this.za(),this.a.jb());this.F&&(mg(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.m=0}; -function mg(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.5"};d.url=a.R;d.user=c;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}} -function sg(a,b,c){var d,e="none";if(a.m)return null;a.m--;var f=new Q(a,"1.30.5"),g=new Q(a,"1.30.5","validate"),k=ra();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&H(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.o.P=!1,!1===d&&(e=null)));for(var k=C(a.id),l=0;l=c||30<=(b.Eb+=c))&&(d.textContent=b.o.S?b.Ma.toFixed(2)+"Mhz":"Stopped",b.Eb=0)}if(this.A&&(b=this.A,a=a||0,b.u)){c=b.a.o.S;d=!!(b.a.v&8);if(0>=a||60<=(b.s+=a)){for(var e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");w(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);zg(a,b,c)}})}else c(a,null)} -function Ag(a,b,c,d){function e(a){if(void 0===k){var b=g&&F(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);l&&(--wg||Ka(!0));l=!1}var g,k,l=!0;wg++;Sa[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css";u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n));p.appendChild(u)}c|| -(c="/versions/pdpjs/1.30.5/components.xsl");n=function(d,k){k?xg(c,null,null,!1,e,function(d,l){l?(Ta(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--wg||Ka(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--wg||Ka(!0)):f("invalid machine element: "+ -a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?xg(b,a,d,!0,e,n):yg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(v){f(v.message)}return l}window.embedPDP11=function(a,b,c,d){Ka(!1);return Ag(a,b,c,d)};window.enableEvents=Ka;window.sendEvent=La;})();//# sourceMappingURL=/tmp/pdpjs/1.30.5/pdp11.map diff --git a/versions/pdpjs/1.30.5/common.css b/versions/pdpjs/1.31.0/common.css similarity index 100% rename from versions/pdpjs/1.30.5/common.css rename to versions/pdpjs/1.31.0/common.css diff --git a/versions/pdpjs/1.30.5/common.xsl b/versions/pdpjs/1.31.0/common.xsl similarity index 99% rename from versions/pdpjs/1.30.5/common.xsl rename to versions/pdpjs/1.31.0/common.xsl index 7fb081bb6..e01cdaf00 100644 --- a/versions/pdpjs/1.30.5/common.xsl +++ b/versions/pdpjs/1.31.0/common.xsl @@ -23,7 +23,7 @@ - +
    diff --git a/versions/pc8080/1.30.5/components.css b/versions/pdpjs/1.31.0/components.css similarity index 96% rename from versions/pc8080/1.30.5/components.css rename to versions/pdpjs/1.31.0/components.css index 4129f382c..929ab5987 100644 --- a/versions/pc8080/1.30.5/components.css +++ b/versions/pdpjs/1.31.0/components.css @@ -243,11 +243,16 @@ } } -@media screen and (min-width: 1400px) { - .machine-left, .machine-right { - max-width: 45%; +@media screen and (min-width: 1200px) { + .machine-left { + max-width: 48%; float: left; } + .machine-right { + max-width: 48%; + float: left; + margin-left: 30px; + } .machine-right + * { clear: both; } diff --git a/versions/pdpjs/1.30.2/components.xsl b/versions/pdpjs/1.31.0/components.xsl similarity index 99% rename from versions/pdpjs/1.30.2/components.xsl rename to versions/pdpjs/1.31.0/components.xsl index cb090c226..ef24ee5c1 100644 --- a/versions/pdpjs/1.30.2/components.xsl +++ b/versions/pdpjs/1.31.0/components.xsl @@ -14,11 +14,11 @@ pcjs pdp11 PDPjs - 1.30.2 + 1.31.0 www.pcjs.org - + diff --git a/versions/c1pjs/1.21.3/document.css b/versions/pdpjs/1.31.0/document.css similarity index 100% rename from versions/c1pjs/1.21.3/document.css rename to versions/pdpjs/1.31.0/document.css diff --git a/versions/pdpjs/1.30.0/document.xsl b/versions/pdpjs/1.31.0/document.xsl similarity index 99% rename from versions/pdpjs/1.30.0/document.xsl rename to versions/pdpjs/1.31.0/document.xsl index b607c54e4..f493f7792 100644 --- a/versions/pdpjs/1.30.0/document.xsl +++ b/versions/pdpjs/1.31.0/document.xsl @@ -10,7 +10,7 @@ - + diff --git a/versions/c1pjs/1.21.1/machine.xsl b/versions/pdpjs/1.31.0/machine.xsl similarity index 94% rename from versions/c1pjs/1.21.1/machine.xsl rename to versions/pdpjs/1.31.0/machine.xsl index 08ec5315f..71281cb28 100644 --- a/versions/c1pjs/1.21.1/machine.xsl +++ b/versions/pdpjs/1.31.0/machine.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.23.3/manifest.xsl b/versions/pdpjs/1.31.0/manifest.xsl similarity index 98% rename from versions/c1pjs/1.23.3/manifest.xsl rename to versions/pdpjs/1.31.0/manifest.xsl index 43ca3fe1e..a8c0ad8a3 100644 --- a/versions/c1pjs/1.23.3/manifest.xsl +++ b/versions/pdpjs/1.31.0/manifest.xsl @@ -8,8 +8,8 @@ - - + + diff --git a/versions/c1pjs/1.21.3/outline.xsl b/versions/pdpjs/1.31.0/outline.xsl similarity index 90% rename from versions/c1pjs/1.21.3/outline.xsl rename to versions/pdpjs/1.31.0/outline.xsl index 5dff79deb..6b4e2dd04 100644 --- a/versions/c1pjs/1.21.3/outline.xsl +++ b/versions/pdpjs/1.31.0/outline.xsl @@ -8,9 +8,9 @@ - - - + + + diff --git a/versions/pdpjs/1.31.0/pdp11-dbg.js b/versions/pdpjs/1.31.0/pdp11-dbg.js new file mode 100644 index 000000000..1b37de24b --- /dev/null +++ b/versions/pdpjs/1.31.0/pdp11-dbg.js @@ -0,0 +1,369 @@ +(function(){/* + http://pcjs.org/modules/shared/es6/diskapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/dumpapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/reportapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/userapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/keys.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/strlib.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/weblib.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/state.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/embed.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/defines.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/usrlib.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/component.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/debugger.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 +*/ +var h;function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]} +for(var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da":62,"?":63,"@":64,Hc:65,mg:66,og:67,Lg:68,E:69,Mg:70,Ng:71,Og:72,Pg:73,Qg:74,Rg:75,Sg:76,Tg:77,Ug:78,Vg:79,Wg:80,Q:81,Xg:82,Yg:83,Zg:84,$g:85,ah:86,bh:87,dh:88,eh:89,Ed:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,fh:97,gh:98,hh:99,d:100,e:101,jh:102,kh:103,lh:104,mh:105,ph:106,k:107,qh:108,rh:109,n:110,sh:111,p:112,q:113,r:114,th:115,t:116,vh:117,wh:118,xh:119,x:120,y:121,z:122,"{":123, +"|":124,"}":125,"~":126,vd:127}; +function la(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0>=1,f--;return d}function q(a,b,c){var d="";b?11>=3;return(c?"0o":"")+d} +function na(a){var b=2,c="";b?10=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function w(a){return v(a,4,!0)} +function x(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0"']/g,function(a){return sa[a]})}function ta(a,b){return(a+" ").slice(0,b)} +function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"},wa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; +function xa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,k;k=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} +function Aa(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a, +f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} +function Ba(a,b){var c,d={ba:null,da:null,La:null,Ka:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.La=g.load;d.Ka=g.exec;if(e=g.bytes)d.ba=e;else if(e=g.words)for(d.ba=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.ba=Array(4*e.length),f=c=0;c>8&255,d.ba[f++]=e[c]>>16&255,d.ba[f++]=e[c]>>24&255;else d.ba=g;d.da=g.symbols;d.ba.length?1==d.ba.length&&(y(d.ba[0]),d=null):(y("Empty resource: "+a),d=null)}catch(k){y("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.jb=this.id:(this.kb=this.id.substr(0,a),this.jb=this.id.substr(a+1));this.A={ready:!1,bb:!1,yc:!1,ea:!1,error:!1};this.bc=null;this.A.error=!1;this.C={};this.fa=d||0;this.F=this.f=this.D=this.I=this.Oa=null;cb.push(this)}function ib(a,b,c){jb[a]&&b&&(jb[a][b]=c)} +function kb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Xd,a];this.F=this.f=this.D=this.I=null}p(Ib,A);h=Ib.prototype;h.reset=function(){this.stop()}; +h.na=function(a,b,c,d){if(this.I&&this.I.na(a,b,c,d)||this.f&&this.f.na(a,b,c,d)||this.F&&this.F.na(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.C[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.C[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.C[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, +b){return function(){Kb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Lb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Kb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Lb(a,b)}}(this,b),!0):A.prototype.na.call(this,a,b,c,d)}};h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;Mb(b,this,Nb);Ob(b,this.reset.bind(this));Pb(this);Qb(this)};h.qa=function(a,b){b||(Rb(),this.reset());return!0};h.za=function(){return!0}; +function Sb(a,b,c){if(a=a.C[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Pb(a,b){for(var c in a.g)Sb(a,c,null!=b?b:a.g[c])}function Tb(a,b,c){if(a=a.C[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Qb(a){for(var b in a.b)Tb(a,b,a.b[b][1])}function Ub(a,b,c,d){a.C[b]&&(void 0===c&&(ob(a,"Value for "+b+" is invalid"),J(a.f)),c=8==(a.F&&a.F.ua||8)?q(c,d):v(c,d),a.C[b].textContent!=c&&(a.C[b].textContent=c))} +function Kb(a,b){var c=a.b[b];Tb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=Vb&&(a.B=b==Wb,a.G=b==Xb)}function Lb(a,b){var c=a.b[b];c[2]&&c[3]&&(Tb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Vd=function(a){a||this.f.A.T||(a=this.f,a.D.reset(),Yb(a),this.b[Zb]&&this.b[Zb][1]&&$b(this.f))};h.Wd=function(){};h.Rd=function(a){a||J(this.f)}; +h.Pd=function(a){if(!a&&!this.f.A.T)if(this.b[Zb]&&this.b[Zb][1])$b(this.f);else{if((a=this.F)&&!rb(a,!0))sb(a,!0),ac(a,0,null),sb(a,!1);else try{var b=this.f.$b(1);0a.f.xa?8:16,c=65472<=a.ra&&a.ra<65472+b,b=c?1:2,c=c?15:a.D.H;a.b[Vb]&&a.b[Vb][1]||(b=-b);kc(a,a.ra&~c|a.ra+b&c)} +function kc(a,b){a.ra=b&a.D.H;b=a.ra;for(var c=0;22>c;c++)mc(a,"A"+c,b&1<c;c++)mc(a,"D"+c,b&1<c;c++)a.b["S"+c][1]=b&1<>2;this.j=this.i-1;this.J=this.M/this.i|0;this.Ja=[];this.ha=0;this.G=!1;this.O=[];this.Fd=[Dc,Ec,Fc,Gc];this.b=this.v=[];this.B=this.L=this.w=this.P=this.R=0;a=new N(this);Hc(a,this.F);this.b=Array(this.J);this.v=Array(this.J);for(b=0;b>>this.g;this.L=0;this.w=this.H;G(this)}p(Bc,A);function Kc(a,b){if(b!=a.L){for(var c=0;c>>a.g,a.v[a.R]=a.b[a.P])}}h=Bc.prototype;h.reset=function(){for(var a=0;a>>a.g;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Eb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Eb){n=l.size-(f-m);n>g&&(n=g);l.Eb=f-l.K+n;f=m+a.i;g-=n;k++;continue}}return Lc(Mc,f,g)}f=new N(a,f,n,a.i,d,e);Hc(f,a.F,l);a.b[k++]=f;f=m+a.i;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Nc[d]+" at "+q(b)),!0):Lc(Oc,b,c)}h.Ic=function(a){return this.v[(a&this.w)>>>this.g].Tb(a&this.j,a)}; +h.Zb=function(a){return this.v[(a&this.w)>>>this.g].ia(a&this.j,a)};h.Jc=function(a,b){this.v[(a&this.w)>>>this.g].Xb(a&this.j,b,a)};h.Ib=function(a,b){this.v[(a&this.w)>>>this.g].sb(a&this.j,b,a)};function Pc(a,b){return a.b[(b&a.H)>>>a.g]}function ic(a,b){a.G=!1;a.ha++;b=Pc(a,b).B(b&a.j,b);a.ha--;return b}function Qc(a,b,c){a.G=!1;a.ha++;Pc(a,b).I(b&a.j,c&255,b);a.ha--}function gc(a,b,c){a.G=!1;a.ha++;Pc(a,b).G(b&a.j,c&65535,b);a.ha--} +function Rc(a){for(var b=0,c=[],d=0;da.f.xa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],t=g[5]||1,u=0;u>8:e[2](f)&255):f&1&&(e=d.Ja[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&H(this.f,16|e[5])&&I(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ha),c;d.Ia(b,16,3);c=255;this.f&&H(this.f,16)&&I(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ha);return c} +function Ec(a,b,c){var d=!1,e=this.controller,f=e.Ja[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ja[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&H(this.f,16|f[5])&&I(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ha):(e.Ia(c,16,5),this.f&&H(this.f,16)&&I(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f, +b),!0,!e.ha))}function Fc(a,b){var c=-1,d=this.controller;a=d.Ja[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&H(this.f,16|a[5])&&I(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ha),c;d.Ia(b,16,2);c=65535;this.f&&H(this.f,16)&&I(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ha);return c} +function Gc(a,b,c){var d=!1,e=this.controller;a=e.Ja[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&H(this.f,16|a[5])&&I(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ha):(e.Ia(c,16,4),this.f&&H(this.f,16)&&I(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ha))}function P(a){A.call(this,"Device",a,0,256);this.b={ih:0,Fc:-1}}p(P,A);h=P.prototype; +h.pa=function(a,b,c,d){this.D=b;this.I=a;this.f=c;this.F=d;var e=this;this.b.Fc=Xc(c,function(){e.b.Bb|=128;e.b.Bb&64&&Yc(e.f,e.b.cb);e.I&&L(e.I,1);Zc(e.f,e.b.Fc,1E3/60)});this.b.cb=$c(c,64,6,524288);Mb(b,this,ad);Ob(b,this.reset.bind(this));d&&bd(d,64,function(a){var b=e.f;cd(e,"KIPDR",b.B[0],0,a[0]);cd(e,"KDPDR",b.B[0],8,a[0]);cd(e,"KIPAR",b.M[0],0,a[0]);cd(e,"KDPAR",b.M[0],8,a[0],!0);cd(e,"SIPDR",b.B[1],0,a[0]);cd(e,"SDPDR",b.B[1],8,a[0]);cd(e,"SIPAR",b.M[1],0,a[0]);cd(e,"SDPAR",b.M[1],8,a[0], +!0);cd(e,"UIPDR",b.B[3],0,a[0]);cd(e,"UDPDR",b.B[3],8,a[0]);cd(e,"UIPAR",b.M[3],0,a[0]);cd(e,"UDPAR",b.M[3],8,a[0],!0);b.U&32&&cd(e,"UNIMAP",b.Fa,-1,a[0])});G(this)};function cd(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n>1&63;var b=this.f.Fa[a>>1];return a&1?b>>16:b&65535};h.dg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Fa[c]=b&1?this.f.Fa[c]&65535|(a&63)<<16:this.f.Fa[c]&-65536|a&65534}; +h.Oe=function(a){return this.f.B[1][a>>1&7]};h.Xf=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Me=function(a){return this.f.B[1][(a>>1&7)+8]};h.Vf=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Ne=function(a){return this.f.M[1][a>>1&7]};h.Wf=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Le=function(a){return this.f.M[1][(a>>1&7)+8]};h.Uf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.he=function(a){return this.f.B[0][a>>1&7]}; +h.sf=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.fe=function(a){return this.f.B[0][(a>>1&7)+8]};h.qf=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.ge=function(a){return this.f.M[0][a>>1&7]};h.rf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.ee=function(a){return this.f.M[0][(a>>1&7)+8]};h.pf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Ue=function(a){return this.f.B[3][a>>1&7]};h.cg=function(a,b){this.f.B[3][b>>1&7]=a&65295}; +h.Se=function(a){return this.f.B[3][(a>>1&7)+8]};h.ag=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Te=function(a){return this.f.M[3][a>>1&7]};h.bg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Re=function(a){return this.f.M[3][(a>>1&7)+8]};h.$f=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Cb=function(a){a&=7;return this.f.w&2048?this.f.oa[a]:this.f.g[a]};h.Gb=function(a,b){b&=7;this.f.w&2048?this.f.oa[b]=a:this.f.g[b]=a}; +h.se=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Bf=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.ve=function(){return this.f.g[7]};h.Ef=function(a){this.f.g[7]=a};h.Db=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.oa[a]};h.Hb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.oa[b]=a};h.te=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Cf=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a}; +h.ue=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Df=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.de=function(a){return this.f.Yb[a-65504>>1]};h.nf=function(a,b){this.f.Yb[b-65504>>1]=a};h.ld=function(a){return 65520==a?(Sc(this.D)>>6)-1:0};h.qd=function(){};h.Qe=function(){return 1};h.Zf=function(){};h.ce=function(){return this.f.R};h.mf=function(){this.f.R=0};h.je=function(){return this.f.mc};h.uf=function(a,b){b&1||(a&=255);this.f.mc=a}; +h.oe=function(a,b){return b?0:this.f.ab};h.xf=function(a){jd(this.f,a)};h.Pe=function(a,b){return b?0:this.f.ya&65280};h.Yf=function(a){this.f.ya=a|255};h.re=function(){return kd(this.f)};h.Af=function(a){ld(this.f,a)};h.pd=function(a,b){H(this)&&I(this,"writeIgnored("+q(b)+"): "+q(a),!0,!0)}; +var Q={},ad=(Q[61568]=[null,null,P.prototype.Ve,P.prototype.dg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Oe,P.prototype.Xf,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Me,P.prototype.Vf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Ne,P.prototype.Wf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Le,P.prototype.Uf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.he,P.prototype.sf,"KIPDR",8,1145,64],Q[62672]=[null,null,P.prototype.fe,P.prototype.qf,"KDPDR",8,1145,64],Q[62688]= +[null,null,P.prototype.ge,P.prototype.rf,"KIPAR",8,1145,64],Q[62704]=[null,null,P.prototype.ee,P.prototype.pf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.ne,P.prototype.wf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ie,P.prototype.tf,"LKS"],Q[65402]=[null,null,P.prototype.ke,P.prototype.vf,"MMR0",1,1145,64],Q[65404]=[null,null,P.prototype.le,P.prototype.pd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.me,P.prototype.pd,"MMR2",1,1145,64],Q[65408]=[null,null,P.prototype.Ue,P.prototype.cg, +"UIPDR",8,1145,64],Q[65424]=[null,null,P.prototype.Se,P.prototype.ag,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Te,P.prototype.bg,"UIPAR",8,1145,64],Q[65456]=[null,null,P.prototype.Re,P.prototype.$f,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Cb,P.prototype.Gb,"R0SET0"],Q[65473]=[null,null,P.prototype.Cb,P.prototype.Gb,"R1SET0"],Q[65474]=[null,null,P.prototype.Cb,P.prototype.Gb,"R2SET0"],Q[65475]=[null,null,P.prototype.Cb,P.prototype.Gb,"R3SET0"],Q[65476]=[null,null,P.prototype.Cb, +P.prototype.Gb,"R4SET0"],Q[65477]=[null,null,P.prototype.Cb,P.prototype.Gb,"R5SET0"],Q[65478]=[null,null,P.prototype.se,P.prototype.Bf,"R6KERNEL"],Q[65479]=[null,null,P.prototype.ve,P.prototype.Ef,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Db,P.prototype.Hb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Db,P.prototype.Hb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Db,P.prototype.Hb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Db,P.prototype.Hb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Db, +P.prototype.Hb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Db,P.prototype.Hb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.te,P.prototype.Cf,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.ue,P.prototype.Df,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.de,P.prototype.nf,"CTRL",8,1170],Q[65520]=[null,null,P.prototype.ld,P.prototype.qd,"LSIZE",1,1170],Q[65522]=[null,null,P.prototype.ld,P.prototype.qd,"HSIZE",1,1170],Q[65524]=[null,null,P.prototype.Qe,P.prototype.Zf,"SYSID",1,1170],Q[65526]= +[null,null,P.prototype.ce,P.prototype.mf,"ERR",1,1170],Q[65528]=[null,null,P.prototype.je,P.prototype.uf,"MBR",1,1170],Q[65530]=[null,null,P.prototype.oe,P.prototype.xf,"PIR"],Q[65532]=[null,null,P.prototype.Pe,P.prototype.Yf,"SLR"],Q[65534]=[null,null,P.prototype.re,P.prototype.Af,"PSW"],Q); +Ua(function(){for(var a=D(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.j,0,this.size>>2),rd(this,Ad?Bd:Cd);else{a=this.b=Array(this.size>>2);for(f=0;f>2),b=0;b>8,c)};h.ae=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.af=function(a,b){a&1&&this.g.Ia(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8}; +h.kf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Sa=!0};h.Zd=function(a,b){this.f&&null!=this.K&&Jd(this.f,this.K+a);return this.w(a,b)};h.Xe=function(a,b){this.f&&null!=this.K&&Jd(this.f,this.K+a,2);return this.B(a,b)}; +h.hf=function(a,b,c){this.f&&null!=this.K&&Kd(this.f,this.K+a);this.i?this.Fb(0,b,c):this.I(a,b,c)};h.fg=function(a,b,c){this.f&&null!=this.K&&Kd(this.f,this.K+a,2);this.i?this.Fb(0,b,c):this.G(a,b,c)};h.Yd=function(a){return this.C[a]};h.$d=function(a,b){a=this.C[a];this.f&&H(this.f,32)&&I(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.We=function(a,b){a&1&&this.g.Ia(b,64,2);return this.v.getUint16(a,!0)}; +h.$e=function(a,b){a&1&&this.g.Ia(b,64,2);a=this.H[a>>1];this.f&&H(this.f,32)&&I(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.gf=function(a,b){this.C[a]=b;this.Sa=!0};h.jf=function(a,b,c){this.C[a]=b;this.Sa=!0;this.f&&H(this.f,32)&&I(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.eg=function(a,b,c){a&1&&this.g.Ia(c,64,4);this.v.setUint16(a,b,!0);this.Sa=!0}; +h.gg=function(a,b,c){a&1&&this.g.Ia(c,64,4);this.H[a>>1]=b;this.Sa=!0;this.f&&H(this.f,32)&&I(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var pd=0,Tc=1,qd=2,Jc=4,Nc=["NONE","RAM","ROM","VID","H/W"],od=0,Ed=[],Dd=[N.prototype.ae,N.prototype.kf,N.prototype.af,N.prototype.hg],Hd=[N.prototype.Zd,N.prototype.hf,N.prototype.Xe,N.prototype.fg];if(yb)var Cd=[N.prototype.Yd,N.prototype.gf,N.prototype.We,N.prototype.eg],Bd=[N.prototype.$d,N.prototype.jf,N.prototype.$e,N.prototype.gg];var Ld; +if(yb){var Md=new ArrayBuffer(2);(new DataView(Md)).setUint16(0,256,!0);Ld=256===(new Uint16Array(Md))[0]}else Ld=!1;var Ad=Ld; +function Nd(a,b){A.call(this,"CPU",a,0,1);b=a.cycles||b;var c=a.multiplier||1;this.nc=0;this.ic=b;this.Ya=c;this.uc=Math.round(this.ic/1E4)/100;this.gb=this.uc*this.Ya;this.vc=this.Pb=this.mb=this.kc=0;this.A.T=!1;this.A.fc=!1;this.A.Ra=a.autoStart;this.A.vb=!1;this.Nb=this.yb=0;this.Ob=a.csStart;this.xb=a.csInterval;this.zb=a.csStop;this.Aa=[];this.Sc=this.ef.bind(this);this.Za=this.Ea=this.Xa=this.b=this.aa=this.Da=this.Mb=this.Wa=this.Ab=this.wc=this.lb=0;this.sa=null;G(this)}p(Nd,A);h=Nd.prototype; +h.pa=function(a,b,c,d){this.I=a;this.D=b;this.F=d;this.sa=a.i;for(a=0;a=a.yb&&(a.yb+=a.xb,c=!0);0<=a.zb&&a.zb<=Vd(a)&&(a.xb=a.zb=-1,Rd(a),J(a),c=!0);c&&a.u(Vd(a)+" cycles: checksum="+v(a.Nb))}} +h.na=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.I)if(a=d.I,a.A.ea)a=!0;else{var b=null,c,k=kb(a.id);for(c=0;ca.lb/a.gb?b=1:d=!0;a.Ya=b;b=a.uc*a.Ya;if(a.gb!=b){a.gb=b;b=a.gb.toFixed(2)+"Mhz";var e=a.C.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.I&&Zd(a.I)}cc(a,a.Ea);a.Ea=0;a.Da=ya();a.Wa=0;Xd(a);return d}function Xc(a,b){var c=a.Aa.length;a.Aa.push([-1,b]);return c}function Zc(a,b,c,d){0<=b&&ba.Aa[b][0])&&(c=a.ic*a.Ya/1E3*c|0,a.A.T&&(c+=$d(a)),a.Aa[b][0]=c)} +function ae(a,b){for(var c=a.Aa.length-1;0<=c;c--){var d=a.Aa[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function bc(a,b){for(var c=a.Aa.length-1;0<=c;c--){var d=a.Aa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function $d(a,b){var c=a.Xa-=a.b;a.b=a.aa=0;b&&(a.Xa=0);return c} +h.ef=function(){if(this.A.T){this.kc>=this.ic&&Xd(this,!0);this.Ab=0;this.Mb=ya();if(this.Wa){var a=this.Mb-this.Wa;a>this.vc&&(this.Da+=a,this.Da>this.Mb&&(this.Da=this.Mb))}try{do{var b=ae(this,this.A.vb?1:this.Pb);try{this.$b(b)}catch(e){if("number"!=typeof e)throw e;}b=$d(this,!0);this.Ab+=b;this.Ea+=b;dc(this,b);bc(this,b);this.mb-=b;if(0>=this.mb){this.mb+=this.Pb;++this.wc>=be&&(this.I&&L(this.I,void 0),this.wc=0);break}}while(this.A.T)}catch(e){J(this);this.I&&this.I.stop(ya(),Vd(this));ob(this, +e.stack||e.message);return}if(this.A.T){a=setTimeout;b=this.Sc;this.Wa=ya();var c=this.vc;this.Ab&&(c=Math.round(c*this.Ab/this.Pb));var c=c-(this.Wa-this.Mb),d=this.Wa-this.Da;d&&(this.lb=Math.round(this.Ea/(10*d))/100,864E5<=d&&(this.Za=0,Wd(this)));if(0>c||this.lbc&&(this.Da-=c),c=0;this.kc+=this.Ab;this.Wa+=c;a(b,c)}}}; +function $b(a,b){if(!pb(a))if(a.A.T)a.u(a.toString()+" busy");else{Wd(a);a.A.T=!0;a.A.fc=!0;var c=a.C.run;c&&(c.textContent="Halt");a.I&&(b&&Zd(a.I,!0),a.I.start(a.Da,Vd(a)));a.F||a.status("Started");setTimeout(a.Sc,0)}}h.$b=function(){return 0};function J(a,b){var c=!1;if(a.A.T){$d(a);cc(a,a.Ea);a.Ea=0;a.A.T=!1;if(c=a.C.run)c.textContent="Run";a.I&&a.I.stop(ya(),Vd(a));c=!0;a.F||a.status("Stopped")}a.A.complete=b;return c}var Yd=30,be=15,Od=["power","reset"]; +function ce(a){var b=+a.model||1170;Nd.call(this,a,6666667);this.xa=b;this.Pc=a.addrReset||0;this.w=this.G=this.H=this.L=this.J=0;this.g=this.oa=this.X=[];this.O=0;this.tc=[];this.B=this.M=this.Fa=this.Yb=[];this.lc=this.ib=this.P=this.Oc=this.Va=this.ub=this.wb=this.Ca=this.R=this.ab=this.ya=this.S=this.Ub=this.Vb=this.U=this.$a=this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.Rc=255;1120>=this.xa?(this.Nc=de.bind(this),this.tb=this.Jd,this.lc=8,this.Rc=-1,this.Wc=255,this.Vc=0):(this.Nc= +ee.bind(this),this.tb=this.Kd,this.Wc=~(1792|(1145>this.xa?2048:0))&65535,this.Vc=1145<=this.xa?2048:0);this.la=0;this.ka=null;this.sc=[];this.A.complete=!1;this.Jb=this.oc=this.dd;this.Kb=this.pc=this.jd;this.gc=this.qc=this.nd;this.Lb=this.rc=this.od;this.Ba=this.hb=this.Rb=this.Sb=0;this.ta=this.hd;this.ia=this.Dc;this.sb=this.Gc;this.Yc=this.Xc=0}p(ce,Nd);h=ce.prototype; +h.pa=function(a,b,c,d){Nd.prototype.pa.call(this,a,b,c,d);this.oc=b.Ic.bind(b);this.pc=b.Zb.bind(b);this.qc=b.Jc.bind(b);this.rc=b.Ib.bind(b)};h.qa=function(a,b){for(var c=192,d=0;de.Wb&&(e.Wb=c,c+=4)}return Nd.prototype.qa.call(this,a,b)}; +h.reset=function(){this.status("Model "+this.xa);this.A.T&&J(this);this.G=65536;this.H=32768;this.L=65535;this.J=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Pc,-1,-2,-3,-4,-5,-6,-7,-8];this.oa=[0,0,0,0,0,0];this.X=[0,0,0,0];this.O=0;this.tc=[4,2,0,1];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], +[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Fa=[0,0,0,0,0,0,0,0,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.Yb=[0,0,0,0,0,0,0,0];this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.$a=-1;Yb(this);Qd(this);this.A.error=!1;Nd.prototype.reset.call(this)};function Yb(a){a.S=0;a.Ub=0;a.Vb=0;a.U=0;a.R=0;a.ab=0;a.ya=255;a.Va=0;a.ub=0;a.wb=0;a.Ca=262143;a.ib=0;a.P=0;a.ka=null;a.D&&(fe(a),a.Oc=Sc(a.D))} +function fe(a){a.Jb=a.oc;a.Kb=a.pc;a.gc=a.qc;a.Lb=a.rc;a.Rb&&(a.Jb=a.dd,a.Kb=a.jd);a.Sb&&(a.gc=a.nd,a.Lb=a.od);a.Va?(a.Ba=65536,a.hb=a.U&16?4186112:253952,a.ta=a.hd,a.ia=a.Rb?a.Ze:a.Dc,a.sb=a.Sb?a.jg:a.Gc,Kc(a.D,a.U&16?22:18)):(a.Ba=0,a.hb=57344,a.ta=a.Md,a.ia=a.Rb?a.Ye:a.md,a.sb=a.Sb?a.ig:a.rd,Kc(a.D,16))}function ed(a){var b=a.S;b&57344||(b=b&-3199|a.ub<<5|a.wb<<1);return b} +function fd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Ub=a.P>>16&65535,a.Vb=a.P&65535);a.S=b;a.ub=(b&96)>>5;a.wb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Va!=c&&(a.Va=c,fe(a))}}function gd(a){a.S&57344||(a.Ub=a.P>>16&65535);a=a.Ub;a&65280&&(a=(a<<8|a>>8)&65535);return a}function hd(a){a.S&57344||(a.Vb=a.P&65535);return a.Vb}function id(a,b){1170>a.xa&&(b&=-49);a.U!=b&&(a.U=b,a.Ca=b&16?4194303:262143,fe(a))} +function ge(a,b,c){a.Pc=b;a.D.reset();Yb(a);he(a,b);ld(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.T||$b(a)}else a.F?J(a)||Sd(a.F):!1===c&&J(a);!a.A.T&&a.sa&&a.sa.stop()}h.ed=function(){return 0};h.save=function(){var a=new ie(this);a.set(0,[this.g,this.oa,this.X,this.Fa,this.Yb,this.R,this.mc,this.ab,this.ya,kd(this),this.$a,this.O,this.i,this.S,this.Ub,this.Vb,this.U,this.ub,this.wb,this.B,this.M,this.Va,this.Ca,this.ib,this.P]);a.set(1,[this.Za,this.Ya]);a.set(2,Rc(this.D));return a.data()}; +h.restore=function(a){var b=a[1];this.Za=b[1];Wd(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c>14&3;c=a.w>>14&3;a.O!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.O]);a.w=b;a.i&=-3;a.i|=a.ka?2:1}function jd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.ab=b}h.wa=function(a){this.J=this.L=a;this.H=0};h.fb=function(a,b){this.J=this.L=this.G=a;this.H=b||0}; +function qe(a,b){a.J=a.L=a.G=b;a.H=a.J^a.G>>1}function re(a,b,c,d){a.J=a.L=a.G=b;a.H=(c^d)&(d^b)} +h.ja=function(a,b,c){if(!this.la){0>this.$a?this.$a=kd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.ia(a|this.Ba),e=this.ia(a+2&65535|this.Ba);ld(this,e&-12289|this.$a>>2&12288);se(this,this.$a);se(this,this.g[7]);he(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.$a=-1;this.Yc=a;this.Xc=c;-1==c&&J(this);if(-4<=c)throw a;}}; +function te(a){var b=ue(a),c=ue(a);a.w&49152&&(c=c&-225|a.w&63712);he(a,b);ld(a,c);a.i&=-17}function ve(a,b){var c=b>>13&31;31>c&&(b=a.U&32?a.Fa[c]+(b&8191)&4194303:b&-3932161);return b} +function we(a,b,c){var d=[];if(c){c=ve(a,b);var e=b>>13&31;d.push(c);d.push(e);a.U&32&&(d.push(a.Fa[e]),d.push(b&8191))}else if(a.Va){var e=a.O<<1,f=b>>13;7>13;a.U&a.tc[a.O]||(d&=7);e=a.B[a.O][d];f=(a.M[a.O][d]<<6)+(b&8191)&a.Ca;3932160<=f&&(f=ve(a,f));if(a.la)return f;f>=a.Oc&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& +(g|=16384));a.B[a.O][d]=e;if(f!=(4194170&a.Ca)||a.O)a.ub=a.O,a.wb=d;g&&(g&57344&&(0<=a.$a&&(g|=128),a.S&57344||(g|=a.S&4096|a.ub<<5|a.wb<<1,fd(a,a.S&-61695|g&61694)),a.ja(168,64,-2)),a.S&61440||!(f<(4191360&a.Ca)||f>(4194239&a.Ca))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function ue(a){var b=a.ia(a.g[6]|a.Ba);a.g[6]=a.g[6]+2&65535;return b}function se(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.tb(4,-2,c);a.sb(c,b)} +function xe(a,b,c,d){var e,f,g=d&8?0:a.Ba;switch(b){case 0:return a.ja(4,0,-3),0;case 1:return 6==c&&a.tb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.tb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ia(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.tb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ia(e)|g;a.b-=8;break;case 6:return e=a.ia(ne(a,2)),e=e+a.g[c]&65535,6==c&&a.tb(d, +0,e),a.b-=6,e|g;case 7:return e=a.ia(ne(a,2)),e=e+a.g[c]&65535,e=a.ia(e|a.Ba),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Jd=function(a,b,c){!this.O&&0>=b&&c<=this.ya&&(this.i|=32)};h.Kd=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.ya&&(c<=this.ya-32?this.ja(4,0,-4):(this.R|=8,this.i|=32)))};h.dd=function(a){this.F&&Jd(this.F,a,1);return this.oc(a)};h.jd=function(a){this.F&&Jd(this.F,a,2);return this.pc(a)}; +h.nd=function(a,b){this.F&&Kd(this.F,a,1);this.qc(a,b)};h.od=function(a,b){this.F&&Kd(this.F,a,2);this.rc(a,b)};function jc(a,b){a.la++;b=a.D.Zb(hc(a,b,2));a.la--;return b}function ye(a,b){(b?--a.Sb:--a.Rb)||fe(a)}h.Md=function(a,b,c){return xe(this,a,b,c)};h.hd=function(a,b,c){return hc(this,xe(this,a,b,c),c)};h.md=function(a){return this.D.Zb(this.ib=a)};h.Ye=function(a){this.F&&Jd(this.F,a,2);return this.md(a)};h.Dc=function(a){return this.D.Zb(this.ib=hc(this,a,2))}; +h.Ze=function(a){this.F&&Jd(this.F,a,2);return this.Dc(a)};h.rd=function(a,b){this.D.Ib(this.ib=a,b)};h.ig=function(a,b){this.F&&Kd(this.F,a,2);this.rd(a,b)};h.Gc=function(a,b){this.D.Ib(this.ib=hc(this,a,4),b)};h.jg=function(a,b){this.F&&Kd(this.F,a,2);this.Gc(a,b)};function ze(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=xe(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ia(d|c&a.Ba),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c} +function Ae(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=xe(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=hc(a,e|c&65536,4),a.O=a.w>>14&3,a.Lb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Be(a,b){b>>=6;var c=a.Y=b&7;return(b=a.V=(b&56)>>3)?a.Jb(a.ta(b,c,3)):a.g[c+a.lc]&a.Rc}function Ce(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.V=(b&56)>>3)?c=a.Kb(a.ta(b,d,2)):c=a.g[d+a.lc];return c}function De(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return xe(a,b,c,8)} +function Ee(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Jb(a.ta(b,c,3)):a.g[c]&255}function Fe(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Kb(a.ta(b,d,2)):c=a.g[d];return c}function Ge(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.hc=a.ta(b,e,7),c=0>c?a.g[-c-1]&255:c,a.gc(e,d.call(a,c,a.Jb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))} +function S(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ta(b,e,6),a.Lb(e,d.call(a,0>c?a.g[-c-1]:c,a.Kb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function He(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.ta(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.gc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))} +function Ie(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ta(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Lb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}function T(a,b,c){c&&(he(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3} +h.$b=function(a){this.A.complete=!0;var b=this.F?Je(this.F)?1:this.A.fc?-1:0:0,c=a?this.A.fc?0:1:-1;this.A.fc=!1;this.Xa=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(ef(this.F,this.g[7],c)){J(this);break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ab&224)>>5,f=this.ka&&this.ka.eb>e?this.ka:null;f&&(d=f.Wb,e=f.eb);e>(this.w&224)>>5?(this.i&8&&(ne(this,2),this.i&=-9),this.ja(d,0,-10),e=!0):e=!1;e&&(f&&oe(this,f),a=!0);this.ka||this.ab||(this.i&=-3)}else this.i& +1&&this.i++;if(a){if(this.i&4&&ef(this.F,this.g[7],c)){J(this);break}if(0>c)break}if(this.i&112&&pe(this)){if(this.i&4&&ef(this.F,this.g[7],c)){J(this);break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ia(a);this.g[7]=a+2&65535;this.Nc(f)}while(0>1|b<<16;qe(this,a);return a&65535}function lf(a,b){a=b&128|b>>1|b<<8;qe(this,a<<8);return a&255}function mf(a,b){a=b&~a;this.wa(a);return a}function nf(a,b){a=b&~a;this.wa(a<<8);return a} +function of(a,b){a|=b;this.wa(a);return a}function pf(a,b){a|=b;this.wa(a<<8);return a}function qf(a,b){a=~b|65536;this.fb(a);return a&65535}function rf(a,b){a=~b|256;this.fb(a<<8);return a&255}function sf(a,b){this.J=this.L=a=b-a;this.H=b&(b^a);return a&65535}function tf(a,b){a=b-a;var c=a<<8;b<<=8;this.J=this.L=c;this.H=b&(b^c);return a&255}function uf(a,b){this.J=this.L=a=b+a;this.H=a&(b^a);return a&65535}function vf(a,b){a=b+a;var c=a<<8;this.J=this.L=c;this.H=c&(b<<8^c);return a&255} +function wf(a,b){a=-b;this.fb(a,a&b&32768);return a&65535}function xf(a,b){a=-b;this.fb(a<<8,(a&b&128)<<8);return a&255}function yf(a,b){a=b<<1|this.G>>16&1;qe(this,a);return a&65535}function zf(a,b){a=b<<1|this.G>>16&1;qe(this,a<<8);return a&255}function Af(a,b){a=(this.G&65536|b)>>1|b<<16;qe(this,a);return a&65535}function Bf(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;qe(this,a<<8);return a&255}function Cf(a,b){var c=b-a;re(this,c,a,b);return c&65535} +function Df(a,b){var c=b-a;re(this,c<<8,a<<8,b<<8);return c&255}function Ef(a,b){this.J=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function Ff(a,b){a^=b;this.wa(a);return a&65535}function Gf(a){S(this,a,Ce(this,a),ff);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)} +function Hf(a){var b=Fe(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.G=this.H=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.J=this.L=c;this.b-=(this.v?6:7)+b} +function If(a){var b=Fe(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&=63;if(b&32){b=64-b;32>b-1;this.G=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.J=d>>16;this.L=d>>16|d;this.b-=(this.v?6:7)+b}function Jf(a){T(this,a,!je(this))}function Kf(a){T(this,a,je(this))} +function Lf(a){S(this,a,Ce(this,a),mf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Mf(a){Ge(this,a,Be(this,a),nf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Nf(a){S(this,a,Ce(this,a),of);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Of(a){Ge(this,a,Be(this,a),pf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)} +function Pf(a){var b=Ce(this,a);a=Fe(this,a);this.wa((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Qf(a){var b=Be(this,a);a=Ee(this,a);this.wa(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Rf(a){T(this,a,le(this))}function Sf(a){T(this,a,!me(this)==!ke(this))}function Tf(a){T(this,a,!le(this)&&!me(this)==!ke(this))}function Uf(a){T(this,a,!je(this)&&!le(this))} +function Vf(a){T(this,a,le(this)||!me(this)!=!ke(this))}function Wf(a){T(this,a,je(this)||le(this))}function Xf(a){T(this,a,!me(this)!=!ke(this))}function Yf(a){T(this,a,me(this))}function Zf(a){T(this,a,!le(this))}function $f(a){T(this,a,!me(this))}function ag(){this.ja(12,0,-9)}function bg(a){T(this,a,!0)}function cg(a){T(this,a,!ke(this))}function dg(a){T(this,a,ke(this))}function eg(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.J=0);this.b-=5} +function fg(a){var b=Ce(this,a);a=Fe(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;re(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function gg(a){var b=Be(this,a);a=Ee(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);re(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)} +function hg(a){var b=Fe(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.J=d>>16):(this.H=32768,this.L=d>>15|d,this.J=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.J=0,this.H=32768,this.G=65536,this.b-=7}function ig(){this.ja(24,0,-9);this.b-=20} +function jg(){this.w&49152?(this.R|=128,this.ja(4,0,-8)):(this.sa&&1120==this.xa&&this.sa.setData(this.g[0],!0),this.F?kg(this.F):J(this));this.b-=7}function lg(){this.ja(16,0,-9);this.b-=20}var mg=[0,7,7,10,7,11,9,13];function ng(a){this.aa=this.b;he(this,De(this,a));this.b=this.aa-mg[this.v]}var og=[0,14,14,17,14,18,16,20];function pg(a){this.aa=this.b;var b=De(this,a);a=a>>6&7;se(this,this.g[a]);this.g[a]=this.g[7];he(this,b);this.b=this.aa-og[this.v]} +var qg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function rg(a){var b=Ce(this,a);this.aa=this.b;Ie(this,a,b,this.wa);this.b=this.aa-qg[(this.V?8:0)+this.v]+(7!=this.j||this.v?0:2)}function sg(a){var b=Be(this,a);He(this,a,b,65535,this.wa);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}var tg=[7,13,13,17,14,18,17,21]; +function ug(a){var b=Fe(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.J=b>>16;this.L=this.J|b;this.H=0;this.G=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)he(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Bg(a){S(this,a,Ce(this,a),Cf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Cg(a){S(this,a,0,Ef);this.b-=this.v?9:3+(7==this.j?2:0)}function Dg(){this.ja(28,0,-9)} +function Eg(){this.sa&&(this.sa.Ec(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;ne(this,-2);this.b-=3}function Fg(a){S(this,a,this.g[(a>>6&7)+this.lc],Ff);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,H(b,1)?(I(b,"undefined opcode "+O(b,a),!0,!0),b=kg(b)):b=!1;b||this.ja(8,0,-9)}function de(a){Gg[a>>12].call(this,a)}function Hg(a){Ig[a>>6&3].call(this,a)}function Jg(a){Kg[a>>6&3].call(this,a)}function Lg(a){Mg[a>>6&3].call(this,a)} +function Ng(a){Og[a&15].call(this,a)}function Pg(a){Qg[a&15].call(this,a)}function Rg(a){Sg[a>>6&3].call(this,a)}function Tg(a){Ug[a>>6&3].call(this,a)}function Vg(a){Wg[a>>6&3].call(this,a)} +var Gg=[function(a){Xg[a>>8&15].call(this,a)},rg,fg,Pf,Lf,Nf,Gf,U,function(a){Yg[a>>8&15].call(this,a)},sg,gg,Qf,Mf,Of,Bg,U],Xg=[function(a){Zg[a>>4&15].call(this,a)},bg,Zf,Rf,Sf,Xf,Tf,Vf,pg,pg,Hg,Jg,Lg,U,U,U],Ig=[function(a){Ie(this,a,0,this.fb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){S(this,a,0,qf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){S(this,a,1,uf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){S(this,a,1,sf);this.b-=this.v?9:3+(7==this.j?2:0)}],Kg=[function(a){S(this,a,0,wf); +this.b-=this.v?11:6},function(a){S(this,a,je(this)?1:0,ff);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){S(this,a,je(this)?1:0,Cf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=Fe(this,a);this.fb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Mg=[function(a){S(this,a,0,Af);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){S(this,a,0,yf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){S(this,a,0,kf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){S(this,a,0,hf);this.b-=this.v?9:3+(7==this.j?2:0)}],Zg= +[function(a){$g[a&15].call(this,a)},U,U,U,ng,ng,ng,ng,xg,U,Ng,Pg,Cg,Cg,Cg,Cg],$g=[jg,Eg,yg,ag,lg,wg,U,U,U,U,U,U,U,U,U,U],Og=[vg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},eg,function(){this.L=1;this.b-=5},eg,eg,eg,function(){this.J=0;this.b-=5},eg,eg,eg,eg,eg,eg,eg],Qg=[vg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},zg,function(){this.L=0;this.b-=5},zg,zg,zg,function(){this.J=32768;this.b-=5},zg,zg,zg,zg,zg,zg,zg],Yg=[$f,Yf,Uf,Wf,cg,dg,Jf,Kf,ig,Dg,Rg,Tg, +Vg,U,U,U],Sg=[function(a){He(this,a,0,255,this.fb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ge(this,a,0,rf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ge(this,a,1,vf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ge(this,a,1,tf);this.b-=this.v?9:3+(7==this.j?2:0)}],Ug=[function(a){Ge(this,a,0,xf);this.b-=this.v?11:6},function(a){Ge(this,a,je(this)?1:0,gf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ge(this,a,je(this)?1:0,Df);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=Ee(this, +a);this.fb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],Wg=[function(a){Ge(this,a,0,Bf);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Ge(this,a,0,zf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Ge(this,a,0,lf);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Ge(this,a,0,jf);this.b-=this.v?9:3+(7==this.j?2:0)}];function ee(a){ah[a>>12].call(this,a)} +var ah=[function(a){bh[a>>8&15].call(this,a)},rg,fg,Pf,Lf,Nf,Gf,function(a){ch[a>>8&15].call(this,a)},function(a){dh[a>>8&15].call(this,a)},sg,gg,Qf,Mf,Of,Bg,U],bh=[function(a){eh[a>>4&15].call(this,a)},bg,Zf,Rf,Sf,Xf,Tf,Vf,pg,pg,Hg,Jg,Lg,function(a){fh[a>>6&3].call(this,a)},U,U],fh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ia(a|this.Ba);he(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=ze(this,a,0);this.wa(a);se(this,a);this.b-=11},function(a){var b=ue(this); +this.aa=this.b;this.wa(b);Ae(this,a,0,b);this.b=this.aa-tg[this.v]},function(a){Ie(this,a,me(this)?65535:0,this.wa);this.b-=this.v?9:3+(7==this.j?2:0)}],eh=[function(a){gh[a&15].call(this,a)},U,U,U,ng,ng,ng,ng,xg,function(a){a&8?(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5):U.call(this,a)},Ng,Pg,Cg,Cg,Cg,Cg],gh=[jg,Eg,function(){te(this);this.i|=this.w&16;this.b-=13},ag,lg,wg,yg,function(){this.ja(8,0,-9)},U,U,U,U,U,U,U,U],ch=[ug,ug,hg,hg,Hf,Hf,If,If,Fg,Fg,U,U,U,U,Ag, +Ag],dh=[$f,Yf,Uf,Wf,cg,dg,Jf,Kf,ig,Dg,Rg,Tg,Vg,function(a){hh[a>>6&3].call(this,a)},U,U],hh=[U,function(a){a=ze(this,a,65536);this.wa(a);se(this,a);this.b-=11},function(a){var b=ue(this);this.aa=this.b;this.wa(b);Ae(this,a,65536,b);this.b=this.aa-tg[this.v]},U]; +function ih(a){A.call(this,"ROM",a,0,128);this.da=this.g=null;this.v=a.addr;this.b=a.size;this.w=!1;this.j=a.alias;this.i=a.file;this.B=x(this.i);if(this.i){a=this.i;var b=oa(this.B);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.i=null):(ib(c.kb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.da=a.da):c.i=null);jh(c)})}}p(ih,A);h=ih.prototype; +h.pa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;jh(this)};h.qa=function(){this.da&&(this.F&&kh(this.F,this.id,this.v,this.b,this.da),delete this.da);return!0};h.za=function(){return!0}; +function jh(a){if(!qb(a)){if(a.i){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)ob(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.v;a.status(a.b+"-byte ROM at "+q(b));if(57344<=b&&b<57344+Cc){var c={};b=(c[b]=[ih.prototype.Ke,ih.prototype.Tf,null,null,null,a.b>>1],c);if(Mb(a.D,a,b)){b=a.w=!0;break a}}else if(Ic(a.D,b,a.b,qd)){for(c=0;c>>f.g;0>>=f.g;0>>a.g;0=b.length){I(a,"invalid block at offset "+w(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(t&255)+(t>>8)),u=l,E=r-=6;0=b.length){I(a,"insufficient data for block at offset "+w(n),4096);break}m+= +b[l++]&255;if(m&255){I(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+w(n),4096);break}if(E)for(I(a,"loading "+w(E)+" bytes at "+w(t)+"-"+w(t+E),4096);E--;)Qc(a.D,t++,b[u++]&255);else t&1?g=!0:null==d&&(d=t),null!=d&&I(a,"starting address: "+w(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e=ka.Hc&&c<=ka.Ed&&(b=c-(ka.Hc-ka.sd));b&&(a.preventDefault&&a.preventDefault(),d.cc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ka.ud&&(b=ka.td);d.cc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.cc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; +h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;var e=this;this.P=$c(this.f,this.J?-1:48,4,262144);this.R=Xc(this.f,function(){var a;a=-1;e.j.length&&(a=e.j.shift()&255,I(e,"receiveByte("+v(a,2,!0)+")"),e.Y&&97<=a&&122>a&&(a-=32),Zc(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&Yc(c,e.P))});this.L=$c(this.f,this.J?-1:52,4,262144);this.X=Xc(this.f,function(){e.g|=128;e.g&64&&Yc(c,e.L)});Mb(b,this,rh,this.J?64832+8*(this.J-1)-65392:0);Ob(b,this.reset.bind(this)); +G(this)};h.kd=function(a){if(!this.v){var b=Pd(this.I,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.jb)return;c=ua(c[1]);if(this.v=lb(c)){var e=this.v.exports;if(e){var f=e.connect;f&&f.call(this.v,this.H);if(this.M=e.receiveData){this.H=a;this.O=e.receiveStatus;this.status(this.kb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +h.qa=function(a,b){if(!b)if(this.kd(this.H),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){sh(this)};h.save=function(){var a=new ie(this);a.set(0,[]);return a.data()};h.restore=function(){return sh(this)};function sh(a){a.G=0;a.b=8192;a.g=128;a.j=[];return!0} +h.cc=function(a){if("number"==typeof a)this.j.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.V||8,c=a-this.B%a,this.V&&(b=ta("",c)));this.U&&!this.B&&c&&(b=String.fromCharCode(this.U)+b);this.i.value+=b;this.i.scrollTop=this.i.scrollHeight;this.B+=c}}else if(null!=this.w){if(10== +a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}Zc(this.f,this.X,1E3/Math.round(this.aa/10));this.g&=-129};var qh="buffer",th={},rh=(th[65392]=[null,null,ph.prototype.xe,ph.prototype.Gf,"RCSR"],th[65394]=[null,null,ph.prototype.we,ph.prototype.Ff,"RBUF"],th[65396]=[null,null,ph.prototype.cf,ph.prototype.lg,"XCSR"],th[65398]=[null,null,ph.prototype.bf,ph.prototype.kg,"XBUF"],th); +Ua(function(){for(var a=D(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=xh;case "loadTape":return e||(e=yh),this.C[b]=c,c.onclick= +function(){var a=d.C.listTapes;a&&zh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.C[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;zh(d,x(b,!0),b,yh,a)}return!1};return!0;case Ah:return this.C[b]=c,!0}return!1}; +h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;this.J=Bh(a);var e=this;if(a=uh(this,Pd(this.I,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=$c(this.f,56,4,4096);this.R=Xc(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.Bc.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Ca()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Aa(f,null,!0,function(e,f,g){var k=0>g&&!!a.I&&!a.I.A.ea;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(ib(a.kb,e,f),(e=Ba(e,f))&&Mh(a,b,c,d,e.ba,e.La, +e.Ka));a.A.bb=!1;a.g&&(a.g--,a.g||G(a));Jh(a)})}function Eh(a,b,c,d){if((a=a.C.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.W);for(d=0;dc.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Ca()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ac?"":e)+"&format=json"));return!!Aa(f,null, +!0,function(b,c,d){Uh(a,b,c,d)})} +function Uh(a,b,c,d){var e=null,f=0>d&&!!a.I&&!a.I.A.ea;a.j=!1;if(d)a.controller.N('Unable to load disk "'+a.Ma+'" (error '+d+": "+b+")",f);else{ib(a.controller.kb,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ +c+")");if(k.length)if(1==k.length)y(k[0]);else{a.W=k.length;a.ca=k[0].length;a.Z=k[0][0].length;var l=k[0][0][0];a.ma=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var t=l.bytes;if(void 0!==t&&t.length){for(var u=m<<2,E=t.length;E>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ga?f=a.Qa+a.Ga&&(a.Ga+=f-(a.Qa+a.Ga)+1):(a.Qa=f,a.Ga=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;lb&&-2!=b&&this.controller.N("Unable to restore disk '"+this.Ma+": "+c);return b}; +h.toJSON=function(){var a;a=0;for(var b;b=Wh(this,a++);)Zh(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; +function Zh(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Qh=0;function R(a){A.call(this,"RK11",a,0,65536);this.G=$h(this,a.autoMount);this.B=0;this.g=Array(8);this.H=!Ma("Mobi")&&window&&"FileReader"in window;this.cb=null;this.L=this.i=this.b=this.w=this.v=this.j=this.J=0}p(R,A); +function $h(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype; +h.na=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&ai(d, +a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&ui(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.N("Unable to boot the selected drive"):a.ga?(ge(d.f,0,!0),(a=d.Tc(a,0,0,0,512,0,2))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c); +break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ga)?(a=Na(Yh(a),a.ec.replace(".json",".img")),y(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ui(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; +h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;if(a=$h(this,Pd(this.I,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);wi(this);this.cb=$c(this.f,144,5,65536);Mb(b,this,xi);Ob(b,this.reset.bind(this));yi(this,"None",zi,!0);this.H&&yi(this,"Local Disk",Ai);yi(this,"Remote Disk",Bi);Ci(this)||G(this)}; +h.qa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.I.w){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";ai(this,0)}}return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){wi(this)};h.save=function(){return(new ie(this)).data()}; +h.restore=function(a){return wi(this,a[0])};function Ci(a,b){b||(a.B=0);for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if(c==Ai)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Bi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ei(a,e,b,c,!1,d)}else Di(a,e)} +function Ei(a,b,c,d,e,f){var g=-1,k=a.g[b];k.va.toLowerCase()!=d.toLowerCase()&&(g++,Di(a,b,!0),k.pb?a.N("RK11 busy"):(k.pb=!0,e&&(k.ob=!0,a.B++,H(a)&&I(a,"auto-loading disk: "+c)),k.Ta=!!f,Th(new Ph(a,k,"preload"),c,d,f,a.yd)&&g++));return g} +h.yd=function(a,b,c,d,e){a.pb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.qb)),b=null);b?(a.ga=b,a.Ma=c,a.va=d,this.N('Loaded disk "'+c+'" in drive '+("RK"+a.qb),a.ob||e),this.I&&Zd(this.I)):a.Ta=!1;a.ob&&(a.ob=!1,--this.B||G(this));ai(this,a.qb)}; +function yi(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e=a.W){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b))}var t,u;if(0>(t=a.read(n,r++))||0>(u=a.read(n,r++))){m=32;break}if(!k&&(gc(this.D,ve(this.f,f),t|u<<8),Wc(this.D))){m=1024;break}r>=a.ma&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.zd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ga;var n=null,r;a||(m=128,e=0);for(;e;){var t=ic(this.D,ve(this.f,f));if(Wc(this.D)){m=1024;break}f+=g;e--;if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b))}if(k){if(0>a.read(n,r++)||0>a.read(n,r++)){m=32;break}}else if(!a.write(n,r++,t&255)||!a.write(n,r++,t>>8)){m=32;break}r>=a.ma&&(n=null)}return l?l(m,b,c,d,e,f):m}; +h.xd=function(a,b,c,d,e,f){this.v=f&65535;this.b=this.b&-49|f>>12&48;this.w=65536-e&65535;this.j=this.j&-16|d&15;a&&(this.i=this.i|a|32768,this.b|=49152);return!0};h.Ce=function(){return this.L};h.Lf=function(){};h.De=function(){return this.i};h.Mf=function(){};h.ze=function(){return this.b&61438}; +h.If=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c="",d=(this.j&57344)>>13,e=this.g[d],f,g,k,l,m,n;this.b&=-129;var r=this.b&14;switch(r){case 0:H(this)&&I(this,this.type+": CRESET("+d+")",!0);this.i=0;this.b=128;this.j=0;break;case 8:f=(this.j&8160)>>5;H(this)&&I(this,this.type+": SEEK("+f+")",!0);f>=e.W&&(this.i|=32832,this.b|=49152);break;case 10:c="RCHK";case 4:c||(c="READ"),b=this.Tc;case 6:c||(c="WCHK");case 2:c||(c="WRITE");b||(b=this.zd);f=(this.j&8160)>>5;g=(this.j&16)>> +4;k=this.j&15;l=65536-this.w&65535;m=(this.b&48)<<12|this.v;n=this.b&2048?0:2;H(this)&&I(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+q(m)+"--"+q(m+(l<<1)),!0,!0);if(f>=e.W){this.i|=32832;this.b|=49152;break}if(k>=e.Z){this.i|=32800;this.b|=49152;break}a=b.call(this,e,f,g,k,l,m,n,6<=r,this.xd.bind(this));break;case 12:H(this)&&I(this,this.type+": DRESET("+d+")");break;default:H(this)&&I(this,this.type+": UNSUPPORTED("+r+")")}this.L=e.status|(e.ga?128:0)|d<<13|this.j&15;this.i&32768&&H(this)&&I(this, +this.type+": ERROR: "+q(this.i));a&&(this.b&=-2,this.b|=128,this.b&64&&Yc(this.f,this.cb))}};h.Ee=function(){return this.w};h.Nf=function(a){this.w=a};h.ye=function(){return this.v};h.Hf=function(a){this.v=a};h.Ae=function(){return this.j};h.Jf=function(a){this.j=a};h.Be=function(){return this.J};h.Kf=function(a){this.J=a}; +var zi="",Ai="?",Bi="??",Fi={},xi=(Fi[65280]=[null,null,R.prototype.Ce,R.prototype.Lf,"RKDS"],Fi[65282]=[null,null,R.prototype.De,R.prototype.Mf,"RKER"],Fi[65284]=[null,null,R.prototype.ze,R.prototype.If,"RKCS"],Fi[65286]=[null,null,R.prototype.Ee,R.prototype.Nf,"RKWC"],Fi[65288]=[null,null,R.prototype.ye,R.prototype.Hf,"RKBA"],Fi[65290]=[null,null,R.prototype.Ae,R.prototype.Jf,"RKDA"],Fi[65294]=[null,null,R.prototype.Be,R.prototype.Kf,"RKDB"],Fi); +function nd(a){A.call(this,"RL11",a,0,131072);this.H=Gi(this,a.autoMount);this.G=0;this.g=Array(4);this.J=!Ma("Mobi")&&window&&"FileReader"in window;this.cb=null;this.b=this.B=this.i=this.j=this.w=this.v=0}p(nd,A);function Gi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=nd.prototype; +h.na=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Hi(d, +a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Ii(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.N("Unable to boot the selected drive"):a.ga?(ge(d.f,0,!0),(a=d.Uc(a,0,0,0,512,0))&&d.N("Unable to read the boot sector ("+a+")")):d.N("Load a disk into the drive first")},!0;case "saveDisk":if(!this.J){c.parentNode.removeChild(c); +break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ga)?(a=Na(Yh(a),a.ec.replace(".json",".img")),y(a)):d.N("No disk loaded in drive."):d.N("No disk drive selected."))};return!0;case "mountDisk":if(this.J)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ii(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; +h.pa=function(a,b,c,d){this.I=a;this.D=b;this.f=c;this.F=d;if(a=Gi(this,Pd(this.I,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ji(this);this.cb=$c(this.f,112,5,131072);Mb(b,this,Ki);Ob(b,this.reset.bind(this));Li(this,"None",Mi,!0);this.J&&Li(this,"Local Disk",Ni);Li(this,"Remote Disk",Oi);Pi(this)||G(this)}; +h.qa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.I.w){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Hi(this,0)}}return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){Ji(this)};h.save=function(){return(new ie(this)).data()}; +h.restore=function(a){return Ji(this,a[0])};function Pi(a,b){b||(a.G=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if(c==Ni)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Oi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ri(a,e,b,c,!1,d)}else Qi(a,e)} +function Ri(a,b,c,d,e,f){var g=-1,k=a.g[b];k.va.toLowerCase()!=d.toLowerCase()&&(g++,Qi(a,b,!0),k.pb?a.N("RL11 busy"):(k.pb=!0,e&&(k.ob=!0,a.G++,H(a)&&I(a,"auto-loading disk: "+c)),k.Ta=!!f,Th(new Ph(a,k,"preload"),c,d,f,a.Bd)&&g++));return g} +h.Bd=function(a,b,c,d,e){a.pb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.qb)),b=null);b?(a.ga=b,a.Ma=c,a.va=d,this.N('Loaded disk "'+c+'" in drive '+("RL"+a.qb),a.ob||e),this.I&&Zd(this.I)):a.Ta=!1;a.ob&&(a.ob=!1,--this.G||G(this));Hi(this,a.qb)}; +function Li(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}gc(this.D,ve(this.f,f),n|r<<8);if(Wc(this.D)){k=8192;break}f+=2;e--;if(m>=a.ma&&(l=null,++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k}; +h.Cd=function(a,b,c,d,e,f,g){var k=0;a=a.ga;var l=null,m;a||(k=5120,e=0);for(;e;){var n=ic(this.D,ve(this.f,f));if(Wc(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.ma&&(l=null,++d>=a.Z&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k}; +h.Ad=function(a,b,c,d,e,f){this.B=f&65535;this.b=this.b&-49|f>>12&48;this.v=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.He=function(){return this.b&65535}; +h.Qf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ga,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.W?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Uc;case 10:c||(c="WRITE"),b||(b=this.Cd),f=this.i>>7,g=this.i&64?1:0,k= +this.i&63,!e||f>=e.W||k>=e.Z?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.B,H(this)&&I(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+q(e)+"--"+q(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Ad.bind(this)))}a&&(this.b|=129,this.b&64&&Yc(this.f,this.cb))}};h.Fe=function(){return this.B};h.Of=function(a){this.B=a&65534};h.Ie=function(){return this.i};h.Rf=function(a){this.i=a};h.Je=function(){return this.w};h.Sf=function(a){this.w=a};h.Ge=function(){return this.v}; +h.Pf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Mi="",Ni="?",Oi="??",Si={},Ki=(Si[63744]=[null,null,nd.prototype.He,nd.prototype.Qf,"RLCS"],Si[63746]=[null,null,nd.prototype.Fe,nd.prototype.Of,"RLBA"],Si[63748]=[null,null,nd.prototype.Ie,nd.prototype.Rf,"RLDA"],Si[63750]=[null,null,nd.prototype.Je,nd.prototype.Sf,"RLMP"],Si[63752]=[null,null,nd.prototype.Ge,nd.prototype.Pf,"RLBE"],Si); +function Ti(a){A.call(this,"Debugger",a);this.ua=a.base||16;this.aa=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.U={}}p(Ti,A);Ti.prototype.fd=function(){return-1};Ti.prototype.gd=function(){}; +function Ui(a,b,c,d){if(c)if(b){0>a.v&&a.j.length&&(a.v=0);if(0>a.v||b!=a.j[a.v])a.j.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.j[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ua(b.substring(c,f))),c=f+1}}return a} +function Vi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; +case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} +function Wi(a,b,c){var d;if(b){b=Xi(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e} +function aj(a,b){if(b)return $i(a,b,a.U[b]);var c=0;for(b in a.U)$i(a,b,a.U[b]),c++;return 0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function bj(a){Ti.call(this,a);this.Ba=!1;this.aa=!0;this.H=W();this.Aa=W();this.O=W();this.B=[];this.g=this.L=this.G=[];cj(this);this.R=this.Y=0;this.i=[];this.oa=void 0;dj(this);this.F=this;this.ka={};this.fa=this.ya=0;this.S=null;this.M=[];ej(this,a.messages);this.ta=a.commands;this.Ea=fj;this.xa=[];this.J=0;this.Fa=this.sa=null;this.w=this.Da=this.Ca=this.X=this.la=0;this.b=this.V=null;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Ud(b,a)}):void 0===global.pdp11&&(global.pdp11= +function(a){return Ud(b,a)})}p(bj,Ti);function gj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:a||0,Ha:b||!1,Pa:!1,ua:c}}h=bj.prototype;h.Ec=function(a,b){a.K=b;a.Pa=!1;a.ua=void 0;return a};function hj(a){return[a.K,a.Ha,a.ua,a.Pa,a.dc]}function ij(a,b){var c=W(b[0],b[1],b[2]);c.Pa=b[3];b[4]&&(c.Zc=Ui(a,c.dc=b[4]));return c} +h.pa=function(a,b,c,d){this.D=b;this.I=a;this.f=c;this.b=a.i;(a=Pd(a,"messages"))&&ej(this,a);1145>this.f.xa&&(this.xa=jj);bd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=gj(kj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):(c=n.type,m=Nc[c],n&&d.u(v(n.id,8)+" %"+v(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"} +h.gd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.oa[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.b;switch(a){case qj:b=kd(this.f);break;case rj:b=c.ab;break;case sj:b=c.R;break;case tj:b=c.ya&65280;break;case uj:b=ed(c);break;case vj:b=gd(c);break;case wj:b=hd(c);break;case xj:b=c.U;break;case yj:d&&(b=d.ra);break;case zj:d&&(b=d.rb);break;case Aj:d&&yc(d)&&(b=d.Ua)}}return b}; +h.message=function(a,b){b&&(a+=" @"+nj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.fa&1073741824)this.M.push(a);else{var c;if(this.fa&-2147483648&&this.f&&(c=this.f.A.T)||rb(this,!0))Bj(this),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,$d(a),a.mb=0,a.I&&L(a.I,void 0))}}; +function dj(a){var b;if(!Je(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Cj);for(b=0;b>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?zb[-d]:O(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.J?Fj(a):Gj(a)}}function Ej(a,b){var c;(c=!a.f||!qb(a.f))||(c=a.f,c.A.ea?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.T?(b||a.u("cpu busy or unavailable, command ignored"),!1):!pb(a.f)}h.qa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; +h.za=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){dj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.T=!1;Hj(this);a||Sd(this)};h.save=function(){var a=new ie(this);a.set(0,hj(this.H));a.set(1,hj(this.O));a.set(2,[this.j,this.P,this.fa]);a.set(3,this.B);return a.data()}; +h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=ij(this,a[b++]),this.O=ij(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.fa|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.J||this.u("running");this.A.T=!0;this.Ca=a;this.Da=b}; +h.stop=function(a,b){if(this.A.T){this.A.T=!1;this.w=b-this.Da;if(!this.J){b="stopped";if(this.w){a-=this.Ca;var c=0d&&(d=jc(a.f,b)),65535!=(d&65535)&&(a.Ec(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function kg(a){var b=a.f;if(b.A.T)throw he(b,a.f.P&65535),Bj(a),-1;return!1}function Jd(a,b,c){Ij(a,b,c||1,a.L)&&Bj(a,!0)}function Kd(a,b,c){Ij(a,b,c||1,a.G)&&Bj(a,!0)} +function cj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b>>c.g],!1)):ye(a.f,!1);a.L=["br"];if(a.G)for(b=1;b>>c.g],!0)):ye(a.f,!0);a.G=["bw"];a.la=0} +h.nb=function(a,b,c){var d=!0;c||Jj(this,a,b,!1,!0);if(a!=this.g){var e=gj(b);if(-1===e)this.u("invalid address: "+nj(this,b)),d=!1;else{var f=a==this.G;65535>>g.g].nb(e&g.j,f)}else e=this.f,(f?e.Sb++:e.Rb++)||fe(e)}}d&&(a.push(b),c?b.Pa=!0:(Kj(this,a,a.length-1,"set"),dj(this)));return d}; +function Jj(a,b,c,d,e){var f=!1;c=gj(c);for(var g=1;g>>d.g],b)):ye(a.f,b));k.Pa||dj(a);break}}return f}function Lj(a,b){for(var c=1;c>23)&65535,z=O(u,t);else if(C==Rj)t=t.K-((f&63)<<1)&65535,z=O(u,t);else if(C==Sj)z=O(u,f&7,1);else if(C==Tj)z=O(u,f&63,1);else if(C==Uj)z=O(u,f&255,1);else if(C=f&E,E&Vj&&(C>>=6,E>>=6),E&Y){var E=null,F=C& +Wj;switch(C&Xj){case 0:z=pj(F);break;case 8:z="@"+pj(F);E=Yj(u,u.f.g[F]);break;case 16:7>F?z="("+pj(F)+")+":(C=u.Na(t,2),z="#"+O(u,C,0,!0));break;case 24:7>F?z="@("+pj(F)+")+":(C=u.Na(t,2),z="@#"+O(u,C,0,!0),E=Yj(u,C));break;case 32:z="-("+pj(F)+")";break;case 40:z="@-("+pj(F)+")";break;case 48:C=u.Na(t,2);z=O(u,C,0,!0)+"("+pj(F)+")";7==F&&(z=O(u,C=C+t.K&65535),E=Yj(u,C));break;case 56:C=u.Na(t,2),z="@"+O(u,C)+"("+pj(F)+")",7==F&&(z="@"+O(u,C=C+t.K&65535),E=Yj(u,jc(u.f,C)))}E&&(z=[z,E])}u=z;if(!u|| +!u.length){k="INVALID";break}"string"!=typeof u&&(m=u[1],u=u[0]);0=a.f.hb&&b=c.B&&(b=c.Ja[b&Vc])&&(a=b[4]);return a}function Zj(a,b){switch(b){case "N":a=me(a.f);break;case "Z":a=le(a.f);break;case "V":a=ke(a.f);break;case "C":a=je(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "} +function Z(a,b){var c="",d=a.f;if(8>b)c=pj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.oa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.X[b-16]);else switch(b){case qj:c="PS="+O(a,kd(d));break;case rj:c="PI="+O(a,d.ab);break;case sj:c="ER="+O(a,d.R);break;case tj:c="SL="+O(a,d.ya&65280);break;case uj:c="M0="+O(a,ed(d));break;case vj:c="M1="+O(a,gd(d));break;case wj:c="M2="+O(a,hd(d));break;case xj:c="M3="+O(a,d.U);break;case yj:a.b&&(c="AR="+O(a,a.b.ra,3));break;case zj:a.b&&(c="DR="+ +O(a,a.b.rb));break;case Aj:a.b&&yc(a.b)&&(c="SR="+O(a,a.b.Ua,3))}c&&(c+=" ");return c}function ak(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,qj)+Z(a,rj)+Z(a,tj);d+=Zj(a,"T")+Zj(a,"N")+Zj(a,"Z")+Zj(a,"V")+Zj(a,"C");b&&(b=d,c=""+(Z(a,uj)+Z(a,vj)),c+=Z(a,wj)+Z(a,xj)+Z(a,sj),c=c+"\n"+(Z(a,Aj)+Z(a,yj)+Z(a,zj)),d=b+("\n"+c));return d}h.bd=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],r=xa(n,l,a.bd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({uh:b,K:c,Od:d,da:e,$c:f})}function bk(a,b,c){var d=[],e=gj(b)>>>0;for(b=0;b>>0,k=f.Od;if(e>=g&&eb)){e.g[b]= +g&65535;break}a.u("unknown register: "+f);return}L(a.I);a.u("updated registers:")}}a.u(ak(a,d));c&&(a.H=W(e.g[7]),Gj(a,nj(a,a.H)))}}function fk(a,b){b=ua(b);var c=b.match(/^(['"])(.*?)\1$/);c?1k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Nj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}} +function Mj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+nj(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(qb(a)&&0n||"z"Ga.length&&(a.u("note: only "+Ga.length+" available"),qa=Ga.length);va-=qa;0>va&&(null==Ga[Ga.length-1].K?(qa=va+qa,va=0):va+=Ga.length);var Ne=[];"call"==fi&&(nc=1E5,Ne=["CALL"]);for(void 0!==ei&&a.u(qa+" instructions earlier:");0=Ga.length&&(va=0);a.oa=qa;hi++;nc--}}hi||(a.u("no "+gi+"history available"),a.oa=void 0)}else{var fa=kj(a,Fa);if(fa)if("da"==Ra){var Oe=fa.Ha||65535K.length?(2db&&(db=0);65536Se?String.fromCharCode(Se):"."),ud=ud>>8}fb&&(fb+="\n");fb=Pe?fb+(gb+","):fb+(Fa+": "+gb+(0==td?" "+Re:""))}fb&&a.u(fb);a.Aa=fa;a.ua=Jk}}}}break;case "e":if("else"==g[0])break;var Fb,Te,Ue,Ve,We=g[0],Xe=g[1];"eb"==We?(Fb= +1,Te=255,Ue=a.Lc,Ve=a.Mc):"e"==We||"ew"==We?(Fb=2,Te=65535,Ue=a.Na,Ve=a.wd):Xe=null;if(null==Xe)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var vd=kj(a,Xe);if(vd)for(var wd=2;wd$e;){for(var hb=null,Nk=256;65536>tc.K>>>0;){af.K=a.Na(tc,2);if(null==tc.K||!Nk--)break;if(!(af.K&1)){for(var Ok=a,xd=af,mi=null,uc=xd.K,ni=uc,bf=1;6>=bf&&uc;bf++){if(2\nLicense: GPL version 3 or later ");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bmk){if(ok(d,this.H)){this.v=new ie(this,"1.31.0",xk);ok(this.v)&&(yk(this,d),a=zk,Ak(this.v));this.v.set(uk,za());Bk(this.v);var e=this.b&&!this.B;if(a==vk||Da("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=tk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ok(d,g):("error"==f&&"no machine state"!= +g?(this.N("Error: "+g),"unable to verify user"==g&&(La(Ck,""),this.g=null)):this.u(f+": "+g),Ak(d),ok(d)?(c=tk(d),e=!0):c=!1))}e&&rk(this,c?d:null)}else a==zk&&d.clear()}else rk(this);delete this.H;delete this.J}e=kb(this.id);for(f=0;fa[1];a=a[2];this.R=!0;this.A.ea=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.f&&(Dk(this,this.f,b,c,a),L(this),this.f.Ra());this.M&&(yk(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0}; +function yk(a,b){if(Da("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.31.0"};d.url=a.V;d.user=c;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}} +function hk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new ie(a,"1.31.0"),g=new ie(a,"1.31.0",sk),k=za();g.set(uk,k);f.set(uk,k);f.set(Ek,"1.31.0");f.set(Fk,window?window.location.href:null);f.set(Ik,window?window.navigator.userAgent:"");a.f&&a.f.za&&(c&&J(a.f),d=a.f.za(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.ea=!1,!1===d&&(e=null)));for(var k=kb(a.id),l=0;l=d||30<=(c.nc+=d))&&(e.textContent=c.A.T?c.lb.toFixed(2)+"Mhz":"Stopped",c.nc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.T;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Zk(a,b,c)}})}else c(a,null)} +function $k(a,b,c,d){function e(a){if(void 0===k){var b=g&&D(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=ra(a))}function f(a){e("Error: "+a);l&&(--Wk||Ya(!0));l=!1}var g,k,l=!0;Wk++;jb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c|| +(c="/versions/pdpjs/1.31.0/components.xsl");m=function(d,k){k?Xk(c,null,null,!1,e,function(d,l){l?(ib(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Wk||Ya(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Wk||Ya(!0)):f("invalid machine element: "+ +a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Xk(b,a,d,!0,e,m):Yk(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return l}window.embedPDP11=function(a,b,c,d){Ya(!1);return $k(a,b,c,d)};window.enableEvents=Ya;window.sendEvent=$a;})();//# sourceMappingURL=/tmp/pdpjs/1.31.0/pdp11-dbg.map diff --git a/versions/pdpjs/1.31.0/pdp11.js b/versions/pdpjs/1.31.0/pdp11.js new file mode 100644 index 000000000..61d736eee --- /dev/null +++ b/versions/pdpjs/1.31.0/pdp11.js @@ -0,0 +1,278 @@ +(function(){/* + http://pcjs.org/modules/shared/es6/diskapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/dumpapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/reportapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/userapi.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/keys.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/strlib.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/weblib.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/state.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/embed.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/defines.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/usrlib.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/component.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/serialport.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/shared/es6/debugger.js (C) Jeff Parsons 2012-2016 + http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2016 +*/ +var h;function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]} +for(var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ca=["Math","log2"],da=0;da":62,"?":63,"@":64,kc:65,Hf:66,Jf:67,fg:68,E:69,gg:70,hg:71,ig:72,jg:73,kg:74,lg:75,mg:76,ng:77,og:78,pg:79,qg:80,Q:81,rg:82,sg:83,tg:84,ug:85,vg:86,wg:87,xg:88,yg:89,Xc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,zg:97,Ag:98,Bg:99,d:100,e:101,Dg:102,Eg:103,Fg:104,Gg:105,Jg:106,k:107,Kg:108,Lg:109,n:110,Mg:111,p:112,q:113,r:114,Ng:115,t:116,Og:117,Pg:118,Qg:119,x:120,y:121,z:122,"{":123, +"|":124,"}":125,"~":126,Mc:127}; +function r(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0>=3;return""+c}function u(a,b,c){var d="";b?8=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} +function v(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0"']/g,function(a){return na[a]})}function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} +var na={"&":"&","<":"<",">":">",'"':""","'":"'"},pa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function qa(){return Date.now()||+new Date} +function ra(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} +function x(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a, +f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} +function sa(a,b){var c,d={N:null,ea:null,ja:null,ia:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ja=g.load;d.ia=g.exec;if(e=g.bytes)d.N=e;else if(e=g.words)for(d.N=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.N=Array(4*e.length),f=c=0;c>8&255,d.N[f++]=e[c]>>16&255,d.N[f++]=e[c]>>24&255;else d.N=g;d.ea=g.symbols;d.N.length?1==d.N.length&&(z(d.N[0]),d=null):(z("Empty resource: "+a),d=null)}catch(k){z("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ga=this.id:(this.Ha=this.id.substr(0,a),this.Ga=this.id.substr(a+1));this.l={ready:!1,Pa:!1,Yb:!1,R:!1,error:!1};this.xb=null;this.l.error=!1;this.j={};this.Nc=d||0;this.D=this.c=this.s=this.A=this.ab=null;B.push(this)}function Ma(a,b,c){Na[a]&&b&&(Na[a][b]=c)} +function C(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.rd,a];this.D=this.c=this.s=this.A=null}n($a,A);h=$a.prototype;h.reset=function(){this.stop()}; +h.aa=function(a,b,c,d){if(this.A&&this.A.aa(a,b,c,d)||this.c&&this.c.aa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.j[b]=c,this.m++,!0;default:return"led"==a||"rled"==a?(this.j[b]=c,this.f[b]=d?1:0,this.m++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.j[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){bb(a, +b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){cb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){bb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){cb(a,b)}}(this,b),!0):A.prototype.aa.call(this,a,b,c,d)}};h.X=function(a,b,c,d){this.A=a;this.s=b;this.c=c;this.D=d;db(b,this,eb);fb(b,this.reset.bind(this));gb(this);hb(this)};h.Y=function(a,b){b||(ib(),this.reset());return!0};h.ga=function(){return!0}; +function jb(a,b,c){if(a=a.j[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gb(a,b){for(var c in a.f)jb(a,c,null!=b?b:a.f[c])}function kb(a,b,c){if(a=a.j[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hb(a){for(var b in a.a)kb(a,b,a.a[b][1])}function lb(a,b,c,d){a.j[b]&&(void 0===c&&(Qa(a,"Value for "+b+" is invalid"),H(a.c)),c=8==(a.D&&a.D.h||8)?ja(c,d):u(c,d),a.j[b].textContent!=c&&(a.j[b].textContent=c))} +function bb(a,b){var c=a.a[b];kb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=mb&&(a.u=b==nb,a.v=b==ob)}function cb(a,b){var c=a.a[b];c[2]&&c[3]&&(kb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.pd=function(a){a||this.c.l.P||(a=this.c,a.s.reset(),pb(a),this.a[qb]&&this.a[qb][1]&&rb(this.c))};h.qd=function(){};h.ld=function(a){a||H(this.c)}; +h.jd=function(a){if(!a&&!this.c.l.P)if(this.a[qb]&&this.a[qb][1])rb(this.c);else{a=this.D;var b;if(b=a)a.l.Pa&&(a.l.Yb=!0),b=!a.l.Pa;if(b)Sa(a,!0),a.f(0,null),Sa(a,!1);else try{var c=this.c.Rb(1);0a;a++)this.a["S"+a][1]=0&1<a.c.wa?8:16,c=65472<=a.ha&&a.ha<65472+b,b=c?1:2,c=c?15:a.s.i;a.a[mb]&&a.a[mb][1]||(b=-b);Bb(a,a.ha&~c|a.ha+b&c)}function Bb(a,b){a.ha=b&a.s.i;b=a.ha;for(var c=0;22>c;c++)Db(a,"A"+c,b&1<c;c++)Db(a,"D"+c,b&1<>2;this.h=this.f-1;this.v=this.F/this.f|0;this.Ba=[];this.o=0;this.u=!1;this.G=[];this.Yc=[Hb,Ib,Jb,Kb];this.a=this.g=[];this.C=this.w=this.m=this.H=this.I=0;a=new I(this);Lb(a);this.a=Array(this.v);this.g=Array(this.v);for(b=0;b>> +this.b;this.w=0;this.m=this.i;G(this)}n(Fb,A);function Ob(a,b){if(b!=a.w){for(var c=0;c>>a.b,a.g[a.I]=a.a[a.H])}}h=Fb.prototype;h.reset=function(){for(var a=0;a>>a.b;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Oa)return l.rb+=l.Oa-f,l.Oa=f,!0;if(f>=l.Oa+l.rb){p=l.size-(f-m);p>g&&(p=g);l.rb=f-l.Oa+p;f=m+a.f;g-=p;k++;continue}}return Pb(Qb,f,g)}f=new I(a,f,p,a.f,d,e);Lb(f,l);a.a[k++]=f;f=m+a.f;g-=p}return 0>=g?(a.status((c>>10)+"Kb "+Rb[d]+" at "+ja(b)),!0):Pb(Sb,b,c)}h.Hc=function(a){return this.g[(a&this.m)>>>this.b].Fb(a&this.h,a)}; +h.tb=function(a){return this.g[(a&this.m)>>>this.b].V(a&this.h,a)};h.Ic=function(a,b){this.g[(a&this.m)>>>this.b].Nb(a&this.h,b,a)};h.ub=function(a,b){this.g[(a&this.m)>>>this.b].jb(a&this.h,b,a)};function Ab(a,b){a.u=!1;a.o++;b=a.a[(b&a.i)>>>a.b].bc(b&a.h,b);a.o--;return b}function Tb(a,b,c){a.u=!1;a.o++;a.a[(b&a.i)>>>a.b].Ob(b&a.h,c&255,b);a.o--}function yb(a,b,c){a.u=!1;a.o++;a.a[(b&a.i)>>>a.b].gc(b&a.h,c&65535,b);a.o--} +function Ub(a){for(var b=0,c=[],d=0;da.c.wa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var t=g[4],w=g[5]||1,y=0;y>8:e[2](f)&255):f&1&&(e=d.Ba[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;J(d,b,16);return 255} +function Ib(a,b,c){var d=!1,e=this.controller,f=e.Ba[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ba[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||J(e,c,16)}function Jb(a,b){var c=-1,d=this.controller;a=d.Ba[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;J(d,b,16);return 65535} +function Kb(a,b,c){var d=!1,e=this.controller;a=e.Ba[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||J(e,c,16)}function L(a){A.call(this,"Device",a,0,256);this.a={Cg:0,dc:-1}}n(L,A);h=L.prototype;h.X=function(a,b,c,d){this.s=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.dc=ac(c,function(){e.a.cb|=128;e.a.cb&64&&M(e.c,e.a.Da);e.A&&vb(e.A,1);bc(e.c,e.a.dc,1E3/60)});this.a.Da=cc(c,64,6,524288);db(b,this,dc);fb(b,this.reset.bind(this));G(this)}; +h.reset=function(){this.a.cb=128;bc(this.c,this.a.dc,1E3/60,!0)};h.Dd=function(){return this.a.cb};h.Ne=function(a){this.a.cb=a&192;this.a.cb&64||(a=this.a.Da)&&ec(this.c,a)};h.Fd=function(){var a=this.c,b=a.H;b&57344||(b=b&-3199|a.Wa<<5|a.Xa<<1);return b};h.Pe=function(a){fc(this.c,a&-129|this.c.H&128)};h.Gd=function(){var a=this.c;a.H&57344||(a.ob=a.F>>16&65535);a=a.ob;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Hd=function(){var a=this.c;a.H&57344||(a.pb=a.F&65535);return a.pb};h.Id=function(){return this.c.na}; +h.Qe=function(a){var b=this.c;1170>b.wa&&(a&=-49);b.na!=a&&(b.na=a,b.Ka=a&16?4194303:262143,gc(b))};h.pe=function(a){a=a>>1&63;var b=this.c.Na[a>>1];return a&1?b>>16:b&65535};h.zf=function(a,b){b=b>>1&63;var c=b>>1;this.c.Na[c]=b&1?this.c.Na[c]&65535|(a&63)<<16:this.c.Na[c]&-65536|a&65534};h.ie=function(a){return this.c.u[1][a>>1&7]};h.sf=function(a,b){this.c.u[1][b>>1&7]=a&65295};h.ge=function(a){return this.c.u[1][(a>>1&7)+8]};h.qf=function(a,b){this.c.u[1][(b>>1&7)+8]=a&65295}; +h.he=function(a){return this.c.I[1][a>>1&7]};h.rf=function(a,b){b=b>>1&7;this.c.I[1][b]=a;this.c.u[1][b]&=65295};h.fe=function(a){return this.c.I[1][(a>>1&7)+8]};h.pf=function(a,b){b=(b>>1&7)+8;this.c.I[1][b]=a;this.c.u[1][b]&=65295};h.Cd=function(a){return this.c.u[0][a>>1&7]};h.Me=function(a,b){this.c.u[0][b>>1&7]=a&65295};h.Ad=function(a){return this.c.u[0][(a>>1&7)+8]};h.Ke=function(a,b){this.c.u[0][(b>>1&7)+8]=a&65295};h.Bd=function(a){return this.c.I[0][a>>1&7]}; +h.Le=function(a,b){b=b>>1&7;this.c.I[0][b]=a;this.c.u[0][b]&=65295};h.zd=function(a){return this.c.I[0][(a>>1&7)+8]};h.Je=function(a,b){b=(b>>1&7)+8;this.c.I[0][b]=a;this.c.u[0][b]&=65295};h.oe=function(a){return this.c.u[3][a>>1&7]};h.yf=function(a,b){this.c.u[3][b>>1&7]=a&65295};h.me=function(a){return this.c.u[3][(a>>1&7)+8]};h.wf=function(a,b){this.c.u[3][(b>>1&7)+8]=a&65295};h.ne=function(a){return this.c.I[3][a>>1&7]};h.xf=function(a,b){b=b>>1&7;this.c.I[3][b]=a;this.c.u[3][b]&=65295}; +h.le=function(a){return this.c.I[3][(a>>1&7)+8]};h.vf=function(a,b){b=(b>>1&7)+8;this.c.I[3][b]=a;this.c.u[3][b]&=65295};h.fb=function(a){a&=7;return this.c.i&2048?this.c.ta[a]:this.c.b[a]};h.hb=function(a,b){b&=7;this.c.i&2048?this.c.ta[b]=a:this.c.b[b]=a};h.Nd=function(){return this.c.i&49152?this.c.da[0]:this.c.b[6]};h.Ve=function(a){this.c.i&49152?this.c.da[0]=a:this.c.b[6]=a};h.Qd=function(){return this.c.b[7]};h.Ye=function(a){this.c.b[7]=a}; +h.gb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ta[a]};h.ib=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ta[b]=a};h.Od=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.da[1]};h.We=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.da[1]=a};h.Pd=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.da[3]};h.Xe=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.da[3]=a};h.yd=function(a){return this.c.Mb[a-65504>>1]}; +h.Ie=function(a,b){this.c.Mb[b-65504>>1]=a};h.Cc=function(a){return 65520==a?(Vb(this.s)>>6)-1:0};h.Fc=function(){};h.ke=function(){return 1};h.uf=function(){};h.xd=function(){return this.c.G};h.He=function(){this.c.G=0};h.Ed=function(){return this.c.Lb};h.Oe=function(a,b){b&1||(a&=255);this.c.Lb=a};h.Jd=function(a,b){return b?0:this.c.bb};h.Re=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.bb=a};h.je=function(a,b){return b?0:this.c.Ma&65280}; +h.tf=function(a){this.c.Ma=a|255};h.Md=function(){return hc(this.c)};h.Ue=function(a){ic(this.c,a)};h.Ec=function(){}; +var N={},dc=(N[61568]=[null,null,L.prototype.pe,L.prototype.zf,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.ie,L.prototype.sf,"SIPDR",8,1145,64],N[62608]=[null,null,L.prototype.ge,L.prototype.qf,"SDPDR",8,1145,64],N[62624]=[null,null,L.prototype.he,L.prototype.rf,"SIPAR",8,1145,64],N[62640]=[null,null,L.prototype.fe,L.prototype.pf,"SDPAR",8,1145,64],N[62656]=[null,null,L.prototype.Cd,L.prototype.Me,"KIPDR",8,1145,64],N[62672]=[null,null,L.prototype.Ad,L.prototype.Ke,"KDPDR",8,1145,64],N[62688]= +[null,null,L.prototype.Bd,L.prototype.Le,"KIPAR",8,1145,64],N[62704]=[null,null,L.prototype.zd,L.prototype.Je,"KDPAR",8,1145,64],N[62798]=[null,null,L.prototype.Id,L.prototype.Qe,"MMR3",1,1145,64],N[65382]=[null,null,L.prototype.Dd,L.prototype.Ne,"LKS"],N[65402]=[null,null,L.prototype.Fd,L.prototype.Pe,"MMR0",1,1145,64],N[65404]=[null,null,L.prototype.Gd,L.prototype.Ec,"MMR1",1,1145,64],N[65406]=[null,null,L.prototype.Hd,L.prototype.Ec,"MMR2",1,1145,64],N[65408]=[null,null,L.prototype.oe,L.prototype.yf, +"UIPDR",8,1145,64],N[65424]=[null,null,L.prototype.me,L.prototype.wf,"UDPDR",8,1145,64],N[65440]=[null,null,L.prototype.ne,L.prototype.xf,"UIPAR",8,1145,64],N[65456]=[null,null,L.prototype.le,L.prototype.vf,"UDPAR",8,1145,64],N[65472]=[null,null,L.prototype.fb,L.prototype.hb,"R0SET0"],N[65473]=[null,null,L.prototype.fb,L.prototype.hb,"R1SET0"],N[65474]=[null,null,L.prototype.fb,L.prototype.hb,"R2SET0"],N[65475]=[null,null,L.prototype.fb,L.prototype.hb,"R3SET0"],N[65476]=[null,null,L.prototype.fb, +L.prototype.hb,"R4SET0"],N[65477]=[null,null,L.prototype.fb,L.prototype.hb,"R5SET0"],N[65478]=[null,null,L.prototype.Nd,L.prototype.Ve,"R6KERNEL"],N[65479]=[null,null,L.prototype.Qd,L.prototype.Ye,"R7KERNEL"],N[65480]=[null,null,L.prototype.gb,L.prototype.ib,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.gb,L.prototype.ib,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.gb,L.prototype.ib,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.gb,L.prototype.ib,"R3SET1",1,1145],N[65484]=[null,null,L.prototype.gb, +L.prototype.ib,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.gb,L.prototype.ib,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.Od,L.prototype.We,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.Pd,L.prototype.Xe,"R6USER",1,1145],N[65504]=[null,null,L.prototype.yd,L.prototype.Ie,"CTRL",8,1170],N[65520]=[null,null,L.prototype.Cc,L.prototype.Fc,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.Cc,L.prototype.Fc,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.ke,L.prototype.uf,"SYSID",1,1170],N[65526]= +[null,null,L.prototype.xd,L.prototype.He,"ERR",1,1170],N[65528]=[null,null,L.prototype.Ed,L.prototype.Oe,"MBR",1,1170],N[65530]=[null,null,L.prototype.Jd,L.prototype.Re,"PIR"],N[65532]=[null,null,L.prototype.je,L.prototype.tf,"SLR"],N[65534]=[null,null,L.prototype.Md,L.prototype.Ue,"PSW"],N); +Ea(function(){for(var a=F(document,"pdp11","device"),b=0;b>1),this.c=new Int32Array(this.j,0,this.size>>2),nc(this,oc?pc:qc);else{a=this.c=Array(this.size>>2);for(f=0;f>2),b=0;b>8,c)};h.vd=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.ue=function(a,b){a&1&&J(this.a,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8}; +h.Fe=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<>8);this.ua=!0};h.td=function(a,b){return this.i(a,b)};h.re=function(a,b){return this.bc(a,b)};h.De=function(a,b,c){this.h?this.sb(0,0,c):this.Ob(a,b,c)};h.Bf=function(a,b,c){this.h?this.sb(0,0,c):this.gc(a,b,c)};h.sd=function(a){return this.b[a]}; +h.ud=function(a){return this.b[a]};h.qe=function(a,b){a&1&&J(this.a,b,64);return this.s.getUint16(a,!0)};h.te=function(a,b){a&1&&J(this.a,b,64);return this.A[a>>1]};h.Ce=function(a,b){this.b[a]=b;this.ua=!0};h.Ee=function(a,b){this.b[a]=b;this.ua=!0};h.Af=function(a,b,c){a&1&&J(this.a,c,64);this.s.setUint16(a,b,!0);this.ua=!0};h.Cf=function(a,b,c){a&1&&J(this.a,c,64);this.A[a>>1]=b;this.ua=!0}; +var lc=0,Wb=1,mc=2,Nb=4,Rb=["NONE","RAM","ROM","VID","H/W"],kc=0,sc=[],rc=[I.prototype.vd,I.prototype.Fe,I.prototype.ue,I.prototype.Df],wc=[I.prototype.td,I.prototype.De,I.prototype.re,I.prototype.Bf];if(Ya)var qc=[I.prototype.sd,I.prototype.Ce,I.prototype.qe,I.prototype.Af],pc=[I.prototype.ud,I.prototype.Ee,I.prototype.te,I.prototype.Cf];var xc;if(Ya){var yc=new ArrayBuffer(2);(new DataView(yc)).setUint16(0,256,!0);xc=256===(new Uint16Array(yc))[0]}else xc=!1;var oc=xc; +function zc(a,b){A.call(this,"CPU",a,0,1);b=a.cycles||b;var c=a.multiplier||1;this.hc=0;this.Ib=b;this.La=c;this.Ub=Math.round(this.Ib/1E4)/100;this.Va=this.Ub*this.La;this.Vb=this.nb=this.Ya=this.Jb=0;this.l.P=!1;this.l.cc=!1;this.l.Ca=a.autoStart;this.l.vb=!1;this.Db=this.Ta=0;this.Eb=a.csStart;this.lb=a.csInterval;this.mb=a.csStop;this.pa=[];this.sc=this.ye.bind(this);this.za=this.sa=this.ya=this.a=this.W=this.ra=this.kb=this.xa=this.Za=this.Wb=this.Ia=0;this.la=null;G(this)}n(zc,A);h=zc.prototype; +h.X=function(a,b,c,d){this.A=a;this.s=b;this.D=d;this.la=a.f;for(a=0;a=a.Ta&&(a.Ta+=a.lb,c=!0);0<=a.mb&&a.mb<=Ec(a)&&(a.lb=a.mb=-1,Dc(a),H(a),c=!0);c&&a.U(Ec(a)+" cycles: checksum="+u(a.Db))}} +h.aa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.j[b]=c,!0;case "run":return this.j[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.l.R)a=!0;else{var b=null,c,k=C(a.id);for(c=0;ca.Ia/a.Va&&(b=1);a.La=b;b=a.Ub*a.La;if(a.Va!=b){a.Va=b;b=a.Va.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.U("target speed: "+b)}c&&a.A&&Ic(a.A)}tb(a,a.sa);a.sa=0;a.ra=qa();a.xa=0;Gc(a)}function ac(a,b){var c=a.pa.length;a.pa.push([-1,b]);return c}function bc(a,b,c,d){0<=b&&ba.pa[b][0])&&(c=a.Ib*a.La/1E3*c|0,a.l.P&&(c+=Jc(a)),a.pa[b][0]=c)} +function sb(a,b){for(var c=a.pa.length-1;0<=c;c--){var d=a.pa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Jc(a,b){var c=a.ya-=a.a;a.a=a.W=0;b&&(a.ya=0);return c} +h.ye=function(){if(this.l.P){this.Jb>=this.Ib&&Gc(this,!0);this.Za=0;this.kb=qa();if(this.xa){var a=this.kb-this.xa;a>this.Vb&&(this.ra+=a,this.ra>this.kb&&(this.ra=this.kb))}try{do{for(var b,c=this.l.vb?1:this.nb,d=this.pa.length-1;0<=d;d--){var e=this.pa[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Rb(b)}catch(f){if("number"!=typeof f)throw f;}b=Jc(this,!0);this.Za+=b;this.sa+=b;ub(this,b);sb(this,b);this.Ya-=b;if(0>=this.Ya){this.Ya+=this.nb;++this.Wb>=Kc&&(this.A&&vb(this.A,void 0),this.Wb=0);break}}while(this.l.P)}catch(f){H(this); +this.A&&this.A.stop(qa(),Ec(this));Qa(this,f.stack||f.message);return}if(this.l.P){a=setTimeout;b=this.sc;this.xa=qa();c=this.Vb;this.Za&&(c=Math.round(c*this.Za/this.nb));c-=this.xa-this.kb;if(d=this.xa-this.ra)this.Ia=Math.round(this.sa/(10*d))/100,864E5<=d&&(this.za=0,Fc(this));if(0>c||this.Iac&&(this.ra-=c),c=0;this.Jb+=this.Za;this.xa+=c;a(b,c)}}}; +function rb(a){var b;a.l.error?(a.U(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.l.P)a.U(a.toString()+" busy");else{Fc(a);a.l.P=!0;a.l.cc=!0;if(b=a.j.run)b.textContent="Halt";a.A&&a.A.start(a.ra,Ec(a));a.D||a.status("Started");setTimeout(a.sc,0)}}h.Rb=function(){return 0};function H(a){var b=!1;if(a.l.P){Jc(a);tb(a,a.sa);a.sa=0;a.l.P=!1;if(b=a.j.run)b.textContent="Run";a.A&&a.A.stop(qa(),Ec(a));b=!0;a.D||a.status("Stopped")}a.l.complete=void 0;return b}var Hc=30,Kc=15,Ac=["power","reset"]; +function Lc(a){var b=+a.model||1170;zc.call(this,a,6666667);this.wa=b;this.oc=a.addrReset||0;this.i=this.v=this.m=this.o=this.w=0;this.b=this.ta=this.da=[];this.C=0;this.qc=[];this.u=this.I=this.Na=this.Mb=[];this.Kb=this.Fa=this.F=this.nc=this.Ja=this.Wa=this.Xa=this.Ka=this.G=this.bb=this.Ma=this.H=this.ob=this.pb=this.na=this.Aa=this.h=this.f=this.Cb=this.K=this.M=this.g=this.Lb=0;this.rc=255;1120>=this.wa?(this.mc=Mc.bind(this),this.Ua=this.bd,this.Kb=8,this.rc=-1,this.uc=255,this.tc=0):(this.mc= +Nc.bind(this),this.Ua=this.cd,this.uc=~(1792|(1145>this.wa?2048:0))&65535,this.tc=1145<=this.wa?2048:0);this.$a=0;this.ca=null;this.Tb=[];this.l.complete=!1;this.zb=this.ic=this.ed;this.Ab=this.jc=this.gd;this.Pb=this.Qb=this.Ae;this.Bb=this.Sb=this.Be;this.qa=this.yb=0;this.ma=this.Ac;this.V=this.Dc;this.jb=this.Gc;this.Wc=this.Vc=0}n(Lc,zc);h=Lc.prototype;h.X=function(a,b,c,d){zc.prototype.X.call(this,a,b,c,d);this.ic=b.Hc.bind(b);this.jc=b.tb.bind(b);this.Qb=b.Ic.bind(b);this.Sb=b.ub.bind(b)}; +h.Y=function(a,b){for(var c=192,d=0;de.ec&&(e.ec=c,c+=4)}return zc.prototype.Y.call(this,a,b)}; +h.reset=function(){this.status("Model "+this.wa);this.l.P&&H(this);this.v=65536;this.m=32768;this.o=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.oc,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.da=[0,0,0,0];this.C=0;this.qc=[4,2,0,1];this.u=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.I=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], +[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Na=[0,0,0,0,0,0,0,0,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.Mb=[0,0,0,0,0,0,0,0];this.h=this.f=this.Cb=this.K=this.M=this.g=this.Lb=0;this.Aa=-1;pb(this);Cc(this);this.l.error=!1;zc.prototype.reset.call(this)};function pb(a){a.H=0;a.ob=0;a.pb=0;a.na=0;a.G=0;a.bb=0;a.Ma=255;a.Ja=0;a.Wa=0;a.Xa=0;a.Ka=262143;a.Fa=0;a.F=0;a.ca=null;a.s&&(gc(a),a.nc=Vb(a.s))} +function gc(a){a.zb=a.ic;a.Ab=a.jc;a.Pb=a.Qb;a.Bb=a.Sb;a.Ja?(a.qa=65536,a.yb=a.na&16?4186112:253952,a.ma=a.Ac,a.V=a.Dc,a.jb=a.Gc,Ob(a.s,a.na&16?22:18)):(a.qa=0,a.yb=57344,a.ma=a.fd,a.V=a.se,a.jb=a.Ef,Ob(a.s,16))}function fc(a,b){b&=-3073;if(a.H!=b){b&57344&&!(a.H&57344)&&(a.ob=a.F>>16&65535,a.pb=a.F&65535);a.H=b;a.Wa=(b&96)>>5;a.Xa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ja!=c&&(a.Ja=c,gc(a))}} +function Oc(a,b,c){a.oc=b;a.s.reset();pb(a);Q(a,b);ic(a,0);if(c){for(b=2;5>=b;b++)a.b[b]=0;a.l.P||rb(a)}else a.D?H(a)||a.D.g():!1===c&&H(a);!a.l.P&&a.la&&a.la.stop()}h.zc=function(){return 0};h.save=function(){var a=new R(this);a.set(0,[this.b,this.ta,this.da,this.Na,this.Mb,this.G,this.Lb,this.bb,this.Ma,hc(this),this.Aa,this.C,this.g,this.H,this.ob,this.pb,this.na,this.Wa,this.Xa,this.u,this.I,this.Ja,this.Ka,this.Fa,this.F]);a.set(1,[this.za,this.La]);a.set(2,Ub(this.s));return a.data()}; +h.restore=function(a){var b=a[1];this.za=b[1];Fc(this,b[3]);a:{b=this.s;a=a[2];var c;for(c=0;c>14&3;c=a.i>>14&3;a.C!=c&&(a.da[c]=a.b[6],a.b[6]=a.da[a.C]);a.i=b;a.g&=-3;a.g|=a.ca?2:1}h.ba=function(a){this.w=this.o=a;this.m=0};h.Ea=function(a,b){this.w=this.o=this.v=a;this.m=b||0};function Sc(a,b){a.w=a.o=a.v=b;a.m=a.w^a.v>>1} +function Tc(a,b,c,d){a.w=a.o=a.v=b;a.m=(c^d)&(d^b)}function K(a,b,c,d){if(!a.$a){0>a.Aa?a.Aa=hc(a):a.C||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.G|=4,a.b[6]=b=4);if(-1!=d){a.F=b|4143316992;a.C=0;var e=a.V(b|a.qa),f=a.V(b+2&65535|a.qa);ic(a,f&-12289|a.Aa>>2&12288);Uc(a,a.Aa);Uc(a,a.b[7]);Q(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Aa=-1;a.Wc=b;a.Vc=d;-1==d&&H(a);if(-4<=d)throw b;}}function Vc(a){var b=Wc(a),c=Wc(a);a.i&49152&&(c=c&-225|a.i&63712);Q(a,b);ic(a,c);a.g&=-17} +function Xc(a,b){var c=b>>13&31;31>c&&(b=a.na&32?a.Na[c]+(b&8191)&4194303:b&-3932161);return b} +function zb(a,b,c){var d,e,f;if(!(c&a.Ja))return f=b&65535,57344<=f&&(f|=a.yb),f;d=b>>13;a.na&a.qc[a.C]||(d&=7);e=a.u[a.C][d];f=(a.I[a.C][d]<<6)+(b&8191)&a.Ka;3932160<=f&&(f=Xc(a,f));if(a.$a)return f;f>=a.nc&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& +(g|=16384));a.u[a.C][d]=e;if(f!=(4194170&a.Ka)||a.C)a.Wa=a.C,a.Xa=d;g&&(g&57344&&(0<=a.Aa&&(g|=128),a.H&57344||(g|=a.H&4096|a.Wa<<5|a.Xa<<1,fc(a,a.H&-61695|g&61694)),K(a,168,64,-2)),a.H&61440||!(f<(4191360&a.Ka)||f>(4194239&a.Ka))||(a.H|=4096,a.H&512&&(a.g|=64)));return f}function Wc(a){var b=a.V(a.b[6]|a.qa);a.b[6]=a.b[6]+2&65535;return b}function Uc(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.F=a.F&65535|(a.F&-65536)<<8|16121856;a.g&256||a.Ua(4,-2,c);a.jb(c,b)} +function Yc(a,b,c,d){var e,f,g=d&8?0:a.qa;switch(b){case 0:return K(a,4,0,-3),0;case 1:return 6==c&&a.Ua(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.Ua(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.V(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.Ua(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.V(e)|g;a.a-=8;break;case 6:return e=a.V(Qc(a,2)),e=e+a.b[c]&65535,6==c&&a.Ua(d,0, +e),a.a-=6,e|g;case 7:return e=a.V(Qc(a,2)),e=e+a.b[c]&65535,e=a.V(e|a.qa),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.F=a.F&65535|(a.F&-65536)<<8|(f<<3&248|c)<<16;return e}h.bd=function(a,b,c){!this.C&&0>=b&&c<=this.Ma&&(this.g|=32)};h.cd=function(a,b,c){this.C||(65534<=c&&(c|=-65536),a&4&&c<=this.Ma&&(c<=this.Ma-32?K(this,4,0,-4):(this.G|=8,this.g|=32)))};h.ed=function(a){return this.ic(a)};h.gd=function(a){return this.jc(a)};h.Ae=function(a,b){this.Qb(a,b)};h.Be=function(a,b){this.Sb(a,b)}; +h.fd=function(a,b,c){return Yc(this,a,b,c)};h.Ac=function(a,b,c){return zb(this,Yc(this,a,b,c),c)};h.se=function(a){return this.s.tb(this.Fa=a)};h.Dc=function(a){return this.s.tb(this.Fa=zb(this,a,2))};h.Ef=function(a,b){this.s.ub(this.Fa=a,b)};h.Gc=function(a,b){this.s.ub(this.Fa=zb(this,a,4),b)}; +function Zc(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=Yc(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.C=a.i>>12&3,c=a.V(d|c&a.qa),a.C=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.da[a.i>>12&3];return c}function $c(a,b,c,d){a.F=a.F&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=Yc(a,b,e,4),c&65536||(e&=65535),a.C=a.i>>12&3,e=zb(a,e|c&65536,4),a.C=a.i>>14&3,a.Bb(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.da[a.i>>12&3]=d} +function ad(a,b){b>>=6;var c=a.M=b&7;return(b=a.K=(b&56)>>3)?a.zb(a.ma(b,c,3)):a.b[c+a.Kb]&a.rc}function bd(a,b){var c;b>>=6;var d=a.M=b&7;(b=a.K=(b&56)>>3)?c=a.Ab(a.ma(b,d,2)):c=a.b[d+a.Kb];return c}function cd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return Yc(a,b,c,8)}function dd(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.zb(a.ma(b,c,3)):a.b[c]&255}function ed(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.Ab(a.ma(b,d,2)):c=a.b[d];return c} +function T(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.Cb=a.ma(b,e,7),c=0>c?a.b[-c-1]&255:c,a.Pb(e,d.call(a,c,a.zb(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function U(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ma(b,e,6),a.Bb(e,d.call(a,0>c?a.b[-c-1]:c,a.Ab(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])} +function fd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.ma(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.Pb(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function gd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ma(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.Bb(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}function V(a,b,c){c&&(Q(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3} +h.Rb=function(a){this.l.complete=!0;var b=a?this.l.cc?0:1:-1;this.l.cc=!1;this.ya=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.bb&224)>>5,e=this.ca&&this.ca.eb>d?this.ca:null;e&&(c=e.ec,d=e.eb);d>(this.i&224)>>5?(this.g&8&&(Qc(this,2),this.g&=-9),K(this,c,0,-10),d=!0):d=!1;d&&(e&&ec(this,e),a=!0);this.ca||this.bb||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){H(this);break}if(0>b)break}if(this.g&112&&Rc(this)){if(this.g& +4&&this.D.b(this.b[7],b)){H(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.F=this.b[7];e=this.V(a);this.b[7]=a+2&65535;this.mc(e)}while(0>1|b<<16;Sc(this,a);return a&65535}function md(a,b){a=b&128|b>>1|b<<8;Sc(this,a<<8);return a&255}function nd(a,b){a=b&~a;this.ba(a);return a}function od(a,b){a=b&~a;this.ba(a<<8);return a}function pd(a,b){a|=b;this.ba(a);return a}function qd(a,b){a|=b;this.ba(a<<8);return a} +function rd(a,b){a=~b|65536;this.Ea(a);return a&65535}function sd(a,b){a=~b|256;this.Ea(a<<8);return a&255}function td(a,b){this.w=this.o=a=b-a;this.m=b&(b^a);return a&65535}function ud(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.o=c;this.m=b&(b^c);return a&255}function vd(a,b){this.w=this.o=a=b+a;this.m=a&(b^a);return a&65535}function wd(a,b){a=b+a;var c=a<<8;this.w=this.o=c;this.m=c&(b<<8^c);return a&255}function xd(a,b){a=-b;this.Ea(a,a&b&32768);return a&65535} +function yd(a,b){a=-b;this.Ea(a<<8,(a&b&128)<<8);return a&255}function zd(a,b){a=b<<1|this.v>>16&1;Sc(this,a);return a&65535}function Ad(a,b){a=b<<1|this.v>>16&1;Sc(this,a<<8);return a&255}function Bd(a,b){a=(this.v&65536|b)>>1|b<<16;Sc(this,a);return a&65535}function Cd(a,b){a=((this.v&65536)>>8|b)>>1|b<<8;Sc(this,a<<8);return a&255}function Dd(a,b){var c=b-a;Tc(this,c,a,b);return c&65535}function Ed(a,b){var c=b-a;Tc(this,c<<8,a<<8,b<<8);return c&255} +function Fd(a,b){this.w=this.o=b&65280;this.m=this.v=0;return(b<<8|b>>8)&65535}function Gd(a,b){a^=b;this.ba(a);return a&65535}function Hd(a){U(this,a,bd(this,a),hd);this.a-=this.h?9+(this.M&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)} +function Id(a){var b=ed(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.v=this.m=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.m=32768)}this.b[a]=c&65535;this.w=this.o=c;this.a-=(this.h?6:7)+b} +function Jd(a){var b=ed(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.v=this.m=0;b&=63;if(b&32){b=64-b;32>b-1;this.v=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.o=d>>16|d;this.a-=(this.h?6:7)+b}function Kd(a){V(this,a,!S(this))}function Ld(a){V(this,a,S(this))} +function Md(a){U(this,a,bd(this,a),nd);this.a-=this.h?9+(this.M&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Nd(a){T(this,a,ad(this,a),od);this.a-=this.h?9+(this.M&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Od(a){U(this,a,bd(this,a),pd);this.a-=this.h?9+(this.M&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Pd(a){T(this,a,ad(this,a),qd);this.a-=this.h?9+(this.M&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)} +function Qd(a){var b=bd(this,a);a=ed(this,a);this.ba((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.M&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function Rd(a){var b=ad(this,a);a=dd(this,a);this.ba(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.M&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function Sd(a){V(this,a,this.o&65535?0:4)}function Td(a){V(this,a,!Pc(this)==!(this.m&32768))}function Ud(a){V(this,a,!!(this.o&65535)&&!Pc(this)==!(this.m&32768))} +function Vd(a){V(this,a,!S(this)&&!!(this.o&65535))}function Wd(a){V(this,a,(this.o&65535?0:4)||!Pc(this)!=!(this.m&32768))}function Xd(a){V(this,a,S(this)||(this.o&65535?0:4))}function Yd(a){V(this,a,!Pc(this)!=!(this.m&32768))}function Zd(a){V(this,a,Pc(this))}function $d(a){V(this,a,!!(this.o&65535))}function ae(a){V(this,a,!Pc(this))}function be(){K(this,12,0,-9)}function ce(a){V(this,a,!0)}function de(a){V(this,a,!(this.m&32768))}function ee(a){V(this,a,this.m&32768?2:0)} +function W(a){a&1&&(this.v=0);a&2&&(this.m=0);a&4&&(this.o=1);a&8&&(this.w=0);this.a-=5}function fe(a){var b=bd(this,a);a=ed(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;Tc(this,c,a,b);this.a-=this.h?4+(this.M&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function ge(a){var b=ad(this,a);a=dd(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);Tc(this,c,a,b);this.a-=this.h?4+(this.M&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)} +function he(a){var b=ed(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.v=this.m=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.b[a]=d&65535,this.b[a|1]=c-d*b&65535,this.o=d>>16|d,this.w=d>>16):(this.m=32768,this.o=d>>15|d,this.w=c>>16,-1===b&&65534===this.b[a]&&(this.b[a]=this.b[a|1]=1));this.a-=53}else this.o=this.w=0,this.m=32768,this.v=65536,this.a-=7}function ie(){K(this,24,0,-9);this.a-=20} +function je(){this.i&49152?(this.G|=128,K(this,4,0,-8)):(this.la&&1120==this.wa&&this.la.setData(this.b[0],!0),this.D?this.D.i():H(this));this.a-=7}function ke(){K(this,16,0,-9);this.a-=20}var le=[0,7,7,10,7,11,9,13];function me(a){this.W=this.a;Q(this,cd(this,a));this.a=this.W-le[this.h]}var ne=[0,14,14,17,14,18,16,20];function oe(a){this.W=this.a;var b=cd(this,a);a=a>>6&7;Uc(this,this.b[a]);this.b[a]=this.b[7];Q(this,b);this.a=this.W-ne[this.h]}var pe=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; +function qe(a){var b=bd(this,a);this.W=this.a;gd(this,a,b,this.ba);this.a=this.W-pe[(this.K?8:0)+this.h]+(7!=this.f||this.h?0:2)}function re(a){var b=ad(this,a);fd(this,a,b,65535,this.ba);this.a-=this.h?9+(this.M&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}var se=[7,13,13,17,14,18,17,21]; +function te(a){var b=ed(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.b[a];c&32768&&(c|=-65536);b=~~(b*c);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;this.w=b>>16;this.o=this.w|b;this.m=0;this.v=-32768>b||32767>6;if(this.b[b]=this.b[b]-1&65535)Q(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function ze(a){U(this,a,bd(this,a),Dd);this.a-=this.h?9+(this.M&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Ae(a){U(this,a,0,Fd);this.a-=this.h?9:3+(7==this.f?2:0)}function Be(){K(this,28,0,-9)} +function Ce(){this.la&&(this.la.ha=this.b[7],this.la.setData(this.b[0],!0));this.g|=8;Qc(this,-2);this.a-=3}function De(a){U(this,a,this.b[(a>>6&7)+this.Kb],Gd);this.a-=this.h?9:3+(7==this.f?2:0)}function Y(){K(this,8,0,-9)}function Mc(a){Ee[a>>12].call(this,a)}function Fe(a){Ge[a>>6&3].call(this,a)}function He(a){Ie[a>>6&3].call(this,a)}function Je(a){Ke[a>>6&3].call(this,a)}function Le(a){Me[a&15].call(this,a)}function Ne(a){Oe[a&15].call(this,a)}function Pe(a){Qe[a>>6&3].call(this,a)} +function Re(a){Se[a>>6&3].call(this,a)}function Te(a){Ue[a>>6&3].call(this,a)} +var Ee=[function(a){Ve[a>>8&15].call(this,a)},qe,fe,Qd,Md,Od,Hd,Y,function(a){We[a>>8&15].call(this,a)},re,ge,Rd,Nd,Pd,ze,Y],Ve=[function(a){Xe[a>>4&15].call(this,a)},ce,$d,Sd,Td,Yd,Ud,Wd,oe,oe,Fe,He,Je,Y,Y,Y],Ge=[function(a){gd(this,a,0,this.Ea);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,rd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,vd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,td);this.a-=this.h?9:3+(7==this.f?2:0)}],Ie=[function(a){U(this,a,0,xd); +this.a-=this.h?11:6},function(a){U(this,a,S(this)?1:0,hd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,S(this)?1:0,Dd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=ed(this,a);this.Ea(a);this.a-=this.h?4:3+(7==this.f?2:0)}],Ke=[function(a){U(this,a,0,Bd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,zd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,ld);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,jd);this.a-=this.h?9:3+(7==this.f?2:0)}],Xe=[function(a){Ye[a& +15].call(this,a)},Y,Y,Y,me,me,me,me,we,Y,Le,Ne,Ae,Ae,Ae,Ae],Ye=[je,Ce,xe,be,ke,ve,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Me=[ue,function(){this.v=0;this.a-=5},function(){this.m=0;this.a-=5},W,function(){this.o=1;this.a-=5},W,W,W,function(){this.w=0;this.a-=5},W,W,W,W,W,W,W],Oe=[ue,function(){this.v=65536;this.a-=5},function(){this.m=32768;this.a-=5},X,function(){this.o=0;this.a-=5},X,X,X,function(){this.w=32768;this.a-=5},X,X,X,X,X,X,X],We=[ae,Zd,Vd,Xd,de,ee,Kd,Ld,ie,Be,Pe,Re,Te,Y,Y,Y],Qe=[function(a){fd(this,a,0, +255,this.Ea);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,sd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,wd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,ud);this.a-=this.h?9:3+(7==this.f?2:0)}],Se=[function(a){T(this,a,0,yd);this.a-=this.h?11:6},function(a){T(this,a,S(this)?1:0,id);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,S(this)?1:0,Ed);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=dd(this,a);this.Ea(a<<8);this.a-=this.h?4:3+(7==this.f? +2:0)}],Ue=[function(a){T(this,a,0,Cd);this.a-=this.h?9+(this.Cb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Ad);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,md);this.a-=this.h?9+(this.Cb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,kd);this.a-=this.h?9:3+(7==this.f?2:0)}];function Nc(a){Ze[a>>12].call(this,a)} +var Ze=[function(a){$e[a>>8&15].call(this,a)},qe,fe,Qd,Md,Od,Hd,function(a){af[a>>8&15].call(this,a)},function(a){bf[a>>8&15].call(this,a)},re,ge,Rd,Nd,Pd,ze,Y],$e=[function(a){cf[a>>4&15].call(this,a)},ce,$d,Sd,Td,Yd,Ud,Wd,oe,oe,Fe,He,Je,function(a){df[a>>6&3].call(this,a)},Y,Y],df=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.V(a|this.qa);Q(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=Zc(this,a,0);this.ba(a);Uc(this,a);this.a-=11},function(a){var b=Wc(this);this.W= +this.a;this.ba(b);$c(this,a,0,b);this.a=this.W-se[this.h]},function(a){gd(this,a,Pc(this)?65535:0,this.ba);this.a-=this.h?9:3+(7==this.f?2:0)}],cf=[function(a){ef[a&15].call(this,a)},Y,Y,Y,me,me,me,me,we,function(a){a&8?(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5):K(this,8,0,-9)},Le,Ne,Ae,Ae,Ae,Ae],ef=[je,Ce,function(){Vc(this);this.g|=this.i&16;this.a-=13},be,ke,ve,xe,function(){K(this,8,0,-9)},Y,Y,Y,Y,Y,Y,Y,Y],af=[te,te,he,he,Id,Id,Jd,Jd,De,De,Y,Y,Y,Y,ye,ye],bf=[ae, +Zd,Vd,Xd,de,ee,Kd,Ld,ie,Be,Pe,Re,Te,function(a){ff[a>>6&3].call(this,a)},Y,Y],ff=[Y,function(a){a=Zc(this,a,65536);this.ba(a);Uc(this,a);this.a-=11},function(a){var b=Wc(this);this.W=this.a;this.ba(b);$c(this,a,65536,b);this.a=this.W-se[this.h]},Y]; +function gf(a){A.call(this,"ROM",a,0,128);this.ea=this.b=null;this.h=a.addr;this.a=a.size;this.i=!1;this.g=a.alias;this.f=a.file;this.m=v(this.f);if(this.f){a=this.f;var b=ka(this.m);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;x(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.f=null):(Ma(c.Ha,a,b),(a=sa(a,b))?(c.b=a.N,c.ea=a.ea):c.f=null);hf(c)})}}n(gf,A);h=gf.prototype; +h.X=function(a,b,c,d){this.s=b;this.c=c;this.D=d;hf(this)};h.Y=function(){this.ea&&(this.D&&this.D.a(this.id,this.h,this.a,this.ea),delete this.ea);return!0};h.ga=function(){return!0}; +function hf(a){if(!Ra(a)){if(a.f){if(!a.b||!a.s)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a)Qa(a,"ROM size ("+u(a.b.length,8,!0)+") does not match specified size ("+u(a.a,8,!0)+")");else{var b;a:{b=a.h;a.status(a.a+"-byte ROM at "+ja(b));if(57344<=b&&b<57344+Gb){var c={};b=(c[b]=[gf.prototype.ee,gf.prototype.nf,null,null,null,a.a>>1],c);if(db(a.s,a,b)){b=a.i=!0;break a}}else if(Mb(a.s,b,a.a,mc)){for(c=0;c>>f.b;0>>=f.b;0>>a.b;0=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(t&255)+(t>>8)),w=l,y=p-=6;0=b.length)break;m+=b[l++]&255;if(m&255)break;if(y)for(;y--;)Tb(a.s,t++,b[w++]&255);else t&1?g=!0:null==d&&(d=t);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e< +b.length;e++)Tb(a.s,c+e,b[e]);k=!0}if(k){if(null==d||g)H(a.c),f=!1;null!=d&&Oc(a.c,d,f)}return k}Ea(function(){for(var a=F(document,"pdp11","ram"),b=0;b=q.kc&&c<=q.Xc&&(b=c-(q.kc-q.Jc));b&&(a.preventDefault&&a.preventDefault(),d.Gb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Lc&&(b=q.Kc);d.Gb(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Gb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; +h.X=function(a,b,c,d){this.A=a;this.s=b;this.c=c;this.D=d;var e=this;this.G=cc(this.c,this.v?-1:48,4,262144);this.H=ac(this.c,function(){var a;a=-1;e.g.length&&(a=e.g.shift()&255,e.ca&&97<=a&&122>a&&(a-=32),bc(e.c,e.H,1E3/Math.round(e.I/10)));0<=a&&(e.o=a,e.a&128?e.o|=49152:e.a|=128,e.a&64&&M(c,e.G))});this.w=cc(this.c,this.v?-1:52,4,262144);this.W=ac(this.c,function(){e.b|=128;e.b&64&&M(c,e.w)});db(b,this,of,this.v?64832+8*(this.v-1)-65392:0);fb(b,this.reset.bind(this));G(this)}; +h.Bc=function(a){if(!this.h){var b=Bc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=oa(c[0]);if(d!=this.Ga)return;c=oa(c[1]);if(this.h=Oa(c)){var e=this.h.exports;if(e){var f=e.connect;f&&f.call(this.h,this.u);if(this.C=e.receiveData){this.u=a;this.F=e.receiveStatus;this.status(this.Ha+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +h.Y=function(a,b){if(!b)if(this.Bc(this.u),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){pf(this)};h.save=function(){var a=new R(this);a.set(0,[]);return a.data()};h.restore=function(){return pf(this)};function pf(a){a.o=0;a.a=8192;a.b=128;a.g=[];return!0} +h.Gb=function(a){if("number"==typeof a)this.g.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.M||8,c=a-this.m%a,this.M&&(b=" ".slice(0,c)));this.K&&!this.m&&c&&(b=String.fromCharCode(this.K)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.m+=c}}else if(null!= +this.i){if(10==a||1024<=this.i.length)this.U(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}bc(this.c,this.W,1E3/Math.round(this.da/10));this.b&=-129};var nf="buffer",qf={},of=(qf[65392]=[null,null,Z.prototype.Sd,Z.prototype.$e,"RCSR"],qf[65394]=[null,null,Z.prototype.Rd,Z.prototype.Ze,"RBUF"],qf[65396]=[null,null,Z.prototype.we,Z.prototype.Gf,"XCSR"],qf[65398]=[null,null,Z.prototype.ve,Z.prototype.Ff,"XBUF"],qf); +Ea(function(){for(var a=F(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.j[b]=c,!0;case "readTape":e=uf;case "loadTape":return e||(e=vf),this.j[b]=c,c.onclick= +function(){var a=d.j.listTapes;a&&wf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.j[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;wf(d,v(b,!0),b,vf,a)}return!1};return!0;case xf:return this.j[b]=c,!0}return!1}; +h.X=function(a,b,c,d){this.A=a;this.s=b;this.c=c;this.D=d;this.v=yf(a);var e=this;if(a=rf(this,Bc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.u=cc(this.c,56,4,4096);this.H=ac(this.c,function(){1==(e.a&32769)&&!(e.a&128)&&e.mc.indexOf("/api/v1/dump")&&(e=ka(c),f="json"==e||"gz"==e?encodeURI(c):ta()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!x(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.l.R;g?a.B('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ma(a.Ha,e,f),(e=sa(e,f))&&Jf(a,b,c,d,e.N,e.ja,e.ia)); +a.l.Pa=!1;a.b&&(a.b--,a.b||G(a));Gf(a)})}function Bf(a,b,c,d){if((a=a.j.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.J);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ka(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):la(c,"/")&&(d="dir"),f=ta()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.wb?"":e)+"&format=json"));return!!x(f, +null,!0,function(b,c,d){Rf(a,b,c,d)})} +function Rf(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.l.R;a.g=!1;if(d)a.controller.B('Unable to load disk "'+a.ka+'" (error '+d+": "+b+")",f);else{Ma(a.controller.Ha,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ +c+")");if(k.length)if(1==k.length)z(k[0]);else{a.J=k.length;a.O=k[0].length;a.L=k[0][0].length;var l=k[0][0][0];a.T=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var t=l.data;if(void 0===t){var w=l.bytes;if(void 0!==w&&w.length){for(var y=m<<2,xa=w.length;xa>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.g)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.fa?f=a.oa+a.fa&&(a.fa+=f-(a.oa+a.fa)+1):(a.oa=f,a.fa=1);d[f]=d[f]&~(255<g)break;e|=g<=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;lb&&-2!=b&&this.controller.B("Unable to restore disk '"+this.ka+": "+c);return b}; +h.toJSON=function(){var a;a=0;for(var b;b=Tf(this,a++);)Wf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; +function Wf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Nf=0;function P(a){A.call(this,"RK11",a,0,65536);this.o=Xf(this,a.autoMount);this.m=0;this.b=Array(8);this.u=!Ba("Mobi")&&window&&"FileReader"in window;this.Da=null;this.w=this.g=this.a=this.i=this.h=this.f=this.v=0}n(P,A); +function Xf(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){z(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=P.prototype; +h.aa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){z("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.j[b]=c,c.onchange=function(){var a=r(c.value);null!=a&&Yf(d,a)}, +!0;case "loadDisk":return this.j[b]=c,c.onclick=function(){var a=d.j.listDisks;a&&a.options&&Zf(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.j[b]=c,c.onclick=function(){var a,b=d.j.listDrives,b=b&&r(b.value);null==b||0>b||b>=d.b.length||!(a=d.b[b])?d.B("Unable to boot the selected drive"):a.S?(Oc(d.c,0,!0),(a=d.vc(a,0,0,0,512,0,2))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.u){c.parentNode.removeChild(c); +break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.b&&((a=d.b[r(a.value)||0])?(a=a.S)?(a=Ca(Vf(a),a.Hb.replace(".json",".img")),z(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.u)return this.j[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Zf(d,v(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; +h.X=function(a,b,c,d){this.A=a;this.s=b;this.c=c;this.D=d;if(a=Xf(this,Bc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.o[e]=a[e]);$f(this);this.Da=cc(this.c,144,5,65536);db(b,this,ag);fb(b,this.reset.bind(this));bg(this,"None",cg,!0);this.u&&bg(this,"Local Disk",dg);bg(this,"Remote Disk",eg);fg(this)||G(this)}; +h.Y=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.i){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Yf(this,0)}}return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){$f(this)};h.save=function(){return(new R(this)).data()}; +h.restore=function(a){return $f(this,a[0])};function fg(a,b){b||(a.m=0);for(var c in a.o){var d=a.o[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.j.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.b.length)a.B("Unable to load the selected drive");else if(c)if(c==dg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==eg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=v(c);a.status("Attempting to load "+c+' as "'+b+'"')}hg(a,e,b,c,!1,d)}else gg(a,e)} +function hg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.Z.toLowerCase()!=d.toLowerCase()&&(g++,gg(a,b,!0),k.Ra?a.B("RK11 busy"):(k.Ra=!0,e&&(k.Qa=!0,a.m++),k.va=!!f,Qf(new Mf(a,k,"preload"),c,d,f,a.Pc)&&g++));return g}h.Pc=function(a,b,c,d,e){a.Ra=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RK"+a.Sa)),b=null);b?(a.S=b,a.ka=c,a.Z=d,this.B('Loaded disk "'+c+'" in drive '+("RK"+a.Sa),a.Qa||e),this.A&&Ic(this.A)):a.va=!1;a.Qa&&(a.Qa=!1,--this.m||G(this));Yf(this,a.Sa)}; +function bg(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e=a.J){m=64;break}p=a.seek(b,c,d+1);if(!p){m=4096;break}t=0;++d>=a.L&&(d=0,++c>=a.O&&(c=0,++b))}var w,y;if(0>(w=a.read(p,t++))||0>(y=a.read(p,t++))){m=32;break}if(!k&&(yb(this.s,Xc(this.c,f),w|y<<8),Zb(this.s))){m=1024;break}t>=a.T&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.Qc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.S;var p=null,t;a||(m=128,e=0);for(;e;){var w=Ab(this.s,Xc(this.c,f));if(Zb(this.s)){m=1024;break}f+=g;e--;if(!p){if(b>=a.J){m=64;break}p=a.seek(b,c,d+1,!0);if(!p){m=4096;break}t=0;++d>=a.L&&(d=0,++c>=a.O&&(c=0,++b))}if(k){if(0>a.read(p,t++)||0>a.read(p,t++)){m=32;break}}else if(!a.write(p,t++,w&255)||!a.write(p,t++,w>>8)){m=32;break}t>=a.T&&(p=null)}return l?l(m,b,c,d,e,f):m}; +h.Oc=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&-49|f>>12&48;this.i=65536-e&65535;this.f=this.f&-16|d&15;a&&(this.g=this.g|a|32768,this.a|=49152);return!0};h.Xd=function(){return this.w};h.ef=function(){};h.Yd=function(){return this.g};h.ff=function(){};h.Ud=function(){return this.a&61438}; +h.bf=function(a){this.a=this.a&-3968|a&3967;if(this.a&1){a=!0;var b,c=(this.f&57344)>>13,d=this.b[c],e,f,g,k,l,m;this.a&=-129;var p=this.a&14;switch(p){case 0:this.g=0;this.a=128;this.f=0;break;case 8:e=(this.f&8160)>>5;e>=d.J&&(this.g|=32832,this.a|=49152);break;case 10:case 4:b=this.vc;case 6:case 2:b||(b=this.Qc),e=(this.f&8160)>>5,f=(this.f&16)>>4,g=this.f&15,k=65536-this.i&65535,l=(this.a&48)<<12|this.h,m=this.a&2048?0:2,e>=d.J?(this.g|=32832,this.a|=49152):g>=d.L?(this.g|=32800,this.a|=49152): +a=b.call(this,d,e,f,g,k,l,m,6<=p,this.Oc.bind(this))}this.w=d.status|(d.S?128:0)|c<<13|this.f&15;a&&(this.a&=-2,this.a|=128,this.a&64&&M(this.c,this.Da))}};h.Zd=function(){return this.i};h.gf=function(a){this.i=a};h.Td=function(){return this.h};h.af=function(a){this.h=a};h.Vd=function(){return this.f};h.cf=function(a){this.f=a};h.Wd=function(){return this.v};h.df=function(a){this.v=a}; +var cg="",dg="?",eg="??",ig={},ag=(ig[65280]=[null,null,P.prototype.Xd,P.prototype.ef,"RKDS"],ig[65282]=[null,null,P.prototype.Yd,P.prototype.ff,"RKER"],ig[65284]=[null,null,P.prototype.Ud,P.prototype.bf,"RKCS"],ig[65286]=[null,null,P.prototype.Zd,P.prototype.gf,"RKWC"],ig[65288]=[null,null,P.prototype.Td,P.prototype.af,"RKBA"],ig[65290]=[null,null,P.prototype.Vd,P.prototype.cf,"RKDA"],ig[65294]=[null,null,P.prototype.Wd,P.prototype.df,"RKDB"],ig); +function O(a){A.call(this,"RL11",a,0,131072);this.u=jg(this,a.autoMount);this.o=0;this.b=Array(4);this.v=!Ba("Mobi")&&window&&"FileReader"in window;this.Da=null;this.a=this.m=this.f=this.g=this.i=this.h=0}n(O,A);function jg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){z(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=O.prototype; +h.aa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){z("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.j[b]=c,c.onchange=function(){var a=r(c.value);null!=a&&kg(d,a)}, +!0;case "loadDisk":return this.j[b]=c,c.onclick=function(){var a=d.j.listDisks;a&&a.options&&lg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.j[b]=c,c.onclick=function(){var a,b=d.j.listDrives,b=b&&r(b.value);null==b||0>b||b>=d.b.length||!(a=d.b[b])?d.B("Unable to boot the selected drive"):a.S?(Oc(d.c,0,!0),(a=d.wc(a,0,0,0,512,0))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.v){c.parentNode.removeChild(c); +break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.b&&((a=d.b[r(a.value)||0])?(a=a.S)?(a=Ca(Vf(a),a.Hb.replace(".json",".img")),z(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.v)return this.j[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;lg(d,v(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; +h.X=function(a,b,c,d){this.A=a;this.s=b;this.c=c;this.D=d;if(a=jg(this,Bc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.u[e]=a[e]);mg(this);this.Da=cc(this.c,112,5,131072);db(b,this,ng);fb(b,this.reset.bind(this));og(this,"None",pg,!0);this.v&&og(this,"Local Disk",qg);og(this,"Remote Disk",rg);sg(this)||G(this)}; +h.Y=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.i){for(a=0;ab;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";kg(this,0)}}return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){mg(this)};h.save=function(){return(new R(this)).data()}; +h.restore=function(a){return mg(this,a[0])};function sg(a,b){b||(a.o=0);for(var c in a.u){var d=a.u[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.j.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.b.length)a.B("Unable to load the selected drive");else if(c)if(c==qg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==rg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=v(c);a.status("Attempting to load "+c+' as "'+b+'"')}ug(a,e,b,c,!1,d)}else tg(a,e)} +function ug(a,b,c,d,e,f){var g=-1,k=a.b[b];k.Z.toLowerCase()!=d.toLowerCase()&&(g++,tg(a,b,!0),k.Ra?a.B("RL11 busy"):(k.Ra=!0,e&&(k.Qa=!0,a.o++),k.va=!!f,Qf(new Mf(a,k,"preload"),c,d,f,a.Sc)&&g++));return g}h.Sc=function(a,b,c,d,e){a.Ra=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RL"+a.Sa)),b=null);b?(a.S=b,a.ka=c,a.Z=d,this.B('Loaded disk "'+c+'" in drive '+("RL"+a.Sa),a.Qa||e),this.A&&Ic(this.A)):a.va=!1;a.Qa&&(a.Qa=!1,--this.o||G(this));kg(this,a.Sa)}; +function og(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e(p=a.read(l,m++))||0>(t=a.read(l,m++))){k=5120;break}yb(this.s,Xc(this.c,f),p|t<<8);if(Zb(this.s)){k=8192;break}f+=2;e--;if(m>=a.T&&(l=null,++d>=a.L&&(d=0,++c>=a.O&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k}; +h.Tc=function(a,b,c,d,e,f,g){var k=0;a=a.S;var l=null,m;a||(k=5120,e=0);for(;e;){var p=Ab(this.s,Xc(this.c,f));if(Zb(this.s)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,p&255)||!a.write(l,m++,p>>8)){k=5120;break}if(m>=a.T&&(l=null,++d>=a.L&&(d=0,++c>=a.O&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k}; +h.Rc=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&-49|f>>12&48;this.h=f>>16&63;this.g=this.f=b<<7|(c?64:0)|d&63;this.i=65536-e&65535;a&&(this.a=this.a|a|32768);return!0};h.be=function(){return this.a&65535}; +h.kf=function(a){this.a=this.a&-1023|a&1022;this.h=this.h&60|(a&48)>>4;if(!(this.a&128)){a=!0;var b,c=this.b[(this.a&768)>>8],d=c.S,e,f,g;this.a&=-2;switch(this.a&14){case 4:this.i&8&&(this.a&=63);this.i=c.status|this.g&64|(d&&512==d.J?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.g=this.f&4?this.g+b:this.g-b,this.f=this.g=this.g&65408|c);break;case 8:this.i=this.g;break;case 12:b=this.wc;case 10:b||(b=this.Tc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.J||g>=d.L? +this.a|=37888:(a=65536-this.i&65535,d=(this.h&63)<<16|this.m,a=b.call(this,c,e,f,g,a,d,this.Rc.bind(this)))}a&&(this.a|=129,this.a&64&&M(this.c,this.Da))}};h.$d=function(){return this.m};h.hf=function(a){this.m=a&65534};h.ce=function(){return this.f};h.lf=function(a){this.f=a};h.de=function(){return this.i};h.mf=function(a){this.i=a};h.ae=function(){return this.h};h.jf=function(a){this.h=a&63;this.a=this.a&-49|(this.h&3)<<4}; +var pg="",qg="?",rg="??",vg={},ng=(vg[63744]=[null,null,O.prototype.be,O.prototype.kf,"RLCS"],vg[63746]=[null,null,O.prototype.$d,O.prototype.hf,"RLBA"],vg[63748]=[null,null,O.prototype.ce,O.prototype.lf,"RLDA"],vg[63750]=[null,null,O.prototype.de,O.prototype.mf,"RLMP"],vg[63752]=[null,null,O.prototype.ae,O.prototype.jf,"RLBE"],vg); +function wg(a,b,c){A.call(this,"Computer",a,0,33554432);this.l.R=!1;this.F=null;xg(this,b);this.w=Bc(this,"autoPower",a);this.g=0;this.K=a.busWidth||a.buswidth;this.a=yg;this.u=null;this.H=this.i=this.C=this.m=this.I=!1;this.h=null;this.M=Bc(this,"url")||"";(Math.random()+.1).toString(36);this.b=zg(this);if(this.c=Pa("CPU",this.id)){this.D=Pa("Debugger",this.id);this.s=new Fb({id:this.Ha+".bus",busWidth:this.K},this.c,this.D);var d,e=C(this.id);if((this.f=Pa("Panel",this.id))&&this.f.ab)for(b=0;b< +e.length;b++)d=e[b],d.B=this.f.B,d.U=this.f.U,d.ab=this.f.ab;this.U("PDPjs v1.31.0\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later ");this.U("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;byg){if(Ag(d,this.u)){this.h=new R(this,"1.31.0",Jg);Ag(this.h)&&(Kg(this,d),a=Lg,Og(this.h));this.h.set(Gg,ra());Pg(this.h);var e=this.a&&!this.m;if(a==Hg||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Fg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ag(d,g):("error"==f&&"no machine state"!= +g?(this.B("Error: "+g),"unable to verify user"==g&&(Aa(Qg,""),this.b=null)):this.U(f+": "+g),Og(d),Ag(d)?(c=Fg(d),e=!0):c=!1))}e&&Dg(this,c?d:null)}else a==Lg&&d.clear()}else Dg(this);delete this.u;delete this.v}e=C(this.id);for(f=0;fa[1];a=a[2];this.H=!0;this.l.R=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.c&&(Rg(this,this.c,b,c,a),vb(this),this.c.Ca());this.C&&(Kg(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0}; +function Kg(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.b||"";b=b.toString();var d={app:"PDPjs",ver:"1.31.0"};d.url=a.M;d.user=c;d.type="bug";d.data=b;x("http://www.pcjs.org/api/v1/report",d,!0)}} +function Sg(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new R(a,"1.31.0"),g=new R(a,"1.31.0",Eg),k=ra();g.set(Gg,k);f.set(Gg,k);f.set(Tg,"1.31.0");f.set(Ug,window?window.location.href:null);f.set(Vg,window?window.navigator.userAgent:"");a.c&&a.c.ga&&(c&&H(a.c),d=a.c.ga(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.l.R=!1,!1===d&&(e=null)));for(var k=C(a.id),l=0;l=d||30<=(c.hc+=d))&&(e.textContent=c.l.P?c.Ia.toFixed(2)+"Mhz":"Stopped",c.hc=0)}if(a.f&&(a=a.f,b=b||0,a.m)){c=a.c.l.P;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;ef.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");x(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);ch(a,b,c)}})}else c(a,null)} +function dh(a,b,c,d){function e(a){if(void 0===k){var b=g&&F(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=ma(a))}function f(a){e("Error: "+a);l&&(--$g||Ia(!0));l=!1}var g,k,l=!0;$g++;Na[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));p.appendChild(t)}c|| +(c="/versions/pdpjs/1.31.0/components.xsl");m=function(d,k){k?ah(c,null,null,!1,e,function(d,l){l?(Ma(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--$g||Ia(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--$g||Ia(!0)):f("invalid machine element: "+ +a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?ah(b,a,d,!0,e,m):bh(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(w){f(w.message)}return l}window.embedPDP11=function(a,b,c,d){Ia(!1);return dh(a,b,c,d)};window.enableEvents=Ia;window.sendEvent=Ka;})();//# sourceMappingURL=/tmp/pdpjs/1.31.0/pdp11.map